MySQL基础总结(三)

ORDER BY排序

ORDER BY默认是ASC(升序),降序是DESC
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


LIMIT限制查询结果显示条数

 
LIMIT显示条数
在这里插入图片描述
LIMIT偏移量,显示条数
在这里插入图片描述
在这里插入图片描述
到目前为止有关查询数据的操作(DQL)
在这里插入图片描述


更新数据的拓展

 
对ORDER BY和LIMIT的应用
在这里插入图片描述


删除数据的拓展

 
对ORDER BY和LIMIT的应用
在这里插入图片描述


连接查询

 
连接查询是将两个和两个以上的表按某个条件连接起来,从中选取需要的数据,是在同时查询两个或两个以上的表时使用的,当不同的表中存在相同意义的字段时,可以通过该字段连接这几个表。

 
内连接查询
用得比较多,可以显示两个表中符合连接条件的记录。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
内连接查询的格式

SELECT 字段名称1,字段名称2FROM tbl_name1
INNER JOIN\CROSS JOIN\JOIN tbl_name2
ON 条件;

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


 
外连接查询

分为两种:
在这里插入图片描述
在这里插入图片描述
LEFT [OUTER] JOIN(左外连接):显示左表的全部记录及右表符合连接条件的记录
在这里插入图片描述
RIGHT [OUTER] JOIN (右外连接):显示右表的全部记录以及左表符合连接条件的记录
在这里插入图片描述


外键

  • 概述
    外键是表的一个特殊字段。
    被参照的表是主表,外键所在字段的表为子表。
    设置外键的原则需要记住,就是依赖于数据库中已经存在的表的主键
    外键的作用建立该表与其父表的关联关系。父表中对记录做操作时,子表中与之对应的信息也应有相应的改变。

  • 格式

--‘子表字段名称’和‘主表字段名称’要有关联
--在创建子表时写入
--外键名称可给可不给
CONSTRAINT 外键名称 FOREIGN KEY(子表字段名称) REFERENCES 主表名称(主表字段名称)
  • 特点
    1.保持数据的一致性和完整性
    2.可以实现一对一或一对多的关系

  • 注意事项
    1.父表与子表必须使用相同的存储引擎,而且禁止使用临时表
    2.数据表的存储引擎只能为InnoDB
    3.外键列和参照列必须具有相似的数据类型,其中数字的长度或是否有符号位必须相同,而字符的长度则可以不同
    4.外键列和参照列必须创建索引。如果外键列不存在索引的话,MySQL将自动创建索引

  • 外键约束的参照操作
    CASCADE:从父表删除或更新且自动删除或更新子表中匹配的行
    SET NULL:从父表删除或更新行,并设置子表中的外键列为NULL。如果使用该选项,必须保证子表列没有指定NOT NULL
    RESTRICT:拒绝对父表的删除或更新操作
    NO ACTION:标准SQL的关键字,在MySQL中与RESTRICT相同


示例
为什么需要用到外键?
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


创建表时外键起到的作用
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


添加外键格式

ALTER TABLE tbl_name ADD CONSTRAINT 外键名称 FOREIGN KEY (子表字段名称) REFERENCES 主表名称(主表字段名称) 

删除外键格式

ALTER TABLE tbl_name DROP FOREIGN KEY 外键名称;

示例
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


  • CASCADE 格式
CONSTRAINT 外键名称 FOREIGN KEY(子表字段名称) REFERENCES 主表名称(父表字段名称) ON DELETE\UPDATE CASCADE

示例
在这里插入图片描述
在这里插入图片描述


  • SET NULL 格式
CONSTRAINT 外键名称 FOREIGN KEY(子表字段名称) REFERENCES 主表名称(父表字段名称) ON DELETE\UPDATE SET NULL

示例
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


联合查询

  • UNION
--要查询的字段数一定要相同
--查询的字段属性也最好是同一类型
SELECT 字段名称1 FROM tbl_name1 UNION SELECT 字段名称2 FROM tbl_name2;
  • UNION ALL
SELECT 字段名称1 FROM tbl_name1 UNION ALL SELECT 字段名称2 FROM tbl_name2;
  • UNION和UNION ALL的区别
    1.UNION是去掉相同记录
    2.UNION ALL是简单地合并到一起

示例
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


子查询

  • 概述
    子查询是将一个查询语句嵌套在另一个查询语句中。内层查询语句的查询结果,可以作为外层查询语句提供条件。

  • 引发子查询的情况
    1.使用 [NOT]IN 的子查询
    2.使用 比较运算符 的子查询
    3.使用 [NOT]EXISTS 的子查询
    4.使用 ANY|SOME|ALL 的子查询
    在这里插入图片描述

  • 将查询结果写入到数据表的格式

INSERT [INTO] tbl_name [(col_name,...)]
SELECT ...
  • 创建数据表的同时将查询结果写入到数据表的格式
CREATE TABLE [IF NOT EXISTS] tbl_name
[(create_definition...)]
select_stament

 
 
示例
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


正则表达式查询

 
格式

SELECT 字段名称 FROM tbl_name WHERE 字段名称 REGEXP '匹配模式';

常用匹配方式
在这里插入图片描述
 
示例
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

发布了60 篇原创文章 · 获赞 0 · 访问量 1374

猜你喜欢

转载自blog.csdn.net/CODEROOKIE_RUN/article/details/104048443