| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> MySql表的增删查改(进阶) -> 正文阅读 |
|
[大数据]MySql表的增删查改(进阶) |
目录 1、数据库的约束(1)约束的基本类型
(2)default约束name不指定值时,默认为unkown:
【注】只有在不插入值时,才会生效,即使插入的值为null,也不生效。 (3)primary key:主键约束指定id列为主键(主键字段不插入或者插入重复的字段都会报错):
对于整数类型的主键,可以搭配自增auto_increment(是mtsql的关键字,不是sql标准)使用。插入数据的对应字段不设置值时,使用最大值(不是插入的最大值,而是mysql记录的最大值)+1。
(4)foreign key:外键约束外键用于关联其他表的主键或唯一键。(用于设计表与表之间的关系) 2、表的设计(1)一对一的关系(人和身份证就是一对一的关系) (2)一对多关系(一个班级有多个学生,班级和学生就是一对多的关系) (3)多对多关系 多对多关系,表的设计:
?在表的结构上,只有两个一对多的关系。数据上体现出两个一对多,以及逻辑上的多对多关系。 3、新增插入查询结果
4、查询(1)聚合查询
group by子句进行分组后,需要对分组结果再进行条件过滤时,不能使用where语句,需要用having。(分组后的条件过滤) 5、联合查询?笛卡尔积的结果是两张表的每条数据相连接,产生的一个结果集(虚拟表) 联合查询:将笛卡尔积产生的结果集进行过滤,留下有意义的数据。 ?联合查询筛选的条件是进行主外键的关联 为了方便,我们可以使用表的别名,但是要注意,如果表使用了别名,条件筛选的时候字段必须使用别名+字段名的方式,否则会报错。? ?因为两张表可能存在相同的字段名(查询出来的表在使用的时候会造成很大的不便),所以尽量减少*的使用,可以将所有的字段名列出来。 (1)内连接
例:下面就是一个多表的内连接,四张表,学生表、班级表、考试成绩表、课程表,查询所有班级的所有课程的平均分。(描述了两种写法)
(2)外连接外连接分为左外连接和右外连接。左外连接的左表和右外连接的右表我们称之为外表,外表会被完全显示。
(3)自连接自身连接自身进行查询
【代码如下】
(4)子查询子查询是指嵌入到其它sql语句中的select语句,也叫嵌套查询。
(5)合并查询为了合并多个select语句的执行结果,可以使用union、union all,使用时,前后查询的结果集中,字段需要一致。
例:查询id小于3或者name为英文的课程信息。
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 4:00:22- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |