explain mysql

使用MySQL存储过程提高数据库效率和可维护性

MySQL 存储过程是一种强大的数据库功能,它允许你在数据库中存储和执行一组SQL语句,类似于编程中的函数。存储过程可以大幅提高数据库的性能、安全性和可维护性。本文将详细介绍MySQL存储过程的使用。 什么是MySQL存储过程? MySQL存储过程是一组预编译的SQL语句,它们以一个名称存储在数据库 ......
可维护性 效率 过程 数据库 数据

mysql数据库基础

数据库 数据库:存储数据的仓库 语句规范: 不区分大小写 “;”作为结束,关键字不能多行和简写 空格 缩进 注释:单行注释:-- 多行注释 :/*..*/ 语句可以分行操作 DDL DML(操作)和DCL(权限) ''' create database if not exists test; cre ......
数据库 基础 数据 mysql

mysql 递归查询示例

WITH RECURSIVE subordinates AS ( SELECT * FROM sys_dept WHERE dept_id = 1 -- 这里以员工ID为1为例 UNION ALL SELECT e.* FROM sys_dept e INNER JOIN subordinates ......
示例 mysql

MySQL数据库的DML语法及使用举例

本文列举数据库的操纵语言的语法及实际使用,以班级表作为举例: 班级表:classroom 点击查看创建班级表sql create table classroom( cid int PRIMARY KEY auto_increment, cname varchar(20), des varchar(5 ......
语法 数据库 数据 MySQL DML

MySQL Node.js mysql 事务

在MySQL数据库中,事务(transaction)是一组原子性操作,要么全部执行成功,要么全部回滚回去。在多用户并发环境中,事务可以保护数据的一致性和完整性。MySQL提供了ACID属性,并且支持事务。Node.js中,可以通过使用mysql模块的连接来实现事务。 ......
事务 MySQL mysql Node js

MYSQL单列索引和组合索引的对比分析

单列索引:即一个索引只包含单个列,一个表可以有多个单列索引,但这不是组合索引。 组合索引:即一个索包含多个列。 怎么选择: 如果查询where条件只有一个,完全可以用单列索引,这样的查询速度较快,索引也比较瘦身。 如果业务场景是需要经常查询多个组合列,不要试图分别基于单个列建立多个单列索引(因为虽然 ......
索引 MYSQL

MySQL性能优化之 - 单表查询+代码层拼接 VS 表连接查询

单表查询+代码端拼接的优势 记得当初单位派我去阿里交流学习时,人家就说,在阿里,95%以上的查询都是单表查询,虽然我们都知道单表查询更加符合MySql底层的算法逻辑,但是单表查询+代码端拼接的优势究竟是什么,它为什么互联网企业都会使用单表查询呢?归纳而言大体分以下几点: 1. 激活代码端和数据库缓存 ......
性能 代码 MySQL VS

MySQL篇:第三章_详解DQL语言

DQL语言的学习 基础查询 一、语法: SELECT 要查询的东西 【FROM 表名】; 类似于Java中 :System.out.println(要打印的东西); 特点: ①通过select查询完的结果 ,是一个虚拟的表格,不是真实存在 ② 要查询的东西 可以是常量值、可以是表达式、可以是字段、可 ......
语言 第三章 MySQL DQL

MySQL篇:bug2_ Navicate无法添加或更新子行-外键约束失败

问题产生原因 Mysql中如果表和表之间建立的外键约束,则无法删除表及修改表结构。 解决办法 解决方法是在Mysql中取消外键约束: SET FOREIGN_KEY_CHECKS=0; 再添加值, 然后再设置外键约束: SET FOREIGN_KEY_CHECKS=1; 查看当前FOREIGN_KE ......
Navicate MySQL bug2 bug

mysql中的特殊的查询

1、分组后取每个分组的前3(下面的sql 取的是 按照排序字段降序 取前3 , 改为 b.排序字段< a.排序字段 则是 按照排序字段 升序取 前 3 ) SELECT * FROM `user` a WHERE 3 > ( SELECT COUNT(*) FROM `user` b WHERE b ......
mysql

mysql 的用法

MySQL是一个由瑞典MySQL AB公司开发的关系型数据库管理系统,属于Oracle旗下产品。它是最流行的关系型数据库管理系统之一,在WEB应用方面,MySQL是最好的RDBMS应用软件之一。 关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。 M ......
mysql

Mysql 主从复制

一、设计思路 准备两个5.7版本的MySQL,一个用作主数据库,另一个用作从数据库。 把主数据库做为写入数据库,从数据库作为读数据库。 二、具体步骤 准备两台数据库,可以本地配置两台Mysql数据库或者局域网两台Mysql数据库。 1.先把你的mysql目录拷贝复制一份,复制出来的那份取名为mysq ......
主从 Mysql

MySQL体系架构

1. 背景 刚入行时,大部分Java工程师对MySQL停留在一个黑盒的认识,包括我自己。最近一段时间,这几年通过项目实践与不断反思,对MySQL的新认知提升到一个新层次,供大家分享。 下图是初始阶段的认识,就是对数据库建库、建表、建索引,然后执行增删改查操作。 2. 数据库驱动 大家都知道,我们如果 ......
架构 体系 MySQL

Mysql慢查询优化

Mysql慢查询优化实战 效果:效率提升十倍左右 优化前 mysql> use test_old; Database changed mysql> set profiling = 'ON'; Query OK, 0 rows affected mysql> show variables like ' ......
Mysql

MySQL DateTime 可以支持到毫秒

DATETIME DATETIME 在数据库中存储的形式为:YYYY-MM-DD HH:MM:SS,固定占用 8 个字节。 从 MySQL 5.6 版本开始,DATETIME 类型支持毫秒,DATETIME(N) 中的 N 表示毫秒的精度。例如,DATETIME(3) 表示可以存储 3 位的毫秒值。 ......
DateTime MySQL

mysql锁表查询和解锁操作

1、在做数据库操作时,有时会因为自己的粗心或者程序设计上的缺陷导致锁表,在mysql中查看锁表和解锁的步骤如下: //1.查看当前数据库锁表的情况 SELECT * FROM information_schema.INNODB_TRX; //2.杀掉查询结果中锁表的trx_mysql_thread_ ......
mysql

mysql jdbc通过getColumnName方法无法获取别名的解决方法

在连接数据库的URL中添加useOldAliasMetadataBehavior=true属性。 url=jdbc:mysql://127.0.0.1:3306/demo?useSSL=FALSE&serverTimezone=UTC&characterEncoding=utf8&useOldAli ......
方法 别名 getColumnName mysql jdbc

MySQL+MHA搭建&&性能优化

MHA基础概念 MHA MHA(MasterHigh Availability)是一套优秀的MySQL高可用环境下故障切换和主从复制的软件。 MHA 的出现就是解决MySQL 单点的问题。 MySQL故障切换过程中,MHA能做到0-30秒内自动完成故障切换操作。 MHA能在故障切换的过程中最大程度上 ......
amp 性能 MySQL MHA

mysql函数

https://www.jb51.net/article/256828.htm#_label19 ......
函数 mysql

Mysql SQL基本操作

-- 创建Mysql user1用户 USE mysql; CREATE USER user1 IDENTIFIED BY 'user1'; -- 移除 user1用户所有访问权限 REVOKE all privileges ON *.* FROM 'user1'; -- 将db1数据库访问权限分配 ......
基本操作 Mysql SQL

mysql的二进制部署

1 部署说明: 本次二进制部署的版本是mysql8.0.26 1.1安装部署 软件下载地址: https://downloads.mysql.com/archives/community/下载指定版本:mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz 2 部署流程 ......
二进制 mysql

MySQL数据存放相关问题?

MySQL 的数据存放在哪个文件? MySQL 的数据存放在哪个文件? 存放在idb文件中 表空间文件的结构是怎么样的? 段-区-页-行,四个等级 行:保存数据的最小单位 页:mysql按照页读取数据,默认页大小为16KB 区: B+ 树中每一层都是通过双向链表连接起来的,如果是以页为单位来分配存储 ......
数据 问题 MySQL

MySQL面试题——隔离级别相关面试题

隔离级别相关面试题 MySQL事务隔离级别 未提交读——可以读到其他事务未提交的数据(最新的版本) 错误现象:脏读、不可重复读、幻读的现象 提交读(RC)——可以读到其他事务已提交的数据(最新已提交的版本) 错误现象:不可重复读、幻读现象 使用场景:希望看到最新的有效值 可重复读(RR)——在事务范 ......
级别 MySQL

mysql/ClickHouse limit M,N数据不稳定问题

1. 遇到问题: 在clickhouse,我有一个web3_data表,大概36w条记录,以下查询的数据会变: select * from ( SELECT space_id, user_address, attr_name, attr_value FROM web3_data LIMIT 6550 ......
ClickHouse 数据 问题 mysql limit

ubuntu安装mysql8

https://dev.mysql.com/downloads/repo/apt/查看最新的mysql版本apt-get update wget https://repo.mysql.com//mysql-apt-config_0.8.26-1_all.deb dpkg -i mysql-apt-c ......
ubuntu mysql8 mysql

ubuntu卸载mysql

1、停止 MySQL 服务器 sudo service mysql stop 2、卸载 MySQL 服务器软件包 sudo apt-get purge mysql-server 3、删除 MySQL 配置文件和数据 sudo rm -rf /etc/mysql /var/lib/mysql 4、清理 ......
ubuntu mysql

MySQL-通过存储过程来添加和删除分区(List分区)

1.背景原因 当前MySQL不支持在添加和删除分区时,使用IF NOT EXISTS和IF EXISTS。所以在执行调度任务时,直接通过ADD PARTITION和DROP PARTITION不可避免会报错。本文通过创建存储过程来添加和删除分区,可以避免在分区存在时添加分区报错,或者分区不存在时删除 ......
过程 MySQL List

Mysql 8安装报错Can‘t create directory问题

执行 mysqld --initialize --console 时报错 其实就是my.ini文件出了问题。mysql 8 的配置文件中basedir 和 datadir 的路径格式不对 错误: # 设置mysql的安装目录 basedir=D:\software\mysql-8.0.25-winx ......
directory create 问题 Mysql Can

mysql实现主从复制从0到成功

说明:linux采用centos8 mysql 主从复制配置1.安装mysqltar -zxvf mysql-8.0.34-linux-glibc2.28-x86_64.tar.gzcd mysql-8.0.34-linux-glibc2.28-x86_64/mkdir /var/lib/mysql ......
主从 mysql

mysql GTID主从复制介绍【转】

一、GTID的概述: 1、全局事物标识:global transaction identifieds。 2、GTID事物是全局唯一性的,且一个事务对应一个GTID。 3、一个GTID在一个服务器上只执行一次,避免重复执行导致数据混乱或者主从不一致。 4、GTID用来代替classic的复制方法,不在 ......
主从 mysql GTID