数据表 (TABLE)
数据库实际上就是多个表组成的,表中存储着数据。
数据表也是数据库最重要的组成部分之一,我们绝大多数情况下都是在跟表打交道。
例如从表里查找一些数据,删除表中的某些数据,更新表中的某些数据等等。
数据表由行(row)和列(column)组成,是一个二维的网格结构,每个列都是一个字段。
字段由字段名称和字段的数据类型以及一些约束条件组成
表中至少要有一列,可以有多行或0行,表名要唯一
MySQL的数据类型
M 表示整数类型的最大显示宽度。对于浮点和定点类型, M是可以存储的总位数(精度)。对于字符串类型, M是最大长度。允许的最大值M取决于数据类型。
D 适用于浮点和定点类型,并指示小数点后面的位数。最大可能值为30,但不应大于 M-2。
[ ] 表示类型定义的可选部分。
在MySQL中常用数据类型主要分为以下几类
- 数值类型
- 字符串类型
- 日期时间类型
-
数值类型
数值类型分为整数型、浮点型、定点型整数型(精确值)
TINYINT 非常小的整数
SMALLINT 小整数
MEDIUMINT 中等大小的整数
INT 正常大小的整数
BIGINT 大整数
浮点型(近似值)FLOAT 一个小的(单精度)浮点数
DOUBLE 正常大小(双精度)浮点数
定点型(精确值)DECIMAL 定点数
字符串类型
CHAR
VARCHAR
BINARY
VARBINARY
BLOB
TEXT
ENUM
SET
日期时间类型
TIME
DATE
DATETIME
TIMESTAMP
YEAR
约束条件
约束条件就是在给字段加一些约束,使该字段存储的值更加符合我们的预期。常用约束条件有以下这些
UNSIGNED :无符号,值从0开始,无负数
ZEROFILL:零填充,当数据的显示长度不够的时候可以使用前补0的效果填充至指定长度,字段会自动添加UNSIGNED
NOT NULL:非空约束,表示该字段的值不能为空
DEFAULT:表示如果插入数据时没有给该字段赋值,那么就使用默认值
PRIMARY KEY:主键约束,表示唯一标识,不能为空,且一个表只能有一个主键。一般都是用来约束id
AUTO_INCREMENT:自增长,只能用于数值列,而且配合索引使用,默认起始值从1开始,每次增长1
UNIQUE KEY:唯一值,表示该字段下的值不能重复,null除外。比如身份证号是一人一号的,一般都会用这个进行约束
FOREIGN KEY:外键约束,目的是为了保证数据的完成性和唯一性,以及实现一对一或一对多关系