• 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;
     
     
  • 相关阅读:
    Java动态绑定与多态
    Java中的equals,==,compareTo和compare的比较
    Java访问控制权限
    如何用eclipse进行jar文件打包?
    堆和栈的区别
    Java命名规则
    Java面向对象的基本概念
    java中length,length(),size()区别
    《剑指offer》第二十题:表示数值的字符串
    《剑指offer》第十九题:正则表达式匹配
  • 原文地址:https://www.cnblogs.com/baorantHome/p/6964847.html
Copyright © 2020-2023  润新知