• MySql数据库数据类型及约束介绍


    1,MySql中数据类型介绍

    整型及浮点型

    数据类型

    存储范围

    字节

    TINYINT

    有符号值:-2^到2^7-1  

    无符号值:0到2^8-1 

    2

    SMALLINT

    有符号值:-2^15到2^15-1  

    无符号值:0到2^16-1 

    2

    MEDIUMINT

    有符号值:-2^23到2^23-1  

    无符号值:0到2^24-1 

    3

    INT

    有符号值:-2^31到2^31-1  

    无符号值:0到2^32-1 

    4

    BIGINT

    有符号值:-2^63到2^63-1  

    无符号值:0到2^64-1 

    8

    浮点型

    数据类型

    存储范围

    字节

    FLOAT(M,D)

    有符号值:-3.402823466E+38~-1.175494351E-38和0

    无符号值:0和(1.175494351E-38,3.402823466E+38) 

    M是数字总位数,D是小数点后面的倍数。如果M和D被省略,根据硬件条件的限制进行对应保存,最在精确到小数点后7位小数。

    4

    DOUBLE(M,D)

    有符号值:-1.7976931348623157 E+308~-2.2250738585072014E-308和0

    无符号值:0和2.2250738585072014E-308~1.7976931348623157E+308

    M是数字总位数,D是小数点后面的倍数。如果M和D被省略,根据硬件条件的限制进行对应保存,最在精确到小数点后7位小数。

    8

    日期和时间类型

    数据类型

    存储范围

    字节

    TIME

    HH:MM:SS

     -838:59:59 ~ 838:59:59

    3

    DATE

    YYYY-MM-DD

     1000-01-01          ~ 9999-12-31

    3

    DATETIME

    YYYY-MM-DD HH:MM:SS 

    1000-01-01 00:00:00 ~ 9999-12-31 23:59:59

    8

    TIMESTAMP

    YYYY-MM-DD HH:MM:SS

     1970-01-01 00:00:01 ~ 2038

    4

    YEAR

    YYYY                

     1901   ~ 2155

    1

    字符类型

    数据类型

    存储范围

    字节

    CHAR(M)

    0<=M<=255

    M个字节

    VARCHAR(M)

    可变长度L,最多65535

    L+1

    TINYTEXT

    可变长度L,最多2^8-1个字符

    L+1

    TEXT

    可变长度L,最多2^16-1个字符

    L+2

    MEDIUMTEXT

    可变长度L,最多2^24-1个字符

    L+3

    LONGTEXT

    可变长度L,最多2^32-1个字符

    L+4

    ENUM(‘value1’,’value2’.)

    最多65535

    1或2

    SET(‘value1’,’value2’,...)

    最多64个成员

    1或2或3或4或8


    2,MySql数据库中约束介绍:

    约束类型

    约束说明

    NOT NULL

    非空约束

    PRIMARY KEY

    主键约束

    UNIQUE KEY

    唯一约束

    DEFAULT

    默认约束

    FOREIGN KEY

    外键约束

    约束介绍:约束作用是保证数据的完整性和一致性,分为表级约束和列级约束。

    3,外键约束(FOREIGN KEY)介绍:

    目的和作用:保持数据一致性,完整性,可以实现表与表之间一对一或一对多关系。

    外键约束要求:

    A:父表和子表必须有相同的存储引擎,且存储引擎必须是InnoDB。这个可以在数据MySql的配置文件中查看及修改,如下图:

    B:不能使用临时表进行操作,且外键列和参照列必须具有相似的数据类型,如果是以数字类型作为外键,则数据符号及长度要相同 。

    C:外键列和参照列必须创建索引,如果外键列不存在索引的话,MySql将自动创建索引。

    4,外键约束的参照操作:

    参照操作类型

    说明

    CASCADE

    父表进行删除或更新操作,将自动删除或更新子表中匹配的数据。

    SET NULL

    父表进行删除或更新操作,将子表中对应数据外键设备为NULL。如果使用此参照类型,子表对应字段没有指定NOT NULL。

    RESTRICT

    拒绝对父表进行删除或更新操作。

    NO ACTION

    MySql中的关键字,与RESTRICT的作用相同 。

    6,MySql中外键约束语句操作:

    1,创建一个老师对应的表,就一个id和name字段:

    CREATE TABLE teacher(id INT PRIMARY KEY,name VARCHAR(10));

    2,创建一个学生表,一个学生指定有一个老师,通过teacher表的id字段进行外建约束。

    CREATE TABLE student(id INT PRIMARY KEY,name VARCHAR(10),teacher_id INT,FOREIGN KEY(teacher_id) REFENERCES teacher(id));

    这样就把两张表teacher与student进行了外键关联。

  • 相关阅读:
    svn command line tag
    MDbg.exe(.NET Framework 命令行调试程序)
    Microsoft Web Deployment Tool
    sql server CI
    VS 2010 One Click Deployment Issue “Application Validation did not succeed. Unable to continue”
    mshtml
    大厂程序员站错队被架空,只拿着五折工资!苟活和离职,如何选择?
    揭秘!Windows 为什么会蓝屏?微软程序员竟说是这个原因...
    喂!千万别忘了这个C语言知识!(~0 == -1 问题)
    Linux 比 Windows 更好,谁反对?我有13个赞成理由
  • 原文地址:https://www.cnblogs.com/wzbk/p/8714508.html
Copyright © 2020-2023  润新知