码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2017-10-23 17:58:49      阅读:261      评论:0      收藏:0      [点我收藏+]

标签:数据   splay   空间   display   表操作   sed   字符串类型   文件路径   优化   

在之前的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(表操作之数据类型和完整约束)

标签:数据   splay   空间   display   表操作   sed   字符串类型   文件路径   优化   

原文地址:http://www.cnblogs.com/bypp/p/7717897.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!