小芳同学课堂知识总结(三)

本文详细介绍了如何使用PLSQLDeveloper创建、修改和管理数据表,包括基本语法、完整性约束、数据插入、更新和删除操作。内容涵盖列级和表级完整性约束,如主键、唯一约束、外键、检查约束等,并提供了相应的操作示例和约束管理方法。
摘要由CSDN通过智能技术生成

注:以下演示皆是使用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 表名;这句不仅仅表中数据没有了,表都不存在了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值