MySQL数据约束和关联查询

 2023-09-13 阅读 16 评论 0

摘要:1 默认值deafult:在建表的时候字段后使用 default ,默认值字段允许为null。 2 非空 not null:在建表的时候字段后使用 not null。 sql关联子查询、非空字段必须赋值,并且不能是null。 3 唯一:主键和unique 字段必须唯一。 注意:unique 对

 1 默认值deafult:在建表的时候字段后使用 default ,默认值字段允许为null。

 

2 非空 not null:在建表的时候字段后使用  not null。

sql关联子查询、非空字段必须赋值,并且不能是null。

 

3 唯一:主键和unique 字段必须唯一。

注意:unique 对 null 值不起作用。只对有值的字段数据进行约束。

数据库约束条件? 

4 主键primary key:就是not null 和 nuique的联合。

 

5 自增长auto_increment:

sql关联查询中的主表和从表。 

6 外键:约束两张表,主要是解决数据冗余。

alter table tablename1

add foreign key column name1

excel怎么关联数据,references tablename2 column name2

on delete restrict/cascade/set null;

 

在建表的时候创建外键,在添加完字段后 foreign key(column ame) reference table name2  (column name2) on delete cascade/restrict/set null。

多张表格数据怎么关联。注意:

1)被约束的表为附表,约束别人的表是主表,外键设置在附表上。

2)添加数据是先添加主表数据,再添加附表数据

3)不能直接修改主表,先修改附表数据。

MySQL约束?4)删除数据,先删除附表数据,再删除主表数据。

 

二、数据库表的设计原则,三大范式

第一范式:要求表中的每个字段必须是不可分割的独立单元,第一范式(确保每列保持原子性)

sql分组检索去掉不满足条件的分组。第二范式:要求每张表表达一个思想,表的每个字段都和主键有依赖,第二范式(确保表中的每列都和主键相关)

第三范式:要求每张表主键之外的每个字段都只能和主键有直接依赖关系,第三范式(确保每列都和主键列直接相关,而不是间接相关)

 

三、关联查询

sql多表关联查询用where。查询规则:1)确定查询那些表 2)确定查询哪些字段 3)表与表之间的连接条件

 

例如:

表1: student

CREATE TABLE student(
id INT PRIMARY KEY AUTO_INCREMENT,
sname VARCHAR(20) NOT NULL,
sgender CHAR(2) NOT NULL,
sage SMALLINT NOT NULL,
sphone VARCHAR(11),
address VARCHAR(400));

数据库避免了一切数据的重复。 

表2:englishScore

CREATE TABLE englishScore(
id INT PRIMARY KEY AUTO_INCREMENT,
sscore SMALLINT,
sid INT NOT NULL,
FOREIGN KEY(sid) REFERENCES student(id) ON DELETE CASCADE
);

 

查询学生姓名和成绩

3.1 内连接查询,两张表或多张表的连接条件都非空

SELECT sname, sscore
FROM student S, englishScore ES
WHERE S.id = ES.sid;

相当于是使用下面语句执行查询

SELECT sname, sscore
FROM student S
INNER JOIN englishScore ES
ON S.id = ES.sid;

 

3.2 左外连接

SELECT S.sname, ES.sscore
FROM student S
LEFT JOIN englishScore ES
ON S.id = ES.sid;

 

3.3 右外连接

SELECT S.sname, ES.sscore
FROM student S
RIGHT JOIN englishScore ES
ON S.id=ES.sid;

 

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/5/55039.html

下一篇:P4 PI库安装

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息