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;
注.不继承表约束
Oracle 创建表 Create Table...的更多相关文章
- 用复制方式创建表 Create Table tbname as select * from user.tab where ...
用复制方式创建表 Create Table tbname as select * from user.tab where ...
- 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 ...
- Oracle创建表语句(Create table)语法详解及示例
创建表(Create table)语法详解1. ORACLE常用的字段类型ORACLE常用的字段类型有VARCHAR2 (size) 可变长度的字符串, 必须规定长度CHAR(size) 固定长度的字 ...
- Oracle创建表语句(Create table)语法详解及示例、、 C# 调用Oracle 存储过程返回数据集 实例
Oracle创建表语句(Create table)语法详解及示例 2010-06-28 13:59:13| 分类: Oracle PL/SQL|字号 订阅 创建表(Create table)语法详解 ...
- oracle创建表相关
--创建表 create table person( id number primary key, name ), birth date ); --创建序列 create sequence perso ...
- oracle创建表空间,表及用户
oracle要创建表要首先创建表空间,当然默认是有表空间的.而mysql创建表时,会自动创建表空间,myisam会自动建三个文 件.MYD,.MYI,.frm.innodb呢,如果没有配置独立表空间的 ...
- navicat for oracle 创建表ID字段的自动递增
Oracle数据库创建表ID字段的自动递增 将表t_uaer的字段ID设置为自增:(用序列sequence的方法来实现) ----创建表 Create table t_user( Id numbe ...
- Oracle创建表、索引、主键、字段描述
-- 创建表 create table SX04_LBALANCE ( YEAR VARCHAR2(10) not null, PROGRAMNO VARCHAR2(40) not null, FDA ...
- Oracle创建表、修改字段类型
1.创建表 1.创建表 create table SCM_PER( --SCM_PER表名 ID ) primary key,--主键ID USERID ),--用户ID --Permission v ...
随机推荐
- Java中Lambda表达式的使用(转)
https://www.cnblogs.com/franson-2016/p/5593080.html 简介(译者注:虽然看着很先进,其实Lambda表达式的本质只是一个"语法糖" ...
- iOS实现 webView loadHTMLString加载外部css、js样式
记录一下. webview(或wk)用 loadHTMLString加载内容时 ,如果只是单纯的html内容,样式等都写在内部,直接设置baseURL为nil即可. 不过当html里包含外部样式或调用 ...
- C# 中字符串转换成日期
我们在处理字符串日期格式常用DateTime.Pares() 但是这个形式的转换是相当有限的,有些C#是会不懂你写入的日期格式的如20031231.那么类似 "20100101" ...
- 【20180111】【物流FM专访】贝业新兄弟李济宏:我们是如何做到大件家居B2C物流第一的?
在2017年的双11中,贝业新兄弟承接了日日顺家装和卫浴行业的仓储和配送,上海仓和武汉仓双十一期间及时出库率为100%,KPI位列第一:此外,贝业新兄弟还是科勒18年以来中国区唯一的物流服务商以及宜家 ...
- SNF开发平台WinForm-EasyQuery统计分析-效果-非常牛逼的报表查询工具
无论是单轴曲线 .双轴曲线 .柱形图 .饼图 .雷达图 .仪表图.图表引擎全能为您轻松实现.您只需要 3 步操作(数据源准备,设计图表,挂接到您想要展示的位置)便可完成 BI 的设计. 无论是普通报表 ...
- CZT变换(chirp z-transform)
作者:桂. 时间:2018-05-20 12:04:24 链接:http://www.cnblogs.com/xingshansi/p/9063131.html 前言 相比DFT,CZT是完成频谱细 ...
- Spring Framework 5.x 学习专栏
Spring Framework 5.0 入门篇 Spring构建REST Web Service 消费一个RESTful Web Service 事务管理 Spring使用JDBC访问关系数据 任务 ...
- Python时间模块
1 time 模块: 读取系统时钟当前时间: 在 time 模块中,time.time()和 time.sleep()函数是最有用的模块. 1.1 time.time() time.time()函数返 ...
- 使用DNSPod解析Freenom域名
注册Freenom域名 Freenom官网:http://www.freenom.com Freenom提供的顶级域名包括:tk,ml,ga,cf,gq 申请流程: 注册用户后登陆,然后查询并选择一个 ...
- Git分支操作——查看、新建、删除、提交、合并
查看分支 1 查看本地分支 $ git branch 2 查看远程分支 $ git branch -r 创建分支 1 创建本地分支 $ git branch branchName 2 切换 ...