SQL 语言共分为四大类:
- 数据控制语言 DCL
- 数据定义语言 DDL
- 数据操纵语言 DML
- 数据查询语言 DQL
一、数据控制语言 DCL
1.1 作用
用来设置或更改数据库用户或角色权限的语句,并控制数据库操纵事务发生的时间及效果,对数据库实行监视等。
1.2 实例
创建用户
create user ‘用户名’@’允许其登录的地址’ identified by ‘密码’;
删除用户
drop user ‘用户名’@’允许其登录的地址’;
修改自己账号密码
set password = password(‘新密码’);
修改其他账号密码
set password for ‘用户名’@’允许其登录的地址’ = password(‘新密码’);
权限分配
grant 权限名1,权限名2, .... on 数据库名.对象名 to ‘用户名’@’允许其登录的地址’ identified by ‘密码’;
删除权限
revoke 权限名1,权限名2, .... on 数据库名.对象名 from ‘用户名’@’允许其登录的地址’ ;
二、 数据定义语言 DDL
2.1 作用
定义或改变表(TABLE)的结构,数据类型,表之间的链接和约束等操作。
2.2 实例
查看所有数据库
show databases;
查看部分数据库
show databases like "匹配模式";
* _:匹配单个任意字符
* %:匹配多个任意字符
创建数据库
create database 数据库名称 [库选项];
* charset:字符集
* collate:校对集
选择数据库
use 数据库名称;
查看当前数据库
select database();
修改数据库选项(谨慎操作)
alter database 数据库名称 新的库选项;
删除数据库
drop database 数据库名称;
查看所有数据表
show tables;
查看部分表
show tables like "匹配模式";
查看表结构
desc 表名; 或 show columns from 表名;
创建表
create table 表名称(字段 字段类型 [字段属性],字段 字段类型 [字段属性],...) [表选项];
扩展创建表
create table 新表名 like 已有表名;
注:只复制表结构,不复制数据
修改表名
rename table 旧表名 to 新表名;
修改表选项
alter table 表名 新的表选项;
修改数据表结构
新增:alter table 表名 add 字段名 字段类型 [字段属性] [位置];
修改:alter table 表名 modify 字段名 新字段类型 [新字段属性] [新位置];
删除:alter table 表名 drop 字段名;
删除表
drop table 表名;
三、数据操纵语言 DML
3.1 作用
对数据库里的数据进行操作。
3.2 实例
向表中所有字段插入数据
insert into 表名 values (值列表);
向表中指定字段插入数据
insert into 表名 (字段1,字段2,...) values (字段1的值,字段2的值,...);
向表中同时插入多条数据
insert into 表名 values (第一条记录的值), (第二条记录的值),...;
向表中插入其它表的查询结果数据
insert into 表名 select * from 其它表名 [where 条件];
修改指定记录数据(where 条件一定要写上)
update 表名 set 字段名=新的值, 字段名=新的值... where 条件;
删除表中指定数据
delete from 表名 where 条件;
删除所有记录
delete from 表名 where 条件;
删除表中所有数据
delete from 表名;
或
truncate table 表名;
- delete 方式只删除表中所有数据,不清空 auto_increment 记录数。
- truncate 方式删除表中所有数据,并清空 auto_increment 记录数。
四、数据查询语言 DQL
4.1 作用
用来查询指定数据。
4.2实例
查询
select 选项 字段列表 from 数据源
where 条件
group by 分组 having 条件
order by 排序
limit 分页 ;
select选项 :
all:默认的,表示查询所有的记录
distinct:去重,去除重复的记录(所有的字段值都相同)