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》课程总结而出。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不爱菠萝的菠萝君

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值