随笔分类 - 数据库之MySQL
摘要:1、数据库连接数 1.1、查看当前连接数 mysql 数据库查看连接数的方法如下: 使用命令行查看 SHOW PROCESSLIST 这个命令会列出所有正在运行的线程,包括 连接的Id(线程 ID) User(用户) Host(来源主机) db(连接的数据库) Command(执行的命令类型,如Sl
阅读全文
摘要:1、数据库主从复制的基本介绍 数据库中的主从复制就是将主数据库中的 DDL 和 DML 操作通过二进制日志传输到从数据库上,然后将这些日志重新执行(重做),从而使得从数据库的数据与主数据库保持一致。 MySQL支持单向、异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器。
阅读全文
摘要:1、MySQL的锁的基本介绍 锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素
阅读全文
摘要:1、MySQL的自定义函数(FUNCTION) 1.1、创建函数 MySQL 数据库创建函数(Function)的语法: CREATE FUNCTION func_name ( [func_parameter] ) -- 括号是必须的,参数是可选的 RETURNS type [ characteri
阅读全文
摘要:1、查询截取优化 SQL调优过程: 观察,至少跑1天,看看生产的慢SQL情况。 开启慢查询日志,设置阙值,比如超过5秒钟的就是慢SQL,并将它抓取出来。 explain + 慢SQL分析。 show profile。 运维经理 or DBA,进行SQL数据库服务器的参数调优。 总结: 慢查询的开启并
阅读全文
摘要:1、分区表的基本介绍 分区是一种表的设计模式,正确的分区可以极大地提升数据库的查询效率,完成更高质量的SQL编程。但是如果错误地使用分区,那么分区可能带来毁灭性的的结果。 分区功能并不是在存储引擎层完成的,常见的存储引擎InnoDB、MyISAM、NDB等都支持分区。但是并不是所有的存储引擎都支持,
阅读全文
摘要:1、explain的基本介绍 有时候我们可能需要知道 mysql 是如何解析执行我们的 SQL 语句的,比如有时候某些语句写在前面并不一定意味着它就会先执行,有没有使用到索引等待,此时我们可以通过 explain 语句来分析出 SQL 优化器是如何解析执行我们的 SQL 语句的。 使用 EXPLAI
阅读全文
摘要:1、索引的基本介绍 MySQL 官方对索引的定义为:索引(Index)是帮助 MySQL 高效获取数据的数据结构。可以得到索引的本质: 索引是数据结构。可以简单理解为排好序的快速查找数据结构。 在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据, 这样就
阅读全文
摘要:1、MySQL的下载安装和完全卸载 1.1、MySQL的下载和安装 MySQL5.5.4 安装包下载链接:https://pan.baidu.com/s/1FCONiIxFvhIBzDJ4Ao6P4Q 提取码:9crg MySQL的安装流程可参考:https://blog.csdn.net/s_x1
阅读全文
摘要:1、MySQL 数据类型 MySQL 支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。 1.2、mysql中编码和字符 在 mysql 中,一个中文汉字所占的字节数与编码格式有关: 如果是GBK编码,则一个中文汉字占2个字节,英文占1个字节 如果是UTF8编码,则一个中文汉字占
阅读全文
摘要:1、数据库连接池的基本介绍 数据库连接池是一种用于管理数据库连接的机制。数据库连接的建立是一个相对耗时的操作,包括网络通信、身份验证等过程。连接池预先创建一定数量的数据库连接,并对这些连接进行管理。当应用程序需要访问数据库时,它可以从连接池中获取一个连接,使用完毕后再将连接归还给连接池,而不是每次都
阅读全文
摘要:1、MySQL数据库的事务 在MySQL数据库中,事务默认是会自动提交的,也就是说,如果没有用 begin ... commit 来显式提交事务的话,MySQL 会认为每一条SQL语句都是一个事务,也就是每一条SQL语句都会自动提交。另外,Oracle数据库默认是不会自动提交事务的,也就是必须得显式
阅读全文
摘要:1、数据库的备份 数据库备份与日志备份是数据库维护的日常工作,备份的目的是在于当数据库出现故障或者遭到破坏时可以根据备份的数据库及事务日志文件还原到最近的时间点将损失降到最低点。 数据库的备份和还原可以使用命令行,也可以直接使用图形化工具比如 Navicat,下面介绍使用命令行的方式。 备份MySQ
阅读全文
摘要:1、DCL的基本介绍 DCL(Data Control Language),即数据控制语言,用来定义数据库的访问权限和安全级别,及创建用户。主要包括创建用户、给用户授权、对用户撤销授权、查询用户授权和删除用户等。 DCL 语句主要是 DBA(数据库管理员) 用来管理系统中的对象权限时所使用,一般的开
阅读全文
摘要:下面的查询基于的表有: "Websites" 表: access_log表: students表: 1、多表查询 1.1、基本查询(笛卡尔积) SELECT查询不但可以从一张表查询数据,还可以从多张表同时查询数据。 查询多张表的语法: select * from 表1, 表2; # 示例: SELE
阅读全文
摘要:1、DML的基本介绍(增删改) DML(Data Manipulation Language,修改数据):DML就是用来增删改表中的数据的,为用户提供添加、删除、更新数据的能力,这些是应用程序对数据库的日常操作。 2、添加数据(insert) INSERT INTO 语句用于向表中插入新记录。添加数
阅读全文
摘要:下面的查询基于的表有: "Websites" 表: access_log表: students表: 1、DQL的基本介绍 DQL(Data Query Language,查询数据):DQL就是用来查询表中的数据的,为用户提供查询数据的能力,这也是通常最频繁的数据库日常操作。 2、基本查询(selec
阅读全文
摘要:1、DDL的基本概念 DDL(Data Definition Language,操作数据库和表结构):DDL是用来操作数据库和表的,也就是创建数据库和表、删除数据库和表、修改表结构这些操作。通常,DDL由数据库管理员执行。 2、DDL操作数据库(选择和增删改查) 2.1、创建数据库(Create)
阅读全文
摘要:1、MySQL的基本概念 MySQL是目前应用最广泛的开源关系数据库。MySQL最早是由瑞典的MySQL AB公司开发,该公司在2008年被SUN公司收购,紧接着,SUN公司在2009年被Oracle公司收购,所以MySQL最终就变成了Oracle旗下的产品。 MySQL 是一个非常流行的关系型数据
阅读全文