
数据库
文章平均质量分 58
主要记录常用的数据库
纯洁的小魔鬼
只有风暴才能击倒大树
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
MySQL中Innodb的索引
如果想在一本书中找到某个特定主题,一般会先看输的"索引",找到对应的页码。在MySQL中,存储引擎用类似的方法使用索引,其先在索引中找到对应值,然后根据匹配的索引记录找到对应的数据行。一.索引索引是存储引擎用于快速找到记录的一种数据结构,索引往往以索引文件的形式存储的磁盘上。索引总结下来有如下几个优点:1.索引大大减少了服务器需要扫描的数据量,提高查询性能。2.素引可以帮助服务器避免排序和临时表。3.索引可以将随机IO变为顺序IO4.建立主键索引或者唯一索引...原创 2020-06-08 03:17:18 · 4692 阅读 · 1 评论 -
MySql事务隔离机制
一.事务(Transaction)事务是一个最小的不可再分的工作单元,事务只和DML语句有关,用来管理insert,update和delete语句,在 MySql 中只有使用了 Innodb 数据库引擎的数据库或表才支持事务。事务是必须满足4个条件(ACID):原子性(Atomicity): 一个事务中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。事务在执行过程中发生错误,会被回滚到事务开始前的状态,就像这个事务从来没有执行过一样。一致性(Consistency).原创 2020-05-20 02:12:26 · 1902 阅读 · 0 评论 -
mysql binlog常用操作
一.查看 binlog 基本信息binlog文件的位置配置可在 /etc/my.cnf 配置和查看0. 登录 mysqlmysql -h localhost -u root -p1.查看binlog文件列表进入mysql命令行:show binary logs;2.查看当前正在写入的binlog文件show master status;3. 查看binlog事件信息show binlog events in 'bin-log.000004';4.查看 binlog 文件单个原创 2022-04-27 11:26:13 · 7115 阅读 · 0 评论 -
Redis 基础
Redis摘要 Redis是一个高性能的开源键值数据库,支持多种数据结构(字符串、哈希、列表、集合、有序集合等)和功能特性: 核心特性 内存存储:毫秒级读写性能 持久化:RDB快照和AOF日志两种方式 复制:支持主从复制 高可用:支持哨兵和集群模式 发布订阅:支持消息发布/订阅模式 丰富的数据结构 包括字符串、哈希、列表、集合、有序集合、位图、HyperLogLog、地理空间索引和Stream流 常用命令 redis-cli:提供多种连接选项和操作模式 数据操作:SET/GET等基础命令,以及针对不同数据结原创 2024-12-13 10:46:09 · 988 阅读 · 0 评论 -
MySQL命令行操作
mysql命令行原创 2019-12-29 16:03:14 · 3239 阅读 · 1 评论 -
Mongodb常用命令行
本文介绍了MongoDB的基本操作命令和数据库管理工具的使用方法。主要内容包括:1) MongoDB登录及数据库操作(查看、创建、删除数据库);2) 集合操作(创建、删除表,条件删除数据);3) 数据导出导入(mongoexport/mongoimport工具使用);4) 数据库备份恢复(mongodump/mongorestore工具使用)。文中提供了完整的命令语法和参数说明,涵盖了MongoDB日常管理中的常用操作,并附有具体示例帮助理解。适用于需要快速掌握MongoDB基础运维操作的技术人员。原创 2020-04-02 14:34:20 · 16692 阅读 · 1 评论 -
mybatis 父子级树形结构查询
本文介绍了如何使用MyBatis的collection标签简化父子级数据目录的树形结构查询。传统方法需要逐级查询并在代码中拼接树形结构,而通过MyBatis的递归查询功能可以自动组装树形数据。具体实现包括:1)创建包含id、name、parent_id字段的数据库表;2)定义包含children列表的VO对象;3)编写MyBatis映射文件,通过collection标签实现递归查询,其中子节点查询复用父查询方法。最终查询结果呈现为完整的树形JSON结构,大大简化了开发流程。这种方法适用于需要展示层级关系的目原创 2022-09-13 16:31:07 · 2598 阅读 · 0 评论 -
mybatis批量操作
<insert id="insertUserInfo" parameterType="java.util.List"> insert into api_conn ( id, name, des )values <foreach collection="list" item="item" index="index" s...原创 2019-10-20 23:57:37 · 378 阅读 · 0 评论 -
mysql插入一条数据后返回该数据的自增id
MyBatis中获取自增主键值的方法:在insert语句中添加useGeneratedKeys="true"和keyProperty="id"属性,前者表示使用数据库自增主键,后者指定将生成的主键值赋给实体类的id属性。示例中,插入User对象后,通过user.getId()即可获取数据库自动生成的id值。使用@Transactional确保事务完整性,输出结果1表示插入成功条数,3为返回的自增ID值。这种方法简化了获取自增主键的操作流程。原创 2019-09-24 22:02:14 · 9173 阅读 · 3 评论 -
MyBatis中#{}和${}的区别
Mybatis预编译机制通过PreparedStatement优化SQL执行,#{}和${}有本质区别。#{}是预编译占位符,能防止SQL注入且自动类型转换,变量替换在DBMS端;${}是字符串拼接,存在SQL注入风险,变量替换在SQL解析阶段。建议优先使用#{},仅表名等需字符串替换时使用${}。Mybatis默认对所有SQL预编译,预编译语句可缓存复用,有效提升复杂SQL的执行效率。原创 2019-09-24 23:06:46 · 1141 阅读 · 0 评论 -
Mysql查看死锁和解除锁
本文介绍了MySQL数据库锁表问题的排查和处理方法,主要包括8个关键步骤:1)检查锁表情况;2)查看进程列表;3)终止指定进程;4)查看当前锁事务;5)检查等待锁事务;6)查询锁状态;7)查看InnoDB锁参数;8)分析死锁(需MySQL 5.6.16+)。这些命令可以帮助DBA快速定位和解决数据库锁表问题,确保系统正常运行。原创 2020-04-02 14:39:50 · 5173 阅读 · 1 评论 -
Mysql配置白名单
本文介绍了MySQL权限管理的操作步骤:1)使用root账号登录MySQL;2)通过GRANT命令授予指定IP用户权限(全部权限或部分权限);3)使用DELETE语句删除用户权限(需谨慎操作);4)最后执行FLUSH PRIVILEGES刷新权限。文中提供了完整的授权语法示例,包括全权限授予和部分权限授予的写法,并特别提醒删除权限时的风险。这些操作是MySQL数据库安全管理的基础内容。原创 2020-04-02 11:11:42 · 9742 阅读 · 1 评论 -
MySQL实现排名
利用 := 赋值符号进行排名, @rank := @rank + 1 为先执行@rank,然后再把值付给@rank以学生成绩单为例,进行排名测试一.普通排名SELECT t.*, @rank := @rank + 1 AS 排名FROM (SELECT @rank := 0) r, ( SELECT * FROM student ORD...原创 2019-12-29 17:54:09 · 10228 阅读 · 2 评论 -
python对mysql的操作
一.引入模块import pymysql二.建表def create_table(): db = pymysql.connect(host='localhost', port=3306, user='root', passwd="123zxcv", db='why') cursor = db.cursor() create_sql = \ ...原创 2019-09-28 16:32:40 · 348 阅读 · 0 评论 -
python导入导出redis数据
注:以String类型为例一.导出redis某个库的数据import redisimport jsonfile_path = "why.json"redis_conn = redis.Redis(host="192.168.1.123", port=6387, password="123zxcv", db=2, decode_responses=True)data_keys = redis_conn.keys()all_data = {}for i in data_keys:原创 2022-01-26 18:04:06 · 2753 阅读 · 0 评论 -
MongoTemplate基础增删改查
1.插入操作(insert)Map data = new HashMap();data.put("name","xiaoge");data.put("sex","male");String date = String.format("%1$tF %1$tT", new Date());data.put("date",date);mongoTemplate.inser原创 2019-01-14 10:37:33 · 14410 阅读 · 0 评论 -
MySql性能优化
一.表设计优化a.字段类型优化 一般以整型值为主的表在千万级以下,字符串为主的表在五百万以下是没有太大问题的。而事实上很多时候MySQL单表的性能依然有不少优化空间,甚至能正常支撑千万级以上的数据量。 1. 尽量使用数字类型字段,若只含数值信息的字段尽量不要设计为字符型,这将会降低查询和连接性能,增加开销,因为如果是字...原创 2019-07-08 00:25:52 · 2180 阅读 · 0 评论 -
MySql 数据库分组报错
摘要:MySQL5.7+默认开启only_full_group_by模式,可通过三种方式修改:1)在my.ini/my.cnf删除该配置项;2)若文件无sql_mode配置,先查询当前值再修改;3)不修改配置,而是对非分组字段使用any_value()函数。不同系统配置文件位置不同,Windows为my.ini,Linux为my.cnf。原创 2018-01-28 02:57:20 · 31964 阅读 · 3 评论 -
MySql导入sql数据时,字段值过大报错 MySQL server has gone away
MySQL通信缓冲区大小配置方法:临时方案可通过"show global variables like 'max_allowed_packet'"查看当前值(默认4MB),使用命令修改为16MB(重启失效);永久方案需在/etc/my.cnf中添加"max_allowed_packet=16777216"并重启MySQL服务。两种方式分别适用于临时测试和生产环境持久化配置。原创 2019-12-29 16:30:44 · 1416 阅读 · 0 评论