SQL语言之定义约束

62 篇文章 1 订阅
订阅专栏

定义约束


一、数据库中的约束类型


在这里插入图片描述

非空约束(not null)
唯一性约束(unique)
主键约束(primary key)
外键约束(foreign key)
用户自定义约束(check)

定义约束的原则

1.在创建表的同时,或者在创建表之后都可以定义约束。
2.可以给约束其名字,但约束名不能相同,必须是唯一的。如果没有为约束起名 字,Oracle服务器将用默认格式SYS_Cn产生一个名字,这里的n是一个唯一 的整数,所以约束名是唯一的;


二、定义not null约束


在这里插入图片描述

创建表时定义not null约束;

创建表dept80,包括ID,名字,薪水,姓名与薪水列不可以为空,并给薪水的非	空约束自定义一个名字;
Create table dept80(id number,name varchar2(10) not null,salary number constraint dept80_dsn not null );

修改表定义not null约束
(以hr用户中的dept80表为例)

向dept80表中添加location_id列;
Alter table dept80 add(location_id number);

修改dept80表中location_id列的约束为非空约束,并为其定义名字;
Alter table dept80 modify(location_id constraint dept80_ln not null);

三、定义unique约束


在这里插入图片描述

创建表时定义unique

创建表dept90,包括ID,名字,将ID定义唯一约束,并自定义名字;
Create table dept90(id number constraint dept90_iduk unique,name varchar2(20));

修改表定义unique约束;
(以hr用户中的dept90表为例)

将dept90表中的名字列修改为唯一约束;
 Alter table dept90 modify(name unique);

四、定义primary key约束


在这里插入图片描述

创建表时定义primary key约束

创建dept70表,包括ID,并为ID定义主键约束,以及定义约束名字;
 Create table dept70(id number constraint dept70_id_pk primary key);

修改表定义primary key约束

创建dept60表,包含ID;
 Create table dept60(id number);
 
将dept60表中的ID列修改为主键约束,并为其自定义名字;
Alter table dept60 modify(id constraint dept60_id_pk primary key);


**创建联合主键**
创建dept50表,包括ID,名字,将为ID与名字列都定义主键约束,并为其自定义	名字;
Create table dept50(id number , name varchar2(20) , constraint dept50_pk primary 	key(id,name));

五、定义foreign key约束(特殊,不支持在后面直接添加定义约束)


在这里插入图片描述

创建表时定义foreign key

创建dept40表,包括ID、d_id,为d_id列定义外键约束并自定义名字(参照dept60	表中的ID列);
 Create table dept40(id number , d_id number , constraint dept40_fk foreign key(d_id) 	references dept60(id) );

修改表定义foreign key

例
向dept50表中添加d_id列;
 Alter table dept50 add(d_id number);
将dept50中的d_id列定义外键约束(参照dept60表中的ID列),并自定义名字;
Alter table dept50 add constraint dept50_fk foreign key(d_id) references dept60(id);

六、定义check约束


在这里插入图片描述

创建表时定义check约束

创建dept30表,包括ID、薪水,薪水不能小于1000,并自定义名字;
 Create table dept30(id number , salary number(8,2) , constraint dept30_ck check(salary > 	1000));

修改表定义check约束

向dept50表中添加薪水列;
 Alter table dept50 add(salary number(8,2));
修改dept50表中的薪水不能小于1000,并自定义名字;
 Alter table dept50 add constraint dept50_ck check(salary > 1000); 

七、 禁用与启用约束


查看约束
在这里插入图片描述

(以hr用户中的dept50表为例)

查看dept50表下的所有约束类型,约束名字;
Select constraint_name,constraint_type,search_condition from user_constraints 	where lower(table_name) = ‘dept50’;

禁用约束
在这里插入图片描述

(以hr用户中的dept50表为例)

	禁用dept50下的自定义约束;
	 Alter table dept50 disable constraint dept50_ck;
	级联禁用
	禁用dept60表中的主键约束;
	 Alter table dept60 disable constraint dept60_id_pk cascade;

启用约束
在这里插入图片描述

(以hr用户中的dept50表为例)

 启用dept50下的自定义约束;
  Alter table dept50 enable constraint dept50_ck;
mysql创建自定义约束_MySQL常见建表选项及约束
weixin_35831315的博客
01-21 2549
阅读目录---MySQL常见的建表选项及约束:2、指定表选项:engine、auto_increment、comment2、unique:唯一约束5、check:检查---enum、set一、CREATE TABLE 选项1、在定义列的时候,指定列选项1)DEFAULT :定义列的默认值当插入一个新行到表中并且没有给该列明确赋值时,如果定义了列的默认值,将自动得到默认值 ;如果没有,则为null。...
SQL语言艺术
05-15
约束应明确声明 过于灵活的危险性 历史数据的难题 设计与性能 处理流程 数据集中化(Centralizing) 系统复杂性 小结 2 发动战争:高效访问数据库 查询的识别 保持数据库连接稳定 战略优先于战术 先定义问题,再解决...
【0049】SQL数据定义语言--表约束
PMAPI
06-24 296
约束SQL 约束用于规定表中的数据规则。 如果存在违反约束的数据行为,行为会被约束终止。 约束可以在创建表时规定(通过 CREATE TABLE 语句),或者在表创建之后规定(通过 ALTER TABLE 语句) SQL CREATE TABLE + CONSTRAINT 语法 CREATE TABLE table_name ( column_name
SQL常用的约束语句
最新发布
m0_74320761的博客
03-22 710
1.约束类型1.1 主键约束(唯一且非空,一个表只能有一个)1.2 外键约束(多表关联)1.3.唯一约束 (唯一可以有一个空,可以有多个唯一约束)1.4 检查约束(限制字段填写的内容,可以写正则表达式)1.5 默认约束(给字段添加默认值)2.约束创建2.1.创建表的时候同步创建约束2.2.创建表结束以后添加约束3.创建表的时候同步创建约束3.1. 主键约束创建语法Create table 表名称(3.2.默认约束创建语法Create table 表名称(
创建SQL数据库表以及添加约束
热门推荐
kik66的博客
11-15 1万+
创建表 格式: 创建表 格式: create table 表名 ( 字段名1 数据类型 约束, 字段名2 数据类型 约束, ...... ) 主键约束 每张表中只能建立一个主键约束,主键字段中的记录在表中具有唯一性,数据库查询到记录后不再使用遍历查询的方式继续查询数据。定义主键约束的字段,会将所有记录写入内存中,建立主键索引。记录不能为空。 primary key create table 表名 ( id int primary key , 建立主键 name char(20) )
oracle Constraint
08-23 557
<br />9.1约束简介<br />约束用于确保数据库数据满足特定的商业逻辑或者企业规则,如果定义约束,并且数据不符<br /><br />合约束,那么DML操作(INSERT、UPDATE、DELETE)将不能成功执行。约束包括NOT NULL、UNIQUE、PRIMARY KEY、FOREING KEY 以及CHECK等五种类型<br />9.2定义约束<br />列级约束:<br />column [CONSTRAINT constraint_name] constraint_type<br />
T-SQL语句添加约束
zark721的博客
03-10 8923
语法: ALTER TABLE 表名 ADD CONSTRAINT 约束约束类型 具体的约束声明 约束名的取名规则推荐采用:约束类型_约束列 如:主键(Primary Key)约束:PK_UserId         唯一(Unique key)约束: UQ_UserCardId         默认(Default Key)约束 DF_UserPasswd
SQL-Server笔试题含答案
03-05
本资源是SQL Server笔试题含答案,涵盖了T-SQL语言相关的知识点。总共包括13道笔试题,涵盖了SQL Server中的多对多映射关系、事务、视图、局部变量、存储过程、索引等知识点。 1. SQL Server中,下面的映射关系属于...
SQL学习教程-约束,索引,视图,函数
08-14
介绍就不用说了,跟上次那个是一起的。 这是约束,索引,函数,视图部分
精通SQL 结构化查询语言详解
12-01
《精通SQ:结构化查询语言详解》全面讲解SQL语言,提供317个典型应用,读者可以随查随用,针对SQL Server和Oracle进行讲解,很有代表性。 全书共包括大小实例317个,突出了速学速查的特色。《精通SQ:结构化查询语言...
DM8_SQL语言使用手册.pdf
08-05
第 1 章 结构化查询语言 DM_SQL 简介 ....................................................................1 1.1 DM_SQL 语言的特点 ............................................................................
SQL约束简短介绍
03-18
很简短(6张PPT),只是简单介绍了下约束,适合初学者。
sql server期末复习
06-14
19. SQL 语言SQL 语言主要由 DDL、DML 和 DCL 组成,分别指数据定义语言、数据操作语言和数据控制语言。 20. 索引类型:索引有三类:聚集索引、非聚集索引和唯一索引。 21. 数据库文件类型:数据库有两种类型的...
SqlServer从入门到精通.pdf
04-13
本教程旨在为读者提供从零基础到高级进阶的SqlServer学习路径,涵盖了环境安装、用户权限、基本操作、进阶查询、视图、同义词、数据类型、T-SQL编程、存储过程、函数、触发器、自定义类型、序列、约束、索引、游标、...
SQL 数据库定义与操作.doc
05-21
SQL Server 2008 中,数据库定义可以通过 SQL 语言来实现。例如,创建一个数据库的语句为:CREATE DATABASE S+学号。创建一个表的语句为:CREATE TABLE Student(学号 CHAR(10)NOT NULL PRIMARY KEY,姓名 ...
精通SQL--结构化查询语言详解
12-11
1.5 sql语言基础 11 1.5.1 sql的历史 11 1.5.2 sql语言的组成 12 1.5.3 sql语句的结构 13 .1.5.4 sql的优点 13 1.5.5 sql的执行 14 1.6 sql环境 15 1.6.1 环境 15 1.6.2 sql的层次结构 15 1.6.3 客户程序...
用户定义完整性约束
凡陌煕的博客
03-31 9771
2.用户定义完整性约束: 用户定义的完整性规则,包括非空约束、自增约束、默认值约束等、check约束以及触发器约束,本次主要学习非空约束、自增约束、默认值约束,check约束以及触发器约束在这里暂时不做介绍。 非空约束(not null): 非空约束是指字段的值不能为null,null值就是没有值或值空缺,不是空串(‘ ’), 对于使用了非空约束的字段,如果用户在添加数据时没有给其指定值,数据库...
SQL增加自定义函数约束
pengdayong77的博客
08-19 1716
首先新建函数 --检查输入到表goodsSaleArea的值是否符合要求 create function f_chk_goodsSaleArea(@areaID nchar(10),@goodsCode nchar(10)) returns bit as begin declare @saleAreaid nchar(10),@effect int; select @saleArea
关于SQL设置约束条件中的约束名 ?
jian68806的专栏
09-06 1972
例如: create table publishers (pub_id char (4) null constraint upkcl_publind primary key clustered (在这条约束语句中的约束名是根据什么条件命名?) 请问在约束条件中的约束名一般应该依照什么规则来命名?...
通过SQL语言建立用户自定义完整性:非空约束、唯一性约束
05-28
SQL 提供了多种建立用户自定义完整性的约束方式,包括非空约束和唯一性约束。下面分别介绍这两种约束的建立方法。 1. 非空约束SQL 中,可以通过在列定义时使用 NOT NULL 关键字来指定非空约束。例如,创建一个...

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • java.lang.NoClassDefFoundError: org/springframework/context/ApplicationContext崩溃解决 14217
  • excel表格中出现乱码怎么办? 5521
  • Mysql特点 5413
  • MySQL中的数据分组 4515
  • SQL语言之定义约束 4207

分类专栏

  • JAVA!我跟你拼了…… 25篇
  • 编程世界之我是主宰 4篇
  • 来来来,小bug;我有杀虫剂哦! 3篇
  • 面试的那点事 2篇
  • 网页你好,我是小白; 6篇
  • OFFICE你搞事情是吧! 1篇
  • 数据库0起步 62篇

最新评论

  • 小小聊天室,慢慢的回忆啊!(TCP 通信实现)

    WagpegJY: 这个是源码吗?

  • java.lang.NoClassDefFoundError: org/springframework/context/ApplicationContext崩溃解决

    常 乐-: 复制 Spring 配置文件的时候选择Copy files

  • java.lang.NoClassDefFoundError: org/springframework/context/ApplicationContext崩溃解决

    常 乐-: 创建JavaProject的时候 Create module-info.java file 不要勾选

  • MySQL中的用户管理

    m0_60008107: 四。权限列表 报语法错误表情包

  • SpringMVC环境配置全过程IntelliJ IDEA 2020.3.1

    菜菜o(o・`з・´o)ノ!!!: 你这个怎么检查是否搭建成功啊?

大家在看

  • 去年裁员75%,这样的公司还有发展机遇吗?
  • 组态软件之万维组态介绍(web组态、html组态、vue2/vue3组态、组态软件、组态编辑器) 263
  • Python进阶二: NumPy基础:数组和矢量计算 171
  • DHCP(Cisco) 1031
  • 一款白加黑银狐窃密木马变种分析

最新文章

  • 该懂的反射小操作
  • java的准动态(反射)
  • 计划没有变化快
2021年11篇
2020年93篇

目录

目录

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

聚圣源纹身工作室起名生辰八字婴儿起名打分测试打分教育机构起什么名字好打牌群起个霸气名字惊异的近义词流金岁月全集40集食品店铺起名国庆节生的孩子起名字男孩小孩起什么名字有意义网球频道我的傻白甜老婆起名字的郭姓给错题本起个名字仙剑3修改器1518起名网免费取名易经的起名公司牛奶品牌起名求取名起名大全大师入木三分是什么意思要睿字起名起名字测试打分免费的起四个字的名字好吗验房师考试亲爱的爸妈演员表四级多少分才算过了?暗影火炬城家好月圆插曲qq等级最高的人男宝宝出生宝宝起名新公务员法淀粉肠小王子日销售额涨超10倍罗斯否认插足凯特王妃婚姻让美丽中国“从细节出发”清明节放假3天调休1天男孩疑遭霸凌 家长讨说法被踢出群国产伟哥去年销售近13亿网友建议重庆地铁不准乘客携带菜筐雅江山火三名扑火人员牺牲系谣言代拍被何赛飞拿着魔杖追着打月嫂回应掌掴婴儿是在赶虫子山西高速一大巴发生事故 已致13死高中生被打伤下体休学 邯郸通报李梦为奥运任务婉拒WNBA邀请19岁小伙救下5人后溺亡 多方发声王树国3次鞠躬告别西交大师生单亲妈妈陷入热恋 14岁儿子报警315晚会后胖东来又人满为患了倪萍分享减重40斤方法王楚钦登顶三项第一今日春分两大学生合买彩票中奖一人不认账张家界的山上“长”满了韩国人?周杰伦一审败诉网易房客欠租失踪 房东直发愁男子持台球杆殴打2名女店员被抓男子被猫抓伤后确诊“猫抓病”“重生之我在北大当嫡校长”槽头肉企业被曝光前生意红火男孩8年未见母亲被告知被遗忘恒大被罚41.75亿到底怎么缴网友洛杉矶偶遇贾玲杨倩无缘巴黎奥运张立群任西安交通大学校长黑马情侣提车了西双版纳热带植物园回应蜉蝣大爆发妈妈回应孩子在校撞护栏坠楼考生莫言也上北大硕士复试名单了韩国首次吊销离岗医生执照奥巴马现身唐宁街 黑色着装引猜测沈阳一轿车冲入人行道致3死2伤阿根廷将发行1万与2万面值的纸币外国人感慨凌晨的中国很安全男子被流浪猫绊倒 投喂者赔24万手机成瘾是影响睡眠质量重要因素春分“立蛋”成功率更高?胖东来员工每周单休无小长假“开封王婆”爆火:促成四五十对专家建议不必谈骨泥色变浙江一高校内汽车冲撞行人 多人受伤许家印被限制高消费

聚圣源 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化