au PAY マーケット

数据库基础知识

数据库的相关术语:
1、表

2、视图

3、存储过程

4、触发器

5、约束
(1)主键(Primary Key)约束

主键约束在每个数据表中只能有一个,但是一个主键约束可以由多个列组成,通常把由多个列组成的主键又叫做复合主键或组合主键。
主键约束可以保证主键列的数据没有重复值且值不为空,也可以说是唯一地标识表中的一条记录。

(2)外键(Foreign Key)约束

外键约束之所以被称为是参照约束,是因为它主要用于把一个表中的数据和另一个表中的数据进行关联。
表和表之间的关联是为了保证数据库中数据的完整性,使用外键保证数据的完整性,也叫参照完整性。

(3)唯一(Unique)约束

唯一约束和主键约束一样,都是设置表中的列不能重复的约束,它们的区别就是一个表中只能有一个主键约束,却可以有多个唯一约束。
通常情况下,设置唯一约束的目的就是使非主键列没有重复值。唯一约束与主键约束的另一个区别是,如果数据表中的某一列中有空值,那么就不能把这个列设置为主键列,而可以设置成唯一约束。

(4)检查(Check)约束

检查约束是用来指定表中列值的取值范围的,它可以保证数据库中数据的有效性。

(5)非空(Not Null)约束

非空约束是用来约束表中的列不允许为空的。

使用CREATE语句创建表:
————————————————-
CREATE TABLE table_name
(
column_name datatype [null|not null],
column_name datatype [null|not null],

[constraint] );
————————————————-
【语法说明】
table_name:指在数据库中创建的数据表的名称,在一个数据库中,数据表名是不能重复的。
column_name:是表中的列名,列名在一个表中也是不能重复的。
datatype:该列存放的数据的数据类型。
[null|not null]:允许该列为空或者不允许该列为空,在创建表时默认为不允许该列为空。
[constraint]:为表中的列设置的约束,约束主要包括主键约束、外键约束、检查约束等。

例:
creat table productinfo
(
ProductId varchar2(10),
ProductName varchar2(20),
ProductPrice number(8,2),
Quantity number(10),
Category varchar2(10),
Description varchar2(1000),
Origin varchar2(10)
);

使用ALTER语句修改表:
————————————————–
ALTER TABLE table_name
ADD column_name | MODIFY column_name | DROP COLUMN column_name;
————————————————–
【语法说明】
ADD:用于向表中添加列。
MODIFY:用来修改表中已经存在的列的信息。
DROP COLUMN:删除表中的列,在删除表中的列时经常要加上CASCADE CONSTRAINTS,即把与该列有关的约束也一并删除掉。

例:
ALTER TABLE scott.productinfo
ADD remark varchar(200);

ALTER TABLE scott.productinfo
MODIFY remark number(2,2);

ALTER TABLE scott.productinfo
DROP column remark;

使用DROP语句删除表:
——————————————
DROP TABLE table_name;
——————————————
【语法说明】
删除表的语句是非常简单的,只需要指定要删除的表名即可。

例:
DROP TABLE productinfo;

使用主键约束创建表:
在创建表时就要创建主键约束,只需要使用primary key(字段名)即可完成。

例:
create table categroyinfo
(
CategroyId varchar2(10),
CategroyName varchar2(30),
primary key(CategroyId)
);

使用ALTER TABLE语句为表添加主键约束:
———————————–
ALTER TABLE table_name
ADD CONSTRAINTS constraint_name PRIMARY KEY (column_name);
———————————–
【语法说明】
constraint_name:约束的名称。
column_name:主键约束指定数据表中的列名。

例:
ALTER TABLE scott.categroyinfo
ADD CONSTRAINTS pk_categroy primary key (categroyid);

移除主键约束:
———————————
ALTER TABLE table_name
DROP CONSTRAINTS constraint_name;
———————————
【语法说明】
constraint_name:要移除约束的名称,这个名称可以是在表中任意一个约束的名称。

例:
ALTER TABLE categoryinfo
DROP CONSTRAINTS constraint_name;

使用外键约束创建表:
外键约束是建立在两张表之间的约束,需要在创建表的语句后面加上入学语句:
——————————————-
CONSRTAINT constraint_name FOREIGN KEY (column_name)
REFERENCE table_name (column_name)
ON DELETE CASCADE
——————————————-
【语法说明】
constraint_name:创建的外键约束的名字。
FOREIGN KEY (column_name):指定外键约束的列名。
REFERENCE table_name (column_name):要引用的表名(列名)。
ON DELETE CASCADE:设置级联删除,当主键的字段被删除时,外键所对应的字段同时被删除。

例:
CREATE TABLE Productinfo1
(
productid varchar2(10),
productname varchar2(20),
productprice number(8,2),
quantity number(10),
desperation varchar2(1000),
category varchar2(10),
origin varchar2(10),
primary key (productid),
CONSTRAINT fk_pro FOREIGN KEY (category)
REFERENCES categroyinfo(categroyid)
ON DELETE CASCADE
);

在修改数据库表时添加外键约束:
在已经存在的数据库表中也可以添加外键约束的。添加外键约束是在ALTER TABLE语句后面加上如下语句:
————————————-
ADD CONSTRAINT constraint_name FOREIGN KEY (column_name)
REFERENCE table_name (column_name)
ON DELETE CASCADE;
————————————-
*添加外键时一定要先设置主键。

例:
ADD CONSTRAINT fk_product FOREIGN KEY (category)
REFERENCE categroyinfo (categroyid)
ON DELETE CASCADE;

移除外键约束:
移除外键约束与移除主键约束的语法一致。
例:
ALTER TABLE productinfo1
DROP CONSTRAINT fk_pro;

创建表时添加检查约束:
创建检查约束的语句是在创建表的语句后面加上如下语句完成的:
———————————–
CONSTRAINT constraint_name CHECK (condition);
———————————–
其中,condition是检查约束的条件,检查约束的条件要建立在具体的字段中。
例如,要将年龄设置为18-30岁,就可以写成age>=18 and age<=30。 例: CREATE TABLE custominfo ( CumstomId varchar2(10), Name varchar2(10), Age number(2), Gender varchar2(2), Tel varchar2(11), Address varchar2(100), CONSTRAINT CHK_AGE CHECK (age>=18 and Age<=50) ); 在修改数据表时添加检查约束: 在修改数据表时添加检查约束的方法是在ALTER TABLE语句的后面添加如下语句即可: -------------------------------- ADD CONSTRAINT constraint_name CHECK (condition); -------------------------------- 例: ALTER TABLE custominfo ADD CONTRAINT chk_gender CHECK (Gender='男' or Gender='女'); 移除检查约束: 移除检查约束也与移除其他约束一样,只要知道检查约束的名字就可以移除该检查约束。 例: ALTER TABLE custominfo DROP CONSTRAINT chk_gender; 在创建表时添加唯一约束: 在创建表时可以为表中的字段直接添加唯一约束,具体的创建方法是在创建表的语句后面加上如下的语句: --------------------------------- CONSTRAINT constraint_name UNIQUE(column_name); --------------------------------- 例: CREATE TABLE orderinfo ( OrderId varchar2(10), CustomId varchar2(10), ProductId varchar2(10), OrderDate varchar2(10), OrderQuantity number(10), SendDate varchar2(10), CONSTRAINT UNQ_ORDERID UNIQUE(OrderId) );

前の記事

〜んだ

次の記事

〜んじゃない
ショップチャンネル