一、创建表

主键约束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;

注.不继承表约束

Oracle 创建表 Create Table...的更多相关文章

  1. 用复制方式创建表 Create Table tbname as select * from user.tab where ...

    用复制方式创建表 Create Table tbname as select * from user.tab where ...

  2. mysql 创建表 create table详解

      1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 ...

  3. Oracle创建表语句(Create table)语法详解及示例

    创建表(Create table)语法详解1. ORACLE常用的字段类型ORACLE常用的字段类型有VARCHAR2 (size) 可变长度的字符串, 必须规定长度CHAR(size) 固定长度的字 ...

  4. Oracle创建表语句(Create table)语法详解及示例、、 C# 调用Oracle 存储过程返回数据集 实例

    Oracle创建表语句(Create table)语法详解及示例 2010-06-28 13:59:13|  分类: Oracle PL/SQL|字号 订阅 创建表(Create table)语法详解 ...

  5. oracle创建表相关

    --创建表 create table person( id number primary key, name ), birth date ); --创建序列 create sequence perso ...

  6. oracle创建表空间,表及用户

    oracle要创建表要首先创建表空间,当然默认是有表空间的.而mysql创建表时,会自动创建表空间,myisam会自动建三个文 件.MYD,.MYI,.frm.innodb呢,如果没有配置独立表空间的 ...

  7. navicat for oracle 创建表ID字段的自动递增

    Oracle数据库创建表ID字段的自动递增   将表t_uaer的字段ID设置为自增:(用序列sequence的方法来实现) ----创建表 Create table t_user( Id numbe ...

  8. Oracle创建表、索引、主键、字段描述

    -- 创建表 create table SX04_LBALANCE ( YEAR VARCHAR2(10) not null, PROGRAMNO VARCHAR2(40) not null, FDA ...

  9. Oracle创建表、修改字段类型

    1.创建表 1.创建表 create table SCM_PER( --SCM_PER表名 ID ) primary key,--主键ID USERID ),--用户ID --Permission v ...

随机推荐

  1. Huawei® ENSP & VRP CheatSheet

    #################### 系统命令 #################### system-view sysname display current-configuration und ...

  2. ABAP表生成Java实体Bean

    项目中需要将HR模块中的表数据同步到Java系统中,向外围系统提供分发与查询服务,涉及到的表有两百多张,字段好几千上万个,如果手工一张张这些ABAP表在Java系统数据库中创建一遍的话,工作量将非常大 ...

  3. Scala详解

    1       快速入门... 4 1.1             分号... 4 1.2             常变量声明... 4 1.2.1         val常量... 4 1.2.2  ...

  4. 前端后台以及游戏中使用Google Protocol Buffer详解

    前端后台以及游戏中使用Google Protocol Buffer详解 0.什么是protoBuf protoBuf是一种灵活高效的独立于语言平台的结构化数据表示方法,与XML相比,protoBuf更 ...

  5. Window下使用Charles对手机的Https请求进行抓包

    https://blog.csdn.net/zhaoerduo/article/details/52128607

  6. 【一步步学OpenGL 20】 -《点光源》

    教程 20 点光源 原文: http://ogldev.atspace.co.uk/www/tutorial20/tutorial20.html CSDN完整版专栏: http://blog.csdn ...

  7. SQL Server 性能优化实战系列(一)

    数据库服务器主要用于存储.查询.检索企业内部的信息,因此需要搭配专用的数据库系统,对服务器的兼容性.可靠性和稳定性等方面都有很高的要求.        下面是进行笼统的技术点说明,为的是让大家有一个整 ...

  8. 整体C#与Sql培训内容及结构

    图如果看不清可以右键存图片到本地

  9. 2D空间的OBB碰撞实现

    OBB全称Oriented bounding box,方向包围盒算法.其表现效果和Unity的BoxCollider并无二致.由于3D空间的OBB需要多考虑一些情况 这里仅关注2D空间下的OBB. 实 ...

  10. 【CFD之道】2018年原创文章汇总

    以下是公众号CFD之道2018年的全部原创文章,共计210篇. 1 Fluent验证案例[60篇] Fluent验证案例02:通过均匀热通量管道层流流动 Fluent验证案例03:管道中湍流流动压降计 ...