MySQL
文章平均质量分 56
MySQL
蔡定努
人前拼实力,人后拼努力
展开
-
MySQL中死锁
数据库的死锁是指不同的事务在获取资源时相互等待,导致无法继续执行的一种情况。当发生死锁时,数据库会自动中断其中一个事务,以解除死锁。在数据库中,事务可以分为读事务和写事务。读事务只需要获取读锁,而写事务需要获取写锁。当多个事务同时操作同一组数据时,可能会引发死锁的出现。原创 2023-10-13 12:00:23 · 297 阅读 · 0 评论 -
Mysql 的索引为什么使用 B + 树而不使用跳表
在我们的印象中,mysql 数据表里无非就是存储一行行的数据。跟个 excel 似的。直接遍历这一行行数据,性能就是 O(n),比较慢。为了加速查询,使用了 B + 树来做索引,将查询性能优化到了 O(lg(n))。但问题就来了,查询数据性能在 lg(n) 级别的数据结构有很多,比如 redis 的 zset 里用到的跳表,也是 lg(n),并且实现还贼简单。那为什么 mysql 的索引,不使用跳表呢?我们今天就来聊聊这个话题。之前的一篇文章里,已经提到过 B + 树的结构了。文章不长,如果没看过转载 2022-04-17 13:27:42 · 262 阅读 · 0 评论 -
MySQL索引为什么会快
MySQL 的索引是如何提高查询效率的?一. 索引是什么?索引是数据库中用来提高查询效率的技术,类似于目录。如果不使用索引,数据会零散的保存在磁盘块中,查询数据需要挨个遍历每一个磁盘块,直到找到数据为止,使用索引后会将磁盘块以树桩结构保存,查询数据时会大大降低磁盘块的访问数量,从而提高查询效率。如果表中的数据很少,使用索引反而会降低查询效率。并且索引会占用磁盘空间,一般只针对查询时常用的字段创建索引。索引分为聚集索引和非聚集索引,通过主键创建的索引称为聚集索引,聚集索引中保存数据,只要给表添加主键约束,转载 2021-06-18 13:45:54 · 2611 阅读 · 0 评论 -
mysql、Oracle导入导出数据库命令
Mysql(一)导出1 导出一个数据库的结构mysqldump -d dbname -uroot -p > dbname.sql2 导出多个数据库的结构mysqldump -d -B dbname1 dbname2 -uroot -p > dbname.sql3 导出一个数据库中数据(不包含结构)mysqldump -t dbname -uroot -p > dbname.sql4 导出多个数据库中数据(不包含结构)mysqldump -t -B d原创 2021-03-17 14:48:28 · 390 阅读 · 0 评论 -
小记mysql 用户部分操作
一、登录mysql-uroot-p 二、查看用户select * from user;三、新建用户create user "username"@"host" identified by "password";四、删除用户drop user 'username'@'host'; /*删除用户*/五、授权# ##### 授权 (多个权限用,隔开) #######grant all privileges on `cdn`.* to 'cdn'@'%';...原创 2021-01-08 15:15:58 · 199 阅读 · 0 评论 -
记一次centos 7下 Mysql主从复制笔记
192.168.174.128 主库192.168.174.131 从库配置文件的位置: vi /etc/my.cnf------------------ 主库 ---------server-id = 1 # 节点ID,确保唯一log-bin = mysql-bin #开启mysql的binlog日志功能sync_binlog = 1 ...原创 2020-03-15 17:04:53 · 127 阅读 · 0 评论 -
Centos7中mysql安装
一、安装YUM Repo=====================================================================1、由于CentOS 的yum源中没有mysql,需要到mysql的官网下载yum repo配置文件。下载命令:wget https://dev.mysql.com/get/mysql57-community-release-el...原创 2019-12-21 17:19:26 · 137 阅读 · 0 评论 -
获取数据库表的所有内容
package com.springboot.demo;import java.sql.*;import java.util.ArrayList;import java.util.List;public class DatabaseUtil { private static final String DRIVER = "com.mysql.jdbc.Driver"; ...原创 2019-09-14 22:50:41 · 1172 阅读 · 0 评论 -
CentOS7安装mysql5.7
转载 2019-06-17 14:46:48 · 114 阅读 · 0 评论 -
Mysql中case---when函数使用
原创 2019-03-24 15:06:13 · 897 阅读 · 0 评论 -
Mysql版创建含emp,dept,salarygrade,bonus表的数据
/*Navicat MySQL Data TransferSource Server : lbr_mysql5.6_dbconSource Server Version : 50617Source Host : localhost:3306Source Database : companyTarget Server Type ...原创 2019-01-07 09:36:09 · 1153 阅读 · 0 评论 -
关于sql语句的练习
-班级表--CREATE TABLE class( cid INT NOT NULL, caption VARCHAR(10), PRIMARY KEY(cid));INSERT INTO class VALUES(1,"三年二班"),(2,"一年三班"),(3,"三年一班");--老师表--CREATE TABLE teacher( tid INT NOT NULL, tn...原创 2019-01-17 23:30:07 · 442 阅读 · 0 评论 -
Mybatis多表关联查询
1:重新构建一个实体,该实体包含是需要的查询字段(可以继承获得一个实体的属性【只能单继承】,也可以全部属性都重新写)2:为了规范,重新构建一个mybatis的xml文件和新建的实体对应,接口也新建一个3:返回值对应上新构建的实体即可...原创 2019-01-23 22:54:49 · 240 阅读 · 0 评论 -
navicat连接MySQL8.0出现2059错误
在navicat链接mysql8以后的版本时,会出现2059的错误,这个错误出现的原因是在mysql8之前的版本中加密规则为mysql_native_password,而在mysql8以后的加密规则为caching_sha2_password。解决此问题有两种方法,一种是更新navicat驱动来解决此问题,一种是将mysql用户登录的加密规则修改为mysql_native_password。本文...原创 2019-01-26 23:14:28 · 193 阅读 · 0 评论 -
mysql三表关联查询练习
三张表:1:公司表 2、员工表3、中间关联表-- 关联查询方式查询张飞在哪个公司SELECT company.company_name AS '张飞公司' FROM company INNER JOIN com_emp ON com_emp.company_id = company.company_id INNER JOIN emp ON...原创 2019-03-20 22:50:44 · 3382 阅读 · 3 评论 -
Mysql中if函数的使用
一、两种(0表示男,1表示女)SELECT if(sex="0","男",“女”)FROM `emp`二、多种SELECT if(sex="0","男",if(sex="1","女",if(sex="2","二","无")))FROM `emp`原创 2019-03-24 01:43:55 · 2056 阅读 · 0 评论 -
不是GROUP BY 的语法
SELECT 中出现了普通列名,在GROUP BY 中没有原创 2018-07-13 00:09:17 · 452 阅读 · 0 评论