Ejemplo básico de uso de declaración sql de mysql

@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

Supongo que te gusta

Origin blog.csdn.net/Krystal_RonghuiLi/article/details/107998871
Recomendado
Clasificación