oracle中怎么用SQL语句加notnull
时间: 2024-02-17 10:03:57 浏览: 101
在 Oracle 中,可以在创建表时或使用 ALTER TABLE 语句时为列添加 NOT NULL 约束。下面分别介绍这两种方法:
1. 在创建表时添加 NOT NULL 约束
在 CREATE TABLE 语句中,可以使用 CONSTRAINT 子句来为列添加约束。示例如下:
```
CREATE TABLE my_table (
id NUMBER(10) CONSTRAINT pk_my_table PRIMARY KEY,
name VARCHAR2(50) CONSTRAINT nn_my_table_name NOT NULL,
age NUMBER(3)
);
```
在上面的示例中,为 my_table 表的 name 列添加了 NOT NULL 约束,并为约束命名为 nn_my_table_name。如果在插入数据时尝试插入 NULL 值,Oracle 数据库会抛出异常。
2. 使用 ALTER TABLE 语句添加 NOT NULL 约束
使用 ALTER TABLE 语句时,需要指定要修改的表名、要修改的列名,以及要添加的约束。示例如下:
```
ALTER TABLE my_table
MODIFY age NUMBER(3) CONSTRAINT nn_my_table_age NOT NULL;
```
在上面的示例中,为 my_table 表的 age 列添加了 NOT NULL 约束,并为约束命名为 nn_my_table_age。如果在插入数据时尝试插入 NULL 值,Oracle 数据库会抛出异常。
需要注意的是,如果要为已经存在数据的列添加 NOT NULL 约束,需要先将该列中的所有 NULL 值替换为非 NULL 值,否则会抛出异常。可以使用 UPDATE 语句来替换 NULL 值。
阅读全文