MySql
文章平均质量分 77
程序员学习圈
值得去的地方,没有捷径;难走的路,才更值得开始!
展开
-
MySQl-Oracle对比
1.MySql和Oracle的区别 Oracle:功能,性能,稳定,人才。 Mysql: 灵活,简单,便宜,开源。 (1)基本数据类型:MySql中用Int或Integer,Oracle中用number (2)引用数据类型:MySQL中使用varchar,允许存贮空的字符串,在oracle中使用varchar2,如果存贮空的字符串就转换为nu原创 2018-02-04 11:31:30 · 399 阅读 · 0 评论 -
Mysql数据库操作常用命令
1.MySql中常用命令: (1)可以在cmd中输入MySQL -uroot -p123456; (2)显示表结构:DESCRIBE 表明; 或者 DESC 表明; (3)查看 mysql 中有哪些个数据库: show databases; (4)使用一个数据库: use 数据库名称; (5)新建一个数据库: create datab...原创 2018-02-01 21:52:37 · 297 阅读 · 0 评论 -
MySQL 分区分库分表简介
1.Mysql分区: (1) 是什么:如一张表的数据量太大,那么myd,myi就会变的很大,查找数据就会变的很慢,这个时候我们可以利用mysql的分区功能,在物理上将这一张表对应的三个文件,分割成许多个小块,这样呢,我们查找一条数据时,就不用全部查找了,只要知道这条数据在哪一块,然后在那一块找就行了,如果表的数据太大,可能一个磁盘放不下,这个时候,就可以把数据分配到不同的磁盘里面去。原创 2018-01-31 13:12:46 · 1864 阅读 · 0 评论 -
MySQL 主从复制
1.复制的基本原理:slave会从master读取binlog来进行数据同步. (1) MySQL复制过程分成三步: ①master将改变记录到二进制日志(binary log)。这些记录过程叫做二进制日志事件,binary log events; ②slave将master的binary log events拷贝到它的中继日志(relay log);原创 2018-01-30 10:55:27 · 339 阅读 · 0 评论 -
MySQL 性能优化之缓存参数优化
在平时被问及最多的问题就是关于 MySQL 数据库性能优化方面的问题,所以最近打算写一个MySQL数据库性能优化方面的系列文章,希望对初中级 MySQL DBA 以及其他对 MySQL 性能优化感兴趣的朋友们有所帮助。 数据库属于 IO 密集型的应用程序,其主要职责就是数据的管理及存储工作。而我们知道,从内存中读取一个数据库的时间是微秒级别,而从一块普通硬盘上读取一个IO是在毫秒级别,二原创 2018-01-29 19:35:58 · 415 阅读 · 0 评论 -
MySQL 查询优化
1.永远小表驱动大表 说明:在一般情况下,in里面的数字不超过200,超过太多一般就会出错。 2.order by关键字优化: (1) ORDER BY子句,尽量使用Index方式排序,避免使用FileSort方式排序。 MySQL支持二种方式的排序,FileSort和Index,Index效率高.它指MySQL扫描索引本身完成排序。FileSort方式原创 2018-01-29 16:38:58 · 306 阅读 · 0 评论 -
MySQL 性能分析-show profile
1.是什么 show profile 就是mysql提供的可以用来分析当前会话中语句执行的资源损耗情况。可以用来sql的调优和测量,值得注意的是默认情况下为关闭状态,如果开启,保存当前会话最近的15次运行结果。 2.分析步骤: (1) 是否支持,看看当前的mysql版本是否支持,默认关闭:Show variables like 'profiling'; (2) 开启功能,原创 2018-01-29 11:01:13 · 392 阅读 · 0 评论 -
MySQL 索引优化
1.索引分析 (1) 单表 ① 建表 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) UNSIG原创 2018-01-28 23:50:53 · 271 阅读 · 0 评论 -
MySQL 之explain(分析索引最佳使用)
Mysql中有专门负责优化SELECT语句的优化器模块,主要通过计算分析系统中收集到的统计信息,为客户端请求的Query提供他认为最优的执行计划(他认为最优的数据检索方式,但不见得是DBA认为是最优的,这部分最耗费时间). 1.explain是什么 查看执行计划,使用 explain 关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句的,原创 2018-01-28 23:07:58 · 475 阅读 · 0 评论 -
MySQL 索引结构
前面说过,Mysql索引可以分为 B-tree索引,空间(R-Tree)索引,全文(full-text)索引,Hash索引。 由于其他索引在实际应用中使用不广泛,在此只简单介绍B-Tree索引。 一颗b+树,浅蓝色的块我们称之为一个磁盘块,可以看到每个磁盘块包含几个数据项(深蓝色所示)和指针(黄色所示),如磁盘块1包含数据项17和35,包含指针P1、P2、P3. P1表示原创 2018-01-28 21:57:14 · 395 阅读 · 0 评论 -
MySQL 索引操作
前面说过。从类型上,索引可以分为单列索引(普通索引,唯一索引,主键索引)、组合索引、全文索引、空间索引。从操作上,索引可以分为创建索引(创建表时创建索引,基于现有表创建索引)、查询索引、删除索引。下面将以普通索引为例,对索引操作进行详细学习。 1.创建表时创建索引 格式: CREATE TABLE 表名[字段名 数据类型] [UNIQUE|FULLTEX原创 2018-01-28 18:11:44 · 296 阅读 · 0 评论 -
MySQL 索引详解
1.索引是什么 索引(Index)是帮助MySQL高效获取数据的数据结构。可以得到索引的本质:索引是数据结构。 可以理解为“排好序的快速查找数据结构”。 在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。 2.优势 类似大学图书馆建书目索引,提高数据检原创 2018-01-27 23:01:15 · 290 阅读 · 0 评论 -
MySQL 事务详解
1.数据库事务: 事务:一组逻辑操作单元,使数据从一种状态变换到另一种状态。 事务处理(事务操作):保证所有事务都作为一个工作单元来执行,即使出现了故障,都不能改变这种执行方式。当在一个事务中执行多个操作时,要么所有的事务都被提交(commit),那么这些修改就永久地保存下来;要么数据库管理系统将放弃所作的所有修改,整个事务回滚(rollback)到最初状态。 2原创 2018-01-26 16:10:32 · 261 阅读 · 0 评论 -
MySQL 锁机制
锁,在现实生活中是为我们想要隐藏于外界所使用的一种工具。在计算机中,是协调多个进程或线程并发访问某一资源的一种机制。在数据库当中,除了传统的计算资源(CPU、RAM、I/O等等)的争用之外,数据也是一种供许多用户共享访问的资源。如何保证数据并发访问的一致性、有效性,是所有数据库必须解决的一个问题,锁的冲突也是影响数据库并发访问性能的一个重要因素。从这一角度来说,锁对于数据库而言就显得尤为重要。原创 2018-01-25 22:58:18 · 344 阅读 · 0 评论 -
MySQL 运行原理
1.MySQL基础 MySQL是一个开放源代码的关系数据库管理系统。原开发者为瑞典的MySQL AB公司,最早是在2001年MySQL3.23进入到管理员的视野并在之后获得广泛的应用。 2008年MySQL公司被Sun公司收购并发布了首个收购之后的版本MySQL5.1,该版本引入分区、基于行复制以及plugin API。移除了原有的BerkeyDB引擎,同时,Oracle收购InnoDB原创 2018-01-25 18:51:11 · 436 阅读 · 0 评论 -
MySQL 存储引擎
1.什么是存储引擎 存储引擎说白了就是如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。因为在关系数据库中数据的存储是以表的形式存储的,所以存储引擎也可以称为表类型(即存储和操作此表的类型)。 在Oracle 和SQL Server等数据库中只有一种存储引擎,所有数据存储管理机制都是一样的。而MySql数据库提供了多种存储引擎。用户可以根据不同的需求为原创 2018-01-23 23:58:59 · 307 阅读 · 0 评论 -
MySQL 光标使用
查询语句可能查询出多条记录,在存储过程和函数中使用光标来逐条读取查询结果集中的记录。有些书上将光标称为游标。光标的使用包括声明光标、打开光标、使用光标和关闭光标。光标必须声明在处理程序之前,并且声明在变量和条件之后。光标可以类比为数组内部中的循环指针。 目前,mysql中的光标只能在存储过程或函数中使用。 1.声明光标 MySQL中使用DECLARE关键字来声明光标。其语法的原创 2018-01-22 23:45:16 · 1665 阅读 · 0 评论 -
MySQL 存储过程
1.什么是存储过程: 当开发一个应用程序时,为了易于修改和扩充,经常会将负责不同功能的语句集中起来而且按照用途分别放置,以便能够反复调用,而这些独立放置且拥有不同功能的语言,即是“过程”(Procedure)。 存储过程(Stored Producedures)是一组为完整特定功能的SQL语句集,经编译后存储在数据库中。用户通过指定存储过程的名字给出参数(如果该存储过程带有原创 2018-01-22 23:07:59 · 458 阅读 · 0 评论 -
MySQL 自定义函数
MySQL本身提供了内置函数,这些函数的存在给我们日常的开发和数据操作带来了很大的便利,比如我前面提到过的聚合函数SUM()、AVG()以及日期时间函数等等,可是我们总会出现其他的需求:我们需要调用一个函数,这个函数需要按照我们的要求来实现我们自己的功能,可是这个函数式系统不能提供的因为这中需求的不确定性。因此我们需要自己来解决这种需求。还好MySQL设计的扩展性给了我们这个机会,我们可以通过自定原创 2018-01-22 11:16:55 · 414 阅读 · 0 评论 -
MySQL 索引详解
1.索引是什么 索引(Index)是帮助MySQL高效获取数据的数据结构。可以得到索引的本质:索引是数据结构。 可以理解为“排好序的快速查找数据结构”。 在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。 2.优势 类似大学图书馆建书目索引,提高数据检原创 2018-01-21 20:59:08 · 266 阅读 · 0 评论 -
MySQL 之视图
1.什么是视图? 视图是一种虚表,建立在已有表的基础上, 视图赖以建立的这些表称为基表,可以将视图理解为存储起来的 SELECT 语句。 2.什么时候要用到视图? 如果某个查询结果出现的非常频繁,也就是,要经常拿这个查询结果来做子查询 。 3.视图的创建语法: create view 视图名 as select 语句; 4.使用视图有什么原创 2018-01-14 22:58:21 · 368 阅读 · 0 评论 -
MySQL 之约束
为了保证数据的一致性和完整性,SQL规范以约束的方式对表数据进行额外的条件限制。约束是表级的强制规定,可以在创建表时规定约束(通过 CREATE TABLE 语句),或者在表创建之后也可以(通过 ALTER TABLE 语句)。 常用五类约束: not null:非空约束,指定某列不为空 unique: 唯一约束,指定某列和几列组合的数据不能重复 p原创 2018-01-10 23:12:53 · 426 阅读 · 0 评论 -
MySQL 之DCL
DCL(Data Control Language),即数据控制语言,用来定义数据库的访问权限和安全级别,及创建用户。主要包括创建用户、给用户授权、对用户撤销授权、查询用户授权和删除用户等。 1. 创建用户 * CREATE USER 用户名@IP地址 IDENTIFIED BY '密码'; > 用户只能在指定的IP地址上登录 * CREATE USER 用户名@'原创 2018-01-10 19:17:16 · 409 阅读 · 0 评论 -
MySQL 之DDL
数据定义语言(Data Definition Language,DDL),指一些创建,修改,删除数据库对象的语言,相应的语句有CREATE,ALTER,DROP1.创建表:CREAE TABLE方式一:CREATE TABLE `emp` ( `id` int(10) DEFAULT NULL, `name` varchar(20) DEFAULT NULL, `hire_dat...原创 2018-01-09 22:38:12 · 323 阅读 · 0 评论 -
MySQL 之 DML-3
1.根据下图和提供的sql,写出对应语句: (1) 建表: CREATE TABLE `tbl_dept` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `deptName` VARCHAR(30) DEFAULT NULL, `locAdd` VARCHAR(40) DEFAULT NULL, PRIMARY KEY (`id`) )原创 2017-12-31 13:26:57 · 348 阅读 · 0 评论 -
MySQL 之 DML-1
数据操纵语言(Data Manipulation Language 或 Data Modification Language,DML)包括SELECT,INSERT,UPDATE,DELETE语句。一.根据不同查询条件查询:1.过滤 过滤:使用where语句,将不满足条件的语句过滤掉. ①.在过滤当中常用到的比较运算符 BETWEEN...AND...:在两个值之间,包括边...原创 2017-12-29 10:53:38 · 295 阅读 · 0 评论 -
MySQL 之DML、DDL、DCL区别
DML: Data Manipulation Language 数据操纵语言。 用于查询与修改数据记录,包括如下SQL语句: INSERT:添加数据到数据库中 DELETE:删除数据库中的数据 UPDATE:修改数据库中的数据 SELECT:选择(查询)数据 DDL: Data Definition Language 数据定义语言 DDL 用于定义数据库的结构,比如创建、修改或删除数据库对象,包括如下SQL语句: CREATE TABL原创 2017-12-28 23:08:52 · 1299 阅读 · 0 评论 -
MySQL 数据类型详解
1.概述 要了解一个数据库,我们也必须了解其支持的数据类型。MySQL支持所有标准的SQL数据类型,主要分3类: 数值类型 字符串类型 时间日期类型2.数值类型(1) 整数类型(2) 浮点型:(3) 定点数:定点数类型就是decimal型。 浮点数和定点数有其默认的精度,float和double默认会保存实际精度,但这与操作系统和硬件的精度有关。decimal型的默...原创 2017-12-28 18:17:10 · 410 阅读 · 0 评论 -
MySQL 数据库安装和卸载
1.MySQL数据库的安装 http://download.csdn.net/download/luomingkui1109/10179599 2.MySQL数据库的卸载 MySQL数据库按照普通的方法卸载之后还需要清理注册表,下面详细步骤: (1) 使用360卸载,并强力删除相关东东。 (2) 清理注册表: 开始->运行-> regedit 看看注册表里这几个地方删除原创 2017-12-28 10:36:32 · 448 阅读 · 0 评论