• oracle表管理(建表,改表,删表,表数据增删改查)


    1建表

    --语法:
    
    Create table 表名(
    
    字段1 数据类型 [default 默认值],
    
    字段2 数据类型 [default 默认值],
    ...
    
    字段n 数据类型 [default 默认值]
    
    );
    
    --范例:创建person表
    
    create table person(
    
           pid      number(10),
    
           name     varchar2(10),
    
           gender   number(1)  default 1,
    
           birthday date
    
    );
    
     
    
    insert into person(pid, name, gender, birthday)
    
    values(1, '张三', 1, to_date('1999-12-22', 'yyyy-MM-dd'));

    2.表删除

    语法:DROP TABLE 表名

    3.表的修改

    sql中使用alter可以修改表

    • 添加语法:ALTER TABLE 表名称 ADD(列名1 类型 [DEFAULT 默认值],列名1 类型 [DEFAULT 默认值]...)
    • 修改语法:ALTER TABLE 表名称 MODIFY(列名1 类型 [DEFAULT 默认值],列名1 类型 [DEFAULT 默认值]...)
    • 修改列名: ALTER TABLE 表名称 RENAME COLUMN 列名1 TO 列名2

    范例:在person表中增加列address

    alter table person add(address varchar2(10));

    范例:把person表的address列的长度修改成20长度

    alter table person modify(address varchar2(20));

    4.截断表

    person表中使用delete语句删除数据,则可以使用rollback来回滚,如果想要清空一张表的数据,同时不想回滚可以立即释放资源需要使用截断表的语法

    语法:TRUNCATE TABLE 表名

    范例:截断person

    truncate table person;

    5.数据库表数据的更新

    1. INSERT(增加)

    语法:

    INSERT  INTO表名[(列名1,列名2...)]VALUES(1,值2...)

    标准写法

     

    简单写法(不建议)

    INSERT  INTO 表名VALUES(1,值2...)

    insert into person

    values(1,'张三',1,'9-5-1981','北京北七家');

    注意:使用简单的写法必须按照表中的字段的顺序来插入值,而且如果有为空的字段使用null

    insert into person

    values(2,'李四',1,null,'北京育新');

    2.事务

    这是因为oracle的事务对数据库的变更的处理,我们必须做提交事务才能让数据真正的插入到数据库中,在同样在执行完数据库变更的操作后还可以把事务进行回滚,这样就不会插入到数据库。如果事务提交后则不可以再回滚。

    提交:commit

    回滚:rollback

    1.事务保存点与回滚:

    语法:

    savepoint  保存点名字

    示例:

    savepoint a1;    --设置一个保存点 a1;

    update person set name='张三' where pid='101'  --修改一条数据

    savepoint a2;   --设置一个保存点 a1;

    update tmp set name='李四' where id='102  --再修改一条数据

     

    rollback to a2;   --回滚到a2 保存点。 此时在 a2 保存点之后的所有数据修改视为无效。

    rollback to a1;   --这里可以再从a2保存点再回滚到a1 保存点。 此时在 a1 保存点之后的所有数据修改视为无效。

    rollback;           --回滚全部。即撤消至上一次提交事务后的所有数据修改。

    commit;  --提交事务 将回滚后的事务提交,并会删除所有保存点。

    注意:我们可以从a2向前再回滚到a1 ,但无法从a1回滚到a2。也就是只能向前回滚,不能从前面的点再向后回滚! 

    2.事务的隔离级别:

    事务的隔离性是什么?

    https://www.cnblogs.com/luzhanshi/p/13339119.html

    事务隔离级别有哪些?

    https://www.cnblogs.com/luzhanshi/p/13339119.html

    Oracle支持的隔离级别是什么?

    Oracle 支持三种事务隔离级别:

    1、读已提交;(默认)

    2、串行化;

    3、只读模式

    3.UPDATE(修改)

    全部修改:UPDATE 表名 SET 列名1=1,列名2=2....

    局部修改:UPDATE 表名 SET 列名1=1,列名2=2....WHERE 修改条件;

    4. DELETE(删除)

    语法 : DELETE FROM 表名 WHERE 删除条件;

    在删除语句中如果不指定删除条件的话就会删除所有的数据

    Truncate table实现数据删除

    比较truncatdelete实现数据删除?

    1. delete删除的数据可以rollback,也可以闪回
    2. delete删除可能产生碎片,并且不释放空间
    3. truncate是先摧毁表结构,再重构表结构

    4.通过闪回实现数据恢复

    1.闪回的原理

    2.闪回的实现方式

    3.闪回的注意事项

    5. 碎片问题的思考

    1.什么是碎片

    2.碎片的产生

    3.碎片问题的避免与解决

  • 相关阅读:
    哈尔特征Haar
    【python】发送post请求
    【svn】SSL error: A TLS warning alert has been received的解决方法
    【python】tarfile的路径问题
    【python】nuitka封装python
    【linux】scp命令
    【mongo】聚合相关资料
    【python】with的实现方法
    【mongo】mongoVUE使用
    【http】四种常见的 POST 提交数据方式
  • 原文地址:https://www.cnblogs.com/luzhanshi/p/13551534.html
Copyright © 2020-2023  润新知