注:以下演示皆是使用PLSQL Developer
1.基本语法
①创建一张表的语法
create table [<架构名>.]<表名>(
<列名><数据类型>[列级完整性约束定义],
.................
[表级完整性约束定义]
)
结合下面的图来理解:
(1)最简单的表来理解表的创建
create table student1(
Sno int,--学号
Sname varchar2(50),--姓名
Ssex char(3),--性别 编码集为UTF-8的一个汉字需要3个字节
Sdept varchar2(50)--所在系 最后一个没有','
)
(2)加上列级完整性约束定义的表
首先先理解一下什么是数据完整性,数据完整性包括三个部分,分别为实体完整性【主键(唯一非空)、唯一约束(唯一,允许为空)、标识列】、域完整性(也叫用户自定义完整性)【数据类型的限制、检查约束、默认约束、非空约束】、引用完整性(也叫参照完整性)(外键
)
create table student1(
Sno int primary key,--学号
Sname varchar2(50) not null,--姓名
Ssex char(3)default'男' check( Ssex in('男','女')),
Sdept varchar2(50)--所在系
)
还有一些约束可以结合图看
id varchar2(15) unique--唯一约束
id int constraint 外键名 references 主表名(id)--外键约束
(3)加上表级完整性约束定义的表
例如:
create table student1(
Sno int,--学号
Sname varchar2(50),--姓名
Ssex char(3),--性别 编码集为UTF-8的一个汉字需要3个字节
Sdept varchar2(50),--所在系 最后一个没有',
constraint 主键名 primary key(列名),
constraint 外键名 foreign key(列名) references 主表名(列名),
constraint 检查约束名 check(约束条件),
constraint 唯一约束名 unique(列名)
)
注:约束还有一种方式可以添加--外部约束
格式:
--主键约束
alter table 表名add constraint 主键约束名primary key(列);
--外键约束
alter table 表名add constraint 外键约束名foreign key(列名) references 主表名(列名);
--检查约束
alter table 表名add constraint 检查约束名check(约束条件);
--唯一约束
alter table 表名add constraint 唯一约束名unique(列名);
--默认约束
alter table 表名modify 列名default 默认值;
注:对约束一些的操作
--查询约束
select * from user_constraints where table_name='表名';--表名注意大写,查询这个表中有哪些约束
--禁用约束
alter table 表名disable constraint 约束名;
--启用约束
alter table 表名enable constraint 约束名;
--删除约束
alter table 表名drop constraint 约束名;
②往表里添加数据的语法
(1)
insert into 表名values(按照表中定义的列顺序依次插入数据);
(2)
insert into 表名(指定需要插数据的列) values (按照前面指定需要插数据的列的顺序插入数据);
③修改表数据
update 表名set 列名1=想要进行修改的操作[,列名2=想要进行修改的操作] [where ...];
④删除表中数据
delete from 表名[where .....];
注:
delete from 表名;--回滚有用
truncate table 表名;--rollback回滚没用
这两个是删除表中的所有数据,表还存在
但是 drop table 表名;这句不仅仅表中数据没有了,表都不存在了。