MySQL (a) de introducción del artículo MySQL

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;

Aquí Insertar imagen Descripción

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'

Publicado 44 artículos originales · ganado elogios 5 · Vistas 890

Supongo que te gusta

Origin blog.csdn.net/qq_40634246/article/details/104732742
Recomendado
Clasificación