- 博客(143)
- 资源 (1)
- 收藏
- 关注
原创 Oracle 提示(hint)方法:use_nl
是一个提示(hint),用于指示查询优化器使用"NESTED LOOPS"连接方式。该提示告诉查询优化器在执行连接操作时,应该优先考虑使用"NESTED LOOPS"连接方式,而不是其他连接方式(如"HASH JOIN"或"MERGE JOIN)。通常情况下,Oracle 查询优化器会根据表的大小、索引情况、统计信息等因素自动选择最佳的连接方式。但是,在某些情况下,开发人员可能希望强制使用特定的连接方式,以达到更好的性能。
2024-02-29 14:03:07 622
原创 Mysql 常用函数
例如,有个email字段,abc@163.com;xy@163.com,需要提取出@163.com前面的内容。例如,有个name字段,数据是张三,李四,王五,需要查出来的结果显示为张xx,李xx,王xx。
2024-02-29 13:20:51 776
原创 IDEA设置项目编码格式
只需要修改Project Encoding的编码格式,这样这个项目相关的java代码就都使用这个编码格式了。在IDEA导入了一个Eclipse导出的项目,导入后java代码和properties文件都显示乱码。不需要修改Global Encoding的编码格式。
2024-02-29 10:27:00 367
原创 Mysql <=> 安全等于
会返回1(两边操作数都为NULL时)或者0(一边操作数为NULL)。当然,可以将 1 IS NULL 改写成 1<=> NULL。(NULL-safe equal),该操作符作用类似“=”。<=> 安全等于,为NULL安全的等值比较。区别为当符号两边出现NULL值时,操作符会返回NULL,而。
2024-02-28 22:10:00 562
原创 Mysql8.0 数据类型介绍
无论是数值类型、日期类型、普通的文本类型,可取值的范围都非常大,但是有时候我们指定在固定的几个值范围内选择一个或多个,那么就需要使用ENUM枚举类型和SET集合类型了。DATETIME:日期时间,8字节。TIMESTAMP的取值范围小,并且TIMESTAMP类型的日期时间在存储时会将当前时区的日期时间值转换为时间标准时间值,检索时再转换回当前时区的日期时间值。插入日期,时间的分隔符不限于"-",也可以是“%”,“#”等。可以看到,insert的时候,值必须是创建表的时候预定义的成员,输入其他的会报错。
2024-02-28 21:47:22 1105
原创 Mysql DATETIME与TIMESTAMP的区别
格式为YYYY-MM-DD HH:MM:SS,取值范围1970-01-01 00:00:01 UTC 至 2038-01-19 03:14:07 UTC。DATETIME:日期时间,8字节。格式为YYYY-MM-DD HH:MM:SS,取值范围1000-01-01 00:00:00 至 9999-12-31 23:59:59。TIMESTAMP的取值范围小,并且TIMESTAMP类型的日期时间在存储时会将当前时区的日期时间值转换为时间标准时间值,检索时再转换回当前时区的日期时间值。
2024-02-28 21:23:46 490
原创 Mysql8 新特性:DDL操作原子化以支持事务完整性
在MySQL 8.0中,InnoDB表的DDL操作原子化以支持事务完整性,即一条DDL的SQL语句操作要么全部成功,要么全部失败,将DDL操作日志写入data dictionary数据字典表mysql.innodb_ddl_log中,用于回滚操作,该表是隐藏的表,通过show tables无法看到。操作方法,创建一个数据库,里面创建一个表,比如T1,然后执行删除表操作,删除的时候添加一张不存在的表,这个时候删除操作会报错,确认T1表是否会被删除。如果在Mysql 5 版本,t1表是会被删除的。
2024-02-27 22:05:07 391
原创 Mysql 简单的事务操作
对于复杂的SQL操作,可以定义多个不同的SAVEPOINT,当满足不同的情况时,可回滚不同的SAVEPOINT。如果需要手动提交和回滚事务,就需要通过明确的事务控制命令来开始事务,这是和Oracle等其他数据库的事务管理明显不同的地方。如果希望所有的事务都不是自动提交的,那么通过修改AUTOCOMMIT来控制事务比较方便,这样就不用在每个事务开始的时候执行“START TRANSACTION”语句。在事务中可以通过定义SAVEPOINT(保存点),指定回滚事务的一个部分,但是不能指定提交事务的一个部分。
2024-02-27 21:55:25 424
原创 Mysql8.0 数据库表的基本操作
ALTER TABLE 表名称 MODIFY COLUMN 字段名 数据类型 AFTER 字段名;ALTER TABLE 表名称 ADD COLUMN 新增字段名 数据类型 AFTER 字段名;ALTER TABLE 表名称 MODIFY COLUMN 字段名 数据类型 FIRST;ALTER TABLE 表名称 ADD COLUMN 新增字段名 数据类型 FIRST;ALTER TABLE 表名称 CHANGE COLUMN 字段名 新字段名 数据类型;RENAME TABLE 表名称 TO 新表名称;
2024-02-27 21:48:43 775
原创 Mysql8.0 计算列数据
在MySQL 8.0中,“CREATE TABLE”语句和“ALTER TABLE”语句都支持增加计算列。从结果中可以看出,“total”列的数据由“(chinese+math+english)”计算所得。“total”列的数据由“(chinese+math+english)”计算所得。更新chinese,math, english的值,total都会自动重新计算。如果更新或者修改total自动,会返回错误。
2024-02-27 21:38:53 364
原创 DELETE 和 TRUNCATE 表的区别
TRUNCATE TABLE 表名称:删除原来的表,重新创建一个表,所以执行速度比DELETE快。所以不支持事务回滚。DELETE FROM 表名称:删除表中记录,支持事务回滚。
2024-02-27 21:27:25 297
原创 Mysql8.0 字符集
ISO-8859-1编码是单字节编码,不支持中文等多字节字符,但向下兼容ASCII,其编码范围是0x00-0xFF、0x00-0x7F之间完全和ASCII一致、0x80-0x9F之间是控制字符、0xA0-0xFF之间是文字符号。自MySQL 4.1版本被引入,能够支持绝大多数语言的字符,但依然有些字符不能正确编码,如emoji表情字符等,为此MySQL 5.5引入了utf8mb4字符集。• 校对规则存在命名约定,以其相关的字符集名开始,中间包括一个语言名,并且以_ci、_cs或_bin结尾。
2024-02-27 21:12:02 406
原创 Mysql8.0 安装错误:只有在任务处于完成状态(RanToCompletion、Faulted 或 Canceled)时才能释放它。
只有在任务处于完成状态(RanToCompletion、Faulted 或 Canceled)时才能释放它。刚开始以为是3306端口被占用了,然后换了端口还是同样的错误。右击,打开属性,进入【登录】选项卡,选择本地系统账户。回到mysql安装界面,继续安装即可成功。
2024-02-27 20:31:00 946 1
原创 Mysql8.0 数据库的基本操作
使用DROP DATABASE语句时要非常谨慎,因为在执行该语句时,MySQL不会给出任何提醒确认信息,用DROP DATABASE语句删除数据库后,数据库中存储的所有数据表和数据也将一起被删除,而且不能恢复。• information_schema:提供了访问数据库元数据的各种视图,包括数据库的名、数据库的表、访问权限、数据库表字段的数据类型,数据库索引的信息等。• performance_schema:主要用于收集数据库服务器的性能参数,为MySQL服务器的运行时状态提供了一个底层的监控功能。
2024-02-27 17:45:46 335
原创 Mysql8.0 查看warning信息
同理,查看error信息可以使用: show errors;执行SQL的时候,如果出现warning信息,怎么查看?可以使用 show warnings;
2024-02-27 17:41:36 351
原创 Mysql8.0 常用图形化工具
DBeaver:java开发的,支持多种数据库。MySQL Workbench:官方自带。SQLyog:C++开发的。
2024-02-27 17:01:35 351
原创 Mysql8.0 windows环境下启动与关闭
第二种方式,就是图形化方式。在上述的任务管理器,右击有开始,关闭,在启动。MySQL80默认名字,可以从任务管理器查找。启动:net start MySQL80。关闭:net stop MySQL80。
2024-02-27 16:43:48 354
原创 SQL的通用分类
用于从数据库中查询数据,其语句包括关键字SELECT等,因为查询是最频繁的数据库操作,所以很多时候把查询语句从DML中单列出来。用于在数据库中创建新表、修改表、删除表、创建索引、删除索引等,其语句包括关键字CREATE、ALTER、DROP等。用于实现数据库的事务控制,其语句包括关键字START、COMMIT、SAVEPOINT、ROLLBACK等。用于添加、删除、修改和查询记录,其语句包括关键字INSERT、UPDATE、DELETE、SELECT等。例如,MySQL有USE、SHOW等。
2024-02-27 15:28:38 666
原创 Java8新日期API汇总
JDK1.8 的新日期API解决了旧API中的许多问题,而且与Joda Time API类似,新项目尽量用新日期API。API概览:常用API简要说明:表示时间线上的一个点。参考点是标准的Java纪元(epoch),即1970-01-01T00:00:00Z(1970年1月1日00:00 GMT)。只包括日期没有时间的部分。它也没有时区。是不可变的,因此无法更改。基于日期的时间数量构建,例如五天,一周或三年。是一个没有时区的日期时间的构建。
2024-02-27 14:10:25 285
原创 Oracle执行计划中字段后(+)的意思
"T3"."MM_CD"(+), 带(+)表示是左连接,是oracle的特有语法。是T1与T3以上述2个字段进行左外连接。
2024-02-23 14:40:17 411
原创 Oracle之COALESCE函数
函数用于返回参数列表中第一个非NULL值。如果所有参数都是NULL,则返回NULL。这可以用于处理可能为空的数据列或表达式。如果学生有昵称,则会显示昵称,如果没有昵称,则显示"No Nickname"。这样可以使结果集更易读和完整。
2024-02-23 13:49:36 336
原创 ORACLE之 decode函数
其中,expression是要进行比较的表达式,search1, search2等是可能的值,result1, result2等是对应的结果。如果expression等于search1,则返回result1;如果expression等于search2,则返回result2;如果expression与任何search值都不匹配,则返回default_result。如果学生的分数为90,则返回'A',80返回'B',70返回'C',其余分数返回'D'
2024-02-22 17:12:10 317
原创 Reactive到Spring WebFlux的来龙去脉
概述本文将通过对 Reactive 以及相关概念的解释引出 Spring-WebFlux,并通过一些示例向读者解释 基于 Spring-WebFlux 如何进行反应式编程实践,同时会讨论相关技术的优缺点及技术原理。本文只是做一个整理,归纳,以供自己或者他人学习之用。一文弄懂 Spring WebFlux 的来龙去脉 - 知乎。
2024-02-20 10:44:35 436
原创 响应式流的背压现象介绍
BackPressure,即背压或回压。Backpressure 是一种现象:当数据流从上游生产者向下游消费者传输的过程中,上游生产速度大于下游消费速度,导致下游的 Buffer 溢出,这种现象就叫做 Backpressure。
2024-02-20 10:38:25 364
原创 Java 9 响应式流(Reactive Streams)
首先出现响应式编程理念,然后出现响应式编程实现,再然后出现响应式规范,响应流主要解决处理元素流的问题—如何将元素流从发布者传递到订阅者,不而不需要发布者阻塞,或者要求订阅者有无限的缓冲区,有限的缓冲区在到达缓冲上界的时候,对到达的元素进行丢弃或者拒绝,订阅者可以异步通知发布者降低或提升数据生产发布的速率,它是响应式编程实现效果的核心特点。
2024-02-20 10:20:05 549
原创 响应式编程与命令式编程
比如,在Excel里,C单元格上设置函数SUM(A+B),当你改变单元格A或者单元格B的数值时,单元格C的值也会发生变化。这种行为就是Reactive。平时常用的编程模式。比如先申明变量,然后进行赋值,让两个变量相加,得到结果。然后修改这2个变量的之后,sum的值是不会变化的。是一种声明式编程范型。
2024-02-19 13:25:41 307
原创 docker registry2 http无法push问题
把ExecStart那行,添加--insecure-registry 192.168.182.3:5000 即可。/etc/docker/deamon.json添加insecure-registries设置,设置后还是未生效。本质问题是,还需要修改vim /usr/lib/systemd/system/docker.service。网上都是说,需要修改。
2023-01-03 16:17:31 359 1
原创 npm ERR! gyp verb check python checking for Python executable “python2“ in the PATH
node-sass安装失败
2022-11-22 16:39:17 5342
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人