MySQL(表操作之数据类型和完整约束)

Posted Worth Waiting For

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL(表操作之数据类型和完整约束)相关的知识,希望对你有一定的参考价值。

在之前的mysql初接触文章中介绍了关于表的一些基本操作  今天我们来深入的研究一些关于表的操作:

常用数据类  完整约束

常用数据类型

存储引擎决定了表的类型,而表内存放的数据也要有不同的类型,每种数据类型都有自己的宽度,但宽度是可选的

MySQL数据类型概览

技术分享
#1. 数字:
    整型:tinyinit  int  bigint
    小数:
        float :在位数比较短的情况下不精准
        double :在位数比较长的情况下不精准
            0.000001230123123123
            存成:0.000001230000

        decimal:(如果用小数,则用推荐使用decimal)
            精准
            内部原理是以字符串形式去存

#2. 字符串:
    char10):简单粗暴,浪费空间,存取速度快
        root存成root000000
    varchar:精准,节省空间,存取速度慢

    sql优化:创建表时,定长的类型往前放,变长的往后放
                    比如性别           比如地址或描述信息

    >255个字符,超了就把文件路径存放到数据库中。
            比如图片,视频等找一个文件服务器,数据库中只存路径或url。



#3. 时间类型:
    最常用:datetime


#4. 枚举类型与集合类型
View Code

整数类型

 

日期类型

 

字符串类型

 

枚举与集合类型

完整约束

约束条件与数据类型的宽度一样,都是可选参数

作用:用于保证数据的完整性和一致性

分类及详解

技术分享
PRIMARY KEY (PK)    标识该字段为该表的主键,可以唯一的标识记录
FOREIGN KEY (FK)    标识该字段为该表的外键
NOT NULL    标识该字段不能为空
UNIQUE KEY (UK)    标识该字段的值是唯一的
AUTO_INCREMENT    标识该字段的值自动增长(整数类型,而且为主键)
DEFAULT    为该字段设置默认值

UNSIGNED 无符号
ZEROFILL 使用0填充

1. 是否允许为空,默认NULL,可设置NOT NULL,字段不允许为空,必须赋值
2. 字段是否有默认值,缺省的默认值是NULL,如果插入记录时不给字段赋值,此字段使用默认值
sex enum(male,female) not null default male
age int unsigned NOT NULL default 20 必须为正值(无符号) 不允许为空 默认是20
3. 是否是key
主键 primary key
外键 foreign key
索引 (index,unique...)
View Code

类型一   not null和default

 

类型二  unique

 

类型三 primary key

 

类型四  auto_increment

 

类型五   foreign key

 

待续。。。。

以上是关于MySQL(表操作之数据类型和完整约束)的主要内容,如果未能解决你的问题,请参考以下文章

MySQL数据库篇之完整性约束和表关系

mysql对库,表,数据类型的操作以及完整性约束

MySQL 之 第二章: 库与表的基本操作; 数据类型; 完整性约束; 外键;

Mysql 数据库表操作

MySQL:表的操作 知识点难点总结:表完整性约束及其他常用知识点二次总结🙄

Mysql之表相关操作2