· 7 years ago · Sep 14, 2018, 12:36 PM
1# THIS GIST IT'S ON CONSTRUCTION
2########################################################################
3######################### DATABASE OPERATIONS ##########################
4########################################################################
5
6
7#Drop database before if exists
8#Eliminar base de datos ya existÃa
9DROP DATBASE IF EXISTS dabasename;
10
11#Create database with character encoding
12#Crear tabla con UTF8
13CREATE DATABASE dabasename CHARACTER SET utf8 COLLATE utf8_general_ci;
14
15#Set databse to work
16#Establecer la base de datos con la que vamos a trabajar.
17USE databasename;
18
19########################################################################
20########################## TABLES OPERATIONS ###########################
21########################################################################
22
23#Delete table if exists
24#eliminar una tabla si existe
25DROP TABLE IF EXISTS tablename;
26
27#Create new table WITHOUT relationship
28#Crear una tabla sin relaciones a otras tablas
29CREATE TABLE tableA(
30 dataA BIGINT NOT NULL AUTO_INCREMENT,
31 dataB varchar(255) NULL,
32 dataC INT,
33 dataD INTEGER,
34 dataF BOOLEAN,
35 dataG BIT,
36 dataD DATE,
37 dateF DATETIME,
38 PRIMARY KEY (dataA)
39);
40
41
42#Create new table WITH relationship
43#Crear una tabla con una relación a otra tabla
44CREATE TABLE tableB(
45 data_table_b_A BIGINT NOT NULL AUTO_INCREMENT,
46 data_table_b_B varchar(255) NULL,
47 data_table_b_C INT,
48 data_table_b_D INTEGER,
49 data_table_b_F BOOLEAN,
50 data_table_b_G BIT,
51 data_related BIGINT,
52 PRIMARY KEY (data_table_b_A),
53 #you can use cascade, restrict or none
54 CONSTRAINT FOREIGN KEY fk_name (data_related) REFERENCES tableA(dataA) ON UPDATE CASCADE ON DELETE RESTRICT
55);
56
57
58#rename table
59#renombrar tabla
60ALTER TABLE table_nameA RENAME table_nameB;
61
62#set auto_increment initial number
63#Cambiar número inicial de los autoincrementales
64ALTER TABLE table_name AUTO_INCREMENT=1000;
65
66#Modify table with character encoding
67#Moidficar codificación de carácteres.
68ALTER TABLE table_name CONVERT TO CHARACTER SET utf8;
69
70#Delete column
71#Eliminar columna
72ALTER TABLE table_name DROP COLUMN column_nameA;
73
74#Add column
75#Añadir columna a una tabla
76ALTER TABLE table_name ADD column_nameA type(size);
77
78#Modify relationship
79#Cambiar una relación
80ALTER TABLE table_name ADD CONSTRAINT column_this_TableA REFERENCES tableB(name_column_tableB);
81
82
83########################################################################
84########################### DATA OPERATIONS ############################
85########################################################################
86
87# Add data to table with default order
88# Añadir dato a tabla en el orden establecido en la tabla
89INSERT INTO table_name VALUES ( data1, data2, data3, data4...);
90
91# Add data to table specific order
92# Añadir dato a tabla en un dato concreto
93INSERT INTO table_name (columnA, columnB, columnC, columnD...) VALUES ( data1, data2, data3, data4...);
94
95# Add multiple data in one instruction
96# Añadir varios datos con una sola instrucción
97INSERT INTO table_name VALUES
98 ( data1, data2, data3, data4...),
99 ( data5, data6, data7, data8...),
100 ( data9, data10, data11, data12...)
101 ...;
102
103# Modify a data
104# Modificar un dato
105UPDATE table_name SET dataA=modA, dataB=modB, dataC=modC WHERE ...;
106
107# Delete a data
108# Eliminar un dato
109DELETE FROM table_name WHERE pk=N;
110
111########################################################################
112######################### FUNCTIONS OPERATIONS #########################
113########################################################################
114
115# Delete function if exists
116# Eliminar función si esta ya existÃa
117DROP FUNCTION IF EXISTS function_name;
118
119# Create a function
120# Crear una función.
121
122DELIMITER $$
123CREATE FUNCTION function_name(paramA INT, paramB varchar(255), paramC INT) RETURNS INT
124BEGIN
125 DECLARE var_name INT DEFAULT 8
126 #FUNCTION ACTIONS
127 RETURN var_name;
128END; $$
129
130
131########################################################################
132######################### PROCEDURE OPERATIONS #########################
133########################################################################
134
135# Delete procedure if exists
136# Eliminar procedimiento si este ya existÃa
137DROP PROCEDURE IF EXISTS procedure_name;
138
139# Create a procedure
140# Crear un procedimiento almacenado
141#PROCEDURES Y CURSORES
142
143DELIMITER $$
144CREATE PROCEDURE procedure_name(param_A int, param_B varchar(255))
145BEGIN
146DECLARE end_cursor BOOL DEFAULT 0;
147DECLARE var2 FLOAT;
148DECLARE var3 varchar(255);
149DECLARE var4 INT;
150
151# Declare cursor to get data from a query
152# Declarar un cursor para obtener datos de otra consulta
153DECLARE name_cursor CURSOR FOR SELECT * FROM ...;
154
155# Set cursor end.
156# Establecer final del cursor
157DECLARE CONTINUE HANDLER FOR NOT FOUND SET fin=1;
158
159# Opening cursor
160# Abriendo el cursor
161OPEN name_cursor;
162
163 # Loop to find data to cursor
164 # Recorriendo
165 name_cursor: LOOP
166 #asignando variables de lo pedido en el cursor
167 FETCH NombreCursor INTO var1,var2,var3,var4,var5;
168 #Para finalizar el cursor ya que fin es la bandera del final
169 IF fin = 1 THEN
170 LEAVE calcular;
171 END IF;
172 #ejecución de que hay que hacer con los datos del cursor
173 #para asignar algo auna variable se hace con set nombrevariable=valor
174 SET resultado = funcionX(a,b,c,d);
175 INSERT INTO RESULTADOS (A,B,C,D,res) VALUE (a,b,c,d,resultado);
176 #fin del loop
177 END LOOP calcular;
178 #cerrando el cursor
179CLOSE NombreCursor;
180#lo que debe de hacer el procedure
181SELECT * FROM RESULTADOS;
182END ; $$
183DELIMITER ;
184call operar();