• mysql 笔记二


    MySQL-2


    mysql数据类型

    数值型

    1. 整数型
    类型 大小 用途 范围(无符号) 范围(有符号)
    tinyint 1B 小整数值 (0,255) (-127,128)
    smallint 2B 大整数值 (0,26535) (-32768,32767)
    mediumint 3B 大整数值 (0,16777215)
    int 4B 大整数值 (0,16777215)
    bigint 8B 极大整数值 (0,18446744073709551316)
    1. 小数型
    类型 大小 用途
    float 4B 单精度浮点数值
    duoble 8b 双精度浮点数值
    decimal decimal(M,D) 小数值

    字符串型

    类型 大小 用途
    char 0~255B 定长字符串
    varchar 0~65535B 可变长字符串(不确定字段长度)
    tinyblob 0~255B 不超过255个字符的二进制字符串
    tinytext 0~255B 短文本字符串
    blob 0~65535B 长文本数据(文本,图像,声音)(区分大小写)
    text 0~65535B 长文本数据(不区分大小写)
    binary 0~8000B 固定长度的二进制数据
    varbinary 0~2GB 可变长度的二进制数据
    mediumblob 0~16777215B 二进制形式的中等长度文本数据
    mediumtext 0~16777215B 中等长度文本数据
    longblob 0~4294967295B 二进制形式的极大文本数据
    longtext 0~4294967295B 极大文本数据

    日期型

    类型 大小 范围 格式
    date(日期值) 4B 1000-01-01——9999-12-31 YYYY-MM-DD
    time(时间值) 3B -838:59:59'——838:59:59' HH:MM:SS
    year(年份值) 1B 1901——2155 YYYY
    datetime(混合日期和时间值) 8B 1000-01-01 00:00:00——9999-12-31 23:59:59 YYYY-MM-DD HH:MM:SS
    timestamp(时间戳) 4B 1970-01-01 00:00:00——2037年某一时刻 YYYY-MM-DD HH:MM:SS

    MySQL 完整性约束类型

    非空约束(NOT NULL)

    非空性是指字段的值不能为空值(NULL)。非空约束保证所有记录中该字段都有值。为空,则会报错。

    	Column_name datatype not null
    column_name : 列名
    

    主键约束(primary key)

    一个表通常可以通过一个字段(或多个字段组合)的数据来唯一标识表中的每一行,这个字段(或字段组合)被称为表的主键(primary key)。主键可以为表级约束,也可以为列级约束。

    1. 主键作为列级约束:
    Column_name datatype primary key
    
    create table text_2 (id int primary key, name varchar(10) not null );
    
    1. 主键作为表级约束
    primary key (Column_name1,clolumn_name2,...)
    
    create table text1 ( id int, name varchar(40), primary key (id) );
    
    1. 唯一性约束

    所有记录中该字段的值不能重复出现。

    Column_name datatype unique
    
    create table test2 ( id int primary key, name varchar(10) not null , email varchar(20) unique);
    
    1. 自增约束(auto_increment)

    auto_increment 是MySQL 数据库中一个特殊的约束条件。主要用于为表中插入新记录自动生成唯一的ID.一个表只能由一个字段使用auto_increment,且该字段必须为主键的一部分,antu_increment 约束的字段可以是任何整数类型,从1开始自增。

    column_name datatype auto_increment
    
    create table text3 ( id int primary key auto_increment, name varchar(10) not null , email varchar(20) unique );
    
    1. 默认值约束(default)

    在创建表时可以指定表中字段的默认值。类似默认参数

    column_name datatype default default_value
    
     create table text4 ( id int primary key auto_increment, name varchar(10) not null , email varchar(20) unique, note varchar(50) default "duoban");
    
    1. 外键约束(foreign key)

    如果表A的关键字是表B中的字段,则该字段称为表B的外键,表A称为主表,表B称为从表。

    创建外键应满足一下几个条件

    • 数据类型相同
    • 长度相等
    • 位于同一数据库
    • 主表由主键约束或唯一约束
    [constraint foreign_key_name]
    foreign key (column_nameA)  references table_name(column_nameB)
    说明:
    CONSTRAINT foreign_key_name:可选项,为定义的外键约束的名称,一个表中不能有相同名称的外键。
    column_nameA: 表示子表需要添加外键约束字段列。
    table_name :  被子表外键所参照的父表名称。
    column_nameB: 表示父表中定义的主键列。
    
     create table score ( cid int not null auto_increment primary key, score int, sid int, foreign key(sid) references student(sid));
    
    
  • 相关阅读:
    微信H5跳转到小程序
    对比React的hooks与Vue的composition
    H5网页在ios,android,微信中打开手机中的地图导航
    MySQL学习笔记(一)
    Matlab学习笔记(五)
    Matlab学习笔记(四)
    Matlab学习笔记(三)
    Matlab学习笔记(二)
    Matlab学习笔记(一)
    Python学习笔记(四)
  • 原文地址:https://www.cnblogs.com/duoban/p/11536429.html
Copyright © 2020-2023  润新知