1. 概念
1.1 DBMS: 数据库通过DBMS创建和操作
1. DML: database manipulate language: 增删改查 数据
1. DDL: database defination language: 对表的 创建、修改和删除
1. DCL:database control language: 访问权限和定义安全级别
|
| —- |
|
1.2 DML
1. insert
1. update
1. delete
1. select
|
|
1.3 DDL
1. create table
1. alter table
1. drop table
1. create index
1. drop index
|
|
1.4 DCL
1. grant : 授予访问权限
1. revoke: 撤销访问权限
1. commit: 提交事物
1. rollback: 回滚
1. savepoint: 设置保存点
1. lock: 特定部分加锁
|
2. 查询大汇总
2.1 基本的查询语句
1. 日期和字符只能在单引号内出现;
1. desc table: 查看表结构
|
| —- |
|
2.2 过滤和排序数据
where: 过滤掉不满足条件的行
1. 比较运算:
=,>, <, >=, <=, <>或 !=
1. 其他比较运算:
1. between … and
1. in (set) ——> in (10,20,50)
1. like
1. is null
1. like:
%: 任意多个字符
_ : 一个字符
1. is (not) null
1. order by: 在句尾, asc; desc
order by 后面有多个字符时,优先级顺序是从前往后 |
|
2.3 分组函数
作用于一组数据,并对一组数据返回一个数值
1. avg(): 数值型数据
1. sum(): 数值型数据
1. count(): 任意数据类型, 不为空的总数
1. min(): 任意数据类型
1. max(): 任意数据类型
使用规则:
step1: 通过group by 将数据分为多个组
step2: 用分组函数对各个组内数据进行操作
注意:
1. select 列表中所有未包含在分组函数中的列都需要包含在group by子句中
1. 包含在group by子句中的列,不一定都在select列表中
1. 不能在where子句中使用组函数
1. 可以在having中使用组函数
|
|
2.4 过滤分组 having
前提要求:
1. 行已经被分组
1. 使用了组函数
1. 满足having条件的将被显示出来
|
3. 多表查询
3.1 在where子句中添加连接条件
3.2 等值连接
3.3 使用on子句创建连接
|
4. 常见(非分组)函数
4.1 字符函数
4.2 数字函数
4.3 日期函数
4.4 条件表达式
|
5. 数据处理之 增
事务是由完成若干项工作的DML语句组成的 |
---|
5.1 insert插入1条数据
5.2 inset空值
5.3 insert 指定的值
5.4 从其他表中拷贝数据
|
6. 数据处理之 改
6.1 update语句
|
| —- |
7. 数据处理之 删
8. 子查询
8.1 单行子查询
8.2 多行子查询
|
9. /////////////////////////////////////////////////////
10. 创建数据库
10.1 创建表
10.2 as使用子查询创建表
10.3 alter table语句
alter table语句的使用范围:
10.4 删除表
10.4.1 drop 删除结构和数据
10.4.2 清空表 truncate VS. delete
10.5 改变表名字 rename
|
11. 数据类型
11.1 数值类型
1. 整形 int
1. 小数 float, double
1. 位类型 bit(8)
|
| —- |
|
11.2 字符类型
1. char(10)
1. varchar(20)
1. enum: 要求插入的值必须是列表中指定的值之一
1. set: 一个或多个成员
|
|
11.3 日期类型
1. date
1. datetime
1. datestamp
1. time
1. year
|
12. 约束和分页
12.1 not null约束
12.2 unique约束
12.3 primary key 约束
12.4 foreign key 约束
外键约束的参照列,在主表中引用的只能是主键或唯一键约束的列
|
12.5 分页 limit
| | —- |
13. 事物
事务: 事务由单独单元的一个或多个SQL语句组成,在这个单元中,每个MySQL语句是相互依赖的。 要成功都成功,要失败都失败;各种存储引擎中,innodb支持事务,而myisam、 memory等不支持事务 |
---|
设置隔离级别: |