DDL---数据定义语言
DML---数据操作语言
DQL---数据查询语言
DCL---数据控制语言
1.DDL用来定义数据库对象(数据库,表,字段)
(1)针对数据库
查询所有数据库
show databases;
查询当前数据库
select database();
创建数据库
create database [if not exists] 数据库名 [default charset 字符集] [collate 排序规则];
删除数据库
drop database [if exists] 数据库名;
使用数据库
use 数据库名;
(2)针对表
查询当前数据库所有表
show tables;
查询表结构
desc 表名;
查询指定表的建表语句
show create table 表名;
表操作--创建
create table 表名(
字段1 字段类型 [comment 字段1注释],
字段2 字段类型 [comment 字段2注释],
字段n 字段类型 [comment 字段n注释]
) [comment 表注释];
创建表举例:创建员工表
create table emp(
id int comment'编号',
workno varchar(10) comment '工号',
name varchar(20) comment '姓名',
gender varchar(1) comment '性别',
age tinyint comment '年龄',
idcard char(18) comment '身份证号',
workadress varchar(50) comment '工作地点',
entrydate date comment '入职时间'
) comment '用户表';
2.DML用来对数据库表中的数据进行增删改
增加操作
insert into work values (1,"1","王伟","男",18,"123456789012345678","2000-12-1");
insert into work values (1,"2","单壶","男",19,"123456789012345679","2000-12-1"),
(2,"3","四渡赤水","女",20,"123456789012345670","2000-12-2"),
(4,"4","水电费","男",20,"123456789012345677","2000-12-4")
,(5,"5","方格","女",19,"123456789012345676","2000-12-5"),
(6,"6","健康","男",19,"123456789012345674","2000-12-7"),
(7,"7","好看","女",21,"123456789012345672","2000-12-6"),
(8,"8","单壶","女",19,"123456789012345675","2000-12-5"),
(9,"9","行距","男",19,"123456789012345673","2000-12-7");
insert into work (id, workno, name, gender, age, idcard, entrytime)
values (9,"9","UI","女",49,"123456789012345671","2000-12-5");
更新操作
update work set id=8 where name="单壶" and gender="女";
删除
#删除某一条记录
delete from work where gender="女";
#删除整个表
delete from work;
3.DQL用来查询数据库表的记录
select 字段列表 from 表名列表
where 条件列表
group by 分组字段列表 having 分段后条件列表
order by 排序字段列表 limit 分页参数
条件查询
> | 大于 |
>= | 大于等于 |
< | 小于 |
<= | 小于等于 |
= | 等于 |
<> 或 != | 不等于 |
between....and | 在某个范围之内(含最小,最大值) |
in(...) | 在in之后的列表中的值,多选一 |
like 占位符 | 模糊匹配(_匹配单个字符,%匹配任意个字符) |
is null | 是null |
and 或 && | 并且(多个条件同时成立) |
or 或 || | 或者(多个条件任意一个成立) |
not 或 ! | 非,不是 |
聚合函数
count | 统计数量 |
max | 最大值 |
min | 最小值 |
avg | 平均值 |
sum | 求和 |
select 聚合函数(字段列表) from 表名;
select 字段列表 from 表名 [where 条件] group by 分组字段名 [having 分组后的过滤条件];
select 字段列表 from 表名 order by 字段1 排序方式1,字段2 排序方式2;
select 字段列表 from 表名 limit 起始索引, 查询记录数;
4.DCL用来创建数据库用户、控制数据库的访问权限
(1)用户管理
查询用户
use mysql;
select * from user;
创建用户
create user '用户名'@'主机名' identified by '密码';
修改用户密码
alter user '用户名'@'主机名' identifited with musql_native_password by '新密码';
删除用户
drop user '用户名'@'主机名';
(2)权限控制
查询权限
show grants for '用户名'@'主机名';
授予权限
grants 权限列表 on 数据库名.表名 to '用户名'@'主机名';
撤销权限
revoke 权限列表 on 数据库名.表名 from '用户名'@'主机名';