plsql中数据库表的增删改查操作(常⽤的DDL,DML语句)
注意:
1) 在所有增删改操作中,都需要提交事务commit,它能保证数据的⼀致性和完整性,能保证⼀系列操作的原⼦性,“要么都成功,只要有⼀条失败,全部回滚”。提交之后的数据⽆法回滚。
2)update跟delete要慎重,不要只选中⼀半,看清楚where条件,否则就是对全部数据都进⾏操作。
⼀、增删改
1. 修改表名
alter table 原表名 rename to 新表名
注意:修改完表名之后右击tables刷新⼀下
alter table use rename to cominfo;
结果如下:
(注意:如果需要查看字段类型,⿏标右键点击表名→"View"→"column"选项卡进⾏查看)
2. 添加⼀个字段
alter table 表名 add(
字段名1 字段类型1,
字段名2 字段类型2,
…
);
alter table cominfo add(
qq number(18)
);
结果如下:
3. 修改字段名
alter table 表名 rename column 旧字段名 to 新字段名
alter table cominfo rename column qq to weixin;
结果如下:
4. 修改字段类型
alter table 表名 modify(
字段名1 新类型1,
字段名2 新类型2,
…
);
alter table cominfo modify(
weixin varchar2(32)
);
结果如下:
5. 删除⼀个字段
alter table 表名 drop(字段名);
alter table cominfo drop(weixin);
结果如下:
6. 删除⼀张表
drop table 表名
drop table buy;
7. 新增⼀条数据
insert into 表名 (字段1,字段2,…)values(值1,值2,…)
或
insert into 表名 values(值1,值2,…)
注意:
(1)插⼊语句执⾏完毕后,需要点击提交事务按钮"commit"
(2)如果插⼊⼀条记录,给所有字段都插值,那么insert into 表名后⾯的第⼀对⼩括号可以省略
insert into cominfo values(1003,'张三','男','1998/1/3','南京邮电⼤学',123456789,1);
或
insert into cominfo
(pno, pname, sex, birthday)
values
(1004,'李四','男','1998/1/4');
结果如下:
8. 字符串转⽇期函数
to_date(‘⽇期字符串’,‘⽇期格式’)
注意:
(1)在Oracle中,使⽤y表⽰年,m表⽰⽉,d表⽰⽇,通常⽤“-”连接
(2)使⽤h表⽰时,mi表⽰秒,s表⽰秒,默认⼗⼆⼩时制,需要设置24⼩时则需在hh后⾯添加24
--先删除所有的出⽣⽇期,再把birthday的类型改成date
alter table cominfo modify(
birthday date
);
--再使⽤to_date函数
insert into cominfo values(1009,'⼩⽉','男',to_date('1998-01-09 18:20:10','yyyy-mm-dd hh24:mi:ss'),'南京邮电⼤学',1807654321,2);结果如下:
9. ⽇期类型转字符串
to_ char(字段名 ,⽇期的字符串格式)
可以将⽇期型的字段按照指定的字符串格式转型为字符串
select pno,pname,sex,to_char(birthday,'yyyy')from cominfo;
结果如下:
10. 给出指定⽣⽇,计算年龄
to_char(sysdate,‘yyyy’)-to_char(birthday,‘yyyy’)
select pno,pname,sex,to_char(sysdate,'yyyy')-to_char(birthday,'yyyy') age from cominfo;结果如下:
11. 修改语句
update 表名 set 字段名 = ‘新值’ where 条件
注意:
条件通常使⽤编号
--1)将⼩⽉的性别改为⼥
update cominfo set psex ='⼥'where pname ='⼩⽉';
--2)将所有男同学的地址都改成南京邮电⼤学仙林校区
update cominfo set address ='南京邮电⼤学仙林校区'where sex ='男';
结果如下:
12. 删除语句
delete from 表名 where 条件
--1)删除编号为1009的同学
delete from cominfo where pno =1009;
结果如下:
⼆、约束
约束通常都是加在create table语句中,⽤来对表中的数据进⾏限定
1. ⾮空约束——not null(表⽰指定字段的值不能为空)
create table cominfo(
pno varchar2(32)not null,
pname varchar2(32),
sex varchar2(6),
birthday date,
address varchar2(200),
movephone number(18),
cno varchar2(32)
)
;
2. 唯⼀约束——unique(表⽰指定字段的值不能重复)
唯⼀约束也可以使⽤constraint关键字来进⾏编写
格式:在所有字段定义的最后,使⽤constraint 约束名 unique(字段名)
注意:如果()中含有多个字段,则表⽰他们的组合不能重复
create table cominfo(
pno varchar2(32)unique,
pname varchar2(32),
sex varchar2(6),sql中delete用法
birthday date,
address varchar2(200),
movephone number(18),
cno varchar2(32)
constraint uk1 unique(pname)
constraint uk2 unique(address,movephone)
);
3. 主键约束(表⽰既⾮空⼜唯⼀的约束)
它在业务逻辑上可以⽤来识别⼀条记录
格式1:在字段后添加primary key
格式2:使⽤constraint 约束名 primary key(字段名)
create table cominfo(
pno varchar2(32)primary key,
pname varchar2(32),
sex varchar2(6),
birthday date,
address varchar2(200),
movephone number(18),
cno varchar2(32)
constraint uk1 unique(pname)
constraint uk2 unique(address,movephone)
);
或
create table cominfo(
pno varchar2(32),
pname varchar2(32),
sex varchar2(6),
birthday date,
address varchar2(200),
movephone number(18),
cno varchar2(32)
constraint uk primary key(pno)
);
4. 外键约束
存在两张表,⼀张作为主表,⼀ 张作为从表, 主表中的主键字段添加到从表中,在从表中当做外键例如:班级表是主表,学⽣表是从表,班级编号在学⽣表中做外键
格式1:references 主表表名(主表主键名)
格式2:在字段最后使⽤constraint 外键名 foreign key(外键字段) references 主表名(主表主键字段)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论