欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Oracle数据库对创建表、修改和删除表及建立约束

程序员文章站 2022-03-03 17:47:48
...

创建数据库表

创建表格式
–C --check
–P --primary key
–R --forgien key
–U --unique
–CREATE TABLE <table_name>(
–column1 DATATYPE [NOT NULL] [PRIMARY KEY],
–column2 DATATYPE [NOT NULL],
–…
–[constraint <约束名> 约束类型 (要约束的字段)
–… ] )
–说明: 
–DATATYPE --是Oracle的数据类型
–NOT NULL --可不可以允许数据有空的
–PRIMARY KEY --是本表的主键
–constraint --是对表里的字段添加约束.(约束类型有Check,Unique,Primary key,not null,Foreign key)

–constraint 约束名 Foreign key(表中外键列) references引用 主表表名(主表中的主键列或者唯一列)

创建数据库表

--学生表
create table STUDENT(
STU_ID number(10) , --number(定义长度)
NAME nvarchar2(20) not null,--非空约束 --写入中文时建议用nvarchar2
age number(3) not null,
sex nchar(1) default('男'), --default 默认值约束
constraint PK_STU_ID primary key(STU_ID), --主键约束
constraint C_CHECK_SEX check(sex='男' or sex='女')--检查约束
)
--课程表
create table COURSE(
COURSE_ID number(10) constraint PK_COURSE_ID primary key,--主键约束
COURSE_NAME nvarchar2(10) not null, --非空
constraint U_COURSE_NAME Unique(COURSE_NAME) --唯一约束
)
--成绩表
create table SCORE(
STU_ID number(10) ,
COURSE_ID number(10) ,
SCORE number(3) not null,
constraint R_fk_STU_ID foreign key(STU_ID) references STUDENT(STU_ID), --外键约束
constraint R_fk_COURSE_ID foreign key(COURSE_ID) references COURSE(COURSE_ID) --外键约束
)

对表删除及字段的修改

--删除表
drop table SCORE
--改名
alter table SCORE rename to SCORES ;
--添加字段属性
alter table STUDENT add (STU_EMAIL varchar(50))
--删除字段
alter table STUDENT drop column age
--修改字段属性
alter table STUDENT modify sex nchar(1) default('女')

向数据库表插入数据

insert into STUDENT values(011,'氨基酸',default,'[email protected]');
insert into STUDENT values(012,'三氯蔗糖',default,'[email protected]');
insert into STUDENT values(013,'热分解','男','[email protected]');
select * from STUDENT

insert into COURSE values(1001,'JAVA');
insert into COURSE values(1002,'HTML5+CSS3');
insert into COURSE values(1003,'ORACLE');
select * from COURSE

insert into SCORES values(011,1001,98);
insert into SCORES values(011,1002,93);
insert into SCORES values(011,1003,94);
insert into SCORES values(012,1001,100);
insert into SCORES values(012,1002,90);
insert into SCORES values(012,1003,96);
select * from SCORES

通过子查询创建表

create table stu as(
select * from STUDENT
)
--不会继承STUDENT的约束