• 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
  • 相关阅读:
    k8s-pv
    k8s ---kubectl 部署时,pull image 报错,拉取不到镜像
    【knowledgebase】不要在一个很大的RDD上调用collect
    【knowledgebase】如何知道partition数
    Spark SQL External Data Sources JDBC官方实现写测试
    Spark SQL External Data Sources JDBC官方实现读测试
    Sqoop2入门之导入关系型数据库数据到HDFS上(sqoop2-1.99.4版本)
    Spark Streaming、Kafka结合Spark JDBC External DataSouces处理案例
    Spark Streaming、HDFS结合Spark JDBC External DataSouces处理案例
    Spark SQL External Data Sources JDBC简易实现
  • 原文地址:https://www.cnblogs.com/cherish-code/p/14863612.html
Copyright © 2020-2023  润新知