![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库之MySQL
文章平均质量分 74
疯狂的生长
这个作者很懒,什么都没留下…
展开
-
MySQL知识学习——第二十三天:使用存储过程
前言好久不见呀,捡起之前因为工作原因掉下的任务。最后七章,加油啦~存储过程首先我们需要搞明白什么是存储过程。简单的说,存储过程就是为以后使用而保存的一条或多条MySQL语句的集合。为什么要使用存储过程使用存储过程的一些理由:换句话说,使用存储过程有3个主要好处,即简单、安全、高性能。但是呢,存储过程也是有它的缺陷的,比如:一般来说,存储过程的编写比基本SQL语句复杂,编写存储过程需要更高的技能,更丰富的经验。你可能没有创建存储过程的安全访问权限。许多数据库管理员限制存储过程的创建权原创 2021-07-10 16:46:53 · 224 阅读 · 0 评论 -
MySQL知识学习——第二十二天:使用视图
前言最后八天,加油~视图视图,很熟悉又很陌生的一个词。那么什么是视图呢?你可以把它理解成一个表。视图是虚拟的表。与包含数据的表不一样,视图只包含使用时动态检索数据的查询。是什么意思呢?我们可以把它看成一个表,但是这个表是虚拟的,也就是说这个表里面是没有数据的,那么它有什么呢?它只有一系列的查询语句。为什么使用视图视图本身不包含数据,因此它们返回的数据是从其他表中检索出来的。在添加或更改这些表中的数据时,视图将返回改变过的数据。视图的规则和限制#使用视图利用视图简化复杂的联结原创 2021-06-19 15:39:15 · 148 阅读 · 0 评论 -
MySQL知识学习——第二十一天:创建和操纵表
前言最后九天,继续加油。我们昨天学习了对数据的基本操作,比如插入数据的INSERT语句,删除数据的DELETE语句已经更新数据的UPDATE语句。今天我们将继续学习对表格的基本操作。比如表的创建、更改和删除。创建表MySQL不仅用于表数据操纵,而且还可以用来执行数据库和表的所有操作,包括表本身的创建和处理。一般有两种创建表的方法: 使用具有交互式创建和管理表的工具(如第2章讨论的工具); 表也可以直接用MySQL语句操纵。第一种方法是我们在之间的建表时经常用到的,第二种方法我们之前也提原创 2021-06-17 15:45:34 · 149 阅读 · 1 评论 -
MySQL知识学习——第二十天:更新和删除数据
前言不知不觉已经是最后十天了,加油呀~我们前面学习了INSERT语句,今天我们来学习UPDATE和DELETE语句。更新数据为了更新(修改)表中的数据,可使用UPDATE语句。可采用两种方式使用UPDATE: 更新表中特定行; 更新表中所有行。UPDATE语句非常容易使用,甚至可以说是太容易使用了。基本的UPDATE语句由3部分组成,分别是: 要更新的表; 列名和它们的新值; 确定要更新行的过滤条件。我们来看下面的例子UPDATE后面直接跟表名,在利用关键字SET对列值原创 2021-06-16 16:17:14 · 109 阅读 · 0 评论 -
MySQL知识学习——第十九天:插入数据
SELECT是最常使用的SQL语句了,我们前面十八天的时间都是在学习它的相关法,今天我们来学习一点不一样的。今天我们学习一个新的语句,INSERT语句。数据插入INSERT是用来插入(或添加)行到数据库表的。插入可以用几种方式使用: 插入完整的行; 插入行的一部分; 插入多行; 插入某些查询的结果。插入完整的行把数据插入表中的最简单的方法是使用基本的INSERT语法,它要求指定表名和被插入到新行中的值。它的基本用法如下INSERT INTO 表名VALUES(各个列值)原创 2021-06-15 22:17:18 · 334 阅读 · 0 评论 -
MySQL知识学习——第十八天:全文本搜索
前言新的一天,加油呀理解全文本搜索前面我们学习了利用关键字LIKE,结合通配符来实现文本搜索,另外,我们还学习了基于正则表达式来检索记录。尽管他们很实用,但是还存在一些限制。性能——通配符和正则表达式匹配通常要求MySQL尝试匹配表中所有行(而且这些搜索极少使用表索引)。因此,由于被搜索行数不断增加,这些搜索可能非常耗时明确控制——使用通配符和正则表达式匹配,很难(而且并不总是能)明确地控制匹配什么和不匹配什么。例如,指定一个词必须匹配,一个词必须不匹配,而一个词仅在第一个词确实匹配的情况下才可原创 2021-06-15 14:12:02 · 110 阅读 · 3 评论 -
MySQL知识学习——第十七天:组合查询
前言端午节快乐呀~组合查询前面我们学习的都只有一条SELECT语句,其实MySQL也允许执行多个查询(多条SELECT语句),并将结果作为单个查询结果集返回。这些组合查询通常称为并( union) 或复合查询(compound query)。有两种基本情况,其中需要使用组合查询: 在单个查询中从不同的表返回类似结构的数据; 对单个表执行多个查询,按单个查询返回数据。创建组合查询组合查询我们借助UNION关键字来实现。使用UNIONUNION的使用很简单。所需做的只是给出每条SELEC原创 2021-06-13 18:14:26 · 197 阅读 · 0 评论 -
MySQL知识学习——第十六天:创建高级联结
前言今天下雨了,天气依旧炎热,心情有点低落。昨天我们学习了连结表,我们今天学习表的高级联结使用表别名别名除了用于列名和计算字段外, SQL还允许给表名起别名。我们之前学习过对列取别名,实际上表也可以,用法类似,同样是借助关键字AS来实现。比如这样我们就可以对表取别名,然后再使用完全限定的列名。应该注意,表别名只在查询执行中使用。与列别名不一样,表别名不返回到客户机。在之后的学习中,我们会经常用到表的别名,这个大家要熟悉。使用不同类型的联结针对表的联结方式,我们今天介绍以下三种:自联结原创 2021-06-10 21:41:33 · 107 阅读 · 0 评论 -
MySQL知识学习——第十五天:联结表
前言第十五天,目标过半了,加油联结SQL最强大的功能之一就是能在数据检索查询的执行中联结(join)表。关系表关系表的设计就是要保证把信息分解成多个表,一类数据一个表。各表通过某些常用的值(即关系设计中的关系( relational) )互相关联外键(foreign key) 外键为某个表中的一列,它包含另一个表的主键值,定义了两个表之间的关系。外键怎么理解呢?比如说A表中有一列值跟B表中的主键值相等,那么我们就称A表中的这一列为A表的外键。为什么要使用联结简单地说,联结是一种机制原创 2021-06-09 21:03:32 · 141 阅读 · 0 评论 -
MySQL知识学习——第十四天:使用子查询
前言周二,继续学习!子查询前面我们学习的都是SELECT语句的简单用法(从单个数据库表中检索数据的单条语句),今天我们就来学习一下稍微复杂的用法。查询(query) 任何SQL语句都是查询。但此术语一般指SELECT 语句。SQL还允许创建子查询( subquery) ,即嵌套在其他查询中的查询。利用子查询进行过滤我们现在有下面两张表,第一张是student,第二张是teacher,现在我们想找出Poul老师的学生的年龄是谁?怎么办呢?首先是找到Poul老师的学生然后再找他们的年原创 2021-06-08 20:46:53 · 229 阅读 · 1 评论 -
MySQL知识学习——第十三天:分组数据
前言又是新的一周,继续努力呀~数据分组怎么理解数据分组呢?举个简单的例子,一个学校有一个高三年级的学生名单,整个年级有三个班,这样我们就可以按照班级对数据进行分组。个人理解的话,分组就是将具有某个相同值的数据分离开。创建分组那么如何进行分组呢?分组是在SELECT语句的GROUP BY子句中建立的。看下面的例子,针对下面的表格(student)我们对上面的表进行分组。group by子句在后面要跟列名,它会把该列中具有相同的值的记录合成一组。group by 子句可以包含任意数目的原创 2021-06-07 22:25:41 · 542 阅读 · 1 评论 -
MySQL知识学习——第十二天:汇总数据
前言不知不觉已经十二天了,我们对MySQL已经有一个初步的认识了,已经掌握了一些比较基本的用法了。对牛客网上的习题也基本上能够解决,但是我们接下来的目标是怎么解决的更优。聚集函数我们经常需要汇总数据而不用把它们实际检索出来,为此MySQL提供了专门的函数。聚集函数( aggregate function) 运行在行组上,计算和返回单个值的函数AVG函数AVG()通过对表中行数计数并计算特定列值之和,求得该列的平均值。AVG()可用来返回所有列的平均值,也可以用来返回特定列或行的平均值。原创 2021-06-06 21:10:43 · 121 阅读 · 2 评论 -
MySQL知识学习——第十一天:使用数据处理函数
前言周末愉快呀~最近太热了函数基本上所有语言都会有函数,这里就不再详细介绍了,前面我们已经接触了一些函数,比如concat,Rtrim,这里主要说一些需要注意的事情。使用函数大多数SQL实现支持以下类型的函数:1. 用于处理文本串(如删除或填充值,转换值为大写或小写)的文本函数2. 用于在数值数据上进行算术操作(如返回绝对值,进行代数运算)的数值函数3. 用于处理日期和时间值并从这些值中提取特定成分(例如,返回两个日期之差,检查日期有效性等)的日期和时间函数。4. 返回DBMS正使用的特原创 2021-06-05 15:00:03 · 110 阅读 · 1 评论 -
MySQL知识学习——第十天:创建计算字段
前言第十天了,加油呀计算字段计算字段并不实际存在于数据库表中。计算字段是运行时在SELECT语句内创建的。字段(field) 基本上与列( column) 的意思相同,经常互换使用,不过数据库列一般称为列,而术语字段通常用在计算字段的连接上我们把字段看成列就好了,至于字段和列的细微区别这里就不在赘述。拼接字段我们考虑这样一个情况,现在有一个表,一列存储的是姓,一列存储的是名,那我现在想得到一列存储的是姓名怎么办呢?这时候就需要拼接字段了。拼接(concatenate) 将值联结到一原创 2021-06-04 13:17:00 · 163 阅读 · 0 评论 -
MySQL知识学习——第九天:用正则表达式进行搜索
前言第九天,继续冲~今天学习的是利用正则表达式进行搜索,内容有点多,要多试试正则表达式介绍正则表达式的内容特别多,这里就只说一些基本概念,知道怎么用就好了。> 正则表达式是用来匹配文本的特殊的串(字符集合)。使用MySQL正则表达式正则表达式的作用是匹配文本,将一个模式(正则表达式)与一个文本串进行比较。基本字符匹配我们针对下面的表(num),第一列的数据类型是字符,第二列的数据类型是数值看下面的例子这个与昨天我们学习的LIKE语句很像,但是这里我们借用关键字REGEXP(r原创 2021-06-03 22:55:32 · 222 阅读 · 0 评论 -
MySQL知识学习——第八天:用通配符进行过滤
前言今天是第八天,内容逐渐开始变得困难了,加油呀~LIKE操作符今天我们的标题提到了一个新的词——通配符,那么先解释一下什么是通配符通配符(wildcard) 用来匹配值的一部分的特殊字符再介绍一个基本概念——搜索模式搜索模式(search pattern)① 由字面值、通配符或两者组合构成的搜索条件。那么什么又是操作符呢?上面的概念理解最好,不理解也没关系,只要知道怎么用就可以了为了使用通配符进行过滤,我们要介绍LIKE操作符。为在搜索子句中使用通配符,必须使用LIKE操作符原创 2021-06-02 21:27:49 · 181 阅读 · 2 评论 -
MySQL知识学习——第七天:数据过滤
前言我们昨天学习了,where语句的基本用法,但是我们发现它只有过滤一个条件,那么有多个条件应该怎么办呢?今天我们就来进一步学习数据过滤AND 操作符我们昨天在介绍BEWTEEN的时候提到了AND,那么今天将进一步了解它的用法。首先解释一下什么是操作符操作符(operator):用来联结或改变WHERE子句中的子句的关键字。也称为逻辑操作符( logical operator)也就是说操作符是特指在where子句中联接或改变子句的关键字,也就是说操作符是一种特殊的关键字,所以有时候我们会原创 2021-06-01 21:46:19 · 218 阅读 · 0 评论 -
MySQL知识学习——第六天:过滤数据
前言周末偷懒休息了两天,今天继续~前面我们已经知道了如何选择数据,以及如何过滤数据,那么今天我们将学习过滤数据。过滤数据有时候,我们并不需要所有的数据,只需要部分满足我们要求的数据。所以这时候就需要对数据进行过滤。我们对数据进行过滤,需要where子句(回顾一下什么是子句)WHERE子句where子句应该在表名之后给出,也就是在(FROM子句后)随着我们学习子句的数量越来越多,我们要牢记各个子句的位置关系看下面的例子解释:选择math大于80的所有记录,结果只有两行,因为其他行的mat原创 2021-05-31 16:47:46 · 269 阅读 · 0 评论 -
MySQL知识学习——第五天:排序检索数据
前言第五天,冲鸭~我们昨天知道怎么检索数据了,借助select语句,我们可以对数据检索,但是昨天提到了,返回的数据是没有排序的。今天我们将学习如何排序检索数据,也就是说检索后的数据是排过序的。子句先回顾一下select语句的用法SELECT chinese FROM grade 除了select语句之外,还有from语句,我们把from语句叫做子句。子句(clause) SQL语句由子句构成,有些子句是必需的,而有的是可选的。一个子句通常由一个关键字和所提供的数据组成。上面的fr原创 2021-05-28 22:05:50 · 127 阅读 · 1 评论 -
MySQL知识学习——第四天:检索数据
前言不知不觉第四天啦~今天我们要学习的是检索数据昨天我们已经下载安装好了Navicat,并且大致了解了如何创建数据库,链接数据库,创建表。为了更好的学习检索数据,我们首先来回顾一下昨天的知识。首先我们打开Navicat(打开这个以后,尽量不要打开网易有道词典,以免软件崩溃),创建好数据库,并且链接成功后,我们开始创建表。创建表我们首先创建一个表,表名为grade,它有六列,三行(记录),主键为ID列。当然你也可以多创建几条记录(还记得记录是什么吗,对,就是我们第一天说的行)。那么到这里我们就完原创 2021-05-27 21:41:13 · 372 阅读 · 0 评论 -
MySQL知识学习——第三天:下载安装Navicat
前言第三天,差点就忘了,今天的目标呢就是学会简单的使用MySQL。前两天我们大致了解了MySQL,并且我们已经安装好了MySQL,那么就让我们一起来学习怎么使用吧。首先呢,我们要知道我们需要的其实是MySQL的服务器模块,换句话说,我们实际上把它当成一个服务器就好了,那么问题来了,我们怎么访问“服务器”呢?MySQL workbench当当当~(bgm响起来),还记得我们昨天安装成功后最后弹出来的这个界面吗?对,就是上面这个东东~,找到它!使用MySQL workbench作为MySQL自原创 2021-05-26 22:59:23 · 129 阅读 · 1 评论 -
MySQL知识学习——第二天:安装MySQL
前言这是本系列的第二篇,前面我们对MySQL有了一个基本的了解,那么今天我们的任务是安装使用MySQL。安装MySQL可以参考如下博客:超详细MySQL安装及基本使用教程超详细MySQL安装教程(Windows)我是2021年5月25日下载安装的,系统:win10,所以当你看到的时候可能会出现一些不同。访问官网,下载下载对应的版本,请访问这里为了偷懒,我们就不注册了然后就是等呀等。。。。然后就下载好了安装下载之后,单击就可以了我们选择第一个第一个表示的是全部安装选择原创 2021-05-25 20:06:27 · 93 阅读 · 0 评论 -
MySQL知识学习——第一天:了解SQL
这里写自定义目录标题前言基本概念数据库DBMS (数据库管理系统)SQL(结构化查询语言)数据库的基本术语表(某种特定类型数据的结构化清单)列行主键前言最近想学SQL方面的知识,所以开了这样一个专栏,算是自己的一个读书笔记吧,主要分享一下自己的学习心得。目标计划是用30天能熟练掌握吧,也算是自己的一个flag,希望不会倒吧~这是第一天,加油!这是看的Ben Forta写的《MySQL Crash Course》 。希望和大家一起学习,共同进步。基本概念数据库数据库就是一个保存有组织的数据的容器原创 2021-05-24 20:47:00 · 135 阅读 · 1 评论