• 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 条件; --进行条件的筛选删除,【需要进行提交才可以真正的从库里删除】

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

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

    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 表名;
     --注意:查询语句结果的字段数据必须和插入表名的字段数量一致,类型一致。

    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;
  • 相关阅读:
    [Luogu 3794]签到题IV
    [JSOI 2015]最大公约数
    [BZOJ 5123][Lydsy1712月赛]线段树的匹配
    [BZOJ 5127][Lydsy1712月赛]数据校验
    [Codeforces Educational Round 71]Div. 2
    [NOIp 2018]all
    [BZOJ 2134]单选错位
    [hihoCoder 1384]Genius ACM
    [POJ 3233]Matrix Power Series
    [USACO 09FEB]Bullcow
  • 原文地址:https://www.cnblogs.com/cao-yin/p/9741606.html
Copyright © 2020-2023  润新知