Oracle数据库精讲(二)

SQL语句的类型
DQL:数据查询语言,select
DML:数据操作语言,insert、delete、update 可以回退(事务)
DDL:数据定义语言,create / drop / truncate / alter table
DCL:数据控制语言,grant、revoke

DML:

  • 增加数据insert
    insert into 表名(字段名1,字段名2,...) values(字段值1,字段值2,...)
  • 批量插入数据
    • 1.创建新表(批量插入之前不存在)
      create table mycat as select * from emp;
      复制一个和emp表数据一样的表mycat
      在这里插入图片描述
      create table mycat2 as select * from emp where 1=0;
      快速创建不带数据的表结构
      在这里插入图片描述
    • 2.在旧表中插入(已存在的表)
      insert into mycat2(empno,ename,sal)
      select empno,ename,sal from emp;
      在这里插入图片描述
    • 3.begin…and
      在这里插入图片描述
  • 删除数据delete
    delete from 表名 where 条件

注意:不加where条件则删除全部数据,但是可以通过rollback语句回退;truncate语句也可以删除数据,但不能回退。
原因:DML:insert update delete可以回退,truncate属于DDL
二者比较
1.对于少量数据,delete效率高,一行一行删除;对于海量数据,truncate效率高,先drop table丢弃整张表,再重新创建表。
2.delete支持闪回,truncate不支持闪回。
3.delete不会释放空间(只是换两个地方存储数据[undo空间]),truncate会。
4.delete会产生碎片,truncate不会。
如果碎片太多,需要整理碎片:
a. alter table 表名 move;
b.数据导出导入

  • 修改update
    update 表名 set 字段名1=字段值1,字段名2=字段值2... where...

DDL:

  • 创建表
    create table 表名
    -
  • 修改表
    • 追加新列
      alter table mytab add myother varchar2(10);
      在这里插入图片描述
    • 修改列
      • 修改列的长度
        alter table mytab modify myother varchar2(20);
      • 修改列的类型
        alter table mytab modify myother number;
        注意:blob/clob不能修改,需要先删除此列,再追加。
      • 删除列
        alter table mytab drop column myother;
      • 重命名列名
        alter table mytab rename column myother to myother1;
  • 删除表
    drop table mytab;–>放在了回收站
    查看回收站:show recyclebin;
    清空回收站:purpe recyclebin;
    还原回收站:闪回
  • 删除表 并清空
    drop table 表名 purpe;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值