• mysql的数据类型和约束条件


    1.设置数据库的严格模式:

    ## 5、设置严格模式
    
    ```mysql
    # 查看数据库配置中变量名包含mode的配置参数:
    show variables like "%mode%";
    
    # 修改安全模式:
    set session;  # 局部有效,只在你当前操作的窗口有效
    set global session;  # 全局有效,永久有效
    
    # 修改完之后退出当前客户端重新登录即可
    set global sql_mode = 'STRICT_TRANS_TABLES';

    2.数据类型

    - 整型:
        - int: 默认范围是(-2147483648, 2147483647)
        -tinyint: 默认范围 -128, 12
        -- bigint
    - 浮点型:
        - float        create table t8(x float(255, 30));
        - double     create table t9(x double(255, 30));
        - decimal    create table t10(x decimal(65, 30));
    - 字符类型
        - char(16): 定长字符    存取速度快   浪费空间。
        varchar(16): 不定长字符      存几个字符,就是几个字符的大小  节省空间
    
    - 日期类型
          - date: 2019-12-11
          - datetime: 2019-12-11 11:11:11
          - time: 11:11:11
          - year: 2019
          - timestamp: 时间戳
    
    - 枚举与集合
         -enum: 可以 多选一   gender enum('male', 'female', 'others')
         - set: 可 多选一 或 多选多  hobbies set('read', 'sing', '生蚝', 'HSNM'

    2.约束条件

    - not null + unique:  非空唯一
    - unique 将某个字段设置为唯一的值
    - primary key + auto_increment: 主键+自增
    - auto_increment:
    - unsigned :无符号         id int unsigned 

    联合约束

    # 联合唯一
    create table user6(
        id int,
      name varchar(16),
      unique(id, name)
    );
    
    insert into user6 values(1, 'tank');
    insert into user6 values(2, 'tank');
    insert into user6 values(2, 'jason');
    # 若id与name联合存在则报错
    insert into user6 values(1, 'tank'); 

    联合主键

    # 联合主键: 多个字段联合起来作为一个主键,本质上还是一个主键
    create table user9(
        id int,
        name varchar(16),
        primary key(id, name)
    );
    desc user9;
  • 相关阅读:
    卫星时间同步装置的安装及售后
    windowsU盘重装系统:操作流程
    vue安装正确流程
    win10以太网未识别的网络
    [UnityShader]unity中2D Sprite显示阴影和接受阴影
    [UnityShader]说厌了的遮挡显示
    [Unity]利用Mesh绘制简单的可被遮挡,可以探测的攻击指示器
    ConcurrentHashMap源码解读
    Vector底层原理
    LinkedList集合底层原理
  • 原文地址:https://www.cnblogs.com/bigbox/p/12031017.html
Copyright © 2020-2023  润新知