一、数据库类型与操作数据表
1、整型
类型 | 存储范围 | 字节 |
---|
TINYINT | -128到127 | 1 |
SMALLINT | -32768到32767 | 2 |
MEDIUMINT | 8388608到8388607 | 3 |
INT | -2147483648到2147483647 | 4 |
BIGINT | -2^63到2^63-1 | 8 |
选择合适的数据类型可以达到数据库优化的效果,例如年龄是0~100+,最多占3个字节,所以可以选用MEDIUMINT或INT,不建议用BIGINT.
2、浮点型
类型 | 存储范围 | 字节 |
---|
FLOAT[{M,D}] | -3.402823466E+38到-1.175494351E-38 | 1 |
DOUBLE[{M,D}] | DOUBLE范围是FLOAT的10倍 | 2 |
3、日期时间类型
类型 | 存储范围 | 字节 |
---|
YEAR | 70到69 | 1 |
TIME | -8385959到8385959 | 3 |
DATE | 1000-01-01到9999-12-31 | 3 |
DATETIME | 1000-01-01 00:00:00到9999-12-31 23:59:59 | 8 |
TIMESTAMP | 1970-01-01到2037-12-31 | 4 |
4、字符类型
类型 | 存储范围 |
---|
CHAR(M) | M个字节,0<=M<=255 |
VARCHAR(M) | 0<=M<=65535 |
TINYTEXT | L<=2^8 |
TEXT | L<2^16 |
MEDIUMTEXT | L<2^24 |
LONGTEXT | L<2^32 |
ENUM(”,”….) | 1或2个字节,取决于枚举值个数(最多65535个) |
SET(”,”….) | 取决于set成员的个数(最多64个) |
5、主键约束
- 主键约束
- 每张数据表只能存在一个主键
- 主键保证记录的唯一性
- 主键自动为NOT NULL
6、唯一约束
- 唯一约束
- 唯一约束可以保证记录的唯一性
- 唯一约束的字段可以为空值(NULL)
- 每张数据库表可以存在多个唯一约束
7、约束
约束保证了数据的完整性和一致性
约束分为表级约束和列级约束
列级约束:约束针对某一个字段为列级约束
表级约束:约束针对两个或两个以上字段为表级约束
8、外键约束
保证数据一致性和完整性
实现一对一或一对多的关系