SQL基础(2)-约束
1. 添加主键约束
a.创建表时添加主键(默认系统命名主键)
create table pt_ticket_info(
id varchar2(50) primary key not null, --此处的not null可以省略
ticket_no varchar2(50)
);
b.创建表时添加主键(指定主键命名)
create table pt_ticket_info2(
id varchar2(50),
ticket_no varchar2(50),
constraint pk_ticket primary key(id)
);
c.创建表后添加主键
create table pk_ticket_info3(
id varchar2(50),
ticket_no varchar2(50)
);
alter table pk_ticket_info3 add constraint pk_ticket3 primary key(id);
2.添加外键
a.创建表时添加
create table smi_client_info(
id varchar2(30) primary key,
client_no varchar2(50),
client_name varchar2(100),
age varchar(1)
);
create table smi_ticket_info(
id varchar2(30) primary key,
ticket_no varchar2(50),
client_no varchar2(50),
constraint fk_client_no foreign key(client_no) references smi_client_info(client_no)
)
b.创建表后添加
alter table smi_ticket_info add constraint fk_client_no froeign key(client_no) references smi_client_info(client_no);
3.非空约束(只可以在创建表或修改列时在列上直接添加)
--a.创建表时
create table pnn_test(
id varchar2(30) primary key,
name varchar2(50) not null,
sex varchar(1)
);
--b.添加或修改列时
alter table pnn_test add (age height(3,2) not null);
alter table pnn_test modify(sex varchar2(1) not null);
4.唯一约束
1)有唯一性约束的列上允许空值;
2)唯一约束可以建立在一列上,也可以建立多个(最多32个)字段上;
3)若唯一约束由多列组成,则其中的部分列可以包含空值;
4)Oracle不允许在相同的列上既创建主键又创建唯一性约束;
5)Oracle自动为建立唯一性约束的字段创建索引。
--a.创建表时
create table unk_test(
id varchar2(30) primary key,
name varchar2(50) unique,
alias_name varchar2(50),
idno varchar2(20),
sex varchar(1)
);
--b.添加或修改列时
alter table unk_test add (stu_no varchar2(20) unique);
--已下语句无法删除stu_no列上的唯一性约束
--alter table unk_test modify (stu_no varchar2(20));
-- 为已有列添加唯一性约束
alter table unk_test add (account varchar2(50) );
alter table unk_test modify (account varchar2(50) unique);
--c.修改表
alter table unk_test add constraint uk_idno unique(idno);
--d.联合字段的唯一性约束
create table unk_union_test(
id varchar2(50) primary key,
name varchar2(50),
age number(3,2),
idno varchar2(30),
stu_no varchar2(30),
account varchar2(30),
constraint unuq_name_idno unique(name, idno)
);
alter table unk_union_test add constraint unuq_stuno_account unique(stu_no, account);
注:同一个列上可以同时创建单一字段的唯一性约束和联合字段的唯一性约束。
5.查询约束
select uc.constraint_name from user_constraint uc where uc.table_name ='unk_test';
6.禁用启用约束
alter table unk_test disable constraint sys_c0011232;
alter table unk_test enable constraint sys_c0011232;
7.删除约束
alter table unk_test drop constraint sys_c0011232;
SQL基础(2)-约束的更多相关文章
- SQL基础--> 约束(CONSTRAINT)
--============================= --SQL基础--> 约束(CONSTRAINT) --============================= 一.几类数据完 ...
- (大数据工程师学习路径)第四步 SQL基础课程----约束
一.简介 约束是一种限制,它通过对表的行或列的数据做出限制,来确保表的数据的完整性.唯一性.本节实验就在操作中熟悉MySQL中的几种约束. 二.内容 1.约束分类 听名字就知道,约束是一种限制,它通过 ...
- 四、SQL基础知识--约束和视图
--创建约束的方式 --一.在字段创建时将约束添加到字段之后 CREATE TABLE ZYJ_YUESHU( ZYJ_ID VARCHAR(20) NOT NULL PRIMARY KEY, --创 ...
- (2.10)Mysql之SQL基础——约束及主键重复处理
(2.10)Mysql之SQL基础——约束及主键重复处理 关键词:mysql约束,批量插入数据主键冲突 [1]查看索引: show index from table_name; [2]查看有约束的列: ...
- SQL基础随记1 SQL分类 常用函数 ALL ANY EXISTS IN 约束
SQL基础随记1 SQL分类 常用函数 ALL ANY EXISTS IN 约束 其实这里知识不难,只是好久不接触突然被问的话有时还真的一时答不上,自己写一遍胜过盲扫.当然,也有些常读常新的地方会 ...
- [SQL] SQL 基础知识梳理(一)- 数据库与 SQL
SQL 基础知识梳理(一)- 数据库与 SQL [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5902856.html 目录 What's 数据库 ...
- [SQL] SQL 基础知识梳理(四) - 数据更新
SQL 基础知识梳理(四) - 数据更新 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5929786.html 序 这是<SQL 基础知识梳理( ...
- Oracle SQL 基础学习
oracel sql 基础学习 CREATE TABLE USERINFO ( ID ,) PRIMARY KEY, USERNAME ), USERPWD ), EMAIL ), REDATE DA ...
- [SQL基础教程] 4-3 数据的更新(UPDATE)
[SQL基础教程] C4 数据更新 4-3 数据的更新(UPDATE) UPDATE UPDATE <表名> SET <列名> = <表达式>; UPDATE &l ...
随机推荐
- .NET中的枚举(Enum)
摘要:.NET中的枚举分为简单枚举和标志枚举,这次主要总结一下标志枚举适用条件,以及它的使用方法,并在文章的最后列举枚举使用的一些规范. 在刚接触.NET的枚举时,只用简单的枚举,对于标记枚举,只知道 ...
- sprint 1 总结
1.之前已经总结了一下了.. 提前完成了任务,明天还要继续测试一下,看有没有BUG.这次搭建,遇到好多问题,服务器经常不稳定崩毁,毕竟免费...不能完美..途中经常小细节没注意,导致错误连连,卡了好几 ...
- R语言简单聚类分析
#以R基础包自带的鸢尾花(Iris)数据进行聚类分析iris data <- iris[,:] #系统聚类法(层次聚类法) distance <- dist(data) #计算距离 iri ...
- "数学口袋精灵"bug(团队)
团队名:MY-HR 成员: 学号 博客园 团队贡献分 丘惠敏(组长) 201406114203 http://www.cnblogs.com/qiuhuimin/ 5 郭明茵 201406114204 ...
- DataGridView隐藏列用CSS实现
隐藏DataGridView某一列,用CSS控制 CSS Code: .hidden{ display:none;} c# Code: <asp:BoundField DataField=&qu ...
- C#中Guid类型值如何判断不是初始值!
示例: public Guid _CurrentApplayInfoID { get; set; } 如何判断不是初始值"00000000-0000-0000-0000-0000000000 ...
- java之Class类详解
测试中需要用到的代码 InterfaceA代码: package jichu; interface InterfaceA { String s1 = "this is s1 in Inter ...
- UltraEdit打开UTF-8文件后显示中文乱码的问题
左图是UE,默认的编码格式GBK.右图可以看出可修改成UTF-8编码.按钮位置是UE底部状态栏,图3显示怎么开关状态栏. >>>>>>>>>> ...
- java多线程生产者消费者
//Java Thread producer customer class ThreadTest { public static void main(String[] args) { Q q=new ...
- css百宝箱
关于css百宝箱? 在前端学习中,总会遇到零星的知识点,小技巧,这些知识点小到不至于用一片博客写出来,遇到时网上查询一下或许也能搞定,但不一定能记住,所以这篇博客就用来记录那些散落的知识点,积少成多, ...