一、创建表

主键约束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. 在.NET下如何预防XXE注入攻击

    接下来关于.NET中XXE注入的内容来自Dean Fleming单元测试的Web站点:https://github.com/deanf1/dotnet-security-unit-tests.该站点覆 ...

  2. VS2008 编译出错 fatal error C1859: unexpected precompiled header error, simply rerunning the compiler might fix this problem

    https://jingyan.baidu.com/article/d8072ac49ebd23ec95cefddd.html

  3. 基于git命令的代码统计方法

    基于git命令的代码统计方法 没什么好说的,基于git log命令,使用前提是安装了git ...... .统计所有人代码量 统计所有人代码增删量,拷贝如下命令,直接在git bash等终端,git项 ...

  4. 安全系列之CSRF初探

    前言 安全对于互联网的从业技术人员来讲,一直是接触或者实际使用掌握比较薄弱的一块,当然对于那些专项搞安全类的技术人员来讲除外. 接下来就来聊聊在互联网领域中常用的一些安全漏洞类型和一些防范手段,当然针 ...

  5. Nop--NopCommerce源码架构详解专题目录

    最近在研究外国优秀的ASP.NET mvc电子商务网站系统NopCommerce源码架构.这个系统无论是代码组织结构.思想及分层都值得我们学习.对于没有一定开发经验的人要完全搞懂这个源码还是有一定的难 ...

  6. 表表达式,Substring, CharIndex, 多行数据变同一行的用法

    参考: https://www.cnblogs.com/cnki/p/9561427.html https://www.cnblogs.com/johnwood/p/6386613.html 1.表1 ...

  7. C#学习笔记(36)——事件传值(非常牛逼!)

    说明(2018-4-9 23:01:20): 1. 这个真的想了很久,从晚上八点半写完上一篇博客,一直想到现在11点,以为没有办法实现了,结果看到一篇CSDN的文章,虽然没有看明白,但是看到一行代码后 ...

  8. 【css】垂直居中的几种写法

    结构 <div class="vam"> <div class="vam-body">垂直居中</div> </div ...

  9. 【分享】Vue 资源典藏(UI组件、开发框架、服务端、辅助工具、应用实例、Demo示例)

    Vue 资源典藏,包括:UI组件 开发框架 服务端 辅助工具 应用实例 Demo示例 element ★11612 - 饿了么出品的Vue2的web UI工具套件 Vux ★7503 - 基于Vue和 ...

  10. 使用 Postman 取得 Token 打另一隻 API

    使用 Postman 取得 Token 打另一隻 API Spring MVC token 统一校验和user 信息自动获取 使用token和SpringMVC来实现安全的RESTFul接口 spri ...