- 博客(1321)
- 收藏
- 关注
原创 MySQL 视图的检查选项(WITH CHECK OPTION)详解
在 MySQL 中创建视图时,可以在定义末尾加上,用来约束通过视图执行的INSERTUPDATE操作:写入后的行必须仍然满足视图的WHERE条件,否则语句直接报错。简单来说,检查选项解决的是这样一个问题:视图只展示满足条件的行,但如果不加约束,用户却可以通过视图插入一条“不满足条件”的数据,导致这条数据插入后从视图中“消失”,造成理解上的困惑和数据一致性问题。FROM emp上面的视图只包含 IT 部门的员工。加上后,通过该视图插入或更新数据时,dept必须等于'IT',否则报错。
2026-11-06 23:56:05
291
原创 mysql之视图创建,查询,修改与删除
视图创建的语法是create or replace view 视图名 as select 语句其中 or replace语句可以不写比如。
2026-11-06 23:53:32
225
原创 MySQL 中 ORDER BY、GROUP BY、LIMIT、COUNT 的优化实践
让数据库少做无用功。排序与分组的关键是借助索引的有序性消除 filesort 和临时表;分页的关键是避免大 offset 的无效扫描;计数的关键是选择最小的索引并避免不必要的精确统计。在实际项目中,建议先通过EXPLAIN确认瓶颈,再针对性地调整索引与 SQL 写法,最后用真实数据量验证效果。索引不是越多越好,每一次新增索引都要权衡写入成本与查询收益。
2026-11-01 22:47:49
301
原创 mysql之insert优化
使用 INSERT INTO …) 语法一次性插入多行数据,减少网络往返和事务开销。相比逐条插入,性能提升显著,尤其在数据量较大时。将多个插入操作包裹在事务中,减少日志写入次数。但需注意事务过长可能导致锁等待或回滚开销增加,建议控制事务大小,批量提交(如每1000~5000条提交一次)。在执行批量插入前,关闭自动提交(SET autocommit = 0),手动控制事务提交时机,避免每条语句都触发一次提交操作。批量插入代替单条插入。
2026-10-28 22:52:17
331
原创 sql将字符串转换为大小写
从上面的sql代码可以看出来,upper函数和lower函数分别将product_name字段转换为大写和小写。lower函数将字符串转换为小写。upper函数将字符串转为大写。
2026-10-22 16:45:56
177
原创 sql之拼接字段
在sql中,||是字符串拼接符,注意在mysql里面用不了,在sqlite可以用。select 字段1||字段2||字段3 from 表格。在mysql,想要达到类似的结果。
2026-10-21 16:20:10
348
原创 mysql之前缀索引
前缀索引指在字段时test或者varchar时,会存储长度很长的字符串,比如文章,这时候索引很长的字符串,会浪费磁盘,这个时候就会用到前缀索引。create index 索引名 表名(字段名(长度))
2026-10-21 00:10:32
162
原创 mysql之sql提示
sql提示是指一个表的一个字段中存在多个索引,可以要求mysql在使用索引时使用某个索引或者不使用某个索引。use index(索引名称),建议mysql使用某个索引,但mysql会自己判断使用哪个索引。强制使用某个索引 force index(索引名)ignore index(索引名) 忽略某个索引。
2026-10-20 23:45:15
224
原创 sql之计算
在sql中,加法运算符用于数值相加计算,前提是两边的数值都是数值类型。比如表中之间列的加法比如一个products表中要对列进行计算,是列名1+列名2。
2026-10-10 16:57:17
189
原创 sql之is not null运算符
is not null运算符是数据库中用于检查某个字段的值不为null的条件语句。select 字段名 from 表名 where 字段名 is not null。
2026-10-09 17:14:42
130
原创 sql之is null 运算符
select 字段名 from 表名 where 字段名 is null。is null 运算符用于在条件语句中检查某个字段是否为null。上面的语句筛选描述列值为null的所有行。
2026-10-09 17:05:15
205
原创 银行存款收益下降的原因
许多家庭在前几年高位接盘了房地产,房价下跌了,买房形成的负债还得还,为了稳住房地产市场和减轻购房者的压力,会把房贷利率降低,以前房地产过热时,为了遏制房地产价格,贷款利率比较高,能达到 5%左右,现在下降到 2%至 3%之间,银行是要赚贷款利息与存款利息之间差价,贷款利息降了,存款利息自然跟着降。银行存款收益下降的一个原因是房地产进入熊市。
2026-10-07 23:29:59
186
原创 mysql之索引创建,查看,删除
create [unique|fulltext] index 索引名 on 表名(字段)上面sql语句中idx_user_name是索引名,tb_users是表,name是字段。drop index 索引名 on 表名。show index from 表名。
2026-10-07 22:33:59
403
原创 sql之%匹配符
匹配符可用于匹配任意长度的字符串。匹配以特地字符串开头与结尾的值。匹配以特定字符串开头的值。匹配以特定字符串结尾的值。匹配包含特定字符串的值。
2026-10-04 22:00:36
49
原创 mysql之索引类型
如果存在主键,主键就是聚集索引,如果没有主键,那么第一个unique索引就是聚集索引。二级索引是将索引和数据分开存储,索引结构的叶子节点关联的是对应的主键。聚集索引是把数据存储和索引放在一块,索引结构的叶子结点保存了行数据。索引可以分为主键索引,唯一索引,常规索引,全文索引。在Innodb引擎中,索引分为聚集索引和二级索引。
2026-10-02 23:01:31
958
原创 TCP/IP协议封装与分发
当应用程序发送数据时,数据在协议层次由顶向下通过每一层,每一层都会对数据头部或者尾部增加信息,这些信息称为协议数据单元。当主机收到一个数据时,数据就从协议底层向上升,每上升一层检查并去掉每一层首部与尾部的协议数据单元。数据链路层对应的是数据帧。物理层对应的是数据位。网络层对应的是数据包。
2026-10-02 20:49:08
201
原创 TCP/IP邮件协议
IMAP协议是用来连接邮件服务器,但不能直接下载邮件。通过IMAP协议,可以查看邮件服务器里面的邮件,可以选择在哪个计算机下载。邮件使用SMTP发送邮件,使用POP接收邮件,使用IMAP连接邮件服务器。SMTP只能发送文字,不能发送图片,视频,声音等二进制数据。SMTP协议用来发送邮件,负责把邮件发送到另外一台计算机。POP协议是把邮件从邮件服务器下载到计算机里的协议。
2026-10-02 20:29:57
161
原创 mysql之索引结构
哈希索引:底层数据结构是用哈希表实现的,只有精确匹配索引才能实现,范围查询不适用。Full-text(全文索引):是一种通过建立倒排索引,快速匹配文档的方式。R-TREE空间索引:主要用来存地理数据,用途很少。B+tree:最常见的索引结构,大部分引擎都支持。
2026-09-29 22:09:41
198
原创 mysql之索引的介绍
通过索引列对数据进行排序,降低数据排序的成本,降低CPU的消耗。索引大大提高了查询的速度,但降低了更新,删除,插入的速度。索引是一种数据结构,是用来帮助mysql高速获取数据。提高数据检索的效率,降低数据库的IO成本。
2026-09-29 21:49:33
147
原创 mysql之如何选择引擎
InnoDb:支持事务,外键。如果对事务的完整性要求比较高,在并发条件下要求数据的一致性。数据除了查询与插入之外,还有很多更新,查询操作,Innodb是比较合适的选择。myisam:如果应用以读操作和插入操作为主,只有很少的更新和删除操作,并且对事务的完整性,并发性不是很高,则选择myisam。memory:将所有数据保存在内存中,访问速度快,适合临时表及缓存。
2026-09-29 20:42:01
160
原创 TCP/IP寻址
ip地址由四组数字来为计算机编址,每个计算机必须有一个唯一的4组数字组成,每组数字必须在0-255之间, 并由点号隔开。TCP/IP 使用 32 个比特或者 4 组 0 到 255 之间的数字来为计算机编址。IPV6,也被称为下一代互联网协议,它是由128位写成8个16位无符号整数位组成。每个计算机必须有一个ip地址才能连接互联网。每个ip包必须有一个地址才能发送。
2026-09-29 14:31:22
155
原创 TCP/IP网络基础
网络上每一个节点都必须有一个独立的IP地址,ip地址是一个32bit的数字,被分为4组,在window系统上使用ipconfig查看。用12位数字组成的域名,记着不方便,一般每个ip会起一个别名,这个别名叫域名。windows给域名,使用nslookup命令查看。每个设备出厂时都会自带的一个物理地址。
2026-09-29 13:56:02
122
原创 mysql之innoDB引擎介绍
innoDB引擎是一种兼顾高可靠性和高性能的通用引擎。支持外键约束,保证数据的完整性和正确性。DML操作支持ACID模型,支持事务。它按照表空间,段,区,页,行划分。行级锁,提高并发访问性能。innoDB逻辑结构。
2026-09-25 22:22:21
153
原创 TCP/IP网络协议栈架构
第四层 传输层:定义了一些传输数据的协议和端口号,它主要作用是将下层接收的数据进行分段与传输,到达目的地址之后再进行重组。第二层 数据链路层:定义了如何让格式化数据进行传输以及如何让控制对物理介质进行访问。第六层 表示层 可以确保一个系统的应用层所发送的信息可以被另一个系统的应用层读取。第七层 应用层 是最靠近用户的OSI层,这一层作为用户的应用程序(例如电子邮件、第三层 网络层:对于不同地理地址的网络中两个主机系统之间提供连接和路由选择。主要用来定义物理设备的标准。和终端仿真)来提供网络服务。
2026-09-25 14:37:09
366
原创 TCP/IP介绍
因此,UDP不被应用于那些使用虚电路的面向连接的服务,UDP主要用于那些面向查询—应答的服务,例如NFS。TCP/IP 是供已连接因特网的计算机进行通信的协议,它定义了电子设备如何连接因特网,以及如何进行数据传输。欺骗UDP包比欺骗TCP包更容易,因为UDP没有建立初始化连接(也可以称为握手)(因为在两个系统间没有虚电路),也就是说,与UDP相关的服务面临着更大的危险。TCP是面向连接的通信协议,通过三次握手建立连接,通讯完成时要拆除连接,由于TCP是面向连接的所以只能用于端到端的通讯。
2026-09-25 13:26:52
246
原创 sql之逻辑运算符
select 字段名 from 表名 where 条件1 and 条件2。select 字段名 from 表名 where 条件1 or 条件2。and运算符同时用于连接多个条件或者表达式。or运算符用于连接多个条件,只要有一个为真。not运算符用于否定一个表达式。and运算级别要比or要高。
2026-09-24 16:58:14
190
1
原创 sql比较运算符
判断左边的值,字符串,表达式是否小于等于右边。判断左边的值,字符串,表达式是否大于等于右边。判断左边的值,字符串,表达式是否大于右边。判断左边的值,字符串,表达式是否小于右边。判断两个值或者表达式是否相等。不等运算符 <>!判断两边的值是否不相等。>= 大于等于运算符。
2026-09-23 16:08:36
53
原创 事务的隔离级别
在该级别下,一个事务可以读取到另一个事务尚未提交的数据修改,因此可能产生脏读(dirty read)、不可重复读(non-repeatable read)和幻读(phantom read)等问题。在 Repeatable Read 隔离级别下,事务开始后,系统会为该事务创建一个快照(snapshot),后续对该事务所访问的数据进行读取操作时,始终基于这个快照,不会受到其他并发事务提交的新数据的影响。该级别确保事务的执行结果与串行执行的结果一致,即任意两个事务之间不会产生干扰,完全避免了并发问题。
2026-09-22 23:06:31
92
原创 事务的四个特性(ACID)详解
事务(Transaction)是数据库管理系统执行过程中的一个逻辑工作单元,由一组 SQL 操作组成。事务内的操作要么全部成功提交,要么全部失败回滚,不会出现部分成功、部分失败的情况。例如,银行转账操作中,从 A 账户扣款和向 B 账户加款必须作为一个整体执行。如果扣款成功但加款失败,整个事务必须回滚,保证数据的一致性。事务的四个特性 ACID 是关系型数据库可靠性的核心保障。原子性保证操作不可分割,一致性保证数据始终合法,隔离性保证并发安全,持久性保证数据不丢失。
2026-09-19 23:57:47
296
原创 mysql的事务管理
使用start transaction语句,也可以实现手工提交。这句sql表示事务是手动提交,开启之后提交事务必须用。不用设置@@autocommit的值。不管用哪个方法,提交事务的语句是。
2026-09-19 23:56:08
180
原创 http请求方法
connect 方法是 React 与 Redux 之间建立连接的核心函数,用于将组件与 Redux 的状态管理库进行绑定。通过该方法,组件可以访问 Redux 中的全局状态(state),并能够分发动作(action)来更新状态。从客户端向服务器传送的数据替代指定的文档内容。和get类似,但返回的内容没有具体内容。请求指定的页面信息,并返回实体主体。向指定资源提交数据进行处理。允许客户端查看服务器的性能。请求服务器删除指定的页面。回显服务器收到的请求。
2026-09-19 14:00:18
14
原创 mysql多表练习2
查询研发部所有员工及其工资等级,结果显示其平均工资;进一步统计研发部平均工资;最后找出薪资高于“灭绝”的员工信息,通过子查询获取“灭绝”薪资后进行比较,完成相关数据筛选。
2026-09-16 23:12:57
35
原创 mysql之外连接练习
查询年龄大于40岁的员工,及其归属的部门,如果员工没有部门,也要查询出来。查询年龄小于30岁的员工的姓名,年龄,职位,部门信息(显示内连接)查询员工的姓名,年龄,职位,部门信息(隐式内连接)查询拥有员工的部门id,部门名称。练习6 查询员工的工资等级。这是一道典型的外连接题目。
2026-09-13 23:30:59
195
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅