一、表结构
1、创建表
2、增加列
3、删除列
4、修改列的类型
5、复制表
相当于新建一张表,只有表名和原有的表不一样
二、约束
约束的概念:就是对某个字段中的值的控制【constraint约束】
1、非空约束 Not Null 限定表种某些值不能为空的约束
第一种写法:create table stu2(sid number,name varchar2(255) constraint nu not null,age number)
第二种写法:create table stu3(sid number,name varchar2(255) not null, age number)
删除非空约束
用alter添加非空约束
2、唯一约束UNIQUE(限定某一列的值不能重复)
第一种唯一约束方式:
create table stu5(sid number,name varchar2(255), age number, constraint uq unique(name))
第二种唯一约束的方式:
create table stu6(sid number,name varchar2(255) unique,age number)
给没有约束的表【现成的表】建立唯一约束
3,
3.1主键约束Primary Key 【主键不会重复】
任何一个表有且仅有一个主键
主键可以包含一列或多列
主键约束的第一种写法
create table stu8(sid number,name varchar2(255),age number,
constraint pk_stu8 primary key(sid)
或者
create table stu8(sid number,name varchar2(255),age number,
constraint pk_stu8 primary key(sid,name)
主键约束第二种写法
create table stu9(sid number primary key,name varchar2(255),age number)
给已有的表添加主键约束
3.2外键约束foreign key
create table worker(wid number primary key,name varchar2(255),jobid number,
constraint fk_worker foreign key(jobid) references job(jid) on delete cascade
)
给已有的表添加外键约束
4, 检查约束
创建检查约束第一种方式: (aabb为约束名字,随意赋予)
create table teacher(tid number,name varchar2(255),age number,
constraint aabb check(age>20 and age<90)
);
创建检查约束第二种方式:(没有名字)
create table stu(sid number,name varchar2(255),age number check(age > 20 and age <90))
5,删除约束
通过约束名称删除约束
alter table teacher drop constraint aabb
6,增加约束
6.1,alter table teacher add constraint abcs check(age > 20 and age < 190)
6.2,alter table stu4 modify name not null
6.3,alter table stu5 add constraint q2 unique(age)
6.4,alter table stu4 add constraint pk_con primary key(sid)
5,alter table tb1 add constraint pk_tb2 foreign key(jobid) references job(jid) on delete cascade