环境linux7.9,mysql5.7介绍在 MySQL 中,RANGE 分区是一种常见的分区方法,它根据列的值范围将数据分配到不同的分区中。RANGE 分区可以用于那些按时间或其他数值范围进行分组的数据。1. 创建 RANGE 分区表语法CREATE TABLE table_name ( column_definitions, ... ) PARTITION BY RANGE (
环境centos7.9,mysql5.7清空mysql所有表的数据方法最简单直接(ben)方法, 手动一个个表truncateTRUNCATE TABLE table_name;当然有几个限制条件 1. InnoDB引擎2.非外键子表如果会写脚本,可以写成脚本执行使用存储过程执行在对应的库内执行DELIMITER // CREATE PROCEDURE TruncateAl
环境centos7.9,mysql5.7记录执行sql的日志MySQL有很多种方式来记录执行的SQL语句,下面是一些方法:默认的配置文件为/etc/my.cnf,window自行查找my.ini配置的路径记录查询日志[mysqld] general_log = 1 general_log_file = /var/log/mysql/mysql.log这个配置的功能是记录了所有客户端执行的语句,包括
环境centos7.9,mysql5.7要查看mysql使用的内存方法1: 通过show参数查看直接在navicat查询窗口输入SHOW VARIABLES LIKE 'innodb_buffer_pool_size'; 经过运算最终我这里的配置是10G方法2:查看视图mysql5.7SELECT * FROM performance_schema.memory_summary_by_user_
环境centos7.9,mysql5.7设置方法方法1:程序控制法也就是写入数据库时直接把id参数加上,通过程序去生成id,具体略方法2:触发器数据库的触发器的方法也可以实现,具体略方法3:配置法, 通过修改my.ini或my.cnf 文件,添加以下配置[mysqld] auto_increment_increment = 2 auto_increment_offset = 1
环境 centos7.9,postgres14.2,python3.11 问题 最近在一台新机器搭建了python3环境,在使用python连接pg数据库,也就是安装psycopg2时提示了 error: SCRAM authentication requires libpq version 10 or above 的错误 解决方案 经过一番查找资料,各种坑,有让你装psycopg2-binary
环境 win10,postgresql-14 ,navicat15,dbeaver23.3 背景 navicat用了几年了,虽然好用,但也是有几点不爽,用起来也不像plsql那么方便,也行是本人能力有限不会吧,这些天突然看到了另外的工具dbeaver,试用起来感觉还不错,试着比较了下 对比 共同点 都是非常流行的数据库管理工具,都支持多种数据库,包括 MySQL、MariaDB、MongoDB、S
环境 postgresql-14 按小时统计业务 SELECT count(1), to_char(gmt_create, 'YYYY-MM-DD HH24' ) AS d FROM table_name WHERE gmt_create >'2023-12-13 11:30:00' GROUP BY d ORDER BY d 按天统计 SELECT count(1), to_
环境 sqlserver2019,ODBC Driver 18 for SQL Server,python 3.11 问题 今天通过python往SQLServer写数据报 [ODBC Driver 18 for SQL Server][SQL Server]当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'xxx' 中的标识列插入显式值。 在 SQL Server 中,表的标
环境 sqlserver2019,ODBC Driver 18 for SQL Server,python 3.11 背景 最近需求需要python连sqlserver,给我报错误 解决 先去微软官网下载了ODBC18的驱动安装,然后配置好系统的Dsn 然后继续报错 配置DSN的证书 这下navicat可连,python还是不行 python连接的参数添加一个 TrustServerCer
环境 java1.8,sqlserver2019,spring,idea 需求 从未写到sqlserver中,以此记录 操作 spring 中添加pom.xml依赖 <dependency> <groupId>com.microsoft.sqlserver</groupId> <artifactId>mssql-jdbc</
环境 server2019,sqlserver2019,navicat15 背景 用过mysql,oracle,postgres就是没使用过sqlserver,有需求要把pg库的表转存数据至sqlserver中,由于建表语句有些差别,所以通过工具来转存,但会丢失自增属性,特此记录下 方法 如果表内无数据,可直接删掉id列,从新建一个自增的id列 ALTER TABLE your_table_n
环境 postgresql-14,centos7.9,navicat15 需求 由于某个大表做了按日期分区,导致navicat中无法查看具体的索引,如下 正常表未分区的话是可以按以下图查看索引的 操作 使用sql去查询索引 SELECT * FROM pg_indexes WHERE schemaname = 'public' AND tablename = 'your-table-name'
背景 postgresql-14 经常有表是这么设计的,同一行记录有自己的id,也有上级的id,例如省市区等,然后经常有需求需查找整个省下面的所有市,所有区的需求,用代码递归遍历查询速度太慢,直接使用pg的递归写法可以秒出结果 sql SELECT * from table WHERE id in ( WITH RECURSIVE T AS ( SELECT ID, na
背景环境 postgresql-14,centos7.9 当想夸库查询另一个数据库的数据时,pg就做的没oracle好了,也没mysql方便,但有数据库已经存了这么多年了,迁库什么都是不可能的,所以有总比没好 配置 安装dblink插件 create extension dblink; 如果能装,就跳第三步往下看 2. 如果报没相关文件,安装依赖 yum install postgres
环境 postgresql-14 订正数据,删除重复数据常用sql 需求 删除id之外其他数据都一致的相同记录,只保留一条记录 DELETE FROM your_table WHERE id NOT IN ( SELECT MIN(id) FROM your_table GROUP BY column1, column2, column3 ); 删除所有数据都相同,没主键的数据
背景环境 centos7.9,postgresql14 在执行备份命令的时候,不像mysql,可以用-p的参数然后跟密码即可,-p在pg里面是跟端口的参数 所以有适当的变通 步骤 使用sh脚本 vi backup.sh export PGPASSWORD="password" pg_dump -U postgres -Fc db_name >"/db_bac
环境 centos7.9,postgresql-14 由于上篇的物化视图是手动刷新数据,sh本着程序员都是懒人的原则,不做成自动刷新是对不起自己的职业 步骤 建物化视图 CREATE MATERIALIZED VIEW view_xxx AS ( SELECT * FROM table ) WITH DATA; WITH DATA 指刷新时可查询视图 WI
环境 postgresql-14,centos7.9 由于数据基数太大,普通的查询已经十分耗时间了,所以使用物化视图(Materialized Views)来存储预计算的结果,以提高查询性能。 物化视图是存储在磁盘上的表,其中包含了预计算的查询结果。当数据更新时,您可以手动或自动刷新物化视图,以便保持其中的数据最新。 用法 创建物化视图:使用CREATE MATERIALIZED VIEW语句创
背景环境 java8,centos7.9,mysql8.0.34 新装的环境,默认给装了mysql8,想着与时俱进用下新版,结果插入就报错java.sql.SQLException: Incorrect string value: '\xF0\x9F\x87\xA8\xF0\x9F...' for column 解决方法 这个错误通常是由于MySQL数据库中的字符集不支持存储特定的字符或表情符号引
环境 centos7,postgresql-11,mysql5.7 一般group by后统计数据后,还想算个汇总数,可以使用以下方法 postgres 使用GROUPING SETS ( ( 字段 ), ( ) )函数 SELECT r.cmd_id, c."name", SUM ( r.send_count ) success, SUM ( r.fail_count ) f
环境 centos7,mysql5.7 查看各个数据库大小 select table_schema database_name, sum(table_rows) row_s, sum(truncate(data_length/1024/1024/1024, 2)) data_GB, sum(truncate(index_length/1024/1024/1024, 2)) index_GB fr
环境 centos7,postgres11 查看pg中各个数据库大小 select pg_database.datname, pg_size_pretty (pg_database_size(pg_database.datname)) AS size from pg_database; 查看pg某个数据库中表占用的大小 先选中某个数据库 SELECT table_name, pg_size
背景环境 centos7.9,源库postgres14,目标库postgres11 由于业务需求,需要用pg11来支撑几天服务,但是源库为pg14,使用他的备份用11恢复会报 pg_restore: [archiver] unsupported version (1.14) in file header 原因 备份时使用了 pg_dump -Fc xxx 进行备份的,-Fc 表示使用自定义格式
pgpool-II使用问题之SCRAM方法错误
环境:postgres11同一条sqlSELECT*fromalarmtypelimit3OFFSET0;如果返回的id是0,1,2的记录如果修改id为1的其中一个字段,再用上面的sql查询,你会发现返回的id可能会是0,2,3,竟然是无序的,想使用limit,offset分页,还需要先排序!引用别的哥们的翻译查询优化器在生成查询规划的时候会考虑LIMIT,因此如果你给LIMIT和OFFSET不同
刚用postgres,被大小写坑了,敏感也就算了,竟然到sql语句的地方又不敏感了此时数据库APP_BD_DB已经建立,明明写的大写的数据库名,给我报小写的库不存在,经多方查证,结果是SQL语句中大小写不敏感,大写和小写的sql语句意义一致,所有大写的均默认转换为小写来解析so,需要用大写的地方,双引号解决吧
不错拿来当笔记,有图请看原版连接https://www.toutiao.com/a6766787282084037131/作者:架构中华石杉来源:今日头条|2019-12-1214:321、LIMIT语句分页查询是最常用的场景之一,但也通常也是最容易出问题的地方。比如对于下面简单的语句,一般DBA想到的办法是在type,name,create_time字段上加组合索引。这样条件排序都能有效的利用到
环境 centos7 ,mysql5.7一、停服务systemctl stop mysqld二、修改my.cnf vi /etc/my.cnf#在[mysqld]下添加一行skip-grant-tables=1三、修改密码[root@linux~]# mysqlmysql> UPDATE mysql.user SET authentication_string=PASSWORD('NEWPA
环境:django1.8.7,python2.7,cx_Oracle6.1,oracle11.2最近在liunx服务器上安装了cx_Oracle,默认给我装了6.1版本,结果测试起来各种异常,先是单独写个py文件测试连接oracle,报cx_Oracle.DatabaseError:DPI-1047:64-bitOracleClientlibrarycannotbeloaded:"lib
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号