SQL NOT NULL:非空约束
默认情况下,表的字段可以包含 NULL 值,如果您不希望某个字段出现 NULL 值,那么可以在该字段上添加 NOT NULL 约束(非空约束),此时就必须给该字段指定一个具体的值,不能留空。
注意,NULL 不等于没有数据,而是表示数据是未知的。
如果已经创建了 website 表,也可以使用 ALTER TABLE 语句将 NOT NULL 约束添加到某个字段,例如:
以上语句在 Oracle 和 MySQL 数据库上运行通过。
注意,NULL 不等于没有数据,而是表示数据是未知的。
示例
下面的 SQL 语句将创建一个名为 website 的新表,该表包含七个字段,其中五个字段不接受 NULL 值,它们分别是 id、name、age、alexa 和 country:- CREATE TABLE website (
- id INT NOT NULL AUTO_INCREMENT,
- name VARCHAR(20) NOT NULL,
- url VARCHAR(30),
- age TINYINT UNSIGNED NOT NULL,
- alexa INT UNSIGNED NOT NULL,
- uv FLOAT DEFAULT '0',
- country CHAR(3) NOT NULL DEFAULT '',
- PRIMARY KEY (`id`)
- );
如果已经创建了 website 表,也可以使用 ALTER TABLE 语句将 NOT NULL 约束添加到某个字段,例如:
- ALTER TABLE website
- MODIFY url VARCHAR(30) NOT NULL;