时间:2021-07-01 10:21:17 帮助过:32人阅读
--创建数据库
create database 数据库名字;
--创建表
CREATE TABLE 表名
(
字段1 类型(长度),
字段2 类型(长度),
字段3 类型(长度),
字段4 类型(长度),
字段5 类型(长度)
);
SQL 约束用于规定表中的数据规则。
如果存在违反约束的数据行为,行为会被约束终止。
约束可以在创建表时规定(通过 CREATE TABLE 语句),或者在表创建之后规定(通过 ALTER TABLE 语句)。
--创建表时增加约束 NOT NULL
CREATE TABLE 表名
(
列1 类型(长度) NOT NULL,
列2 类型(长度) NOT NULL,
列3 类型(长度),
列4 类型(长度),
列5 类型(长度)
);
--删除约束 NOT NULL
alter table 表 modify 列 null;
--设置约束 NOT NULL
alter table 表 modify 列 not null;
PS:每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束。
--创建表时增加约束 UNIQUE
CREATE TABLE 表名
(
列1 类型(长度) NOT NULL,
列2 类型(长度) NOT NULL,
列3 类型(长度),
列4 类型(长度),
列5 类型(长度),
CONSTRAINT 约束名 UNIQUE (列1,列2)
);
--修改表时,增加约束 UNIQUE (单列约束的情况)
ALTER TABLE 表 ADD UNIQUE (列1);
--修改表时,如需命名 UNIQUE 约束,并定义多个列的 UNIQUE 约束(多列约束的情况)
ALTER TABLE 表
ADD CONSTRAINT 约束名 UNIQUE (列1,列2)
--删除约束 UNIQUE
ALTER TABLE 表 DROP CONSTRAINT 约束名
主键必须包含唯一的值。
主键列不能包含 NULL 值。
每个表都应该有一个主键,并且每个表只能有一个主键。
PS:每个表都应该有一个主键,并且每个表只能有一个主键。
--创建表时增加约束 PRIMARY KEY
CREATE TABLE 表名
(
列1 类型(长度) PRIMARY KEY,
列2 类型(长度),
列3 类型(长度),
列4 类型(长度),
列5 类型(长度)
);
--创建表时,如需命名 PRIMARY KEY 约束,并定义多个列的 PRIMARY KEY 约束(多列约束的情况)
PS:这种情况还是只有一个主键。然而,此时主键的值是由两个列(列1和列2)组成的
CREATE TABLE 表名
(
列1 类型(长度),
列2 类型(长度),
列3 类型(长度),
列4 类型(长度),
列5 类型(长度),
CONSTRAINT 约束名 PRIMARY KEY (列1,列2)
);
PS:用ALTER TABLE 语句添加主键(即修改表的场景),必须把主键列声明为不包含 NULL 值(在表首次创建时)。
--修改表时,增加约束 PRIMARY KEY (单列约束的情况)
ALTER TABLE 表 ADD PRIMARY KEY (列1);
--修改表时,如需命名 PRIMARY KEY 约束,并定义多个列的 PRIMARY KEY 约束(多列约束的情况)
ALTER TABLE 表
ADD CONSTRAINT 约束名 PRIMARY KEY (列1,列2)
--删除约束 PRIMARY KEY(有约束名的场景)
ALTER TABLE 表 DROP CONSTRAINT 约束名
--删除约束 PRIMARY KEY(未定义约束名的场景)
ALTER TABLE 表 DROP CONSTRAINT 列名
一个表中的 FOREIGN KEY 指向另一个表中的 UNIQUE KEY(唯一约束的键)。
FOREIGN KEY 约束用于预防破坏表之间连接的行为。
FOREIGN KEY 约束也能防止非法数据插入外键列,因为它必须是它指向的那个表中的值之一。
--创建表时增加约束 FOREIGN KEY
CREATE TABLE 表名
(
列1 类型(长度) PRIMARY KEY,
列2 类型(长度),
列3 类型(长度) FOREIGN KEY REFERENCES 外键关联的表名(外键关联的表字段)
);
--创建表时,如需命名 FOREIGN KEY 约束,并定义多个列的 FOREIGN KEY 约束
CREATE TABLE 表名
(
列1 类型(长度) PRIMARY KEY,
列2 类型(长度),
列3 类型(长度),
CONSTRAINT 约束名 FOREIGN KEY (当前表的字段)
REFERENCES 外键关联的表名(外键关联的表字段)
);
--修改表时,增加约束 FOREIGN KEY (单列约束的情况)
ALTER TABLE 表
ADD FOREIGN KEY (当前表的字段)
REFERENCES 外键关联的表名(外键关联的表字段);
--修改表时,如需命名 FOREIGN KEY 约束,并定义多个列的 FOREIGN KEY 约束(多列约束的情况)
ALTER TABLE 表
ADD CONSTRAINT 约束名 FOREIGN KEY (当前表的字段)
REFERENCES 外键关联的表名(外键关联的表字段);
--删除约束 FOREIGN KEY(有约束名的场景)
ALTER TABLE 表 DROP CONSTRAINT 约束名
--删除约束 FOREIGN KEY(未定义约束名的场景)
ALTER TABLE 表 DROP CONSTRAINT 列名
CHECK 约束用于限制列中的值的范围。
如果对单个列定义 CHECK 约束,那么该列只允许特定的值。
如果对一个表定义 CHECK 约束,那么此约束会基于行中其他列的值在特定的列中对值进行限制。
--创建表时增加约束 CHECK
CREATE TABLE 表名
(
列1 类型(长度) PRIMARY KEY,
列2 类型(长度),
列3 类型(长度) CHECK (校验条件,如:列3>0)
);
--创建表时,如需命名 CHECK 约束,并定义多个列的 CHECK 约束
CREATE TABLE 表名
(
列1 类型(长度) PRIMARY KEY,
列2 类型(长度),
列3 类型(长度),
CONSTRAINT 约束名 CHECK (校验条件1 AND 校验条件2)
);
--修改表时,增加约束 CHECK (单列约束的情况)
ALTER TABLE 表 ADD CHECK (校验条件);
--修改表时,如需命名 CHECK 约束,并定义多个列的 CHECK 约束(多列约束的情况)
ALTER TABLE 表
ADD CONSTRAINT 约束名 CHECK (校验条件1 AND 校验条件2);
--删除约束 CHECK(有约束名的场景)
ALTER TABLE 表 DROP CONSTRAINT 约束名
--删除约束 CHECK(未定义约束名的场景)
ALTER TABLE 表 DROP CONSTRAINT 列名
--创建表时增加约束 DEFAULT
CREATE TABLE 表名
(
列1 类型(长度) PRIMARY KEY,
列2 类型(长度),
列3 类型(长度) DEFAULT 默认值
);
--修改表时,增加约束 DEFAULT (单列约束的情况)
ALTER TABLE 表 MODIFY 列 DEFAULT 默认值
--删除约束 DEFAULT
ALTER TABLE 表
ALTER COLUMN 列 DROP DEFAULT
Oracle SQL(三)
标签:表之间 for 存储 标识 指示 修改表 efault 限制 基于