MySQL22

2021/10/25 2:14:47

本文主要是介绍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;


这篇关于MySQL22的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程