mysql 数据类型、约束

启动、停止、重启:

mysql.server start

mysql.server stop

mysql.server restart

 

为保证数据完整性,创建一个字段时,要考虑它的类型和约束。【类型比如int,约束比如不能为空值】

 

数据类型:

使用数据类型原则:够用就行,尽量使用取值范围小的,而不用大的,这样可以节省更多存储空间

常用数据类型:

整数:int, bit

小数:decimal

字符串:varchar,char,text#用字符串时,一般用varchar

日期时间:date,time,datetime

枚举类型(enum):把可能出现的结果列举出来,就是枚举,例如性别包含男女,周包含1~7等。python里没有枚举类型,c,c++有。

特别说明

decimal 表示浮点数,如decimal(5,2)表示共存5位数,小数占2位

char【0~255】 表示固定长度的字符,如char(3)如填写“ab”,会补充空格为:"ab "。如存储固定长度的字符串,例如身份证可以用char

varchar 【0~255】表示可以变长度的字符串,如varchar(3)填充'ab'就会存储'ab',后面没有t空格,但是长度不可以超过最大值,这里是3

字符串text 【0~65535】表示存储大文本。当存储不知道长度的字符串,或者长字符串时使用。

对于图片、音频、视频等文件,不存在数据库中,而是上传到某个服务器中,然后在表中存储这个文件的保存路径

更详细的数据类型介绍:https://blog.csdn.net/yangyang_01/article/details/80681157

 

 

约束:

主键primary key: 物理上存储的顺序,唯一能标记一行的记录

 

非空not null: 此字段不允许填写空值

 

唯一unique: 此字段不允许重复

 

默认default: 当不填写此值会使用默认值,如果填写以填写为准

 

外键foreign key: 对关系字段进行约束,当为关系字段填写值时,会到关联表中查询此值是否存在,存在则填写成功,不存在则填写失败,并抛出异常

 

说明:虽然外键约束可以保证数据的有效性,但在进行数据的curd(增删改查)时,会降低数据库性能,故不推荐使用,那么数据的有效性如何保证。 呢?可以在逻辑层进行控制。

 

posted @ 2019-01-18 13:38  greenfan  阅读(149)  评论(0)    收藏  举报