Guía de funcionamiento básico de MySQL

datos de registro de
MySQL -uroot -proot

Salir de la base de datos de
salida
salga
Ctrl + d

Ver la versión de base de datos
, seleccione la versión ();

tiempo de visualización
seleccionar ahora ();

Ver la base de datos actual utilizando
seleccione las bases de datos ();

Ver todas las bases de datos
muestran bases de datos;

Crear una base de datos
crear base de datos de pitón charset = UTF-8;

El uso de bases de datos
uso pitón;

base de datos de eliminación
gota pitón base de datos;

Ver todas las tablas de base de datos de las actuales
tablas muestran;

创建表
crear estudiantes de la tabla (
ID unsigned int AUTO_INCREMENT clave principal,
nombre varchar (20) not null,
tinyint edad (1),
alta decimal (3,2),
dender enum ( 'M', 'W'),
cls_id unsigned int
);

Ver tabla de datos Estructura de
clases desc;

estructura de vista de tabla para crear un
programa de creación de los estudiantes de la tabla \ G;

Agregar campo
ALTER Tabla Estudiantes La fecha y hora agregar el cumpleaños;.
. ALTER Tabla Estudiantes La Agregar is_delete 0 'por defecto bits; // 0' valor de bit

Cambiar nombre nombre de campo
alter estudiantes tabla de cambios de cumpleaños de fecha y hora de nacimiento;

Modificar el tipo de campo
alter estudiantes mesa Modificar la fecha de nacimiento no es nulo ;

campo de borrar
los estudiantes de modificación de tabla caen nacimiento;

Drop Table
estudiantes tabla de la gota;

Datos de la consulta
SELECT de clases;
SELECT
. Los estudiantes de WHERE nombre = 'sima3';

SELECT ID, el nombre de los estudiantes;
al campo de aliasing
seleccione ID como 'No', nombre que 'nombre' de Estudiantes .;
Selecciona la edad, el nombre de los estudiantes .;

Inserción de datos
INSERT en valores de las clases (1, 'python20', 70.);
INSERT en valores de clases (NULL, 'python19', 60);

inserción individual
. INSERT INTO estudiantes Valores (null, 'sima2', 18 es, 1,74, 'M' ,. 1);
. INSERT INTO estudiantes (ID, nombre) valores (null, 'sima3');

Inserción de una pluralidad de
inserción en valores de los estudiantes (null, ' Oyang', 18, 1,74, 'M', 1), (null, 'oyang1', 18, 1,74, 'M', 1);

修改数据
estudiantes de actualización del conjunto edad = 38;
estudiantes de actualización del conjunto edad = 88 donde nombre = 'sima3';
estudiantes de actualización en lo alto = 1,2, sexo = 'M' donde nombre = 'sima3';

Borrar datos
elimino de estudiantes donde id = 2;

copia de seguridad de datos
del -uroot mysqldump - Proot Python> python.sql
MySQL -uroot - Proot Python <python.sql

Alias a la mesa
SELECT s.id, estudiantes S.name de AS S;.
Students.id SELECT, estudiantes Students.name de AS S;. (Error)

Para volver a
seleccionar distinta de género de los estudiantes;

比较运算符
seleccione de estudiantes donde la edad> 18 años;
seleccionar
de los estudiantes donde la edad = <18;
seleccionar * de edad en la que los estudiantes = 18!;

逻辑运算
seleccione de estudiantes donde la edad> 18 años y la edad <20;
seleccionar
de los estudiantes en edad <18 años o> 20;
seleccionar * de estudiantes donde no la edad> 18 años;

consulta difusa
del SELECT del nombre DONDE como estudiantes 'Wang%'; (el comienzo de)
la instrucción SELECT
de la DONDE nombre como 'Wang %%' estudiantes; (contener)
SELECT del DONDE nombre como estudiantes '__'; (dos palabras del nombre)
SELECT
desde estudiantes, donde nombre como '__%' ; ( más grande que el nombre de la palabra)

范围查询
seleccione de estudiantes donde id en (1,3);
seleccionar
de estudiantes donde id entre 1 y 3; (1包含3)
seleccionar * de estudiantes donde id no entre 1 y 3; (包含1 3)

空值判断
seleccione de estudiantes donde la altura es nulo;
seleccionar
de estudiantes donde la altura no es nulo;

排序donde之后
seleccione de estudiantes orden por la altura;
seleccionar
de estudiantes ordenado por la descripción de altura;
seleccionar * de los estudiantes por orden desc edad, altura desc;

Agregación función
select count (*) como el recuento de los estudiantes; ( registrar el número total de registros)
SELECT max (Edad) de estudiantes .; (edad máxima)
SELECT min (Edad) de estudiantes .; (menor)
SELECT SUM (Edad) de estudiantes .; (suma)
SELECT AVG (edad) de estudiantes .; (promedio)
SELECT ronda (AVG (Age), 2) de estudiantes .; (redondeada, las funciones de ronda no agregadas)

grupo分组
seleccionar el género de los estudiantes por grupo de género; (查询年龄类别)
de selección de género, count ( ) de los estudiantes por grupo de género;
seleccionar el sexo, max (edad) de los estudiantes donde el género = 'M' o sexo = 'W' grupo por género;
seleccione género, GROUP_CONCAT (nombre) de los estudiantes por grupo de género; (GROUP_CONCAT对应的名字连接)
de selección de género, avg (edad) de los estudiantes por grupo de género;
seleccionar el sexo, avg (edad) como promedio del grupo de estudiantes por género que tiene promedio> 19; (分组后的年龄大于19岁)
de selección de género, avg (edad), GROUP_CONCAT (nombre) del grupo de estudiantes por género;
seleccionar el sexo, count (
) como c, GROUP_CONCAT (nombre) del grupo de estudiantes por género después de haber b> 2;
seleccionar el sexo, count (*) del grupo de estudiantes por género con el paquete de continuación; (总计)

restricciones de límite de grabado (escrito en los últimos SQL)
SELECT de Estudiantes 0,2 límite;. (0 inicio, después de 2 registros)
SELECT
de Estudiantes límite. 2;

Estándar SQL:
Selección de Campos de la tabla [donde] [GROUP BY] [ orden] [límite]

Tab
SELECT de estudiantes 0,2 límite;.
SELECT
(el número de fichas por consulta, n es de las primeras páginas, m); de los estudiantes límite ( n-1) * m, m

连接(en关联表的条件donde查询条件)
seleccionar de estudiantes combinación interna (clases;笛卡尔积)
seleccionar
de estudiantes combinación interna clases donde students.cls_id = classes.id;
seleccione students.name, classes.name de estudiantes combinación interna clases donde students.cls_id = classes.id;
seleccione s.name, c.name de los estudiantes como de Ingreso interno clases como c = c.id donde s.cls_id;
seleccione s.name, c.name de los estudiantes como s, clases como c = c.id donde s.cls_id;
seleccione s. , c.name de los estudiantes como de Ingreso interno clases como c en s.cls_id = c.id;
seleccionar
de estudiantes combinación interna clases donde students.cls_id = classes.id ordenar antes de classes.id;
seleccionar I.CODE, i.price, f.note_info de informaciones sobre i, foco f donde i.id = f.id;

Conexión externa: los datos no se encuentra en la tabla principal de la tabla, de la tabla que corresponde a la NULL
dejaron conector exterior (tabla de la mesa principal izquierda, la tabla de la derecha de la tabla)
. SELECT * de las clases de Ingreso izquierda estudiantes Students.cls_id = EN DONDE classes.id classes.name es nulo;

externa derecha (tabla derecha basado en tablas, tabla de la tabla de la izquierda)
SELECT * Del Ingreso Estudiantes derecha Students.cls_id ON = clases classes.id.;

自连接
SELECT * FROM áreas como la ciudad combinación interna áreas provincia el city.pid = province.aid donde province.title = '广西省';

Subconsulta
1, subconsulta devuelve solamente uno de datos, llamado subconsulta escalar
SELECT de estudiantes donde la altura> (SELECT AVG (altura) de los estudiantes.);.
2, el resultado es una, es decir, una pluralidad de filas, se hace referencia como la columna subconsulta
SELECT
de estudiantes en donde id (id seleccionar de clases);

去重
seleccione cate_name del grupo de mercancías por cate_name;
select distinct cate_name de los bienes;

seleccionar * de mercancías, cuando el precio> (SELECT AVG (precio) de los bienes) ordenado por precio desc;

seleccionar * de bienes
combinación interna
(seleccione cate_name, max (precio) como MAX_PRICE del grupo de mercancías por cate_name) como max_price_goods
en goods.cate_name = max_price_goods.cate_name y goods.price = max_price_goods.max_price;

分组插入
inserto en goods_cates (Nombre) (seleccione cate_name del grupo mercancías por cate_name);
bienes de actualización combinación interna goods_cates en goods.cate_name = conjunto goods_cates.name goods.cate_name = goods_cates.id;

bienes alter table cambian cate_name cate_id unsigned int no es nulo;

Extranjera limitación clave: la clave principal de una tabla en otra tabla se produce, la clave principal es otra clave externa de una tabla, no puede existir sin los datos de clave externa
ALTER Tabla mercancías de Agregar clave externa (cate_id) Referencias goods_cates (ID);
ALTER Tabla mercancías de Agregar extranjera clave (brand_id) Referencias goods_brands (ID);
Crear una tabla goods_test (
int ID unsigned Primary Key AUTO_INCREMENT,
nombre VARCHAR (150) no es nulo,
cate_id unsigned int no es nULL,
brand_id unsigned int no es nULL,
clave externa (cate_id) Referencias goods_cates (ID ),
clave externa (brand_id) Referencias goods_brands (ID)
);
clave externa ALTER tabla goods_test caen nombre de clave externa (mostrar crear goods_test tabla);

Ver: sólo los tipos de campo resultado de la ejecución instrucción de consulta y limitaciones, el complejo SQL una mesa paquete virtual
seleccionar goods.name gname, GCName goods_cates.name, goods_brands.name gbname de bienes inner join goods_cates en goods.cate_id = goods_cates.id interior unirse a goods_brands en goods.brand_id = goods_brands.id;
crear
el CREATE VIEW v_goods_info AS
el gname goods.name SELECT, GCName goods_cates.name, goods_brands.name gbname Productos del
interior goods.cate_id la unión goods_cates ON = goods_cates.id
interior en la unión goods_brands mercancías. brand_id = goods_brands.id;
ver
Mostrar las tablas;
el * SELECT desde v_goods_info;
borrado
vista gota v_goods_info;

Índice: (BTREE)
Premisa 1: Para los que necesitan un sistema de actualización y el inserto de una mesa, donde no hay necesidad de un índice comunicado raramente se usa solo
para ver el índice espectáculo de los bienes;
Crear Crear idx_1 índice sobre los bienes (nombre ( 150)) ;
retire la caída idx_1 índice de índice de los bienes;

conjunto de perfiles = 1 (tiempo de vigilancia)
Mostrar perfiles; vista de tiempo

Gestión de usuarios:
Ver todos los usuarios: seleccione anfitrión, el usuario del usuario;
crear un usuario: crear 'wufj1' @ 'del usuario %' identificado por 'wufj1';
autorizado :. concesión de seleccionar el jing_dong * a 'wufj1' @ '%'; ( múltiples bases de datos, ejecutar varias instrucciones)
privilegios: actualización de inserción gota seleccionar alerta Suprimir Selección => todos los privilegios

指定ip授权: conceder a todos los privilegios sobre . a '' root'@'10.3.32.61 identificados por 'root' CON GRANT OPTION ;;

所以 权限: conceder a todos en wufj * a 'wufj' @ '%' identificado por 'wufj' CON GRANT OPTION ;;.

permisos Actualizar: privilegios ras;
ver los permisos de usuario: demuestre subvenciones para 'wufj1' @ '%';

Modificar el permiso: concesión de seleccionar, actualizar el jing_dong * a 'wufj1' @ '%' con la opción de donación ;.

Cambiar contraseña: usuario alter 'wufj1' @ '%' identificado por '123';

删除用户:
caída de usuario 'wufj1' @ '%';
eliminar de usuario donde host = 'wufj1' '%' y de usuario =

La copia de los datos entre diferentes tablas de la base
INSERT INTO sw_setname SELECT * FROM wangsunew.sw_setname;

Supongo que te gusta

Origin blog.51cto.com/13025012/2482112
Recomendado
Clasificación