SQL语言

SQL语句分类

分类说明
DDL 数据定义语言,用来定义数据库对象(数据库、表、字段)
DML 数据操作语言,用来对数据库表中的数据进行增删改
DQL 数据查询语言,用来查询表中的记录
DCL 数据控制语言,用来创建数据库用户、控制数据库的访问权限

DDL语句

1. 数据库操作

查询

查询所有数据库

show databases;

查询当前数据库

select database();

创建

create database 数据库名;

删除

drop database 数据库名;

使用

use 数据库名;

2. 表操作

查询

查询当前数据库的所有表

show tables;

查询表结构

desc 表名;

查询指定表的建表语句

show create table 表名;

创建

create table 表名(
字段1 字段1类型[comment 字段1注释],
字段2 字段2类型[comment 字段2注释],
...
字段n 字段n类型[comment 字段n注释]
)[comment 表注释];

修改

添加字段

alter table 表名 add 字段名 类型(长度) [comment 注释] [约束];

修改数据类型

alter table 表名 modify 字段名 新数据类型(长度);

修改字段名和字段类型

alter table 表名 change 旧字段名 新字段名 类型(长度) [comment 注释];

删除字段

alter table 表名 drop 字段名;

修改表名

alter table 表名 rename to 新表名;

删除

删除表

drop table [if exists] 表名;

删除指定表,并重新创建该表

truncate table 表名;

DML语句

1. 添加数据

给指定字段添加数据

insert into 表名(字段名1,字段名2,...) values(值1,值2,...);

给全部字段添加数据

insert into 表名 values(值1,值2,...);

批量添加数据(多行)

insert into 表名(字段名1,字段名2,...) values(值1,值2,...),(值1,值2,...),(值1,值2,...);

insert into 表名 values(值1,值2,...),(值1,值2,...),(值1,值2,...);

2. 修改数据

update 表名 set 字段1=值1,字段名2=值2,... [where 条件];

3. 删除数据

delete from 表名 [where 条件];

DQL语句

select 字段列表
from 表名列表
where 条件列表
group by 分组字段列表                                
having 分组后条件列表
order by 排序字段列表
limit 分页参数

1. 基本查询

查询多个字段

select 字段1,字段2,字段3,... from 表名
select * from 表名

设置别名

select 字段1 [as 别名1],字段2 [as 别名2],... from 表名

去除重复数据

select distinct 字段列表 from 表名

2. 条件查询

语法

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

条件

比较运算符功能
> 大于
>= 大于等于
< 小于
<= 小于等于
= 等于
<>或!= 不等于
between...and... 在某个范围之内(含最大值、最小值)
in(...) 在in之后的列表中的值,多选一
like 占位符 模糊匹配(_匹配单个字,%匹配任意个字符)
is null 是null

 

逻辑运算符功能
and 或 && 并且(多个条件同时成立)
or 或 || 或者(多个条件任意一个成立)
not 或 ! 非,不是

3. 聚合函数

常见函数功能
count 统计数量
max 最大值
min 最小值
avg 平均值
sum 求和

语法

select 聚合函数(字段列表) from 表名;

4. 分组查询

语法

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

5. 排序查询

语法

select 字段列表 from 表名 order by 字段1 排序方式1,字段2 排序方式2;--asc或desc

6. 分页查询

语法

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

-- 起始索引从0开始,起始索引=(查询页码-1)*每页显示的记录数(MySQL里用的是limit,其它的数据库的关键字不一样)

DCL语句

1. 管理用户

查询用户

use mysql;
select * from user;

创建用户

create user '用户名'@'主机名' identified by '密码';

修改用户密码

alter user '用户名'@'主机名' indentified with mysql_native_password by '新密码'

删除用户

drop user '用户名'@'主机名';

2. 权限控制

权限列表说明
all,all privileges 所有权限
select 查询数据
insert 插入数据
update 修改数据
delete 删除数据
alter 修改表
drop 删除数据库/表/视图
create 创建数据库、表

查询权限

show grants for '用户名'@'主机名';

授予权限

grant 权限列表 on 数据库名.表名 to '用户名'%'主机名';

撤销权限

revoke 权限列表 on 数据库名.表名 from '用户名'%'主机名';

文章内容通过观看B站视频10天精通《MySql》课程总结而出。

posted @ 2023-02-08 11:35  不爱菠萝的菠萝君  阅读(29)  评论(0)    收藏  举报