@mysql declaración SQL básica
DBMS SQL para
conectarse a la base de datos
mysql-> mysql -h ip -uuser -ppassword
use leaseback
Crear mesa
CREATE TABLE test1 (
id int(11) PRIMARY KEY,
city VARCHAR(20) not null,
count_person int(50)
);
Copiar la estructura y el índice del campo de la tabla
CREATE TABLE test2 LIKE test1;
Copiar tabla no copia índice puede seleccionar campos
CREATE table test3 as SELECT id,city FROM test1;
Añadir columna
ALTER TABLE test1 add COLUMN color VARCHAR(20);
Eliminar clave primaria
ALTER TABLE test1 DROP PRIMARY KEY;
Agregar clave primaria
alter TABLE test1 add PRIMARY KEY(id);
Agregar datos al procedimiento almacenado
DROP PROCEDURE IF EXISTS proc_initData;
DELIMITER $
CREATE PROCEDURE proc_initData()
BEGIN
DECLARE i INT DEFAULT 1;
WHILE i<=3 DO
insert into t_user (
userId,
userName,
password,
phone)
values (i,'ww','123456','135786');
SET i = i+1;
END WHILE;
END $
CALL proc_initData();
Agregar ciclo de procedimiento almacenado
delimiter $$
create procedure pre()
begin
declare i int;
set i=1;
while i<21 do
INSERT INTO test.test2(id,city,count_person,color) VALUES (i, CONCAT('西昌',i),CONCAT(220,i),
'blue');
set i=i+1;
end while;
end
$$
call pre();
Eliminar método de procedimiento almacenado
drop procedure if exists pre;
Agregar índice
ALTER TABLE test1 add UNIQUE INDEX (city);
Mostrar índices existentes
show INDEX from test1;
Eliminar índice
ALTER TABLE test1 drop INDEX city;
Insertar un dato
INSERT into test1 (id,city,count_person,color) VALUES (1,'成都',10000,'白色');
Consultar datos en la tabla
SELECT * from test1;
SELECT * from test2;
SELECT * FROM test1 WHERE id<10;
SELECT * from test1 WHERE color LIKE '%白色%';
Ordenar hacia adelante y hacia atrás
SELECT * FROM test1 ORDER BY count_person DESC;
SELECT * FROM test1 ORDER BY count_person ASC;
Función incorporada
#总数
SELECT count(city) FROM test1;
#求和
SELECT SUM(count_person) as 'Total' from test1;
#求平均数
SELECT AVG(count_person) as avgperson from test1;
#求最大和最小
SELECT MAX(count_person) as maxperson FROM test1;
SELECT MIN(count_person) as minperson FROM test1;
El operador UNION combina las otras dos tablas de resultados
SELECT color FROM test1 UNION ALL SELECT color FROM test2;
SELECT color FROM test1 UNION SELECT color FROM test2;
El operador EXCEPT devuelve lo que está en 1 pero no en 2 está relacionado con la orden
SELECT color FROM test1 EXCEPT SELECT color FROM test2;
El operador de intersección devuelve aquellos registros que tienen el mismo valor en las columnas seleccionadas de las dos tablas.
SELECT color,city FROM test1 intersect SELECT color,city FROM test2;
Conexión interior DONDE o en
SELECT * FROM test1,test2 WHERE test1.color=test2.color;
SELECT * FROM test1 INNER JOIN test2 on test1.color=test2.color;
Unión externa la intersección de dos tablas (combinación externa izquierda (incluidos los datos de la tabla de la izquierda), combinación externa derecha (incluidos los datos de la tabla de la derecha))
SELECT * FROM test1 LEFT JOIN test2 ON test1.color=test2.color;
SELECT * FROM test1 LEFT JOIN test2 ON test1.color=test2.color and test1.count_person>2000;
SELECT * FROM test1 RIGHT JOIN test2 on test1.color=test2.color and test2.count_person>20000;
SELECT * FROM test1 RIGHT JOIN test2 on test1.color=test2.color WHERE test2.count_person>20000;
Totalmente conectado
SELECT * FROM test1 FULL JOIN test2;
Agrupar por
SELECT color FROM test1 Group by color;
SELECT color,count(id) AS sums FROM test1 GROUP BY color;
SELECT test1.color,count(test1.id) as sums FROM test1 LEFT JOIN test2 on test1.color=test2.color GROUP BY test1.color;
cambiar los datos
UPDATE test1 set color='pink' WHERE id BETWEEN 1 AND 5
Eliminar tabla
DROP TABLE test2;
Hay tres formas de borrar los datos de la tabla en sql:
1. truncar-eliminar todos los datos, mantener la estructura de la tabla, no se puede deshacer la restauración
truncar el nombre de la tabla de la tabla
2. eliminar-eliminar fila por fila es extremadamente lento, no apto para grandes cantidades de datos eliminar
eliminar del nombre de la tabla
eliminar desde el nombre de la tabla donde el nombre de la columna = "valor"
3. eliminar y eliminar la tabla, eliminar los datos y la estructura de la tabla juntos,
eliminar rápidamente el nombre de la tabla