zoukankan      html  css  js  c++  java
  • MySql中数据类型介绍....约束等

    1,MySql中数据类型介绍

    整型及浮点型

    数据类型

    存储范围

    字节

    TINYINT

    有符号值:-2到27-1

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

    2

    SMALLINT

    有符号值:-215到215-1

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

    2

    MEDIUMINT

    有符号值:-223到223-1

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

    3

    INT

    有符号值:-231到231-1

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

    4

    BIGINT

    有符号值:-263到263-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进行了外键关联。

  • 相关阅读:
    Linux strace命令
    Xilinx实习一年总结
    Red Hat Linux 挂载外部资源
    4.6、Libgdx线程介绍
    Xshell中文乱码怎么处理?
    C++之指针指向二维数组
    POJ 2996 Help Me with the Game
    UVa 10377
    你们都满足下面的工作考核吗
    使用Python编写简单网络爬虫抓取视频下载资源
  • 原文地址:https://www.cnblogs.com/Graham-java/p/8349522.html
Copyright © 2011-2022 走看看