Directorio artículo
- MySQL básico
- A, DDL (Data Definition Language)
- 1. Crear una base de datos
- 2, muestra toda la base de datos
- 3, utilizando la base de datos
- 4. Crear una tabla (tabla: una unidad de almacenamiento de datos)
- 5, muestra todas las tablas
- 6, ver los campos de la tabla
- 7, añadir campos a la tabla:
- 8, para modificar el tipo de campo
- 9, elimine el campo
- 10, modificar el nombre de la tabla
- 11, ver los detalles de la construcción de la tabla
- 12, modificar el juego de caracteres de la tabla
- 13, (campo) para modificar el nombre de la columna
- 14, eliminar la tabla
- Dos, las sentencias DML: Lenguaje de manipulación de datos
- Tres, declaraciones DQL: Data Query Language
- 1, todas las consultas de datos
- 2, la consulta de datos especificado
- 3, consulta condición
- 4, consulta difusa
- 5, la clasificación
- 6, las funciones de agregado
- 7, el grupo de funciones
- Un selecto formato de declaración completa
- 8, limitar el uso de palabras clave
- 9, las limitaciones
- 10, multi-mesa investigación conjunta
- 11, Índice
- Cuatro, DCL: gestión de usuarios, la autorización
- 4.1, gestión de usuarios
- 1. Añadir usuario
- 2. Borrar usuario
- 3. Modificar la contraseña de usuario
- 4. El usuario consulta
- 5. Olvídese de la contraseña de root de MySQL
- 4.2 Gestión de Derechos
MySQL básico
1, DDL: Lenguaje de definición de datos
2, DML: Lenguaje de manipulación de datos
3, DQL: lenguaje de consulta de datos
4, DCL: gestión de usuarios, la autorización
A, DDL (Data Definition Language)
1. Crear una base de datos
crear base de datos de nombre de la base del juego de caracteres UTF-8; (UTF-8 escrito en Java)
# 创建数据库 bilibili
create database bilibili charset utf8;
2, muestra toda la base de datos
show databases;
3, utilizando la base de datos
use 数据库名;
4. Crear una tabla (tabla: una unidad de almacenamiento de datos)
Tabla de usuarios: ID de usuario, la edad del usuario, el nombre de usuario;
#创建表user
create table user(
id int,
age int,
username varchar(10)
);
5, muestra todas las tablas
show tables;
6, ver los campos de la tabla
desc 表名;
7, añadir campos a la tabla:
ALTER Mesa de complemento tipo de campo nombre de campo;
#在user表添加1个性别:
alter table user add sex varchar(1);
8, para modificar el tipo de campo
tabla alter modificar el tipo de nombre de la tabla campo de nombre de campo;
#将sex字段修改成int类型
alter table user modify sex int;
9, elimine el campo
alter tabla de la gota nombre de campo nombre de la tabla;
#将字段sex删除
alter table user drop sex;
10, modificar el nombre de la tabla
cambiar el nombre de tabla de la tabla original en el nuevo nombre de la tabla;
#将数据库bilibili中user表的表名修改为student;
rename table user to stu;
11, ver los detalles de la construcción de la tabla
mostrar crear la tabla 表 名;
12, modificar el juego de caracteres de la tabla
de modificación de tabla nombre de la tabla juego de caracteres del nombre de conjunto de caracteres;
#将student表的字符集修改为gbk(最好再改回utf8)
alter table stu character set gbk;
alter table stu character set utf8;
13, (campo) para modificar el nombre de la columna
ALTER el nombre de la tabla Tabla cambio de los nombres de columna originales nuevo tipo de campo nombre de la columna;
#将字段 id 改为 sid
alter table stu change id sid int;
14, eliminar la tabla
colocar nombre de la tabla;
Dos, las sentencias DML: Lenguaje de manipulación de datos
1, todas las consultas de datos
seleccionar * de nombre de la tabla;
SELECT * FROM nombre de la tabla \ G; (mayúscula G) (por lo general no lo hacen)
2, los datos de inserción
insertar en la tabla (campo 1, campo 2, ...) valores (el valor del campo 1, valor de campo de 2);
#插入一条数据
insert into stu (sid,age,username) values(5,14,'小萝莉');
3, actualizar
Nombre del conjunto de columna de tabla de actualización = nuevo valor de la columna de la columna original donde el nombre de la columna = valor;
#将 小萝莉 修改成 御姐
update stu set username = '御姐' where sid=5;
4, los registros de borrado
elimine de nombre de la tabla; // borrar todos los datos en la tabla de
borrar de la tabla donde los nombres de columna = nuevo valor de la columna; // eliminar una tabla de datos, pero se puede recuperar
truncar nombre de la tabla mesa; // borrar toda la tabla, y luego volver a establecer una mesa de la misma estructura, los datos no pueden ser recuperados
#把御姐删除了
delete from stu where username = '御姐';
Tres, declaraciones DQL: Data Query Language
1, todas las consultas de datos
select * from 表名;
2, la consulta de datos especificado
select 字段名1,字段2... from 表名;
3, consulta condición
select * from 表名 where 条件;
#条件关键字、关键字符
等于 =
不等于 != or <>
小于等于 <=
大于等于 >=
between...and... 在 ## 和 ## 之间(前小后大)
#查询stu表中小于17岁的信息
select * from stu where age <=17;
#查询年龄在15到17之间的信息
select * from stu where age between 15 and 17;
and 和,并且
or 或,或者
is null 为空值
is not null 不为空值
#查询年龄为15或者17的成员信息
select * from stu where age = 15 or age =17;
4, consulta difusa
模糊查询
like _单个字符
like %多个字符
#查询姓名是小字开头的
select * from stu where username like '小%';
5, la clasificación
排序关键字 order by
升序 asc (默认)
降序 desc
#将stu表中的成员信息根据年龄降序排序
select * from stu order by age desc;
6, las funciones de agregado
count(字段名) 统计该字段不为null的行数
max(字段名) 统计该字段中最大的值
min(字段名) 统计该字段中最小的值
sum(字段名) 统计该字段中所有的值的和
avg(字段名) 统计该字段中所有的值的平均值
7, el grupo de funciones
分组关键字: group by 字段名
将该字段中相同的值分为一组(例如每个单位,每个部门,每个班级...等)
分组之前可以用where关键字加条件
分组之后可以使用having添加条件
Un selecto formato de declaración completa
一个完整的select语句格式如下:
select 字段
from 表名
where …….
group by ……..
having …….(就是为了过滤分组后的数据而存在的—不可以单独的出现)
order by ……..
limit...
以上语句的执行顺序:
1. 首先执行where语句过滤原始数据
2. 执行group by进行分组
3. 执行having对分组数据进行操作
4. 执行select选出数据
5. 执行order by排序
6. 执行limit
原则:能在where中过滤的数据,尽量在where中过滤,效率较高。
having的过滤是专门对分组之后的数据进行过滤的。
8, limitar el uso de palabras clave
limit用来获取一张表中的某部分数据。
limit只有在mysql中存在,不通用,是mysql数据库管理系统的特色。
limit的使用语法:
Limit 起始下标 , 长度
起始下标没有指定,默认从下标零开始。0表示表中第一条数据。
mysql中通用的sql语句只适用于:mysql数据库管理系统
例如:
每页显示3条记录:
第1页:0,3
第2页:3,3
第3页:6,3
第4页:9,3
……….
第pageNo页显示pageSize条记录
第pageNo页:(pageNo-1)*pageSize, pageSize
Select
t.*
From
t
Order by
xxx desc/asc
Limit
(pageNo - 1 )*pageSize,pageSize;
9, las limitaciones
primary key 主键(唯一,且不为空)
unique 唯一约束
auto_increment 自增
not null 不为空
#新建一个teacher表
create table teacher(
id int primary key auto_increment,
name varchar(10)
);
10, multi-mesa investigación conjunta
#搭建一个环境
#新建一个数据库
create database school charset utf8;
#新建学生表
drop table if exists student;
create table student(
id int primary key auto_increment,
name varchar(10) not null,
age int
);
#新建老师表
drop table if exists teacher;
create table teacher(
sid int primary key auto_increment,
tname varchar(10) not null
);
#查出每一个学生对应的老师的名字。
1、99查询法
select student.name,teacher.tname from student,teacher
where student.id=teacher.sid;
2、内连接 join on
select * from 表1 join 表2 on 条件;
select student.name,teacher.tname from student join teacher
on student.id=teacher.sid;
3、左外连接(显示左表的所有数据,另外右表中与之对应的数据也显示出来)
select student.name,teacher.tname from student left join teacher
on student.id=teacher.sid;
4、右外连接(显示右表中所有的数据,另外左表中与之对应的数据也显示出来)
select student.name,teacher.tname from teacher right join student
on student.id=teacher.sid;
11, Índice
索引:加快查询效率
#比如有一千万条数据,如果给id加上索引,查询速率会快很多
创建索引: create index 索引名 on 表名(字段名);
删除索引: drop index 索引名 on 表名;
查看索引: show index from 表名;
Tabla estudiante:
nombre, ID de
la tabla de resultados:
el mencionado de id, xueshengid,
drop table if exists student;
create table student(
sname varchar(20),
id int(10)
);
drop table if exists record;
create table record(
id int(10),
sid int(10),
sub varchar(20),
rec int(10)
);
select s.sname,r.*
from student s,record r
where r.sid=s.id
group by s.sname;
Cuatro, DCL: gestión de usuarios, la autorización
4.1, gestión de usuarios
1. Añadir usuario
create user '用户名'@'主机名' identified by '密码';
create user 'zicheng'@'localhost' identified by 'root';
2. Borrar usuario
drop user '用户名'@'主机名'
3. Modificar la contraseña de usuario
update user set password=password('新密码') where user='用户名';
set password for '用户名'@'主机名' =password('新密码');
4. El usuario consulta
--切换到mysql数据库
use mysql;
--查询user表
select * from user;
% 通配符:
%表示可以在任意主机使用用户登录数据库。
5. Olvídese de la contraseña de root de MySQL
1.cmd--->net stop mysql (管理员权限cmd)
2.使用无验证方式启动mysql服务:
mysqld --skip-grant-tables
3.打开新的cmd窗口,直接输入mysql命令,敲回车。就可以登陆成功
4.use mysql;
5.修改密码语句。
6.关闭两个窗口
7.打开任务管理器,手动结束mysqld.exe服务
8.使用新密码登录
4.2 Gestión de Derechos
1. Los derechos de consulta
subvenciones para mostrar 'nombre de usuario' @ 'nombre de host'
2. Conceder permiso
conceder lista de permisos en el nombre de los datos Nombre de la tabla a 'nombre de usuario' @ 'nombre de host'
GRANT ALL ON . a 'nombre de usuario' @ 'nombre de host'
3. Los privilegios REVOKE
revocar la lista de permisos en el nombre Nombre de datos de la tabla de 'nombre de usuario' @ 'nombre de host'