sql0
参考 廖雪峰sql教程
目的
Structured Query Language
数据库提供接口供应用程序读写数据,应用程序无需关心数据本身的存储,简化应用程序I/O功能。
数据模型
- 层次模型
- 网状模型
- 关系模型:主要,二维表格
关系模型
Record | Column |
---|---|
Logistic Data | Data type |
Column包含是否允许设置该字段为NULL
注意NULL
表示字段数据不存在。一个整型字段如果为NULL
不表示它的值为0
,同样的,一个字符串型字段为NULL
也不表示它的值为空串''
。
主键
- 对于每个记录,通过该字段能够唯一进行区分的字段为主键。
- 主键最好不要修改,不使用任何业务相关的字段作为主键
- 一般为
id
- 自增整数:
- INT :2147483647溢出
- BIGINT:
- 全局唯一GUID
- 自增整数:
联合主键
关系数据库实际上还允许通过多个字段唯一标识记录,即两个或更多的字段都设置为主键,这种主键被称为联合主键。
外键
定义外键约束实现
降低性能
索引
数据库索引对于用户和应用程序来说都是透明的。
主要功能
DDL:Data Definition Language
DDL允许用户定义数据,也就是创建表、删除表、修改表结构这些操作。通常,DDL由数据库管理员执行。
DML:Data Manipulation Language
DML为用户提供添加、删除、更新数据的能力,这些是应用程序对数据库的日常操作。
DQL:Data Query Language
DQL允许用户查询数据,这也是通常最频繁的数据库日常操作。