1.mysql 体系
名称 |
含义 |
主子系统 |
查询引擎+存储/缓冲/事务/恢复管理器 |
辅助部件 |
过程管理器:支持mysql独有语法 |
函数库 |
支持在sql语句中插入mysql独有函数 |
2.常用术语
1.存储引擎
名称 |
含义 |
MyISAM |
无事务,速度快 |
INNODB |
有事务,功能全,常用 |
Memory |
在内存中处理数据,快 |
MERGE |
多个MyISAM联合 |
2.sql语句分类
名称 |
含义 |
SQL |
结构化查询语言 |
DDL |
数据定义语言 |
DQL |
数据查询语言 |
DML |
数据操作语言 |
DCL |
数据控制语言 |
TPL |
事务处理语言 |
3.网络协议
名称 |
含义 |
TCP |
传输控制协议 |
UDP |
用户数据包协议 |
4.表
名称 |
含义 |
英文名称 |
行 |
记录 |
record |
列 |
域 |
field |
5.约束
关键字 |
中文名称 |
用法 |
primary key |
主键 |
唯一,非空,不可重复 |
unique |
唯一键 |
可控,不可重复 |
not null |
非空 |
非空 |
foreign key |
外键 |
3NF,连接外表主 foreign key (本表字段) references 外表名(外表字段) |
default |
默认 |
默认填入统一字段 default ‘0’ |
check |
检查 |
通过and,or,not约束字段 check(字段名>0) |
6.数据类型
数据类型名 |
大小 |
备注 |
是否常用 |
smallint |
2字节 |
|
|
int |
4字节 |
|
常用 |
bigint |
8字节 |
|
|
float |
4字节 |
|
常用 |
double |
8字节 |
|
|
decimal(m,n) |
|
m总位数,n小数点后位数 |
|
numeric |
|
数值型 |
|
char |
0-255个字节 |
定长字符 空间占用大,查询速度快 |
|
varchar |
0-255个字节 |
变长字符 空间占用小,查询速度慢 |
常用 |
text |
0-65535个字节 |
长文本 |
|
blob |
|
二进制数据 |
|
date |
|
yyyy-MM-dd 日期 |
常用 |
datetime |
|
yyyy-MM-dd hh:mm:ss 日期时间 |
|
timestamp |
|
yyyyMMddhhmmss 时间戳(消除重复) |
|
enum |
|
复合型,枚举 |
常用 |
set |
|
复合型 |
|
7.比较运算符
语法 |
含义 |
字段 in(子查询) |
与任意返回值相同 |
字段 <或>或= any(子查询) |
比最小返回值大或比最大返回值小或同in |
字段 <或>或= all(子查询) |
比最小返回值小或比最大返回值大或完全相同 |
8.逻辑运算符
not > and > or
9.特殊运算符
语法 |
含义 |
between 数值/日期 and 数值/日期 |
在范围内则为真 |
in (数值/日期/’字符串’,…) |
其中之一则为真 |
like ‘%s%’ or '_s_' |
%表零或多字符,_表一个字符,匹配上字符串则为真 |
is [not] null |
不为空则为真 |
[not] exists (子查询) |
子查询返回无记录则返回假,否则都为真 |
10.特别关键字
关键字 |
含义 |
备注 |
distinct |
去除重复记录 |
|
concat |
连接字符串,要求字符编码集相同 |
concat(a,’和’,b) |
escape |
配合@进行转义%_ |
'a@_%' escape '@' 以a_开头的字符串 |
\ |
转义字符 |
'\'' 表示’字符 |
union [all] |
无all表示自动去除重复记录 |
|
auto_increment |
自动增长,从1开始,用在主键作为索引,重启mysql服务后清空 |
|
engine=INNODB |
设置mysql引擎为innodb |
|
11.统计函数
函数名 |
用法 |
min([distinct] 列名) |
支持数值,日期,字符串,字符按A-Z小-大排序,日期按旧-新 |
max([distinct] 列名) |
同上 |
sum([distinct] 列名) |
字符串看作0,日期换算成距离1971-1-1经过的毫秒数 |
avg([distinct] 列名) |
同上 |
count(列名/常量) |
统计单列的非null行数,使用常量可统计该表所有记录行数 |
round(列名,d) |
对单列进行四舍五入,保留小数点后d位,d可以为负数 |
12.SELECT子句
from->join on->where->group by->having->select->order by->limit
查询关键字 |
用法 |
from |
数据来自哪个表 |
join on |
多表按条件连接 |
where |
连接后的表保留哪些记录 |
group by |
按分组列进行分组 |
having |
分组后的表保留哪些记录 |
select |
选择哪些记录 |
order by |
对选择的记录按排序条件排序 |
limit x,d |
从x+1行开始向下显示d行记录,放在select子句最后使用 |
13.事务
关键字 |
含义 |
备注 |
OLTP |
联机事务处理 |
关系型数据库 |
OLAP |
联机分析处理 |
数据仓库系统 |
ACID |
原子性,一致性,隔离性,持久性 |
事务四特性 |
commit |
提交 |
|
rollback |
回滚 |
|
autocommit |
自动提交,1为真,0为假 set autocommit=0; |
关闭自动提交 |
start transaction |
开始写事务 |
|
create procedure 函数名() |
创建函数 |
|
begin…end |
函数起始…函数终止 |
|