【MYSQL】SQL通用语句,帮你轻松掌握!

127 阅读3分钟

 分类

DDL

DDL(Data Defintion Language)是数据定义语言,用来定义数据库对象(数据库,表,字段)。

1、数据库操作

1、创建数据库
create database [if not exits] 数据库名 [default charset 字符集] [collate 排序规则];

2、查询数据库
#查询所有数据库
show databases;

#查询当前数据库
show database();

3、删除数据库
drop databases [if exits] 数据库名;

4、使用数据库
use 数据库名;

 2、表操作

1、创建表
create table 表名 (

        字段1 字段1类型 [comment 字段1注释],

        字段2 字段2类型 [comment 字段2注释],

        ...

        字段1 字段1类型 [comment 字段1注释],
)[comment 注释];

2、查询表
#查询当前数据库所有表
show tables;

#查询表结构
desc 表名;

#查询指定的建表语句
show create table 表名;

3、修改表
#添加字段
alter table 表名 add 字段名 字段类型 [comment 注释] [约束];

#修改数据类型
alter table 表名 modify 字段名 新数据类型;

#修改字段名和字段类型
alter table 表名 change 旧字段名 新字段名 字段类型 [comment 注释] [约束];

#删除字段名
alter table 表名 drop 字段名;

4、删除表
#删除指定表
drop table [if exits] 表名;

#删除指定表,并重新创建该表
truncate table 表名;

DML

DML(Data Manipulation Language)是数据操作语言,用来对数据库表中的数据进行增删改。

1、添加数据
#给指定字段添加数据
insert into 表名 (字段名1,字段名2...) values (值1, 值2...);

#给全部字段添加数据
insert into 表名 values(值1, 值2...);

#批量添加数据--指定字段
insert into 表名 (字段名1,字段名2...) values (值1, 值2...),(值1, 值2...)...;

#批量添加数据--全部字段
insert into 表名 values(值1, 值2...),(值1, 值2...)...;

2、修改数据
update 表名 set 字段名1 =1, 字段名2 =2, ... [where 条件];

3、删除数据
delete from 表名 [where 条件];

DQL

DQL(Data Query Language)是数据查询语言,用来查询数据库中表的数据。

1、基本查询

#查询多个字段
select 字段1,字段2...from 表名。
select  * from 表名。 #不推荐这么写

#设置别名
select 字段1[AS 别名1],字段2[AS 别名2]...from 表名;

#去除重复记录
select distinct 字段列表 from 表名;

2、条件查询

#select 字段列表 from 表名 where 条件列表;

 3、聚合函数

select 聚合函数(字段列表) from 表名;
#常见的聚合函数:count() ,max(),min(),avg(),sum();

4、分组查询

select 字段列表 from 表名 [where 条件] group by 分组字段名 [having 分组后过滤条件];

  where和having 的区别:

(1)、执行时机不同:where是分组之前进行过滤,having 是分组之后进行过滤。

(2)、判断条件不同:where不能对聚合函数进行判断,而having可以。

5、排序查询

排序方式:ASC(升序,默认),DESC(降序)

select 字段列表 from 表名 order by 字段1 排序方式1,字段2 排序方式2...;

6、分页查询

select 字段列表 from 表名 limit 起始索引,查询记录数;

#起始索引从0开始计算,起始索引 = (查询页码 - 1)*每页记录数 , 如果起始索引为0,则可以省略。

DCL

DCL(Data Control Language)是数据控制语言,用来创建数据库用户,控制数据库的访问权限。

1、管理用户

1、创建用户
create user '用户名' @ '主机名' identified by '密码';

2、查询用户
USE mysql;

3、修改用户密码
alter user '用户名' @ '主机名' identified with mysql_native_password by '新密码';

4、删除用户
drop user '用户名' @ '主机名';

2、权限控制

#常用权限
ALL,ALL PRIVILEGES,SELETE,INSERT,UPDATA,DELETE,ALTER,DROP,CREATE。

#查询权限
show grants '用户名' @ ‘主机名’ ;

#授予权限
grant 权限列表 on 数据库名 表名 to '用户名' @ ‘主机名’ ;

#撤销权限
revoke 权限列表 on 数据库名 表名 '用户名' @ ‘主机名’ ;

#注意:多个权限之间,使用逗号分隔;授权时,数据库名和表名都可以使用*进行通配,代表所有。