0%

sql0

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允许用户查询数据,这也是通常最频繁的数据库日常操作。