思维导图:
一、简介约束
数据的完整性是指数据的正确性和一致性,可以通过定义表时定义完整性约束,也可以通过规则,索引,触发器等。约束分为两类:行级和表级,处理机制是一样的。行级约束放在列后,表级约束放在表后,多个列共用的约束放在表后。
完整性约束是一种规则,不占用任何数据库空间。完整性约束存在数据字典中,在执行SQL或PL/SQL期间使用。用户可以指明约束是启用的还是禁用的,当约束启用时,他增强了数据的完整性,否则,则反之,但约束始终存在于数据字典中。
总的来说就是是数据保持完整性。
二、分类
约束主要分为六类:主键(Primary Key) 、外键(Foreign Key)、检查约束(Check)、唯一性约束(Unique)、非空约束(Not Null)、默认约束(Default)
1.主键约束
1)主键是最重要的约束类型
2)表中定义主键的列只能包含唯一的值
3)一个表中只能有一个主键 且不允许用NULL来定义主键的值
可以指定多个列的组合作为主键,这多个列中每一个列都不能出现NULL值,此时一个列中可以出现重复值,但所有列的组合值必须是唯一的。
4)Text和Image数据类型不能被指定为主键。
2.外键约束
1)外键约束是用于强制参照完整性,用来保证相关联的表中的主键或外键的数据保持一致。
2)当一个表中的一列或多列的组合与其他表中定义的主键或唯一性约束相同时,可以将这些列或列的组合定义为外键,并设定它与哪个表中的哪些列相关联。
3)其中包含外键的表,称为从表,包含外键所引用的主键或唯一键的表称为主表。
4)一个表中最多可以有31个外键约束。
5)特点:
①主键表中更新字段值,外键表中对应的外关键字字段也相应更新。
②当在外键表中插入关联字段值时,若插入的值中主键表中不存在,则中外键表中无法插入数据。
3.唯一性约束
1)唯一性约束用来限制不受主键约束的列上的数据的唯一性,即表中任意两行在 指定列上都不允许有相同的值。
2)一个表上可以放置多个唯一性约束,唯一性约束可以为NULL值。
3) 唯一性约束和主键约束的区别:
①唯一性约束允许在该列上存在NULL值,而主键约束的限制更为严格,不但不允许有重复,而且也不允许有空值。
②在创建唯一性约束和主键约束时可以创建聚集索引和非聚集索引,但在 默认情况下主键约束产生聚集索引,而唯一性约束产生非聚集索引 。
4.检查约束
1) 检查约束即是对表中的数据设置检查条件,来保证数据的完整性 。
2)一个表中可以定义多个检查约束。
5.默认约束
1)默认约束指用户在进行插入操作时,没有显示为列提供的数据,那么系统将默认值赋给该列。
2)默认值约束所提供的默认值可以为常量、函数、系统函数、空值等。
3)对于表中,每一列只能定义一个默认约束,对于具有IDENTITY属性和timestamp数据类型的字段,不能使用默认约束。
4)定义的默认值不允许高过对应字段的允许长度。
6.非空约束
1)空值约束即是否允许该字段的值为NULL,表示“不知道”、“不清楚”或“没有数据”的意思。
2)主键不允许为空值。
三、SQL实现
1)student(id,sno,name,age,sex,address) 学生表
2)studentScore(id,sid,MathScore,EnglishScore)分数表
3)SQL语句:
– 学生表
CREATE TABLE student(
id int not null primary key,
name varchar(6),
age int not null check(age >0 and age<100 ),
sex char(2),
address varchar(20) default’北京’
);
– 学生成绩表
CREATE TABLE studentScore(
id int not null primary key,
sid int,
MathScore int,
EnglishScore int,
constraint FK_sid foreign key(sid) references student(id)
);
primary key 声明这是一个主键(唯一,非空)
unique 声明这个列不能有重复的值,唯一性
check(age >0 and age<100 ) 约束年龄在0到100岁之间
default’北京’ 默认约束,如果添加数据时,没有指定该字段的值,则默认为北京
constraint FK_sid foreign key(sid) references student(id)
学生成绩表中的sid参照学生表中的id。学生成绩表中的sid必须参考学生表中的id。
思维导图: 一、简介约束 数据的完整性是指数据的正确性和一致性,可以通过定义表时定义完整性约束,也可以通过规则,索引,触发器等。约束分为两类:行级和表级,处理机制是一样的。行级约束放在列后,表级约束放在表后,多个列共用的约束放在表后。完整性约束是一种规则,不占用任何数据库空间。完整性约束存在数据字典中,在执行SQL或PL/SQL期间使用。用户可以指明约束是启用的还是禁用的,当约束启用时,他增
JavaWeb每日总结思维导图,包含JavaWeb开发的多项技术,方便复习知识点使用。内容包括:MySQL、MySQL
约束
&多表、MySQL多表&事务、JDBC、
数据库
连接池、HTML、CSS、JS基础&高级、BootStrap、XML、Tomcat、Servlet&HTTP&Request、Response、Cookie&Session、JSP&EL&JSTL、Filter&Listener、jQuery、Ajax、Json、Redis、Maven。本资源免费下载供大家阅读使用,全程知识点,使用思维导图的方式对知识进行梳理,包含各技术名词的概念及代码,内容清晰有序,适合初学者学习使用——每日一个 ,亦可以作为开发老鸟回顾知识的笔记。选择下载该内容的大多应该是想要从事Java后端开发的学习者,本人更新的“软件设计”专栏有助于大家理解常见开源项目的设计,练就扎实内功,建议从头阅读,相信会对你有所启发。宝剑锋从磨砺出,梅花香自苦寒来。练就一项本领绝非一朝一夕,脚踏实地才能走得更远,唯有热爱可抵岁月漫长。
(4)外键
约束
:设置表的外键
(5)检查
约束
:限制列中允许的取值以及多个列之间的关系。
外键说明了两张表之间的联系,一张表的外键由一个列或者多个列所组成,并且它们是另一张表的主键或者UNIQUE
约束
列。
检查
约束
的表现形式是:CHECK,所以有...
NOT NULL: 用于控制字段的内容一定
不能
为空
(NULL)。
UNIQUE: 控件字段内容
不能
重复,一个表允许有多个 Unique
约束
。
PRIMARY KEY: 也是用于控件字段内容
不能
重复,但它在一个表只允许出现一个。
FOREIGN KEY: 用于预防破坏表之间连接的动作,也能防止非法数据插入外键列,因为它必须是它指向的那个表中的值之一。
CHECK: 用于控制字段的值范围。
唯一
约束
: 如果有一列添加了唯一
约束
,那么就代表如果这一列有值的话,
这个值必须唯一,
不能
跟其他的值一样; 但是这一列允许位空值;
即:可以
为空
值,但是一旦有值必须唯一;
例如:手机号 银行卡号
定义: 在所有列定义完之后加逗号, unique(列名)
drop tabl
“默认值(Default)”的完整称呼是“默认值
约束
(Default Constraint)”。MySQL默认值
约束
用来指定某列的默认值。
例如女同学较多,性别就可以默认为“女”,如果插入一条新的记录时没有为这个字段赋值,那么系统会自动为这个字段赋值为“女”。
设置默认值
使用DEFAULT关键字设置默认值
约束
,具体的语法规则如下:
<字段名> <数据类型...
1. 检查
约束
是什么检查
约束
的作用就是让表中的数据更有意义。检查
约束
就是为了检测和过滤不符合实际意义的数据,比如说年龄1000,工资-500等这些数据。2.在创建表时设置检查
约束
1)基于单列的唯一性
约束
语法: CREATE TABLE table_name ( column_name datatype CHECK(expressions)) ;
CHECK 是检查关键字
expressions 是
### 回答1:
MySQL是一种开源的关系型
数据库
管理系统,它是最流行的
数据库
之一。它可以在多种操作系统上运行,包括Windows、Linux和Mac OS等。MySQL具有高性能、可靠性和可扩展性等优点,被广泛应用于Web应用程序、企业级应用程序和移动应用程序等领域。初学者可以通过学习MySQL的基本概念、语法和操作来掌握它的使用方法。
### 回答2:
MySQL 是一种开源的关系型
数据库
管理系统,由于其开源、跨平台、易用性等特点,成为了当前最流行的数据存储方式之一。初识MySQL需要了解以下几个方面:
一、MySQL 的概述
MySQL 是一个关系型
数据库
管理系统。它可以进行快速、可靠、高效的大容量数据处理。其主要特点是在进行大量数据操作时速度快、延迟低。
MySQL 具有多线程能力,可以提高
数据库
的并发处理能力。而且还可以实现多个用户并发访问。
MySQL 采用客户端/服务器模式架构,安装简单,且性能和稳定性都相对较好。
二、 MySQL 的安装与配置
MySQL 可以在各种操作系统上安装,如在 Linux 上使用 apt-get 命令,也可以在 Windows 上使用安装程序。在安装完成后需要进行配置,包括设置 root 用户密码,指定数据存储路径,端口等。
三、MySQL 的基本概念
MySQL 中的一些基本概念包括:
1.
数据库
(Database):MySQL
数据库
是由一系列表组成的容器,用于存储数据。
2. 表(Table):表是 MySQL
数据库
中最小的单元,用于存储数据。
3. 列(Column):表中的每个数据项都是基于列的。
4. 行(Row):每一行代表一条记录,实际上是一个记录的集合。
5. 主键(Primary key):一种特殊的
约束
,用于保证表中每个记录均有唯一标识,常用于在进行数据更新或删除时进行定位。
四、MySQL 的基本操作
MySQL 的基本操作包括增删改查等,其中最常用的是查询数据。关于查询数据,需要注意使用 SQL 语句,语法应正确且逻辑正确。
五、MySQL 的应用
MySQL 在各种场景下都有广泛的应用,如 Web 应用程序(例如在线商店、博客),移动应用程序,游戏等。由于其量级小、效率高、稳定性好的特点,深受开发者的欢迎。
总体来说,初识 MySQL 需要了解其基本概念、安装配置、基本操作等。作为开源的关系型
数据库
管理系统,MySQL 在各大领域都有广泛的应用,其影响力不断扩大。
### 回答3:
MySQL是一种关系型
数据库
管理系统(RDBMS)。它是一种开源软件,是世界上最广泛使用的关系型
数据库
管理系统之一。MySQL由瑞典MySQL AB公司所开发,现在由Oracle公司维护。
MySQL具有兼容性高、开放的源代码、体积小、性能优越、易于安装和配置等优点。MySQL广泛应用于Web服务器上,它与PHP、Python、Perl等编程语言之间有着良好的兼容性。
MySQL支持多种操作系统,如Linux、Windows、Unix、Free BSD等等。同时也支持多种编程语言,如C、C++、Java、PHP、Python、Perl等等。
在学习MySQL时,你需要掌握
数据库
创建、数据表创建、数据表间关系的定义和维护、记录插入、查询和修改等技能。MySQL是一个非常灵活、易于学习的
数据库
管理系统,但它的灵活性也可能会导致一些问题,例如由于外键、
约束
、索引等原因而引起的性能问题,因此,使用MySQL需要掌握一些基本知识。
此外,在MySQL学习过程中需要注意的是安全性问题。我们可以使用用户名和密码来保护我们的MySQL系统,确保只有授权的用户可以访问
数据库
。在创建用户时,我们需要为每个用户分配不同的权限,以便他们可以执行他们需要的操作而且
不能
执行其他命令。
总之,MySQL是一种非常强大、广泛使用的
数据库
管理系统,它不仅具有广泛的应用层面,而且易于学习和使用。因此,学习MySQL是每个开发者的必备技能之一。