zoukankan      html  css  js  c++  java
  • Oracle创建和管理表

    常见的数据库对象

    image-20210608163918615

    Oracle 数据库中的表

    • 用户定义的表:

      用户自己创建并维护的一组表

    • 包含了用户所需的信息

      如:SELECT ***** FROM user_tables;查看用户创建的表

    • 数据字典:

      由 Oracle Server 自动创建的一组表

      包含数据库信息

    • 查看用户定义的表

    SELECT table_name 
    FROM	  user_tables ;
    
    • 查看用户定义的各种数据库对象
    SELECT DISTINCT object_type 
    FROM 	  user_objects ;
    
    • 查看用户定义的表****, 视图****, 同义词和序列
    SELECT	* 
    FROM	  user_catalog ;
    

    命名规则

    表名和列名:

    • 必须以字母开头

    • 必须在 1–30 个字符之间

    • 必须只能包含 A–Z, a–z, 0–9, _, $, 和 #

    • 必须不能和用户定义的其他对象重名

    • 必须不能是Oracle 的保留字

    CREATE TABLE 语句

    • 必须具备:

      • CREATE TABLE权限

      • 存储空间

    • 必须指定:

      • 表名
    • 列名, 数据类型, 尺寸

    数据类型

    image-20210608164939935

    使用子查询创建表

    • 使用 AS subquery 选项,将创建表和插入数据结合起来

    • 指定的列和子查询中的列要一一对应

      通过列名和默认值定义列

    create table emp1 as select * from employees;  --完全复制包括数据
    create table emp2 as select * from employees where 1=2;
    --创建的emp2是空表
    

    ALTER TABLE 语句

    使用 ALTER TABLE 语句可以:

    • 追加新的列

    • 修改现有的列

    • 为新追加的列定义默认值

    • 删除一个列

    • 重命名表的一个列名

    ALTER TABLE table
    ADD		   (column datatype [DEFAULT expr]
    		   [, column datatype]...);
    
    ALTER TABLE table
    MODIFY	   (column datatype [DEFAULT expr]
    		   [, column datatype]...);
    
    ALTER TABLE table
    DROP COLUMN  column_name;
    
    ALTER TABLE table_name 
    RENAME COLUMM old_column_name TO new_column_name
    

    删除表

    • 数据和结构都被删除

    • 所有正在运行的相关事务被提交

    • 所有相关索引被删除

    • DROP TABLE 语句不能回滚

    清空表

    • TRUNCATE TABLE 语句:
      • 删除表中所有的数据
      • 释放表的存储空间
    TRUNCATE TABLE detail_dept;
    Table truncated.
    
    TRUNCATE语句不能回滚
    可以使用 DELETE 语句删除数据,可以回滚
    对比:
      delete from emp2;
      select * from emp2;
      rollback;
      select * from emp2;
    

    改变对象的名称

    • 执行RENAME语句改变表, 视图, 序列, 或同义词的名称

    • •必须是对象的拥有者

    RENAME dept TO detail_dept;
    Table renamed.
    

    总结

    语句 描述
    CREATE TABLE 创建表
    ALTER TABLE 修改表结构
    DROP TABLE 删除表
    TRUNCATE TABLE 删除表中的所有数据,并释放存储空间
    RENAME TO 重命名表

    以上这些DDL的命令,操作外,皆不可回滚!

    努力学习java的Cherish
  • 相关阅读:
    为什么 PCB 生产时推荐出 Gerber 给工厂?
    Fedora Redhat Centos 有什么区别和关系?
    【KiCad】 如何给元件给元件的管脚加上划线?
    MCU ADC 进入 PD 模式后出现错误的值?
    FastAdmin 生产环境升级注意
    EMC EMI 自行评估记录
    如何让你的 KiCad 在缩放时不眩晕?
    KiCad 5.1.0 正式版终于发布
    一次单片机 SFR 页引发的“事故”
    java基础之集合
  • 原文地址:https://www.cnblogs.com/cherish-code/p/14863612.html
Copyright © 2011-2022 走看看