MySQL22--默认约束
默认约束
默认约束,其特点有:
在插入记录/更新记录时,如果不为该字段赋值,则使用默认值;
DEFAULT约束只有列级约束形式;
-- 默认约束
CREATE TABLE t11(
id SMALLINT UNSIGNED NOT NULL KEY AUTO_INCREMENT,
username VARCHAR(20) NOT NULL UNIQUE KEY,
password VARCHAR(32) NOT NULL,
sex BOOLEAN NOT NULL DEFAULT 0
);
DESC t11;
INSERT t11 VALUES(NULL,'Tom', '123',DEFAULT);
INSERT t11(username,password) VALUES('John', 'John');
SELECT * FROM t11;
-- 创建表时,添加默认值约束
CREATE TABLE word06(
id INT PRIMARY KEY,
name VARCHAR(30) UNIQUE,
age INT(3) DEFAULT 18,
address VARCHAR(50),
wtime DATE
);
DESC word06;
INSERT INTo word06 VALUES(101,'赵六',20,'杭州','2021-04-08');
SELECT * FROM word06;
INSERT INTo word06(id,name,address,wtime) VALUES(102,'田七','武汉','2021-04-10');
修改表时,添加默认值约束
语法格式:
ALTER TABLE 表名 MODIFY 列名 数据类型 DEFAULT 默认值;
-- 修改word06表,对wtime列,添加默认值约束,默认值为2021-04-01
ALTER TABLE word06 MODIFY wtime DATE DEFAULT '2021-04-01';
DESC word06;
-- 修改word06表,对address列添加默认值约束,默认值为北京
ALTER TABLE word06 MODIFY address VARCHAR(50) DEFAULT '北京';
DESC word06;
删除默认值约束
语法格式:
ALTER TABLE 表名 MODIFY 列名 数据类型 DEFAULT NULL;
-- 删除word06表中,wtime列默认值约束
ALTER TABLE word06 MODIFY wtime DATE DEFAULT NULL;
DESC word06;
-- 删除word06表中,age列默认值约束
ALTER TABLE word06 MODIFY age INT(3) DEFAULT NULL;
DESC word06;
本文来自博客园,作者:暄总-tester,转载请注明原文链接:https://www.cnblogs.com/sean-test/p/15451483.html