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的约束
上一篇: 运行npm install 遇到报错 zlib: unexpected end of file的解决方案
下一篇: Mysql学习及笔记06--ddl语言、库的创建、修改、删除、表的管理创建、修改、删除、表的复制,常见数据类型,常见约束,修改表时添加、删除约束、标识列
推荐阅读
-
MySQL数据库(四):DML(增、改、删)、DDL(表的创建、修改、删除、复制等)、约束、标识列(自增长列)
-
oracle数据库——数据表的创建及相关约束名称
-
oracle数据库创建及删除表空间、用户和增删改查
-
oracle数据库约束创建修改及删除
-
ORACLE数据库创建表空间及用户,删除表空间及用户等操作
-
mysql创建create,修改alter,删除drop 数据库和表,以及解决显示中文乱码问题
-
数据库的创建、修改和删除;数据库表的创建、修改和删除;
-
MySQL学习(3) - 数据库和表的基本操作(创建、删除、查看、修改)
-
数据库及表的修改和删除
-
MySQL数据库及表创建、修改、删除及其它操作