zoukankan      html  css  js  c++  java
  • Oracle 创建表 Create Table...

    一、创建表

    主键约束primary key

       约束条件,唯一且非空,一个表中只能有一个主键;有多个字段联合作为主键时,合在一起唯一标识记录,叫做联合主键。

    外键约束 foreign key

        受另外一张表中的主键或唯一键的约束,只能够引用主键或唯一键的值,被引用的表,叫做 parent table(父表),引用方的表叫做child table(子表),要想创建子表,就要先创建父表,记录的插入先父表后子表,删除记录,要先删除子表记录,后删除父表记录,要修改记录,如果要修改父表的记录要保证没有被子表引用。

    非空约束 not null

        列级约束,在建表时,在数据类型的后面加上 not null ,也就是在插入时不允许插入空值。

    唯一约束 unique

        允许为空,要求插入的记录中的值是唯一的。

    默认值  default

        添加表记录时,列没有指定值,则取设置的默认值

    条件约束   check

        检查约束,可以按照指定条件,检查记录的插入。check中不能使用伪列,不能使用函数,不能引用其他字段。

    常用写法

    create table Student (

     stuid number(6) primary key,--主键

     sname varchar2(20) not null,--非空

     sex number(1),

     age number(3)  check(age>10),--指定条件

     birthday date,

     city varchar2(50) default '福建',--默认值

     email varchar2(25) unique,--唯一

     phone number(11),

     school number(2) references school(schoolid)--外键

     );

     带约束名

    create table Student (

     stuid number(6) constraint stu_pk primary key, --主键

     sname varchar2(20) constraint stu_name_not not null,--非空

     sex number(1),

     age number(3) constraint check_stu_age check (age>10),--指定条件

     birthday date,

     city varchar2(50) default '福建',--默认值

     email varchar2(25) constraint uqe_stu_email unique,--唯一

     phone number(11),

     school number(2) constraint stu_ref references school(schoolid)--外键

     );

    列模式

    create table Student (

     stuid number(6),

     sname varchar2(20)  constraint stu_name_not not null,

     sex number(1),

     age number(3),

     birthday date,

     city varchar2(50) default '福建',--默认值

     email varchar2(25),

     phone number(11),

     school number(2),

     constraint stu_pk primary key (stuid),--主键

     constraint stu_ref foreign  key (school) references school(schoolid),--外键

     constraint uqe_stu_email unique (email),--唯一

     constraint check_stu_age check (age>10)--指定条件

      );

    联合主键

    constraint stu_pk primary key(stuid,sname);

    联合外键,限字段是关联表的联合主键

    Constraint stu_ref foreign key(stuid,sname) references school(schoolid,sname)

    联合唯一值

    constraint  uqe_sname_phone unique (sname, phone)

    二、快速建表

    创建新表并复制旧表结构、数据

    create table student1 as select sname,city from student

    创建新表只复制旧表结构

    create table student1 as select * from student where 1=2;

    注.不继承表约束

  • 相关阅读:
    Java实现 蓝桥杯VIP 基础练习 回形取数
    Java实现 蓝桥杯VIP 基础练习 回形取数
    Java实现 蓝桥杯VIP 基础练习 回形取数
    Java实现 蓝桥杯VIP 基础练习 回形取数
    Java实现 蓝桥杯VIP 基础练习 报时助手
    Java实现 蓝桥杯VIP 基础练习 报时助手
    Java实现 蓝桥杯VIP 基础练习 报时助手
    Java实现 蓝桥杯VIP 基础练习 报时助手
    Java实现 蓝桥杯VIP 基础练习 报时助手
    block的是发送信号的线程,又不是处理槽函数的线程
  • 原文地址:https://www.cnblogs.com/walkwithmonth/p/6306003.html
Copyright © 2011-2022 走看看