概述
数据模型
MySQL数据库:
关系型数据库(RDBMS):建立在关系模型基础上,由多张相互连接的二维表组成的数据库
使用表存储数据,格式统一,便于维护
使用SQL语言操作,标准统一,使用方便
SQL
通用语法及分类
MySQL语法:
- 可以单行或多行书写,以分号结尾
- 可以使用空格和缩进提高可读性
- 不区分大小写,关键字建议大写
SQL分类:
分类 | 全称 | 说明 |
---|---|---|
DDL | Data Definition Language | 数据定义语言,用来定义数据库对象(数据库、表、字段) |
DML | Data Manipulation Language | 数据操作语言,用来对数据库表中的数据进行增删改 |
DQL | Data Query Language | 数据查询语言,用来查询数据库中表的记录 |
DCL | Data Control Language | 数据控制语言,用来创建数据库用户,控制数据库的访问权限 |
PS:[…]为可选参数
数据类型
数字类型 | 大小 |
---|---|
TINYINT | 1byte |
SMALLINT | 2bytes |
MEDIUMINT | 3bytes |
INT或INTEGER | 4bytes |
BIGINT | 8bytes |
FLOAT | 4bytes |
DOUBLE | 8bytes |
DECIMAL | 依赖精度和标度 |
- 可以在类型后面加入UNSIGNED表示无符号范围
- 浮点数()内两个数分别表示整体长度和小数位数
字符串类型 | 大小 | 描述 |
---|---|---|
CHAR | 0-255bytes | 定长字符串 |
VARCHAR | 0-65535bytes | 变长字符串 |
TINYBLOB | 0-255bytes | 不超过255个字符的二进制数据 |
TINYTEXT | 0-255bytes | 短文本字符串 |
BLOB | 0-65535bytes | 二进制形式的长文本数据 |
TEXT | 0-65535bytes | 长文本数据 |
MEDIUMBLOB | 0-16777215bytes | 二进制形式的中长长度文本数据 |
MEDIUMTEXT | 0-16777215bytes | 中长长度文本数据 |
LONGBLOG | 0-4294967295bytes | 二进制形式的极大文本数据 |
LONGTEXT | 0-4294967295bytes | 极大文本数据 |
- CHAR和VARCHAR需要接上()表示最大长度
- 定长的空间会全部占用,性能比VARCHAR好
日期类型 | 大小 | 范围 | 格式 | 描述 |
---|---|---|---|---|
DATE | 3 | 1000-01-01至9999-12-31 | YYYY-MM-DD | 日期值 |
TIME | 3 | -838:59:59至838:59:59 | HH:MM:SS | 时间值或持续时间 |
YEAR | 1 | 1901至2155 | YYYY | 年份值 |
DATETIME | 8 | 1000-01-01 00:00:00至9999-12-31 23:59:59 | YYYY-MM-DD HH:MM:SS | 混合日期和时间值 |
TIMESTAMP | 4 | 1970-01-01 00:00:01至2038-01-19 03:14:07 | YYYY-MM-DD HH:MM:SS | 混合日期和时间值、时间戳 |