• MySQL中的字段约束 null、not null、default、auto_increment


    在MySQL中,每个字段定义都包含附加约束或者修饰符,这些可以用来增加对所输入数据的约束。今天我们来看一下MySQL的字段约束:NULLNOT NULL修饰符、DEFAULT修饰符,AUTO_INCREMENT修饰符。
     
    NULL 和 NOT NULL 修饰符
    可以在每个字段后面都加上这NULL 或 NOT NULL 修饰符来指定该字段是否可以为空(NULL),还是说必须填上数据(NOT NULL)。MySQL默认情况下指定字段为NULL修饰符,如果一个字段指定为NOT NULL,MySQL则不允许向该字段插入空值(这里面说的空值都为NULL),因为这是“规定”。
    create table friends (
    id int(3) not null,
    name varchar(8) not null,
    pass varchar(20) not null
    );
     
    INSERT INTO friends
    VALUES (
    NULL , 'simaopig', 'simaopig'
    );
    但是在自增列和TIMESTAMP字段中,这个规则并不适用。向这些字段中插入NULL值将会导致插入下一个自动增加的值或者当前的时间戳。
    DEFAULT 修饰符
    可以使用DEFAULT修饰符为字段设定一个默认值。当插入记录时,您老人家忘记传该字段的值时,MySQL会自动为您设置上该字段的默认值。
    create table im (
    id int(3) not null,
    name varchar(25) not null default 'QQ' 
    );
     
    INSERT INTO im( id, name ) VALUES ( 2, 'MSN' ) ;
     
    INSERT INTO im( id ) VALUES ( 3 ) ;
     
    SELECT * FROM im LIMIT 0 , 30;
     
    如果一个字段中没有指定DEFAULT修饰符,MySQL会依据这个字段是NULL还是NOT NULL自动设置默认值。如果指定字段可以为NULL,则MySQL为其设置默认值为NULL如果是NOT NULL字段,MySQL对于数值类型插入0,字符串类型插入空字符串,时间戳类型插入当前日期和时间,ENUM类型插入枚举组的第一条。
    AUTO_INCREMENT 修饰符:
    AUTO_INCREMENT修饰符只适用于INT字段,表明MySQL应该自动为该字段生成一个数(每次在上一次生成的数值上面加1)。对于主键(稍候介绍),这是非常有用的。因为其允许开发者使用MySQL为每条记录创建唯一的标识符。
    CREATE TABLE items(
    id int( 5 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
    label varchar( 255 ) NOT NULL
    );
     
    insert into items(label) values ('xxx');
     
    insert into items(label) values ('yyy');
     
    insert into items(label) values ('zzz');
     
     
    select * from items;
     
     
  • 相关阅读:
    Security and Cryptography in Python
    Security and Cryptography in Python
    Security and Cryptography in Python
    Security and Cryptography in Python
    Security and Cryptography in Python
    Security and Cryptography in Python
    Security and Cryptography in Python
    微信小程序TodoList
    C语言88案例-找出数列中的最大值和最小值
    C语言88案例-使用指针的指针输出字符串
  • 原文地址:https://www.cnblogs.com/baorantHome/p/6964847.html
Copyright © 2020-2023  润新知