目录
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, ......
);
注意: 如果没有设置,则默认为空