![](https://img-blog.csdnimg.cn/6d08b48ff7824fb2978f5a0cd798e180.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据库
文章平均质量分 66
数据库的小知识
Itfuture03
只为造就未来梦想!
展开
-
【数据库备份完整版】物理备份、逻辑备份,mysqldump、mysqlbinlog的备份方法
注意:–dump-slave命令如果当前服务器是从服务器那么使用该命令会执行stop slave来获取master binlog的文件和位置,等备份完后会自动执行start slave启动从服务器。但是如果是大的数据量备份会给从和主的延时变的更大,使用–dump-slave获取到的只是当前的从服务器的数据执行到的主的binglog的位置是(relay_mater_log_file,exec_master_log_pos),而不是主服务器当前的binlog执行的位置,主要是取决于主从的数据延时。原创 2024-06-21 17:02:02 · 1098 阅读 · 0 评论 -
【MySQL】窗口函数原理,与where、group by关系
首先,你需要定义一个窗口,它决定了窗口函数将作用的数据范围。窗口可以基于行号、分区键或排序键来定义。原创 2024-06-05 12:08:18 · 1349 阅读 · 0 评论 -
【PostgreSQL】Postgresql数据库密码忘记的解决方法
(这里修改成功后会直接跳过输密码的过程)(注意,命令最后的分号不能省)原创 2024-03-12 11:58:03 · 3023 阅读 · 0 评论 -
docker启动失败:failed to create task for container:... not a directory: unknown: Are you trying to mount
docker启动失败: failed to create task for container: ...not a directory: unknown: Are you trying to mount a directory onto a file (or vice-versa)原创 2024-03-08 14:22:23 · 1573 阅读 · 4 评论 -
【MySQL】lower_case_table_names作用及使用
在使用dataease时,连接外部数据库,启动报错!后查看官方文档,特别要求改数据库配置文件:lower_case_table_names = 1,之后,果然启动使用正常。知识点: lower_case_table_names 是mysql设置大小写是否敏感的一个参数。在mysqld下 添加或修改 lower_case_table_names = 1 之后重启数据库。根据自己需求,更改配置文件即可!更改数据库参数文件my.cnf。原创 2024-03-07 17:10:32 · 4274 阅读 · 1 评论 -
sql判断NULL值:IF()、IFNULL()、NULLIF()、ISNULL()函数的区别使用
如果expr1的值为true,则返回expr2的值,如果expr1的值为false,则返回expr3的值。,如果expr1的值为NULL,则返回expr2的值,如果expr1的值不为NULL,则返回expr1的值。,如果expr1=expr2成立,那么返回值为NULL,否则返回值为expr1的值。,如果expr的值为NULL,则返回1,如果expr1的值不为NULL,则返回0。关于MySQL中对于NULL值的判断以及替换等问题中,我们可以使用。原创 2024-02-29 11:32:19 · 1705 阅读 · 0 评论 -
【SQLite】快速使用sqlite实现数据库操作_python版
总的来说,SQLite适用于那些需要轻量级数据库解决方案的场景,比如移动应用、嵌入式设备或者当需要一个简单且易于部署的数据库时。由于其轻量和易于集成的特点,SQLite在开发者中非常受欢迎。,它遵守ACID的关系型数据库管理系统。原创 2024-02-01 11:25:03 · 714 阅读 · 0 评论 -
天池SQL训练营(六)-综合练习题-10道经典题目
使用Coupon Usage Data for O2O中的数据集《ccf_online_stage1_train.csv》和《ccf_offline_stage1_train.csv》,试找出在2016年6月期间,线上线下累计被使用优惠券满减最多的前3名商家。使用Coupon Usage Data for O2O中的数据集《ccf_offline_stage1_test_revised.csv》,试分别找出在2016年7月期间,发放优惠券总金额最多和发放优惠券张数最多的商家。并找出优惠券弃用率最高的商家。原创 2023-12-07 10:10:03 · 1287 阅读 · 1 评论 -
T天池SQL训练营(五)-窗口函数等
天池龙珠计划SQL训练营。原创 2023-12-07 10:09:09 · 1007 阅读 · 0 评论 -
天池SQL训练营(四)-集合运算-表的加减法和join等
集合在数学领域表示“各种各样的事物的总和”, 在数据库领域表示记录的集合. 具体来说,表、视图和查询的执行结果都是记录的集合, 其中的元素为表或者查询结果中的每一行。在标准 SQL 中, 分别对检索结果使用UNIONINTERSECT,EXCEPT来将检索结果进行并,交和差运算, 像UNIONINTERSECTEXCEPT这种用来进行集合运算的运算符称为集合运算符。以下的文氏图展示了几种集合的基本运算.[图片来源于网络]原创 2023-12-06 15:40:09 · 1099 阅读 · 0 评论 -
天池SQL训练营(三)-复杂查询方法-视图、子查询、函数等
视图是一个虚拟的表,不同于直接操作数据表,视图是依据SELECT语句来创建的(会在下面具体介绍),所以操作视图时会根据创建视图的SELECT语句生成一张虚拟表,然后在这张虚拟表上做SQL操作。子查询指一个查询语句嵌套在另一个查询语句内部的查询,这个特性从 MySQL 4.1 开始引入,在 SELECT 子句中先计算子查询,子查询结果作为外层另一个查询的过滤条件,查询可以基于一个表或者多个表。谓词就是返回值为真值的函数。包括。原创 2023-12-06 15:39:51 · 735 阅读 · 0 评论 -
天池SQL训练营(二)-SQL基础查询与排序
天池龙珠计划SQL训练营。原创 2023-12-06 15:38:33 · 730 阅读 · 0 评论 -
【MySQL】区分:等值连接/自连接/自然连接/外连接 以及ON和Where使用
全外连接:完整外部联接返回左表和右表中的所有行。左外连接:两表进行连接时,将返回左表的所有行。右外连接:两表进行连接时,将返回右表的所有行。数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户。1、 on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。自连接:给一张表取两个不同的别名就,使用两个别名将表与表本身进行连接查询,然后附上连接条件。等值连接:它是基于两个表之间的相等测试,展现出来的是共同的数据,因此又称内部连接。原创 2023-10-23 17:01:38 · 2882 阅读 · 6 评论 -
【Docker-MyCat】分库分表中间件mycat安装使用(docker版)
将Mycat-server-1.6.7.1-release-20190627191042-linux重命名为mycat。为了不破坏原来的文件,我们将mycat的配置文件复制到/usr/local/mycat下。在这个目录下(/usr/local/docker/mycat)下载 Mycat。将mycat.tar.gz进行解压。或者用navicat工具连接。原创 2023-09-20 14:39:08 · 840 阅读 · 3 评论 -
【Redis】几款redis可视化工具(推荐Another Redis Desktop Manager)
Redis是一个超精简的基于内存的键值对数据库(key-value),一般对并发有一定要求的应用都用其储存session,乃至整个数据库。不过它公自带一个最小化的命令行式的数据库管理工具,有时侯使用起来并不方便。不过Github上面已经有了很多图形化的管理工具,而且都针对REDIS做了一些优化,如自动折叠带schema的key等。:redis labs出的一款监控分析级别的redis可视化工具。red:一款在苹果app store下载的redis可视化工具,免费。:以前是免费的,现在为收费工具。原创 2023-09-06 14:12:47 · 16878 阅读 · 0 评论 -
【MySQL】聊一聊MySQL的缓存机制
MySQL查询缓存是MySQL中比较独特的一个缓存区域,用来缓存特定Query的整个结果集信息,且共享给所有客户端。为了提高完全相同的Query语句的响应速度,原创 2023-08-15 11:38:09 · 3300 阅读 · 2 评论 -
【MySQL】记录一次SQL呆瓜操作之SQL执行顺序
犯了这么基础的一个错误,实在那什么漏网之鱼……往后还是得先想明白再动手吧!原创 2023-07-07 20:37:14 · 546 阅读 · 0 评论 -
【MySQL】关于数据库字符编码以及字符集排序相关知识
utf8是一种编码方式,类似于哈夫曼编码过程,就是把常用(位置靠前)的Unicode字符用短编码表示,不常用的字符用长代码表示,从而实现更小的整个文档的文件大小。MySQL在5.5.3之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode。)通常情况下 utf8_general_ci的准确性就够我们用的了,在我看过很多程序源码后,发现它们大多数也用的是utf8_general_ci,所以新建数据 库时一般选用utf8_general_ci就可以了。原创 2023-07-06 13:44:52 · 470 阅读 · 0 评论 -
【MySQL】报错1267 - Illegal mix of collations (utf8mb4_unicode_ci,IMPLICIT) and (utf8mb4_general_ci,IMPL
记录一次sql语句执行错误:left join表会出现 Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_croatian_ci,IMPLICIT) for operation '='错误.这是由于表的编码格式不一致 例如 某个表的字符编码为utf8_general_ci而关联表的字符编码为utf8_croatian_ci导致当前错误!原创 2023-07-06 13:29:19 · 8914 阅读 · 0 评论 -
【MySQL】SQL语句书写规范,让代码更优雅
缩进(1) 一般缩进为4个空格。(2)不要用Tab制表符来作缩进换行(1)Select/From/Where/Order by/Groupby等子句必须另起一行写。(2)Select子句内容如果只有一项,与Select同行写。(3) Select子句内容如果多于一项,每一项单独占一行,在对应Select的基础上向右缩进4空格。(4) From子句内容如果只有一项,与From同行写。(5) From子句内容如果多于一项,每一项单独占一行,在对应From的基础上向右缩进4个空格。原创 2023-07-05 15:20:39 · 2150 阅读 · 0 评论 -
【MySQL】utf8mb4_unicode_ci、utf8mb4_general_ci的区别
对于一种语言仅当使用 utf8mb4_unicode_ci 排序做的不好时,才执行与具体语言相关的utf8mb4字符集校对规则。例如,对于德语和法语,utf8mb4_unicode_ci工作的很好,因此不再需要为这两种语言创建特殊的utf8mb4校对规则。如果你的应用能够接受这些,那么应该使用 utf8mb4_general_ci,因为它速度快。否则,使用utf8mb4_unicode_ci,因为它比较准确。utf8mb4_unicode_ci比较准确,utf8mb4_general_ci速度比较快。原创 2023-06-30 18:01:46 · 3606 阅读 · 0 评论 -
【数据库】面对数据量很大的情况下,分页查询有什么优化方案?
之前遇到最大的数据库都很小,但是最近遇到了千万级数据,当需要从数据库查询的表有上万条记录的时候,一次性查询所有结果会变得很慢,特别是随着数据量的增加特别明显,这时需要使用分页查询。对于数据库分页查询,也有很多种方法和优化的点。原创 2023-06-22 22:02:18 · 1538 阅读 · 0 评论 -
【MySQL】关于自增id、雪花id还是uuid作为MySQL主键
在MySQL中设计表的时候,MySQL官方推荐不要使用uuid或者不连续不重复的雪花id(long型且唯一),而是推荐连续自增的主键id,官方的推荐是auto_increment。那么为什么不使用雪花id或者uuid呢?让我们来探讨分析一下这个问题的原因。原创 2023-06-22 21:41:24 · 1462 阅读 · 0 评论 -
Navicat连接Oracle报错:Oracle library is not loaded
这是oci.dll版本不对。因为Navicat是通过Oracle客户端连接Oracle服务器的,Oracle的客户端分为两种,一种是标准版,一种是简洁版,即Oracle Install Client。而我们用Navicat时通常会在自己的安装路径下包含多个版本的OCI,如果使用Navicat连接Oracle服务器出现错误时,多数是因为Navicat本地的OCI版本与Oracle服务器不符造成的。所以我们要做的就是下载对应版本的OCI使之与我们所安装的Oracle服务器相符合。原创 2023-06-20 18:13:59 · 2118 阅读 · 0 评论 -
【Docker】Exited 139解决Window下docker启动oracle11g失败Exited 139
前几天,在docker安装了oracle11,安装非常简单,但是启动的时候启动不起来,且没有任何log日志输出!3.这里可能会报启动失败的问题,报Exited 139。在下用户文件夹下创建文件:.wslconfig文件。原创 2023-06-20 17:30:50 · 2123 阅读 · 6 评论 -
【Docker】docker启动oracle11g并初始化数据,部署和使用
containerId]为你的容器名或者id。前提:已经在docker中安装好Oracle。原创 2023-06-20 18:01:51 · 2300 阅读 · 0 评论 -
【mysql】表名或字段名与关键字重名解决方法
其实很简单,我们可以使用特定符号告诉mysql这是自己表或者字段的名字就可以了,那么开发者和mysql之间有一个约定就可以解决了。date,for,check,while,end,long等作为了表名或者字段名,那么sql执行肯定会有异常信息!这一约定就是 ``原创 2023-05-05 15:15:31 · 2261 阅读 · 0 评论 -
【Mysql】mysql命令行使用时报错 unknown variable xxx
1.进入配置文件,注释该属性,前加#即可。2.加参数 --no-defaults。原创 2023-04-27 11:34:20 · 1142 阅读 · 0 评论 -
【mysql】sql语句 count (列名) 返回的并不是int类型,而是long型值 [ClassCastException:Long cannot be cast to integer]
【mysql】sql语句 count (列名) 返回的并不是int类型,而是long型值 [ClassCastException:Long cannot be cast to integer]原创 2022-11-12 21:11:29 · 3622 阅读 · 0 评论 -
【mysql】给一张表添加外键的四种方法
如何给一张表添加外键、主键原创 2023-02-22 18:04:26 · 23993 阅读 · 4 评论 -
mysql中varchar能存多少汉字、数字,以及varchar(100)和varchar(10)的区别
mysql中varchar存储容量1、varchar能存多少汉字、数字?2、varchar的最大长度是多少呢?3、字符、字节、位,之间的关系?4、mysql字段类型存储需要多少字节?5、varchar(100)和varchar(10)的区别在哪里?1、varchar能存多少汉字、数字?具体还是要看版本的,一个字符占用3个字节 ,一个汉字(包括数字)占用3个字节=一个字符4.0版本以下,varchar(100),指的是100字节,如果存放UTF8汉字时,只能存33个(每个汉字3字节)5原创 2022-05-12 16:56:44 · 6755 阅读 · 0 评论 -
索引失效
对索引使用左或者左右模糊匹配。WHERE 子句中的OR。对索引进行表达式计算。原创 2023-04-08 15:52:18 · 45 阅读 · 0 评论 -
关于mysql 命令行导入导出.sql文件
一、window环境A. 导出.sql1. 导出整个数据库mysqldump -u 用户名 -p 数据库名 > 导出的文件名mysqldump -u dbuser -p dbname > dbname.sql2. 导出一个表mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名mysqldump -u dbuser -p dbname users> dbname_users.sql3. 导出一个数据库结构mysqldump -u dbuser -p转载 2021-12-09 11:43:38 · 3124 阅读 · 0 评论 -
【数据库事务】ACID数据库四大特性理解
事务,简单理解就是一件完整的事情,有始有终!那么数据库事务,其实也就是对数据库的一系列操作组成的事件集合,这些事件要么同时成功,要么同时失败。比如:银行转账,A用户转给B用户,那么A用户金额减少,相应的B用户增加相应的金额,那么如果在A转出金额后,出现故障或者意外,那么B没收到钱,A的金额还减少了,这样就会造成部分金额丢失,为防止这种情况,引入了事务,事务的ACID四大特性:原子性、一致性、隔离性、持久性,便保障了这类事情的发生,保证数据的一致和持久。...原创 2022-08-03 16:29:29 · 993 阅读 · 0 评论 -
【mysql】SQL优化15种方法
其实,开发项目上线初期,由于业务数据量相对较少,一些SQL的执行效率对程序运行效率的影响不太明显,而开发和运维人员也无法判断SQL对程序的运行效率有多大,故很少针对SQL进行专门的优化, 但是,随着时间的积累,业务数据量的增多,SQL的执行效率对程序的运行效率的影响逐渐增大,此时对SQL的优化就很有必要。在实际业务场景中,可能我们真正需要使用的只有其中一两列。查了很多数据,但是不用,白白浪费了数据库资源,比如:内存或者cpu。此外,多查出来的数据,通过网络IO传输的过程中,也会增加数据传输的时间。还原创 2023-03-09 20:20:39 · 7630 阅读 · 0 评论