随笔分类 -  mysql

摘要:创建自定义函数 CREATE FUNCTION function_name(param1, param2) RETURNS 返回值类型{STRING|INTEGER|REAL|DECIMAL} routine_body - 函数体 CREATE FUNCTION SHOW_AVG(num1 SMAL 阅读全文
posted @ 2017-06-08 19:46 ノGHJ 阅读(173) 评论(0) 推荐(0)
摘要:字符函数 (1)CONCAT():字符连接 SELECT CONCAT(‘IMOOC’,’-‘,’MySQL’);//IMOOC-MySQL SELECT CONCAT (first_name,last_name) AS fullname FROM test; (2)CONCAT_WS():使用指定 阅读全文
posted @ 2017-06-08 19:45 ノGHJ 阅读(284) 评论(0) 推荐(0)
摘要:读的操作: 1.select 2.show 3.explain explain显示了MySQL如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。 4.desc 4.use 写的操作: 2.delete 3.update 4.insert 5.drop 6.t 阅读全文
posted @ 2017-06-07 11:08 ノGHJ 阅读(196) 评论(0) 推荐(0)
摘要:1.索引大大减少了存储引擎需要扫描的数据量。 2.索引可以帮助我们进行排序亦避免使用临时表。 3.索引可以把随机I/O变为顺序I/O 阅读全文
posted @ 2017-05-02 16:26 ノGHJ 阅读(318) 评论(0) 推荐(0)
摘要:1.hash索引必须进行二次查找。 2.hash索引无法进行排序。 3.hash索引不支持部分索引查找也不支持范围查找。 4.hash索引中hash码的计算可能存在hash冲突。 阅读全文
posted @ 2017-05-02 16:22 ノGHJ 阅读(642) 评论(0) 推荐(0)
摘要:对于 B-tree 和 hash 数据结构的理解能够有助于预测不同存储引擎下使用不同索引的查询性能的差异,尤其是那些允许你选择 B-tree 或者 hash 索引的内存存储引擎。 B-Tree 索引的特点 B-tree 索引可以用于使用 =, >, >=, <, <= 或者 BETWEEN 运算符的 阅读全文
posted @ 2017-05-02 16:15 ノGHJ 阅读(386) 评论(0) 推荐(0)
摘要:1.如果不是按照索引最左列开始查找,则无法使用索引。 比如说id+name 那么是name+id 的话 ,这个索引则无法使用。 2.使用索引时不能跳过索引中的列。 如果是id+name+age建立一个复合索引,那么id+age这样子查找也是无法使用的。 3.Not in 和 < > 操作无法使用索引 阅读全文
posted @ 2017-05-02 16:09 ノGHJ 阅读(445) 评论(0) 推荐(0)
摘要:面试时无意间被问到了这个问题:数据库索引的存储结构一般是B+树,为什么不适用红黑树等普通的二叉树? 经过和同学的讨论,得到如下几个情况: 1. 数据库文件是放在硬盘上,每次读取数据库都需要在磁盘上搜索,因此需要考虑磁盘寻道时间,我们都知道磁盘寻道开销是非常大的。同时,索引一般也是非常大的,内存不能放 阅读全文
posted @ 2017-05-02 16:00 ノGHJ 阅读(185) 评论(0) 推荐(0)
摘要:16. 垂直分割 “垂直分割”是一种把数据库中的表按列变成几张表的方法,这样可以降低表的复杂度和字段的数目,从而达到优化的目的。(以前,在银行做过项目,见过一张表有100多个字段,很恐怖) 示例一:在Users表中有一个字段是家庭地址,这个字段是可选字段,相比起,而且你在数据库操作的时候除了个人信息 阅读全文
posted @ 2017-04-28 15:03 ノGHJ 阅读(176) 评论(0) 推荐(0)
摘要:11. 尽可能的使用 NOT NULL 除非你有一个很特别的原因去使用 NULL 值,你应该总是让你的字段保持 NOT NULL。这看起来好像有点争议,请往下看。 首先,问问你自己“Empty”和“NULL”有多大的区别(如果是INT,那就是0和NULL)?如果你觉得它们之间没有什么区别,那么你就不 阅读全文
posted @ 2017-04-28 15:02 ノGHJ 阅读(156) 评论(0) 推荐(0)
摘要:当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。这里,我们不会讲过多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数据库。希望下面的这些优化技巧对你有用。 1. 为查询缓存优化你的查询 大多数的MySQL服务器都开启了查询缓存。这是提 阅读全文
posted @ 2017-04-28 15:02 ノGHJ 阅读(128) 评论(0) 推荐(0)
摘要:1.导出整个数据库mysqldump -u 用户名 -p 数据库名 > 导出的文件名mysqldump -u root -p dataname >dataname.sql这个时候会提示要你输入root用户名的密码,输入密码后dataname数据库就成功备份在mysql/bin/目录中. 2.导出一个 阅读全文
posted @ 2017-04-21 19:57 ノGHJ 阅读(104) 评论(0) 推荐(0)
摘要:CI框架--事务 CI框架中事务封装的很完善,使用起来很简单 1.不开启事务 1 2 3 4 //不开启事务 前两个sql 能够执行成功,第三个执行失败 $this->device_model->addForCamera(1, '爱三123', '2016122903', 0); $this->de 阅读全文
posted @ 2017-04-21 19:34 ノGHJ 阅读(282) 评论(0) 推荐(0)
摘要:相对与PHP5,PHP7的最大变化之一是移除了mysql扩展,推荐使用mysqli或者pdo_mysql,实际上在PHP5.5开始,PHP就着手开始准备弃用mysql扩展,如果你使用mysql扩展,可能看到过这样的提示”Deprecated: mysql_connect(): The mysql e 阅读全文
posted @ 2017-04-20 19:48 ノGHJ 阅读(17781) 评论(1) 推荐(0)
摘要:一、MySQL 连接本地数据库,用户名为“root”,密码“123”(注意:“-p”和“123” 之间不能有空格) C:\>mysql -h localhost -u root -p123 二、MySQL 连接远程数据库(192.168.0.201),端口“3306”,用户名为“root”,密码“1 阅读全文
posted @ 2017-04-19 10:02 ノGHJ 阅读(254) 评论(0) 推荐(0)
摘要:mysqldump常用于MySQL数据库逻辑备份。 1、各种用法说明 A. 最简单的用法: 上述命令将指定数据库备份到某dump文件(转储文件)中,比如: 生成的test.dump文件中包含建表语句(生成数据库结构哦)和插入数据的insert语句。 B. --opt 如果加上--opt参数则生成的d 阅读全文
posted @ 2017-04-19 10:00 ノGHJ 阅读(167) 评论(0) 推荐(0)
摘要:mysqldump指定编码导出数据 第一步,导出旧库 mysqldump --default-character-set=latin1 -uroot -pXXX --database db > /tmp/old.sql 第二步,转换编码 iconv -t utf-8 -f gb2312 -c /tm 阅读全文
posted @ 2017-04-19 09:59 ノGHJ 阅读(3881) 评论(0) 推荐(0)
摘要:解决办法: 阅读全文
posted @ 2017-04-19 09:32 ノGHJ 阅读(347) 评论(0) 推荐(0)
摘要:1、查找以前是否装有mysql 命令:rpm -qa|grep -i mysql可以看到如下图的所示: 说明之前安装了:MySQL-client-5.5.25a-1.rhel5MySQL-server-5.5.25a-1.rhel5 2、停止mysql服务、删除之前安装的mysql 删除命令:rpm 阅读全文
posted @ 2017-04-19 08:30 ノGHJ 阅读(911) 评论(0) 推荐(0)
摘要:锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而 阅读全文
posted @ 2017-04-15 10:02 ノGHJ 阅读(194) 评论(0) 推荐(0)