MySQL
文章
11 数学函数
系列十一函数与表达式的应用 数学函数 字符串函数 日期时间函数 条件判断函数和系统函数 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899#第四十六课时--数学函数库中的函数CEIL()--进一取整FLOOR()--舍一取整MOD()--取余数POWER()--幂运算ROUND()--四舍五入TRUNCATE()--数字截取ABS()--取绝对值PI()--圆周率RAND()--返回0~1之间的随机数SIGN()--返回x的符号EXP()--计算e的几次方#第四十七课时--字符串函数库--CHAR_LENGTH(S)返回字符串的字符数--length()返回字符串的长度--concat(s1,s2...)将字符串合并成为一个字符串--CONCAT_W...
12 索引
系列十二索引的使用和数据库的管理 索引的使用 管理数据库 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061#第五十一课时--索引的使用--索引有一列或多了组合而成,起作用是提高对表中数据的查询速度--缺点是创建和维护索引需要耗费时间--索引可以提高查询速度,减慢写入速度 --索引的分类bitree索引和hash索引--普通索引,类似书签 index = 索引名称[索引字段]--唯一索引,unique key或者主键unique key = 索引名称{索引字段}--全文索引,只支持字符串字段,只能建立在全英文的内容上FULLTEXT KEY = 索引名称 索引字段--单列索引,一个字段上的索引INDEX in_test1(test1)--多列索引,多个字段上的索引INDEX 多列索引的名称(字段1,字段2,字段3...)--空间索引,SPACIAL INDEX spa_test...
13 常见操作指令
1 数据库对象操作创建数据库12CREATE {DATABASE | SCHEMA} [IF NOT EXISTS]db_name[DEFAULT CHARACTER SET ='GBK']; 创建数据库 —— 类型、名称 —— 可选参数,表示如果不存在时创建 —— 默认编码方式 查看数据库12345SHOW WARNINGS; 显示警告SHOW DATABASES;查看数据存在的SHOW CREATE DATABASE;查看数据库的定义信息 修改指定数据库的编码方式12ALTER {DATABASE\|SCHMA}db\_name [DEFAULT CHARACTER SET = 'GBK']; 打开指定数据库123USE db_name; 打开的数据库名称SELECT DATABASE\|SCHEMA();查看当前打开的而数据库名称 删除指定的数据库1DROP {DATABASE\|SCHEMA}[IF NOT EXISTS] db_name 2 数据表对象操作定义 数...
14 注册表文件修改
数据库注册表修改心得 几个月前跟随导员用xampp做的集成开发环境进行Apache服务器上的php网站开发项目 近几日大作业老师要求使用深喉咙的php继承开发环境,结果现在的mysql不听话,各种出错!!! 端口冲突: 由于xampp,深喉咙加上我自己的电脑,总共装了三个版本的mysql,导致端口占用等问题时有发生,所以吧xampp和深喉咙的mysql直接删掉,反而不能启动了! 注册表修改: 后来发现,深喉咙自动修改了注册表,原来一直启动的并不是电脑上的mysql,而是深喉咙自带的mysql,修改注册表。 (http://jingyan.baidu.com/article/91f5db1bd298ed1c7f05e315.html) 但是登录的时候报了一个奇怪的错误, mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication后来查证,是因为前不久不小心更新了xampp,导致数据库中原来密码出现问题,密码格式不能被新版的phpmyadmin解析,于是看教程,经过PASSWORD()函数...
15 排序和校验规则
1 基本概念mysql数据库在做查询时候,有时候是英文字母大小写敏感的,有时候又不是的,主要是由mysql的字符校验规则的设置决定的,通常默认是不支持的大小写字母敏感的。 什么是字符集和校验规则?字符集是一套符号和编码。校对规则是在字符集内用于比较字符的一套规则。任何一个给定的字符集至少有一个校对规则,它可能有几个校对规则。要想列出一个字符集的校对规则,使用SHOW COLLATION语句。校对规则一般有这些特征: 两个不同的字符集不能有相同的校对规则。 每个字符集有一个默认校对规则。例如,utf8默认校对规则是utf8_general_ci。 命名规定存在校对规则命名约定:它们以其相关的字符集名开始,通常包括一个语言名,并且以_ci(大小写不敏感)、_cs(大小写敏感)或_bin(二元)结束。不同级别的字符集和校验规则可控制大小写敏感 MySQL5.1在同一台服务器、同一个数据库或甚至在同一个表中使用不同字符集或校对规则来混合定义字符串。字符集和校对规则有4个级别的默认设置:服务器级、数据库级、表级和连接级。 2 服务器级修改配置文件MySQL按照如下方法确定服务器字符集和...
16 explain性能分析
1 简介在MySQL中,EXPLAIN命令的返回值是一个表格,包含了查询语句的执行计划。表格中的每一行代表了一个访问方式,每一列代表了一个属性,例如: 12345+----+-------------+-------+-------+---------------+---------+---------+------+------+-------------+| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |+----+-------------+-------+-------+---------------+---------+---------+------+------+-------------+| 1 | SIMPLE | users | const | PRIMARY | PRIMARY | 4 | const| 1 | |+----+----------...
附录0 MySQL架构原理
Mysql 架构原理 参考文献 Mysql 架构原理 1 概述分层结构概述 客户端:各种语言都提供了连接mysql数据库的方法,比如jdbc、php、go等,可根据选择 的后端开发语言选择相应的方法或框架连接mysql server层:包括连接器、查询缓存、分析器、优化器、执行器等,涵盖mysql的大多数核心服务功能,以及所有的内置函数(例如日期、世家、数 学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。 存储引擎层:负责数据的存储和提取,是真正与底层物理文件打交道的组件。 数据本质是存储在磁盘上的,通过特定的存储引擎对数据进行有组织的存放并根据业务需要对数据进行提取。存储引擎的架构模式是插件式的,支持Innodb,MyIASM、Memory等多个存储引擎。现在最常用的存储引擎是Innodb,它从mysql5.5.5版本开始成为了默认存储引擎。 物理文件层:存储数据库真正的表数据、日志等。物理文件包括:redolog、undolog、binlog、errorlog、querylog、slowlog、data、index等 连...
附录1 MySQL存储引擎
MySQL存储引擎1 概述MySQL架构存储引擎 MySQL中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力。通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能。 例如,如果你在研究大量的临时数据,你也许需要使用内存MySQL存储引擎。内存存储引擎能够在内存中存储所有的表格数据。又或者,你也许需要一个支持事务处理的数据库(以确保事务处理不成功时数据的回退能力)。 这些不同的技术以及配套的相关功能在 MySQL中被称作存储引擎(也称作表类型)。 MySQL默认配置了许多不同的存储引擎,可以预先设置或者在MySQL服务器中启用。你可以选择适用于服务器、数据库和表格的存储引擎,以便在选择如何存储你的信息、如何检索这些信息以及你需要你的数据结合什么性能和功能的时候为你提供最大的灵活性。 MySQL支持的存储引擎 存储引擎对比 功 能 MYISAM Memory InnoDB Archive 存储限制 256TB RAM 64TB None 支...
附录2 MySql性能优化
性能调优 参考文献 https://www.jb51.net/article/70111.htm https://www.cnblogs.com/jiekzou/p/5371085.html 0 基础方法 数据库设计优化: 选择合适的存储引擎 设计合理的表结构(符合3NF) 添加适当索引(index) 普通索引、主键索引、唯一索引、全文索引、组合索引、覆盖索引。 查询语句优化: 遵守查询规范。 分析日志:通过show status命令了解各种SQL的执行频率。定位执行效率较低的SQL语句(重点select,记录慢查询) explain分析低效率的SQL语句 查询过程优化 从内存中读取数据 减少磁盘写入操作(更大的写缓存) 提高磁盘读取速度(硬件设备改善) 1.1 存储引擎 支持全文索引:MyISAM 支持外键:Innodb 支持缓存:Innodb 支持事务:Innodb 支持并发:MyISAM 只支持表级锁,而 InnoDB 还支持行级锁。 支持备份:InnoDB 支持在线热备份。 崩溃恢复:MyISAM 崩溃后发生损坏的概率比 InnoDB 高很多,而且恢复...
附录3 MySQL索引类型
Mysql索引 参考文献 MySQL索引类型 1 索引类型——应用索引定义 普通索引 唯一索引 主键索引 组合索引 全文索引 12CREATE TABLE table_name[col_name data type][unique|fulltext][index|key][index_name](col_name[length])[asc|desc] unique|fulltext为可选参数,分别表示唯一索引、全文索引 index和key为同义词,两者作用相同,用来指定创建索引 col_name为需要创建索引的字段列,该列必须从数据表中该定义的多个列中选择 index_name指定索引的名称,为可选参数,如果不指定,默认col_name为索引值 length为可选参数,表示索引的长度,只有字符串类型的字段才能指定索引长度 asc或desc指定升序或降序的索引值存储 普通索引1.普通索引是最基本的索引,它没有任何限制。它有以下几种创建方式: (1)直接创建索引 1CREATE INDEX index_name ON table(column(length)) (2)修...













