zoukankan      html  css  js  c++  java
  • Oracle对表的基本操作

    表名应该以字母开头,可以在表名中包含数字,下划线,#和$等。

    一、创建表:
    第一种:直接创建
    create table 表名
    (
    field1 type[(size)] [index1],
    field2 type[(size)] [index2],
    ......,
    [[multifieldindex],...]
    )

    第二种:从其他表中创建表
    create table 表名 as select语句.但是这个select语句如果涉及到long数据类型,就不行了。

    创建表时,把较小的不为空的字段放在前面。可以给字段加上约束条件。


    添加列     alter table 表名 add 列定义
    更改列     alter table 表名 modify (列名 新属性, ......);
    删除列     alter table 表名 drop column 列名s [cascade constraint]
                 alter table 表名 drop unused colunm
    未用列     alter table 表名 set unused column 列名 [cascade constraint]
    更改表名  rename 原来表名 to 新表名

    删除表     drop table 表名 [cascade constraints]     删除表后,表上的索引,触发器,权限,完整性约束等都会被删除。

    二、表的约束条件

    1. check:

    确保指定列中的值符合一定条件。check约束可以涉及该行的同属于check约束的其他数据列,但是不能涉及其他行或者其他表。单一的数据列可以有多个check保护,一个check约束可以保护多个数据列。可以在create table时创建check约束,也可以在alter table时修改表的约束。

    其语句格式为   constraint [约束名] check(codition). 约束名不是必须的,但是最好有一个名字。下面是一个check约束的例子:
    create table 表名
    (
    a1 int constraint chka1 check (a1 in (1,0)),
    a2 int
    )
    或者

    alter table 表名 add constraint(s) chka1 check(a1 in (1,0));
    alter table 表名 disable/enable/drop constraint(s) chka1;

    2. not null:

    它作用在单一数据列上,保证数据列必须要有数据值。当not null是在alter table时才添加上时,写法有所不同:
    create table 表名
    (

    a1 int not null,
    a2 int
    )
    alter table 表名 modify a2 not null

    3. unique:

    保证那些具有惟一性但又不是主键的一部分列的唯一性。可以保护多个列,唯一性约束与表一起创建,可以用alter table语句修改它:

    create table 表名
    ( a1 int unique,
    a2 int)
    alter table 表名 add constraints 约束名 unique(列名s)
    alter table 表名 disable /enable/ drop constraint(s) 约束名
    不能删除带有外键指向的表的唯一性约束,除非先禁用或者删除了外键。删除或者禁用唯一性约束通常会同时删除相关联的唯一索引,降低性能,要避免这种情况,可以在唯一性约束保护的数据列上先创建非唯一性索引,再添加唯一性约束。

    4. primary key:

    是表中的一列或者多列,决定表中每个行的唯一性,主键列必须是not null。如果是复合主键,要放入括号中。比如:
    create table 表名
    (
    stuid int,
    courseid int,
    primary key(列名1, 列名2, ......),
    score float
    )

    alter table 表名 add constraints 主键名 primary key (列名s)
    alter table 表名 drop/disable/enable primary key(或者用名字);   

    5. foreign key:

    下面是一个例子:
    create table a               create table b
    (                                   (
    a1 int primary key,       b1 int primary key,
    a2 int not null,              b2 int not null,
    a3 int unique                )
    )

    create table c
    (
    ca int,
    cb int,
    primary key(ca, cb),
    constraint 外键名1 foreignkey(本表列1) references 其他表(其他表中对应列),
    constraint 外键名2 foreignkey(本表列2) references 其他表(其他表中对应列)
    )
    alter table 表名 add constraints 外键名 foreign key(本表列名) references 其他表(其他表中对应列);
    alter table 表名 disable/enable/drop constraints 外键名

  • 相关阅读:
    HTML中超出的内容显示为省略号
    JS-复习整理
    js-实现鼠标滑轮滚动实现换页
    CSS 控制滚动条样式
    面向对象、继承、抽象方法重载知识点整理
    面向对象知识点
    复习HTML、CSS、JS练习题
    数据库---创建函数,存储函数,触发器实例
    ajax编写购物车遇到的问题
    ajax应用
  • 原文地址:https://www.cnblogs.com/yuepeng/p/1983945.html
Copyright © 2011-2022 走看看