数据库数据结构和字段详解
一、在数据库中创建表
1 | create table table_test( |
上述代码创建了一个叫做table_test,并创建了int
类型的键id,varchar
类型长度为10的键name。
二、键的约束
1、主键约束(primary key)
主键用来唯一标识表中的每一行数据,主键字段不能包含NULL值,且每个表只能有一个主键。
1 | create table table_test( |
代理键是系统自动生成的不带有特殊意义的可以作为主键的键,在Postgre数据库中可以使用serial
创建代理键,并且使用表级约束将代理键设为主键。
代理键会自动从零递增。
1 | create table table_test( |
2、唯一约束(unique)
确保字段的值在整个表中是唯一的,可以为NULL,可以单独作为一个约束使用,也可以和主键约束一起使用。
1 | create table table_test( |
也可以使用表级约束定义由多个列组成的复合主键constraint table_test_PK primary key (id,name)
复合主键用来将两列不能唯一的列组合起来以构成唯一的列,来确保表中具有能作为主键的列。
3、检查约束(check)
约定字段的值在一个规定的范围内。
1 | create table table_test( |
也可以在表级别进行检查约束,在定义列之后可以加上constraint id_check check (id >= 0)
,这个约束名为id_check,并且作用于id字段。
可以使用enum枚举类型代替检查约束。
在这里也可以用语句name varchar(10) check (name in ('小明','小红'))
达到一样的效果。
1 | create table table_test( |
4、默认约束(default)
指定一个字段的默认值。
1 | create table table_test( |
5、非空约束(not null)
约束一个字段的值不能为空。
1 | create table table_test( |
6、外键约束(foreign key)
外键约束使得一个字段的取值必须来自于另一个表的特定字段(通常是主键)。
1 | CREATE TABLE cities ( |
以上的代码对city_id添加了约束使得其值只能是city表中的id取值。
三、数据结构
数据库有三种数据结构
1、数值类型
- 在数值类型后面加上unsigned表示无符号
- 在浮点类型后面加上括号指定两个参数,一个是位数一个是小数位。
2、字符串类型
在字符串后面加上括号指定字符长度
char是定长字符串,性能好但是空间大,varchar是变长字符串,性能差但是空间小。
blob是二进制文件,一般不用。text是二进制文本。
3、时间日期类型
四、字段额外属性
- comment可以给某一个字段添加注释,也可以给表添加。
- Title: 数据库数据结构和字段详解
- Author: HarderHeng
- Created at : 2024-04-03 18:20:28
- Updated at : 2024-05-15 14:45:37
- Link: https://harderheng.life/2024/04/03/数据库数据结构和字段详解/
- License: This work is licensed under CC BY-NC-SA 4.0.
Comments