Oracle【增删改&数据的备份】

增删改的SQL语句执行完毕后,不会立马进行数据的写入数据库(这时数据在内存中),须要手动对数据进行提交(commit),若是数据出问题,能够使用回滚。
主键:非空惟一的
 --在一张表中,某字段值是非空惟一的,将此字段设置为主键。
 --惟一的标识一条数据
[增长数据源]
insert into 表名(字段名1,字段名2,字段名2...)values(值1,值2,值3...);
 --注意1:主键必须有值,容许为空的字段能够给值
 --注意2:插入语句表名后跟的字段名为赋值的字段,值和字段必须一一对应。
 --注意3:若是是全字段插入,能够缺省字段名部分。insert into 表名 values(值1,值2,值3...);数据库

1 --在dept表中新增部门信息:编号:50,名称;404boom,地址:博客园
2 insert into dept(deptno,dname,loc)values(50,'404boom','博客园');
3 --全字段插入(能够不写字段名)
4 insert into dept values(80,'404boom','博客园');
5 insert into dept(deptno,dname,loc)values(60,null,'博客园');
6 --在dept表中新增一条数据,只有部门编号和部门名称,没有地址
7 insert into dept(deptno,dname)values(70,'404boom');

[删除数据(语法)]
delete from 表名; --删除表中的全部数据
truncate table 表名;清空表中的全部记录,效率高于delete
delete from 表名 where 条件; --进行条件的筛选删除,【须要进行提交才能够真正的从库里删除】spa

1 --清空表中数据
2 delete from dept;
3 --清空表中数据
4 truncate from dept;
5 --删除表中部门编号为50的数据
6 delete from dept where deptno=50;

[更新数据]
update 表名 set 字段名=新值,字段名=新值...(所有更新为新的值)
update 表名 set 字段名=新值,字段名=新值...where 条件(符合条件的数据更新)code

1 --更新部门编号为50的信息
2 update dept set deptno=70,dname='boom',loc='个人博客' where deptno=50;

[数据备份]
注意:只会备份表结构和表的数据,约束条件并不会备份
表级别备份
 --所有备份:create table 新的表名 as select * from 备份的表名
 --部分备份:create table 新的表名 as select 字段名1,字段名2...from 备份的表名
--数据的总体插入
 --insert into 表名 select * from 表名;
 --注意:查询语句结果的字段数据必须和插入表名的字段数量一致,类型一致。blog

1  create table deptBak as select * from dept;
2    --选择性的备份
3   create table deptBak2 as select deptno,dname from dept;
4   insert into deptBak select * from dept;
相关文章
相关标签/搜索