zoukankan      html  css  js  c++  java
  • ORACLE学习-6.创建和管理表

    创建表和管理表包括描述主要的数据库对象、创建表、描述各种数据库类型、修改表的定义、删除、重命名和清空表。常见的数据库对象有:

    表:基本的数据存储集合,由行和列组成;

    视图:从表中抽取的逻辑上相关的数据集合;

    序列:提供有规律的数值;

    索引:提高查询的效率;

    同义词:给对象起别名。

    1.创建表 create table 语句

    在创建表的过程中要注意字段及其表名的命名,还要注意字段的数据类型。关于命名规则和字段类型,参考附件一种的内容。

    1.1常规的创建表

    语法:

    CREATE TABLE [schema.]table
            (column datatype [DEFAULT expr][, ...]);

    必须具备create table权限和存储空间;

    必须指定表名、列名、数据类型和尺寸;

    CREATE TABLE dept    (deptno     NUMBER(2),
            dname     VARCHAR2(14),
            loc     VARCHAR2(13));

    1.2使用子查询创建表

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

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

    通过列名和默认值定义列。

    CREATE TABLE table
            [(column, column...)]
    AS subquery;

    实例:

    --复制表
    create table emp1 as select * from employees;
    
    --创建的emp2是空表。
    create table emp2 as select * from employees where 1=2;

    2.修改表 alter table 语句

    使用alter table 语句可以追加新的列,修改现有的列,为新追加的列定义默认值删除一个列,重命名表中的一个列。

    2.1 追加:

    ALTER TABLE table
    ADD           (column datatype [DEFAULT expr]
               [, column datatype]...);
    --给dept80表追加一个新列job_id
    ALTER TABLE dept80
    ADD           (job_id VARCHAR2(9));

    2.2 修改:

     ALTER TABLE table
    MODIFY       (column datatype [DEFAULT expr]
               [, column datatype]...);
    --修改last_name字段的数据类型
    ALTER TABLE    dept80
    MODIFY        (last_name VARCHAR2(30));
    --修改salary字段的尺寸和默认值
    ALTER TABLE    dept80
    MODIFY        (salary number(9,2) default 1000);

    2.3 删除:

     ALTER TABLE table
    DROP COLUMN  column_name;
    --删除dept80表中不在需要的job_id列
    ALTER TABLE  dept80
    DROP COLUMN  job_id; 

    2.4 重命名:

    ALTER TABLE table_name RENAME COLUMM old_column_name 
    TO new_column_name
    --将dept80表中的job_id字段重命名为id字段
    ALTER TABLE  dept80
    RENAME COLUMN  job_id TO id; 

    3. 删除表

    删除表的时候数据和结构都会删除,所有正在运行的相关事务会被提交,表的所有索引会删除,drop语句不能回滚。

    --删除表dept80
    drop table dept80;

    4.清空表

    truncate语句不能回滚,delete语句可以回滚。

    --清空表
    truncate table table_name;

    附件一:

    1.表名和列名的命名规则:
    必须以字母开头
    必须在 1–30 个字符之间
    必须只能包含 A–Z, a–z, 0–9, _, $, 和 #
    必须不能和用户定义的其他对象重名
    必须不能是Oracle 的保留字

    2.数据类型

    数据类型 描述
     varchar2(size)  可变长度字符串
     char(size)  定长字符数据
    number(m,n)  可变长数值数据 
     date 日期型数据 
    long  可变长字符数据,最大长度可达2G 
     clob 字符数据,最大长度可达到4G 
     raw(long raw)  原始的二进制数据
     blob  二进制数据,最大可达到4G
     bfile  存储外部文件的二进制数据,最大可达到4G
     rowid  行地址

    参考资料:尚硅谷

  • 相关阅读:
    poj 1392 Ouroboros Snake
    poj 1780 Code
    poj 2513 Colored Sticks
    ZOJ 1455 Schedule Problem(差分约束系统)
    poj 3169 Layout (差分约束)
    ZOJ1260/POJ1364国王(King)
    poj 1201/zoj 1508 intervals 差分约束系统
    zoj 2770 Burn the Linked Camp (差分约束系统)
    构造函数和析构函数
    PHP面向对象——静态属性和静态方法
  • 原文地址:https://www.cnblogs.com/hjwq/p/9522453.html
Copyright © 2011-2022 走看看