MySQL21

非空约束

非空约束,其特点有:
不允许将该列的值有NULL记录;
只有列级约束的形式;

CREATE TABLE t10( 
    id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, 
    username VARCHAR(20) NOT NULL UNIQUE KEY, 
    email    VARCHAR(30) NOT NULL UNIQUE KEY, 
    telephONe VARCHAR(20) NOT NULL 
); 
DESC t10; 
-- 创建表时,添加非空约束
CREATE TABLE word07(
	id INT PRIMARY KEY,
	name VARCHAR(30) UNIQUE,
	age INT(3) DEFAULT 20,
	sex CHAR(3) NOT NULL,
	address VARCHAR(50),
	email VARCHAR(50)
);
DESC word07;
INSERT INTo word07(id,name,address,email) VALUES(101,'后羿','北京','houyi@163.com'); --错误

修改表时,添加非空约束

语法格式:

ALTER TABLE 表名 MODIFY 列名 数据类型 NOT NULL;
-- 修改word07表,对address列添加非空约束
ALTER TABLE word07 MODIFY address VARCHAR(50) NOT NULL;
DESC word07;
-- 修改word07表,对email列添加非空约束
ALTER TABLE word07 MODIFY email VARCHAR(50) NOT NULL;
DESC word07;

删除非空约束

ALTER TABLE 表名 MODIFY 列名 数据类型;
-- 删除word07表中,sex列上的非空约束
ALTER TABLE word07 MODIFY sex CHAR(3);
DESC word07;
-- 删除word07表中,email列上的非空约束
ALTER TABLE word07 MODIFY email VARCHAR(50);
DESC word07;
上一篇:MySQL18


下一篇:记一次Mysql不走日期字段索引的原因