首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

day05_MySQL学习笔记_02

主键用于唯一地标识每一条记录,可以定义一列多列为主键。      特点:主键数据唯一,且不能为null。   ...但是理论不能有多个null。因为多个null不也是数据相同了吗!         ...key,              stuname VARCHAR(50) not null       );       第一种添加约束方式:在创建表格时候同时添加约束。       ...VARCHAR(50) not null       );       第一种添加约束方式:在创建表格时候同时添加约束。...表表示所有行所有列一张完整,这里可以把dept替换成所有行,只有dnameloc列,这需要子查询。

2.1K20

MySQL从删库到跑路_高级(一)——数据完整性

B、域完整性:限制类型(数据类型),格式(通过检查约束规则),可能值范围(通过约束,检查约束,默认值定义,非空约束规则)。...C、引用完整性:在删除输入记录时,引用完整性保持之间已定义关系。引用完整性确保键值在所有中一致,不能引用不存在值.如果一个。...声明包括三个部分: A、哪个列列组合是 B、指定参照C、参照动作[cascade(级联操作),restrict(拒绝操作),set null(设为空),no action,set...如果约束指定了参照动作,主表记录做修改,删除,从引用列会做相应修改,不修改,拒绝修改设置为默认值。 引用列名必须是主键,且在删除引用时必须删除引用关系或者删除当前。...,将子表匹配记录列设为null ,要注意子表不能为not null。

1.9K20
您找到你想要的搜索结果了吗?
是的
没有找到

MySQL操作之数据查询语言:(DQL)(四-2)(多表查询)

主表主键形成主外关系 从值是对主表主键引用。...从类型,必须与主表主键类型一致。 建立必须是InnDB型,不能是临时键名不能用引号。FK_ID错误。应为FK_ID。、 添加数据时:从,只能添加主表主键中存在数据。...ADD CONSTRAINT FK_ID FOREIGN KEY (gid) REFERENCES grade (id); 1.2 约束 建立约束是为了保证数据完整性一致性,但是如果主表中数据被删除修改...ACTION 不进行任何操作 RESTRICT 拒绝主键删除修改关联列。...1、创建中间,给中间添加两个约束 2、创建、添加数据 订单订单项主外关系 alter table `orderitem` add constraint orderitem_orders_fk

24730

Python 高级笔记第二部分:数据库概述MySQL数据操作

数据库是在数据库管理系统管理控制下,在一定介质数据集合。 数据库管理系统 :管理数据库软件,用于建立维护数据库。...必须要指定存储大小 varchar(50) enum用来存储给出多个值中一个值,即单选,enum(‘A’,‘B’,‘C’) set用来存储给出多个值中一个多个值,即多选,set(‘A’,‘B’,...,所以没有办法用第一种方法 约束关联关系 ⭐️约束:foreign key 建立之间某种约束关系,由于这种关系存在,能够让之间数据,更加完整,关连性更强,为了具体说明创建如下部门人员...注:约束是一种限制,它通过对表数据做出限制,来确保数据完整性、关联性 约束分主表:若同一个数据库中,B与A主键相对应,则A为主表,B为从。...如果多个存在一定关联关系,可以多表在一起进行查询操作,其实关联整理与约束之间并没有必然联系,但是基于约束设计具有关联性往往会更多使用关联查询查找数据。

1.7K20

数据库作用,以及主键区别

属性当然是可以去掉,如果你不想再用这种约束,对编程当然不会有什么影响,相应录入数据时候就不对录入数据进行“参照完整性”检查了。       ...例如有两个      A(a,b)   :a为主键,b(来自于B.b)      B(b,c,d)   :b为主键       如果我把字段b属性去掉,对编程没什么影响。  ...当然,文档里可能有,但是也可能不全,但是就非常明显直观。      3、既然我们可以用触发器程序完成这个工作(指参照完整性约束),DBMS已经提供了手段,为什么我们要自己去做?...身份证号是唯一能确定你这个人,其他都可能有重复,所以,身份证号是主键。 用于与另一张关联。是能确定另一张表记录字段,用于保持数据一致性。...二、主键、索引区别 定义: 主键--唯一标识一条记录,不能有重复,不允许为空 --是另一主键, 可以有重复, 可以是空值 索引--该字段没有重复值,但可以有一个空值

5.7K21

MySQL 数据类型属性 约束 三大范式

MySQL 数据类型属性 约束 三大范式 数据 是数据库基本组成元素,以记录行字段列组成二维结构用于存储数据。...mysql约束主要包括主键约束约束、唯一约束、非空约束、默认值约束。 1、主键约束 (primary key) 唯一标识一行作为一个可以被有效引用对象。...注:主键约束字段不能为空 2、约束(foreign key) 约束保证了数据库中各个数据中数据一致性正确性。...简单讲就是 a 一个字段 引用 b主键字段 则引用该数据中这个字段字段组合就称为。 3、唯一约束(unique) 一个数据中只能有一个主键。..."A–>B–>C"决定关系,则C传递函数依赖于A。

1.2K20

MySQL笔记

,是位于用户与操作系统之间数据管理软件,用于建立,使用维护数据库。...alter table 名 modify 字段 类型 auto_increment 约束:foreign key 在创建时,添加 create table 名( 列名...(2NF):在1NF基础,非码属性必须完全依赖于码(在1NF基础消除非主属性对主码部分函数依赖) 函数依赖:A--->B,如果通过A属性(属性组)值,可以确定唯一B属性值。...传递函数依赖:A--->BB--->C,如果通过A属性(属性组)值,可以确定唯一B属性值,在通过B属性(属性组)值可以确定唯一C属性值,则称C传递函数依赖于A 码:如果在一张中,一个属性属性组...要么同时成功,要么同时失败 持久性:当事务提交回滚后,数据库会持久化保存数据 隔离性:多个事务之间。

97610

《深入浅出SQL》问答录

不能单纯使用另一张,称之为,而不加上约束吗? A:其实可以,创建成约束后,就只能插入已经存在于父值,有助于加强两张连接。 加强连接?是什么意思?...A:约束能确保引用完整性(换句话说,如果某行有约束能确保该行通过与另一张某一行一一对应)。...如果我们试着删除主键行或者是改变主键值,而这个主键是其他约束时,你就会收到错误警告。 所以上面说那种,我就不能删除了是吗? A:还是可以,先移除外行即可。...约束 创建一张并加上可作为列虽然很简单,除非你利用CREATEALTER语句来指定,否则都不算是真的。创建在结构内被称为约束。...插入值必须已经存在与父来源中,这是引用完整性。 创建作为约束提供了明确优势,如果违反了规则,约束会阻止我们破坏不一定要是父主键,但是要具有唯一性。 ?

2.9K50

java核心技术第二篇之数据库SQL语法

(前提是:字段允许NULL值) 2.修改数据:update(在有不能查询同时,再进行修改) 格式:update 名 set 字段名1 = 值1 , 字段名2 = 值2 , .... ,...姓名 性别 年龄 省 市 区 街道门牌 张三 男 22 北京 北京 顺义 99号 李四 女 23 河北 廊坊 安次 88号 10.约束: 1).作用:设置在"从"字段,可以强制字段值必须参考主表中主键字段值...: 保证数据完整性(在有不能查询同时,再进行修改中数据) 如何删除外?...b, 说出多对多应用场景及其建原则 1).应用场景:学生课程、用户和角色 2).需要创建第三张,中间中至少两个字段,这两个字段分别作为键指向各自一方主键. 9,能够理解约束 a...(cid); c, 通过sql语句能够建立多表及其关系 创建,并且创建约束

1K20

【MySQL数据库】多表关系与多表联合查询

​​目录MySQL多表关系一对一一对多多对多MySQL约束创建数据插入删除多表联合查询交叉连接查询内连接查询连接查询子查询关键字自关联MySQL多表关系MySQL之间三种关系一对多关系...在多一方建立键指向一一方​编辑多对多 下表为多对多关系,由下表可知多对多关系中间至少需要2个​编辑 MySQL约束创建 格式: constraint foreign...-- 注意给从添加数据时,不能随便写,必须依赖主表主键列删除主表数据被从依赖时,不能删除,否则可以删除从数据可以随便删除多表联合查询​编辑 交叉连接查询 •交叉连接查询返回被连接两个所有数据行笛卡尔积...•笛卡尔积可以理解为一张每一行去另外一张任意一行进行匹配 •假如A有m行数据,B有n行数据,则返回m*n行数据 •笛卡尔积会产生很多冗余数据,后期其他查询可以在该集合基础上进行条件筛选...or c > result2 or c > result3...ININ关键字,用于判断某个记录值,是否在指定集合中在IN关键字前边加上not可以将条件反过来select …from …where

2.9K30

【MySQL数据库】多表关系与多表联合查询

目录 MySQL多表关系 一对一 一对多 多对多 MySQL约束 创建 数据插入 删除 多表联合查询 交叉连接查询 内连接查询 连接查询 子查询关键字 自关联 MySQL多表关系 MySQL...一对多 一个部门可以有多名员工,一个员工只能归于一个部门 在多一方建立键指向一一方 多对多 下表为多对多关系,由下表可知多对多关系中间至少需要2个...MySQL约束 创建  格式: constraint foreign key 字段名[,字段名2,…] references 主键列1 [,主键列2,…] 方式一 创建时添加...,不能随便写,必须依赖主表主键列 删除 主表数据被从依赖时,不能删除,否则可以删除 从数据可以随便删除 多表联合查询 交叉连接查询 • 交叉连接查询返回被连接两个所有数据行笛卡尔积...• 笛卡尔积 可以理解为一张每一行去另外一张任意一行进行匹配 • 假如 A 有 m 行数据, B 有 n 行数据,则返回 m*n 行数据

2.7K20

MySQL学习笔记(长期更新)

约束类型: 默认约束:插入时如果没有指定值,则插入默认值 主键约束:保证数据唯一性 约束:预防破坏之间连接行为 非空约束 :字段值不能为空 唯一性约束:字段值不能重复 自增约束:字段在插入时自动...单系统应用可以使用自增主键不适用于多系统 手动赋值可以确保在系统中唯一性 06-连接:如何做关联查询? 多表查询:把分散在多张数据查询出来。...(FOREIGN KEY)连接(JOIN)将多张关联。 设计 有两张A、B通过id进行关联,如果Id在A中时主键,那么A便称为主表,B就是从Bid字段就是。.../image-20210602212346409.png)] 约束中定义定义键指定字段、对应主表中字段,MySQL会根据约束定义,监控主表中数据删除操作,如果发现要删除主表记录...正确使用事务,保证关联操作同时成功同时失败回滚。

93410

Oracle用户操作、数据类型、表格修改、约束设置详解

constraints, 约束, 用于对表格数据进行限制, 保证表格数据完整性一致性....约束(foreign key) 用于约束之间关系. 两张依赖关系. 以 emp dept 为例, emp 依赖 dept ....因此, dept 可以被称之为主表, emp 被称之为从. 注意: 主表中, 只有主键或者唯一才可以被从参考. 从中作为列, 类型一定要和主表被参考列相同....删除问题: 主表中数据在被引用时, 无法直接删除, 默认情况下, 需要先删除从中对应所有数据, 再删除主表中数据....可以在定义时, 设置删除策略为 cascade(级联), 表示当删除主表信息时, 同时删除从中所有关联信息 create table student ( sno number

71640

解决导入过程中出现ORA-02289错误

用expdp导出生产库数据到测试库,执行impdp时候报了ORA-02298错误,提示生效TBL_B约束FK_B_ID时候出错, ?...看看ORA-02298错误描述,因为存在独立字节点记录,导致生效约束操作报错, ? 通俗一些,就是子表对应主表主键/唯一约束键值不存在,所以此时无法生效约束。...方案1: 既然错误提示子表存在一些主表无记录键值,那么只要找出这些不符合主外关系子表记录,并且删除这些,保证子表中记录,主表中均有对应记录。 创建测试表相应数据, ?...主表不存在id=2这条记录,但子表中存在外字段id_a=2这条记录,只是由于disable了约束所以才可以insert,实际此时是无法enable约束,这上面执行impdp效果相同, ?...其有一些弊端,例如由于需要读取回滚段中未提交事务数据,因此exp会变慢,同时官方文档列出了一些使用consistent=y适用场景以及注意事项, ?

1.4K40

第二十九天-加强1-Junit&类加载&反射&Properties&BeanUtils&xml&动态代理&数据库【悟空教程】

一对一关系:(了解) 在实际开发中应用不多.因为一对一可以创建成一张. 两种建原则: 唯一:主表主键(唯一),形成主外关系,唯一unique。...是主键:主表主键主键,形成主外关系。...18.2 约束 现在我们有两张“分类“商品”,为了表明商品属于哪个分类,通常情况下,我们将在商品添加一列,用于存放分类cid信息,此列称为: ? ?...我们通过主表主键来描述主外关系,呈现就是一对多关系。 特点: 从值是对主表主键引用。 从类型,必须与主表主键类型一致。...用于删除外约束,一般建议“_fk”结尾 alter table 从 drop foreign key 键名称 使用目的: 保证数据一致性完整性 18.3 一对多操作 18.3.1 分析

1.1K70

【MySQL】MySQL数据库初阶使用

而我们口语所说数据库,大多数是指在内存中磁盘中存储特定结构组织数据,之间互相关联而成数据存储结构,实际数据库是一套在内存运行网络服务,用于实现数据存取。 3....约束是innodb存储引擎一个重要特性,一般用于进行之间关联,用于约束具有关联性,比如下面的学生班级,学生是隶属于班级,比较合理做法就是创建约束为学生class_id...,这些都是不合理,所以显而易见,班级学生之间一定需要某种约束关系,而这个约束实际就是约束!...其实这里,个人觉得复合主键有那么一点点相似,必须保证引用之间唯一性,约束显然是要比复合主键更严格,比如删除引用(引用中还存在着)是不被允许,一个列中字段只能配一个引用列中字段...客户姓名不能为空值。邮箱不能重复。客户性别(男,女) 2. 订单中商品编号客户编号需要约束,引用到goodscustomer各自goods_idcustomer_id中。

31930

MySQL 约束

约束 约束用于建立之间关系,确保引用另一个值时完整性。 约束经常主键约束一起使用,用来确保数据完整性,即保证该字段值必须来自于主表关联列值。...在从添加约束用于引用主表中某列值。 例如,在员工信息中,员工所属部门是一个,因为该字段是部门主键。...主键索引可以是 BTREE(B树索引,通常用于普通主键) HASH(哈希索引,通常用于自动递增主键)。大多数情况下,不需要显式指定索引类型,系统会根据上下文自动选择适当索引类型。...CONSTRAINT_NAME:这是约束名称。对于主键约束、唯一约束约束检查约束,它将是一个用户定义名称。 TABLE_SCHEMA:这是包含受约束数据库名称。...确保新约束与原始关联列引用关联列匹配。

17510

Web-第六天 MySQL回顾学习

4.1 约束 现在我们有两张“分类“商品”,为了表明商品属于哪个分类,通常情况下,我们将在商品添加一列,用于存放分类cid信息,此列称为: ? ?...我们通过主表主键来描述主外关系,呈现就是一对多关系。 特点: 从值是对主表主键引用。 从类型,必须与主表主键类型一致。...用于删除外约束,一般建议“_fk”结尾 alter table 从 drop foreign key 键名称 使用目的: 保证数据一致性完整性 4.2 之间关系 4.2.1 一对多关系...4.2.3 一对一关系:(了解) 在实际开发中应用不多.因为一对一可以创建成一张. 两种建原则: 唯一:主表主键(唯一),形成主外关系,唯一unique。...是主键:主表主键主键,形成主外关系。

79620

长文一次说完MySQL常用语句命令等汇总

删除数据 DQL DML DDLDCL是怎么区分定义 约束(Constraint) 非空约束not null 唯一性约束(unique) 主键约束 主键有什么作用 主键分类 约束 存储引擎...join C on表示:AB先进行连接,连接之后A继续C进行连接。...主键约束(primary key):约束字段不能重复 约束(foreign key):简称FK 检查约束(check) :注意oracle数据库有check约束,但是mysql没有,目前mysql...约束 现在一般不建议使用,每次做DELETE 或者UPDATE都必须考虑约束,会导致开发时候很痛苦,测试数据极为不方便。...第二范式:建立在第一范式基础之上,所有非主键字段完全依赖主键,不能产生部分依赖。 多对多?三张,关系两个

73620
领券