SQL NOT NULL学习笔记
在SQL中,NOT NULL是一种约束条件,它用于确保列中的值不为空。这意味着该列中每个行必须包含一个值。如果在填写新行时该列为空,则会向用户显示错误消息。
语法
创建表时,可以使用NOT NULL约束条件来指定某一列不允许为空:
sqlCopy CodeCREATE TABLE table_name (
column1 datatype NOT NULL,
column2 datatype,
column3 datatype,
....
);
或者在alter table语句中添加NOT NULL约束条件:
sqlCopy CodeALTER TABLE table_name MODIFY column_name datatype NOT NULL;
实例
例如,以下代码创建了一个名为"customers"的表,其中"cust_name"和"cust_address"列都带有NOT NULL约束条件:
sqlCopy CodeCREATE TABLE customers (
cust_id INT PRIMARY KEY,
cust_name VARCHAR(50) NOT NULL,
cust_address VARCHAR(100) NOT NULL,
cust_city VARCHAR(50),
cust_state VARCHAR(20),
cust_zip CHAR(10),
cust_country VARCHAR(50)
);
当往该表中插入新记录时,如果"cust_name"或"cust_address"列为空,则会显示错误消息:
sqlCopy CodeINSERT INTO customers (cust_id, cust_name, cust_address, cust_city, cust_state, cust_zip, cust_country)
VALUES (1, 'John Doe', '123 Main St', 'Anytown', 'CA', '12345', 'USA');
INSERT INTO customers (cust_id, cust_name, cust_address, cust_city, cust_state, cust_zip, cust_country)
VALUES (2, 'Jane Doe', '', 'Anytown', 'NY', '54321', 'USA');
-- The second INSERT statement will fail because the cust_address column is empty
因此,我们可以使用NOT NULL约束条件来确保数据完整性,从而防止在数据库中插入或更新无效数据。