Oracle 增删改&数据备份
1.数据库的增删改
-
特征
-
增加、删除和修改的数据,SQL语句执行完毕后,不会立马进行数据的写入,还需要手动对数据进行提交,如果数据有问题可以进行回退
-
主键:非空唯一的字段可以设置为主键
-
在一张表中,某个字段的值是非空唯一的,将此字段设置为主键(若存在多个,任选一个都可以)
-
主键的作用:唯一的标识一条数据。
-
-
-
增加数据
-
格式:insert into 表名 (字段名1, ……, 字段名n) values (值1, ……, 值n)
-
注意:
-
主键必须给值,允许为空的字段可以不给值
-
字段名为要赋值的字段,值与字段的顺序和数量必须一一对应
-
如果是全字段插入,可以省略字段名部分。格式:insert into 表名 values(值1,……,值n)
-- 增加信息:部门:50,名称:LOL学院,地址:北京 insert into dept(deptno,dname,loc) values (50,'LOL学院','北京'); select * from dept;
-- 在部门中新增一条数据,只有部门编号和名称 insert into dept(deptno,dname)values(60,'吃鸡学院');
-- 全字段插入 insert into dept values(70,'魔法学院','上海');
-
-
-
删除数据
-
删除表中所有数据:(表的结构还在)
-
格式:delete from 表名 (删除表中的所有数据)
-
格式:truncate table 表名 (删除表中的所有数据,效率高于delete)
-
-
删除表的结构和数据
- 格式:drop table 表名 (彻底删除该表)
delete from deptBak
-
删除表中符合条件数据
- 格式:delete from 表名 where 条件
delete from dept where deptno = 50;
-
-
更新数据
-
将表中符合条件的字段改成新值
- update 表名 set 字段名1=值1,……,字段名n = 值n where 条件
update dept set dname='Java学院', loc='上海' where deptno = 60; select * from dept;
-
将表中字段的值全部改为新的值
- update 表名 set 字段名1=值1,……,字段名n = 值n
update dept set dname='Java学院', loc='上海';
-
2.数据备份
-
特征:只会备份表结构和表的数据,约束不会备份
-
表级别备份(全部备份)
-
create table 新表名 as select * from 备份表名
create table deptBak as select * from dept; select * from deptBak;
-
无主键约束
insert into deptBak values(60,'11','11'); select * from deptBak order by deptno desc;
-
-
部分备份:
-
create table 新的表名 as select 字段名1, ……, 字段名m from 备份表名
create table deptBak2 as select deptno,dname from dept; select * from deptBak2;
-
-
数据整体插入
-
insert into 插入的表名 select * from 表名
-
注意:查询语句结果的字段必须和插入表名的字段数量一致,类型一致
delete from deptBak; insert into deptBak select * from dept;--字段和顺序一样 select * from deptBak;
-
-