![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MySQL
文章平均质量分 89
MySQL从入门到入门
断河愁
这个作者很懒,什么都没留下…
展开
-
MySQL高级_写到最后
如果不能,自己要千方百计的成长,长到你比领导对具体的业务还熟悉,那你就不可替代。是指那种即使在局部玩命地投入资源,但在总体上也没有实际收益的竞争。,你可以不去一线写代码,但是除非有极强的管理能力,否则也要有不错的编码能力。当你觉得选择的路很艰难,很累,很难受的时候。说明你可能在成长,你在走上坡路。当你觉得选择的路很容易,很爽,很舒服的时候。说明你可能在逃避,你在走下坡路。)顶尖高手,比的是慢、是笨、是扎实,是聪明人下笨功夫。时间是用来打造你的核心竞争壁垒的工具!)容易走的路,都是下坡路。原创 2023-05-19 15:30:56 · 52 阅读 · 0 评论 -
MySQL高级_第19章_数据库备份与恢复
不同服务器之间可以采用物理迁移,我们可以在新的服务器上安装好同版本的数据库软件,创建好相同目录,建议配置文件也要和原数据库相同,然后从原数据库方拷贝来数据文件及日志文件,配置好文件组权限,之后在新服务器这边使用 mysqld。可能有这样的需求,比如说我们只想恢复某一个库,但是我们有的是整个实例的备份,这个时候我们可以从全量备份中分离出单个库的备份。数据库迁移的原因是多样的,包括服务器或存储设备更换、维护或升级,应用程序迁移,网站集成,灾难恢复和数据中心迁移。逻辑备份恢复速度慢,但占用空间小,更灵活。原创 2023-05-19 15:26:04 · 279 阅读 · 0 评论 -
MySQL高级_第18章_主从复制
此外,一般应用对数据库而言都是读多写少,也就说对数据库读取数据的压力比较大,有一个思路就是采用数据库集群的方案,做主从架构、进行读写分离,这样同样可以提升数据库的并发处理能力。但并不是所有的应用都需要对数据库进行主从架构的设置,毕竟设置架构本身是有成本的。如果我们的目的在于提升数据库高并发访问的效率,那么首先考虑的是如何优化SQL和索引,这种方式简单有效;其次才是采用缓存的策略,比如使用Redis将热点数据保存在内存数据库中,提升读取的效率;最后才是对数据库采用主从架构。原创 2023-05-19 14:47:42 · 79 阅读 · 0 评论 -
MySQL高级_第17章_其他数据库日志
很多看似奇怪的问题,答案往往就藏在日志里。但是,如果遇到数据量大、数据库和数据表很多(比如分库分表的应用)的场景,用二进制日志进行数据恢复,是很有挑战性的,因为起止位置不容易管理。在这种情况下,就可能导致你恢复从服务器的时候,无法从宕机前的中继日志里读取数据,以为是日志文件损坏了,其实是名称不对了。的架构,把二进制日志文件的内容通过中继日志,同步到从数据库服务器中,这样就可以有效避免数据库故障导致的数据异常等问题。然后,从服务器读取中继日志,并根据中继日志的内容对从服务器的数据进行更新,完成主从服务器的。原创 2023-05-19 14:21:38 · 49 阅读 · 0 评论 -
MySQL高级_第16章_多版本并发控制
假如另一个事务已经修改了记录但是尚未提交,是不能直接读取最新版本的记录的,核心问题就是需要判断一下版本链中的哪个版本是当前事务可见的,这是ReadView。当前读读取的是记录的最新版本(最新数据,而不是历史版本的数据),读取时还要保证其他并发事务不能修改当前记录,会对读取的记录进行加锁。换言之,就是为了查询一些正在被另一个事务更新的行,并且可以看到它们被更新之前的值,这样在做查询的时候就不用等待另一个事务释放锁。隔离级别的事务,由于可以读到未提交事务修改过的记录,所以直接读取记录的最新版本就好了。原创 2023-05-19 13:54:47 · 48 阅读 · 0 评论 -
MySQL高级_第15章_锁
当我们使用页锁的时候,会出现数据浪费的现象,但这样的浪费最多也就是一个页上的数据行。锁升级就是用更大粒度的锁替代多个更小粒度的锁,比如InnoDB 中行锁升级为表锁,这样做的好处是占用的锁空间降低了,但同时数据的并发度也下降了。时间戳和版本号机制一样,也是在更新提交的时候,将当前数据的时间戳和更新之前取得的时间戳进行比较,如果两者一致则更新成功,否则就是版本冲突。悲观锁是一种思想,顾名思义,就是很悲观,对数据被其他事务的修改持保守态度,会通过数据库自身的锁机制来实现,从而保证数据操作的排它性。原创 2023-05-19 13:32:55 · 54 阅读 · 0 评论 -
MySQL高级_第14章_MySQL事务日志
所以最坏的情况就是事务提交后,刚写完缓冲池,数据库宕机了,那么这段数据就是丢失的,无法恢复。的特性,就是说对于一个已经提交的事务,在事务提交后即使系统发生了崩溃,这个事务对数据库中所做的更改也不能丢失。当一个事务开始的时候,会制定一个回滚段,在事务进行的过程中,当数据被修改时,原始的数。用,事务会在段中请求扩展下一个盘区,如果所有已分配的盘区都被用完,事务会覆盖最初的盘。在回滚段中,事务会不断填充盘区,直到事务结束或所有的空间被用完。,提供再写入操作,恢复提交事务修改的页操作,用来保证事务的持。原创 2023-05-19 12:43:05 · 54 阅读 · 0 评论 -
MySQL高级_第13章_事务基础知识
如果事务中的某个操作失败了,系统就会自动撤销当前正在执行的事务,返回到事务操作之前的状态。当我们通过事务对数据进行修改的时候,首先会将数据库的变化信息记录到重做日志中,然后再对数据库中对应的行进行修改。这样做的好处是,即使数据库系统崩溃,数据库重启后也能找到没有更新到数据库系统中的重做日志,重新执行,从而使事务具有持久性。不同的隔离级别有不同的现象,并有不同的锁和并发机制,隔离级别越高,数据库的并发性能就越差,数据库规定了多种事务隔离级别,不同隔离级别对应不同的干扰程度,隔离级别越高,数据一致性。原创 2023-05-19 12:22:20 · 44 阅读 · 0 评论 -
MySQL高级_第12章_数据库其它调优策略
因为数据都是存放到数据库中,我们需要从数据库层中取出数据放到内存中进行业务逻辑的操作,当用户量增大的时候,如果频繁地进行数据查询,会消耗数据库的很多资源。表的规范化程度越高,表与表之间的关系就越多,需要连接查询的情况也就越多。物理查询优化是在确定了逻辑查询优化之后,采用物理优化技术(比如索引等),通过计算代价模型对各种可能的访问路径进行估算,从而找到执行方式中代价最小的作为执行计划。的值与表中数据的总条数差距越大,即使查询的时候使用了该索引作为查询条件,存储引擎实际查询的时候使用的概率就越小。原创 2023-05-18 22:13:36 · 185 阅读 · 0 评论 -
MySQL高级_第11章_数据库的设计规范
相反,另外一边的实体通过这个关系,则只能对应唯一的一边的实体。比如说,我们新建一个班级表,而每个班级都有多个学生,每个学生则对应一个班级,班级对学生就是一对多的关系。模型展示了电商业务的框架,但是只包括了订单,地址,用户,购物车,评论,商品,商品分类和订单详情这八个实体,以及它们之间的关系,还不能对应到具体的表,以及表与表之间的关联。设置好后如下图所示,需要注意的是有箭头的一方是一,无箭头的一方是多,即一对多的多对一的关系需要搞清楚,学生也可以有很多老师,老师也可以有很多学生,所以学生和老师都可以是主体;原创 2023-05-18 21:42:15 · 390 阅读 · 0 评论 -
MySQL高级_第10章_索引优化与查询优化
比如,张三因为工作变动搬离了原来的地址,不再到商家的门店消费了 (退还了会员卡),于是张三就不再是这个商家门店的会员了。另外在真实的业务系统中,主键还可以加入业务和系统属性,如用户的尾号,机房的信息等。是局部唯一,只在当前数据库实例中唯一,而不是全局唯一,在任意服务器间都是唯一的。当需要更新一个数据页时,如果数据页在内存中就直接更新,而如果这个数据页还没有在内存中的话,在不影响数据一致性的前提下,比如,设计各个分店的会员表的主键,因为如果每台机器各自产生的数据需要合并,就可能会出现主键重复的问题。原创 2023-05-18 18:59:43 · 368 阅读 · 0 评论 -
MySQL高级_第09章_性能分析工具的使用
EXPLAIN 或 DESCRIBE语句的语法形式如下: 如果我们想看看某个查询的执行计划的话,可以在具体的查询语句前边加一个 EXPLAIN ,就像这样: 具体分析如下: 从执行计划的结果中可以看出,MySQL打算将s2作为驱动表,s1作为被驱动表,重点关注s1的访问方法是 eq_ref ,表明在访问s1表的时候可以 通过主键的等值匹配 来进行访问。 从 Extra 的 Using index 的提示里我们可以看出,上述查询只需要扫描 idx_key1 索引就原创 2023-05-18 16:48:54 · 388 阅读 · 0 评论 -
MySQL高级_第08章_索引的创建与设计原则
此时,如果发现删除索引后出现错误,又只能通过显式创建索引的方式将删除的索引创建回来。既是主键、又给它定义为一个唯一索引,还给它定义了一个普通索引,可是主键本身就会生成聚簇索引,所以定义的唯一索引和普通索引是重复的,这种情况要避免。(强制使用索引),优化器也不会使用该索引),确认将索引设置为隐藏索引后系统不受任何响应,就可以彻底删除索引。字段上建立索引时,必须指定索引长度,没必要对全字段建立索引,根据实际文本区分度决定索引长度。提示 删除表中的列时,如果要删除的列为索引的组成部分,则该列也会从索引中删除。原创 2023-05-18 15:34:32 · 257 阅读 · 0 评论 -
MySQL高级_第07章_InnoDB数据存储结构
页a、页b、页c ..页n这些页可以不在物理结构上相连,只要通过双向链表相关联即可。每个数据页中的记录会按照主键值从小到大的顺序组成一个单向链表,每个数据页都会为存储在它里边的记录生成一个页目录,在通过主键查找某条记录的时候可以在页目录中使用二分法快速定位到对应的槽然后再遍历该槽对应分组中的记录即可快速找到指定的记录。原创 2023-05-17 13:43:26 · 200 阅读 · 0 评论 -
MySQL高级_第06章_索引的数据结构
不论是叶子节点中的记录,还是内节点中的记录(也就是不论是用户记录还是目录项记录)都是按照索引列的值从小到大的顺序而形成了一个单向链表。因为各个页中的记录并没有规律,我们并不知道我们的搜索条件匹配哪些页中的记录,所以不得不依次遍历所有的数据页。树的搜索过程中,我们比较的次数并不少,但如果把数据读取出来然后在内存中进行比较,这个时间就是可以忽略不计的。在没有索引的情况下,不论是根据主键列或者其他列的值进行查找,由于我们并不能快速的定位到记录所在的页,所以只能。因为要遍历所有的数据页,所以这种方式显然是。原创 2023-05-17 13:31:20 · 120 阅读 · 0 评论 -
MySQL高级_第05章_存储引擎
的部分被应用于缓冲池。如果试图将数据插入从表,但在主表中没有对应的数据,插入的数据将被自动移除。如果磁盘或内存中的数据出现崩溃,在使用脏数据之前,校验和机制会发出警告。更改缓存是一个特殊的数据结构,当受影响的索引页不在缓存中时,更改缓存会缓存辅助索引页的更改。每个表一个文件的表空间是指每个单独的表空间创建在自身的数据文件中,而不是系统表空间中。如果拥有额外的软件保护,极可靠的硬件或者应用可以容忍一小部分的数据丢失和不一致,可以将MySQL。缓冲池是主内存中的一部分空间,用来缓存已使用的表和索引数据。原创 2023-05-17 11:38:19 · 255 阅读 · 0 评论 -
MySQL高级_第04章_逻辑架构
那服务器进程对客户端进程发送的请求做了什么处理,才能产生最后的处理结果呢?这里以查询请求为例展示:下面具体展开看一下:系统(客户端)访问MySQL服务器前,做的第一件事就是建立TCP连接。经过三次握手建立连接成功后,MySQL服务器对TCP传输过来的账号密码做身份认证、权限获取。TCP连接收到请求后,必须要分配给一个线程专门与这个客户端的交互。所以还会有个线程池,去走后面的流程。每一个连接从线程池中获取线程,省去了创建和销毁线程的开销。接收用户的SQL。原创 2023-05-16 22:49:16 · 324 阅读 · 0 评论 -
MySQL高级_第03章_用户与权限管理
对此连接上进来的每个请求,服务器检查该请求要执行什么操作、是否有足够的权限来执行它,这正是需要授权表中的权限列发挥作用的地方。当我们需要对业务重新整合的时候,可能就需要对之前创建的角色进行清理,删除一些不会再使用的角色。用户是数据库的使用者,我们可以通过给用户授予访问数据库中资源的权限,来控制使用者对数据库的访问,消除安全隐患。我们在开发应用的时候,经常会遇到一种需求,就是要根据用户的不同,对数据进行横向和纵向的分组。所谓横向的分组,就是指用户可以接触到的数据的范围,比如可以看到哪些表的数据;原创 2023-05-06 13:52:32 · 462 阅读 · 0 评论 -
MySQL高级_第02章_MySQL的数据目录
的发展,除了上述两种老牌表空间之外,现在还新提出了一些不同类型的表空间,比如通用表空间(general tablespace)、临时表空间(temporary tablespace)等。来存储表数据的话,会在该表所属数据库对应的子目录下创建一个表示该独立表空间的文件,文件名和表名相同,只不过添加了一个。的用户账户和权限信息,一些存储过程、事件的定义信息,一些运行过程中产生的日志信息,一些帮助信息以及时区信息等。包括统计最近执行了哪些语句,在执行过程的每个阶段都花费了多长时间,内存的使用情况等信息。原创 2023-04-27 17:29:50 · 69 阅读 · 0 评论 -
MySQL高级_第01章_Linux下MySQL的安装与使用
查看进程: 在MySQL5.7中添加中文数据时,报错: 最后一列 Maxlen ,它代表该种字符集表示一个字符最多需要几个字节。 由于我的计算机上 character_set_client 的值是 utf8 ,首先会按照 utf8 字符集对字节串 0xE68891 进行解码,得到的字符串就是 '我' ,然后按照 character_set_connection 代表的 字符集,也就是 gbk 进行编码,得到的结果就是字节串 0xCED2 。 设置 sql_mode原创 2023-04-27 15:29:36 · 672 阅读 · 0 评论 -
MySQL_第18章_MySQL8其它新特性
而且,跟子查询相比,公用表表达式有一个优点,就是定义过公用表表达式之后的查询,可以像一个表一样多次引用公用表表达式,而子查询则不能。如果第四步的结果集为空,则计算结束,第三步的结果集就是我们需要的下下属集了,否则就必须继续进行第四步,一直到结果集为空为止。窗口函数的作用类似于在查询中对数据进行分组,不同的是,分组操作会把分组的结果聚合成一条记录,而窗口函数是将结果置于每一条数据记录中。普通公用表表达式类似于子查询,不过,跟子查询不同的是,它可以被多次引用,而且可以被其他的普通公用表表达式所引用。原创 2023-04-25 14:19:29 · 101 阅读 · 0 评论 -
MySQL_第17章_触发器
这个时候,在进货单头表中的总计数量和总计金额就必须重新计算,否则,进货单头表中的总计数量和总计金额就不等于进货单明细表中数量合计和金额合计了,这就是数据不一致。可是,如果你不了解这个触发器,很可能会认为是更新语句本身的问题,或者是会员信息表的结构出了问题。这样一来,进货单头表中的合计数量与合计金额的值,就始终与进货单明细表中计算出来的合计数量与合计金额的值相同,数据就是一致的,不会互相矛盾。子句,此时修改父表被引用的键值或删除父表被引用的记录行时,也会引起子表的修改和删除操作,此时基于子表的UPDATE。原创 2023-04-25 13:50:55 · 125 阅读 · 0 评论 -
MySQL_第16章_变量、流程控制与游标
游标,提供了一种灵活的操作方式,让我们能够对结果集中的每一条记录进行定位,并对指向的记录中的数据进行操作的数据结构。结果集中的数据,提供了完美的解决方案。跟在应用层面实现相同的功能相比,游标可以在存储程序中使用,效率高,程序也更加简洁。服务器内存中生成与该会话对应的会话系统变量,这些会话系统变量的初始值是全局系统变量值的复制。在执行语句执行时,先对指定的表达式进行判断,如果为真,就执行循环内的语句,否则退出循环。数据库的存储过程和函数中,可以使用变量来存储查询或计算的中间结果数据,或者输出最终的结果数据。原创 2023-04-25 13:40:12 · 60 阅读 · 0 评论 -
MySQL_第15章_存储过程与函数
结果显示,存储过程修改成功。,比如有些公司对于大型项目要求使用存储过程,而有些公司在手册中明确禁止使用存储过程,为什么这些公司对存储过程的使用需求差别这么大呢?尽管不同的公司对存储过程的态度不一,但是对于我们开发人员来说,不论怎样,掌握存储过程都是必备的技能之一。高并发的场景需要减少数据库的压力,有时数据库会采用分库分表的方式,而且对可扩展性要求很高,在这种情况下,存储过程会变得难以维护,反之,存储过程的功能更加强大,包括能够执行对表的操作(比如创建表,删除表等)和事务操作,这些功能是存储函数不具备的。转载 2023-04-25 11:31:42 · 307 阅读 · 0 评论 -
MySQL_第14章_视图
将经常使用的查询操作定义为视图,可以使开发人员不需要关心视图对应的数据表的结构、表与表之间的关联关系,也不需要关心数据表之间的业务逻辑和查询条件,而只需要简单地操作视图即可,极大简化了开发人员对数据库的操作。数据库中如果存在复杂的查询逻辑,则可以将问题进行分解,创建多个视图获取数据,再将创建的多个视图结合起来,完成复杂的查询逻辑。所以,在创建视图的时候,你要结合实际项目需求,综合考虑视图的优点和不足,这样才能正确使用视图,使系统整体达到最优。当视图中的数据发生变化时,数据表中的数据也会发生变化,反之亦然。原创 2023-04-23 15:36:33 · 182 阅读 · 0 评论 -
MySQL_第13章_约束
数据完整性(Data Integrity)是指数据的精确性(Accuracy)和可靠性(Reliability)。它是防止数据库中存在不符合语义规定的数据和防止因错误信息的输入输出造成无效操作或错误信息而提出的。为了保证数据的完整性,SQL规范以约束的方式对。原创 2023-04-23 15:18:06 · 296 阅读 · 0 评论 -
MySQL_第12章_MySQL数据类型精讲
在某些环境中,如果把这些数据列移动到第二张数据表中,可以让你把原数据表中的数据列转换为固定长度的数据行格式,那么它就是有意义的。不过,凡事都是有两面的,可靠性好,并不意味着高效。每次存储都要有额外的计算,得到长度等工作,如果一个非常频繁改变的,那就要有很多的精力用于计算,而这些对于char。数据类型的精准性,在我们的项目中,除了极少数(比如商品编号)用到整数类型外,其他的数值都用的是 DECIMAL。原因就在于,客户门店中流通的商品种类较多,而且,每天都有旧商品下架,新商品上架,这样不断迭代,日积月累。原创 2023-04-23 11:58:50 · 350 阅读 · 0 评论 -
MySQL_第11章_数据处理之增删改
语句查询的结果插入到表中,此时不需要把每一条记录的值一个一个输入,只需要使用一条INSERT。值列表中需要为表的每一个字段指定值,并且值的顺序必须和数据表中字段定义时的顺序相同。:表明插入时被忽略的记录,原因可能是这些记录包含了重复的主键值。会返回一些在执行单行插入时没有的额外信息,这些信息的含义如下: ● Records。语句中只向部分字段中插入值,而其他字段的值为表定义时的默认值。、查询图书信息,按照库存量降序排列,如果库存量相同的按照。、查询图书信息,按照库存量降序排列,如果库存量相同的按照。原创 2023-04-23 10:34:15 · 115 阅读 · 0 评论 -
MySQL_第10章_创建和管理表
讲师:尚硅谷宋红康(江湖人称:康师傅)存储数据是处理数据的第一步。只有正确地把数据存储起来,我们才能进行有效的处理和分析。否则,只能是一团乱麻,无从下手。那么,怎样才能把用户各种经营相关的、纷繁复杂的数据,有序、高效地存储起来呢?在MySQL中,一个完整的数据存储过程总共有 4步,分别是创建数据库、确认字段、创建数据表、插入数据。我们要先创建一个数据库,而不是直接创建数据表呢?因为从系统架构的层次上看,MySQL数据库系统从大到小依次是数据库服务器数据库数据表、数据表的。原创 2023-04-22 22:50:55 · 378 阅读 · 0 评论 -
MySQL_第09章_子查询
如果子查询的执行依赖于外部查询,通常情况下都是因为子查询中的表用到了外部的表,并进行了条件关联,因此每执行一次外部查询,子查询都要重新计算一次,这样的子查询就称之为。同样,如果子查询需要执行多次,即采用循环的方式,先从外部查询开始,每次都传入子查询进行查询,然后再将结果反馈给外部,这种嵌套的执行方式就称为相关子查询。子查询从数据表中查询了数据结果,如果这个数据结果只执行一次,然后这个数据结果作为主查询的条件进行执行,那么这样的子查询叫做不相关子查询。子查询的结果被主查询(外查询)使用。原创 2023-04-22 22:11:37 · 401 阅读 · 0 评论 -
MySQL_第08章_聚合函数
则需要先把结果集准备好,也就是用未被筛选的数据集进行关联,然后对这个大的数据集进行筛选,这样占用的资源就比较多,执行效率也较低。函数还有一类,叫做聚合(或聚集、分组)函数,它是对一组数据进行汇总的函数,输入的是一组数据的集合,输出的是单个值。关键字之后,在所有查询出的分组记录之后增加一条记录,该记录计算查询出的所有记录的总和,即统计记录数量。之后,可以使用分组字段和分组中的计算函数,对分组的结果集进行筛选,这个功能是 WHERE。语句的时候,不一定存在所有的关键字,相应的阶段就会省略。原创 2023-04-22 21:45:03 · 598 阅读 · 0 评论 -
MySQL_第07章_单行函数
提供了丰富的内置函数,这些函数使得数据的维护与管理更加方便,能够更好地提供数据的分析与统计功能,在一定程度上提高了开发人员进行数据分析与统计的效率。内置函数是系统内置的通用函数,而自定义函数是我们根据自己的需要编写的,本章及下一章讲解的是 SQL。函数在计算机语言的使用中贯穿始终,函数的作用是什么呢?可以分为数值函数、字符串函数、日期和时间函数、流程控制函数、加密与解密函数、获取MySQL。语言的时候,不是直接和这门语言打交道,而是通过它使用不同的数据库软件,即 DBMS。信息函数、聚合函数等。原创 2023-04-22 21:22:08 · 557 阅读 · 0 评论 -
MySQL_第06章_多表查询
前提条件:这些一起查询的表之间是有关系的(一对一、一对多),它们之间一定是有关联字段,这个关联字段可能建立了外键,也可能没有建立外键。需要注意的是,如果我们使用了表的别名,在查询字段中、过滤条件中就只能使用别名进行代替,不能使用原有的表名,否则就会报错。】对于数据库中表记录的查询和变更,只要涉及多个表,都需要在列名前加表的别名(或。:在某业务中,由于多表关联查询语句没有加表的别名(或表名)的限制,正常运行两年。对于两个结果集的重复部分,不去重。多表查询,也称为关联查询,指两个或更多个表一起完成查询操作。原创 2023-04-22 17:37:21 · 173 阅读 · 0 评论 -
MySQL_第05章_排序与分页
使用LIMIT的好处约束返回结果的数量可以减少数据表的网络传输量,也可以提升查询效率。如果我们知道返回结果只有1 条,就可以使用LIMIT 1,告诉SELECT语句只需要返回一条记录即可。这样的好处就是SELECT不需要扫描完整的表,只需要检索到一条符合条件的记录即可返回。原创 2023-04-22 16:58:39 · 414 阅读 · 0 评论 -
MySQL_第04章_运算符
算术运算符主要用于数学运算,其可以连接运算符前后的两个数值或表达式,对数值或表达式进行加 (+)、减(-)、乘(*)、除(/)和取模(按位右移(>>)运算符将给定的值的二进制数的所有位右移指定的位数。右移指定的位数后,右边低位的数值被移出并丢弃,左边高位空出的位置用0。按位左移(原创 2023-04-22 16:43:10 · 377 阅读 · 0 评论 -
MySQL_第03章_基本的SELECT语句
在这几十年里,无数的技术、产业在这片江湖里沉浮,有的方兴未艾,有的已经几幕兴衰。使用通配符虽然可以节省输入查询语句的时间,但是获取不需要的列数据通常会降低查询和所使用的应用程序的效率。语法的确提供了这个功能,一般来说我们只从一个表中查询数据,通常不需要增加一个固定的常数列,但如果我们想整合不同的数据源,用常数列作为这个表的标记,就需要查询常数。的作用是相同的,但是,许多开发人员习惯将关键字大写、数据列和表名小写,读者也应该养成一个良好的编程习惯,这样写出来的代码更容易阅读和维护。提取自己想要的数据。原创 2023-04-19 17:58:55 · 615 阅读 · 0 评论 -
Java_第02章_MySQL环境搭建
在卸载之前,先停止MySQL8.0的服务。按键盘上的组合键,打开任务管理器对话框,可以在“服务列表找到“MySQL8.0”的服务,如果现在正在运行状态,可以右键单击服务,选择停止”选项停止MySQL8.0的服务,如图所示。卸载MySQL8.0的程序可以和其他桌面应用程序一样直接在控制面板选择卸载程序,并在程序列表中找到MySQL8.0服务器程序,直接双击卸载即可,如图所示。这种方式删除,数据目录下的数据不会跟着删除。略你也可以通过安装向导程序进行。原创 2023-04-19 17:00:41 · 1371 阅读 · 0 评论 -
MySQL_第01章_数据库概述
持久化。原创 2023-04-19 15:37:30 · 855 阅读 · 0 评论 -
分布式数据库 MyCat
作,这些数据库服务器根据业务需求提供服务,部分数据库只提供数据的写操作,另外⼀部。⼀个数据库服务器不能满⾜应⽤系统的并发访问压⼒,我们可以使⽤多个数据库来协同⼯。在⾼并发系统中⽤户越多势必对数据库的并发能⼒就有更⾼的要求,当⼀个数据库服务。当⽤户并发访问⽐较⾼的时候,需要就需要通过对读库进⾏集群来提供并发能⼒,但凡。构中所有的服务还是连接的同⼀个数据库,也就是说多个服务可以接受更⾼的⽤户并。缓存数据库数据库数据,有效的降低对数据库的并发连接请求,但是。也就是说应⽤系统中的不同操作访问不同的数据库。原创 2022-10-11 15:32:10 · 666 阅读 · 0 评论 -
MySQL_第00章_MySQL数据库基础篇大纲
希望这份认真、严谨你在课程的每个细节都能体会到。希望通过这套课程的系统性训练,你也能感受到这种思维方式的美,最终也能获得这种思维方式。第一个逻辑学家说,我不知道。第二个逻辑学家说,我不知道。第三个逻辑学家说,是的。在解决问题时,如果记不清某些概念或者细节比较模糊,则可以拿来参考。才是在未来可以迁移的能力,如果只是学习一些命令,则很快会过时,第二底层原理要懂,懂了才能更自由地应对复杂多变的业务场景。这个笑话是我从万维钢的专栏里看到的。说白了,知道怎么用是一方面,知道为什么则是更为。年的开发人员和运维人员。原创 2023-04-19 14:16:51 · 673 阅读 · 0 评论