![](https://img-blog.csdnimg.cn/3b752fb6deec4940b534fc2906963c8c.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
MySQL
文章平均质量分 81
没有简介
layman .
蒙多,想娶纳尔就娶纳尔......
展开
-
MySQL常用的时间函数,聚合函数,字符串函数,判断函数
时间函数获取当前日期,当前时间,当前日期+时间select CURDATE(),CURTIME(),NOW();示例:以上的日期函数获得效果,在其它时间函数中也能活得,此处不列举,记住最简单,最好用的就行。比如与NOW() 效果相同的函数有localtime()等4个函数。但我认为程序员已经卷成这样了,谁还能记得茴字有4种写法?获取UTC时间(这个不是很常用,但是我在业务里碰到过几次)select UTC_TIMESTAMP(), UTC_DATE(), UTC_TIME(),原创 2021-12-22 17:02:34 · 1212 阅读 · 0 评论 -
MySQL 8.0.19详细安装教程(64位)
MySQL 8.0.19详细安装教程下载MySQL配置 my.ini文件初始化MySQL搞定收工下载MySQLMySQL官网链接:https://dev.mysql.com/downloads/mysql/点击 Archives 查看以往的MySQL版本配置 my.ini文件下载64位的MySQL8.0.19,然后解压,目录结构如下(我的解压目录是 E:\Program Files\mysql-8.0.19-winx64)新建 my.ini文件(先新建txt文件,然后修改原创 2021-09-09 10:34:02 · 2390 阅读 · 1 评论 -
MySQL5.5的下载与安装
MySQL的下载与安装我选择的安装目录是: D:\Program Files\MySQL\MySQL Server 5.5接下来一路点击next,直到出现该页面:表空间路径无需改动,直接点击next接下来是默认配置,点击next:接下来是数据库的编码方式配置:接下来是系统配置和环境变量配置:设置root用户的密码:如果出现4个对勾,说明安装完成:原创 2020-11-17 21:05:08 · 1161 阅读 · 0 评论 -
MySQL之主从复制
主从复制的原理原理图主要涉及三个线程:binlog 线程、I/O 线程和 SQL 线程。binlog 线程 :负责将主服务器上的数据更改写入二进制日志(Binary log)中。I/O 线程 :负责从主服务器上读取二进制日志,并写入从服务器的中继日志(Relay log)。SQL 线程 :负责读取中继日志,解析出主服务器已经执行的数据更改并在从服务器中重放(Replay)。步骤主从复制的原则一个slave只能有一个master一个master可以有多个slave原创 2021-02-20 22:40:47 · 592 阅读 · 1 评论 -
MySQL之锁机制(表锁和行锁)
MySQL之锁机制(表锁和行锁)锁的定义锁的分类表锁表锁特点表锁(读锁)表锁(写锁)总结表锁定分析行锁(重点)行锁特点并发事务产生的问题事务隔离级别模拟数据行锁基本演示行锁演示结论索引失效间隙锁什么是间隙锁间隙锁演示间隙锁的危害面试题:如何锁定一行行锁分析InnoDB_row_lock字段说明优化建议总结锁的定义锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种共享资源,如何保证数据并发访问的一致性、有效性是所有数原创 2021-02-20 21:32:15 · 709 阅读 · 0 评论 -
MySQL之Show Profiles
定义Show Profiles是MySQL提供,可以分析SQL语句执行的资源消耗情况,可用于SQL调优。通过配置profiling参数启用SQL剖析,该参数可以在全局和session级别来设置。全局级别作用于整个MySQL实例,而session级别只影响当前回话。该参数开启后,后续执行的SQL语句都将记录其资源开销,诸如IO,上下文切换,CPU,Memory等Show profiles是5.0.37之后添加的,要想使用此功能,要确保MySQL版本 > 5.0.37。如何使用selec原创 2021-02-20 18:43:21 · 1375 阅读 · 0 评论 -
MySQL之慢查询日志
慢查询日志定义慢查询日志是MySQL提供的一种日志记录,用来记录响应时间超过阀值的SQL语句。如果某条SQL语句运行时间超过long_query_time设定的值,就会被记录到慢查询日志中。long_query_time的默认值为 10(10秒)由他来查看哪些SQL超出了我们的最大忍耐时间值,比如一条sql执行超过5秒钟,我们就算慢SQL,希望能 收集超过5秒的sql,结合之前explain进行全面分析使用默认情况下,MySQL 数据库没有开启慢查询日志,需要我们手动来设置这个参数如果不是原创 2021-02-20 15:42:57 · 893 阅读 · 0 评论 -
MySQL之索引优化(二)
小表驱动大表ORDER BY 优化模拟数据create table tblA(#id int primary key not null auto_increment,age int,birth timestamp not null);insert into tblA(age, birth) values(22, now());insert into tblA(age, birth) values(23, now());insert into tblA(age, birth) va原创 2021-02-20 13:00:48 · 663 阅读 · 0 评论 -
MySQL之索引优化(一)
MySQL之索引优化模拟数据查看索引顺序索引优化案例最佳左前缀法则按索引顺寻进行查询不按索引顺序查询全值匹配索引列上不计算范围之后全失效覆盖索引多使用使用不等会失效使用NULL值要小心模糊查询加右边字符串加单引号尽量不用or查询简单面试题执行计划分析案例A优化口诀模拟数据CREATE TABLE staffs(id INT PRIMARY KEY AUTO_INCREMENT,`name` VARCHAR(24) DEFAULT NULL COMMENT'姓名',`age` INT NOT NU原创 2021-02-19 18:57:12 · 713 阅读 · 0 评论 -
MySQL之优化案例
准备工作模拟数据表并插入数据CREATE TABLE IF NOT EXISTS `article`(`id` INT(10) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,`author_id` INT (10) UNSIGNED NOT NULL,`category_id` INT(10) UNSIGNED NOT NULL , `views` INT(10) UNSIGNED NOT NULL , `comments` INT(10) UNSI原创 2021-02-19 11:36:20 · 2169 阅读 · 0 评论 -
MySQL之查询优化(EXPLAIN)
查询优化器查询瓶颈CPU饱和(读取数据至内存 or 将数据持久化至硬盘)IO饱和(读取数据远大于内存容量)硬件制约(top,free,iostat,vmstat等系统性能状态)执行计划(EXPLAIN)使用EXPLAIN关键字可以模拟查询优化器执行SQL查询语句,从而知道MySQL数据库是如何处理SQL语句,以及应该从哪个方面对SQL语句进行优化作用查看表的读取顺序数据读取的操作类型哪些索引可以使用实际使用了那些索引表之间的引用关系有多少行数据被优化器查询执行计划字段介原创 2021-02-18 12:34:31 · 2250 阅读 · 1 评论 -
MySQL之索引
索引的本质是数据结构,可以简单理解为:排好序的,可以快速查找数据的一种数据结构MySQL数据库除了保存数据外,还维护着一个满足特定查找算法的数据结构,这些数据结构以某种方式指向数据在内存中的地址,这样可以在数据结构的基础上实现高级查找算法,而这种数据结构就是索引(B-Tree)。一般来说,数据库的索引很大,不可能全部存储在内存中,因此索引往往以索引文件的形式存储在硬盘上...原创 2021-02-17 18:15:16 · 3467 阅读 · 3 评论 -
数据库连接池——c3p0和Druid的简单配置和测试
1. 传统的jdbc操作:A:注册驱动B:获取连接C:获取预编译SQL对象D:执行SQL语句E:释放资源在这个过程中,每次与数据库交互,都会频繁的注册驱动,获取连接…以及释放资源,对系统的系统造成极大的浪费,而且2. 数据库连接池(connection pool)概念:本质上是个集合容器,里面存放着数据库的连接。A:系统初始化时,创建一定数量的连接对象放入连接池。B:当有需要时,从连接池中获取空闲的连接对象,对数据库进行操作C:使用完毕后,将该连接对象归还至连接池,方便后续复用原创 2020-11-25 13:02:55 · 957 阅读 · 0 评论 -
MySQL彻底卸载的四个步骤
1:在我的电脑,右击,选择管理:2:卸载MySQL安装程序,我的电脑是win10.点击开始菜单,选择设置按钮,选择应用,下拉找到安装的MySQL,点击它,出现如下图显示:如果是win7系统,需要在 控制面板–程序和功能中,进行卸载3:删除MySQL安装目录下的所有文件4:删除 c 盘 ProgramDate 目录中关于 MySQL 的目录。路径为:C:\ProgramData\MySQL(是隐藏文件,需要显示出来)到了这一步,MySQL数据库就彻底卸载干净了...原创 2020-11-18 15:14:47 · 2915 阅读 · 1 评论 -
数据库JDBC——PreparedStatement和Statement的区别和使用
文章目录PreparedStatement和Statement的区别一、PreparedStatement的批量操作二、Statement的SQL注入演示1.登录界面2.后台代码示例总结注PreparedStatement和Statement的区别PreparedStatement对象:预编译的 SQL 语句对象,只编译一次,支持批量处理,可将SQL语句装载到一起,然后一次送到数据库执行,效率极高 (addBatch()方法)可杜绝防止SQL注入问题注意:如果是一次性操作(增删改查.原创 2020-11-24 18:05:49 · 636 阅读 · 1 评论 -
使用properties配置文件来获取数据库连接
一个简单的JDBC工具类(目前还没有学到PreparedStatement)jdbc.properties需配置在src目录下。import java.io.FileReader;import java.io.IOException;import java.net.URL;import java.sql.*;import java.util.Properties;/** 3. @author 菠菜饭团 4. @title: JDBCUtils 5. @date 2020/11/24 .原创 2020-11-24 15:36:48 · 877 阅读 · 0 评论 -
MySQL 8.0.19详细安装教程以及简单数据库链接demo
MySQL驱动jar包下载路径提取码:bcft Statement statement = null; Connection conn = null; try { //1 导入驱动jar包 //2 注册驱动 Class.forName("com.mysql.jdbc.Driver"); //3 获取数据库连接对象 conn = Driv.原创 2020-11-24 13:55:01 · 718 阅读 · 0 评论