【MySQL】轻松学习 列的完整性约束3(自动增长和设置默认)

目录

     1.设置表字段值自动增加(AUTO_INCREMENT)

     2.设置表字段的默认值(DEFAULT)


1.设置表字段值自动增加(AUTO_INCREMENT)

     AUTO_INCREMENT是MySQL唯一扩展的完整性约束,当向数据库表中插入新记录时,字段上的值会自动生成唯一的ID。在具体设置AUTO_INCREMENT约束时,一个数据库表中只能有一个字段使用该约束,该字段的数据类型必须是整数类型。由于设置AUTO_INCREMENT约束后的字段会生成唯一的ID,因此该字段也经常会同时设置成PK主键。 

     设置表中某字段值的自动增加约束非常简单,可以在MySQL数据库管理系统中通过SQL语句AUTO_INCREMENT来实现,其语法形式如下 

CREATE TABLE tablename(
    propName propType AUTO_INCREMENT, ......
);

     在上述语句中,tablename参数表示所要设置非空约束的字段名字,propName参数为属性名,propType为属性类型,propName字段要设置自动增加约束。默认情况下,字段propName的值从1开始增加,每增加一条记录,记录中该字段的值就会在前一条记录(或已存在的最大值(包括曾经存在的))的基础上加1。 


     SQL语句实例;

create table class(
    id int primary key auto_increment ,
    name varchar(128) unique,
    teacher varchar(64)
);

     插入数据

insert into class(name,teacher) 
values ('1班','王老师'),
       ('2班','李老师');

insert into class (10,'3班','赵老师');

     默认情况下,字段的值从1开始增加,也可以手动指定值

      当继续插入时,如果没有手动指定值,那么字段的值就会在前一条记录(或已存在的最大值(包括曾经存在的)的基础上加1;

        例如现在插入一个id值为100的记录,然后删除

     当继续做自动插入时,虽然id为100的记录已经被删除,但是曾经存在的最大值还是100;

注意: mysql8 中,AUTO_INCREMENT 必须设为键(主键、外键和唯一键均可)! 否则会报错! 


 2.设置表字段的默认值(DEFAULT)

     当为数据库表中插入一条新记录时,如果没有为某个字段赋值,数据库系统就会自动为这个字段插入默认值。为了达到这种效果,可通过SQL语句关键字DEFAULT来设置。

    设置数据库表中某字段的默认值非常简单,可以在MySQL数据库管理系统中通过SQL语句DEFAULT来实现,其语法形式如下: 

CREATE TABLE tablename(
    propName propType DEFAULT defaultvalue, ......
);

 注意: 如果没有设置,则默认为空

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值