Mysql
杨鲜生
纸上得来终觉浅,绝知此事要躬行。
展开
-
Linux安装MariaDB
1.首先讲一下MariaDB与Mysql的关系。MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。2.安装MariaDB安装原创 2017-05-23 11:54:23 · 434 阅读 · 0 评论 -
mysql语句优化
1、应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。2、对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。3、应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以...转载 2018-03-17 17:55:08 · 222 阅读 · 0 评论 -
Mysql中left join on and和left join on where 的区别
最近在看别人写的代码时,看到了left join on and 的写法,刚开始以为他写错了,是不是少东西了,后来研究了一下,人家是对的,而且这种写法将作表的数据全部保留,有点孤陋寡闻,头一次遇到这种写法,记录下来吧。LEFT JOIN ON WHERE:在临时表生成后,再对临时表的数据进行过滤,再返回左表。LEFT JOIN ON AND:在临时表生成的过程时,ON中的条件不管是否为真原创 2017-12-07 22:22:13 · 6640 阅读 · 0 评论 -
MogoDB数据迁移到mysql
最近在做云平台评估的工作,给的原始数据其中有一部存在了mongo中,不能和mysql连表查询,所以需要将mongo数据转到mysql数据库中。由于mong数据导出后都是json格式的,直接导入到mysql中是不可以的,所以需要把指定的字段导出。进入mongo的bin目录代码:mongoexport -d test -c students --csv -f classid,name,ag原创 2017-12-18 13:09:41 · 405 阅读 · 0 评论 -
java中获取二维数组的行数和列数
二维数组其实是由一维数组组成,比如int[][] arr = { {2,3,4}, {4,5,6}, {7,8,9} };int rows = i.length;//行数int columns = i[0].length;//列数这就像从数据库中查出来的数据,都是二维数组,length就是行数,列数是具体到其中的一维里面在求length。原创 2017-09-19 22:02:31 · 41063 阅读 · 0 评论 -
MySQL导入大批Excel数据
我们有一个需求,把全国调研的Excel数据要导入到mysql中,总共七万条,一条数据有一百三十个字段,我写了一个程序来读取文件,报了内存溢出的错误,修改配置文件,仍然报错误,而且速度相当慢。所以这种方式以失败告终。从网上查找了一下,尝试用Navicat自带的导入Excel方法,很快就导入完成了(也就是几分钟的事)。下面把步骤、以及注意事项写出来。原创 2017-09-01 10:37:01 · 9056 阅读 · 3 评论 -
Mysql在insert触发器里如何update当前数据
create trigger update_areabeginupdate workset new.area = (select area from `unit` left join `group` on unit.id=`group`.unitid where `group`.id = new.groupId ) where id = new.id;end;在insert数据原创 2017-06-28 16:27:41 · 4137 阅读 · 0 评论 -
mysql存储过程
1.初识存储过程mysql 执行语句是要先编译,然后再执行的。这样如果查询并发大的时候。会浪费很多资源和时间。造成mysql进程占用资源过多,症状就是慢。但存储过程可以把一些特别的语句封装成一个方法 ,再编译好成一个可以执行的方法,对外只要接收参数就可以了。这样就不用再编译。执行就快了什么时候会用到?你觉得你数据库因为同时出现太多读写操作而变得慢 ,那么就要用了主要用来提升性能。。原创 2017-05-05 20:46:34 · 268 阅读 · 0 评论 -
mysql触发器
1.前言最近在做项目的优化,其中用到了伪哈希,伪哈希维护字段又需要用到 触发器,于是就学习了一下。2.语法CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_name FOR EACH ROW trigger_stmt触发程序是与表有关的命名数据库对象,当表上出现特定事件时,将激活该对象。触发程原创 2017-05-05 14:39:03 · 206 阅读 · 0 评论 -
为mysql中查出为空的内容赋默认值
前言表之间进行连表查询,比如左连接,可能右表没有数据,就会出现为空的情况,想让为空的有个默认值,于是就用到了IFNULL关键字。1.表结构tschooluser表tschoolinfo表这两个表通过username进行关联2.sql语句SELECT a.username,a.sch_name,b.state FROM tschooluser a LEF原创 2017-04-18 21:15:42 · 9704 阅读 · 1 评论 -
MyISAM与InnoDB的区别是什么?
MyISAM与InnoDB的区别是什么?1、 存储结构MyISAM:每个MyISAM在磁盘上存储成三个文件。第一个文件的名字以表的名字开始,扩展名指出文件类型。.frm文件存储表定义。数据文件的扩展名为.MYD (MYData)。索引文件的扩展名是.MYI (MYIndex)。InnoDB:所有的表都保存在同一个数据文件中(也可能是多个文件,或者是独立的表空间文件),InnoDB表的大小只受限于操...原创 2018-03-12 22:09:10 · 1153 阅读 · 0 评论