mysql学习记录

干净卸载mysql:https://blog.csdn.net/cxy_summer/article/details/70142322
mysql 解压缩版安装说明:https://jingyan.baidu.com/article/f3ad7d0ffc061a09c3345bf0.html

1.mssql中的  FOR XML PATH('') 对比 MySql中的 GROUP_CONCAT(field)

FOR XML PATH的用法:http://www.cnblogs.com/doubleliang/archive/2011/07/06/2098775.html

GROUP_CONCAT的用法:http://www.cnblogs.com/appleat/archive/2012/09/03/2669033.html

2.mysql存储过程(procedure)和函数(function)的区别和使用:http://blog.csdn.net/xlxxcc/article/details/52485322

3.mysql自带各种函数:http://www.cnblogs.com/kissdodog/p/4168721.html

4.插入数据后,返回该条数据对应的自增列编号:http://www.cnblogs.com/moxiaopeng/p/4788722.html

5.limit 用法:select * from tab1 order by id desc limit 0,10  下标从 0 开始。

6.调用存储过程,输入输出变量,输出变量无需声明,参数不能以@开头,跟mssql不一样。

例如:call proc_add_user('jay',@uid);select @uid;

7.每条sql语句结束后都要加上分号,表示真的结束了,换行是没用的,跟mssql不同。

8.mysql中无法用拼接like,

例如:select * from tab1 where name like '%'+123+'%',需要用 like concat('%',123,'%')来拼接。数字会自动转存字符串拼接起来。

9.mysql中 IFNULL、ISNULL、NULLIF的使用:

IFNULL(exp1,exp2):当exp1是null时,返回exp2,否则返回exp1;

ISNULL(exp):当exp是null的时候,返回1,否则返回0;

NULLIF(exp1,exp2):如果exp1=exp2,那么返回值为NULL,否则返回值为exp1。

http://www.cnblogs.com/JuneZhang/archive/2010/08/26/1809306.html

10.取得前一次MySQL操作所影响的记录行数,

若上一步操作是select语句,则使用 FOUND_ROWS() ;

若上一步操作是update/modify/delete语句,ROW_COUNT()。

11.Mysql 表连接update/select: http://www.cnblogs.com/bourneli/archive/2013/01/28/2879519.html

12.mysql 字符串数字转换
方法一:SELECT CAST('123' AS SIGNED);
方法二:SELECT CONVERT('123',SIGNED);
方法三:SELECT '123'+0;
//数字转字符串 CONCAT()

13.Mysql创建表,建立主键、索引、组合主键;设置自增,非空,默认值

http://www.cnblogs.com/ggjucheng/archive/2012/11/03/2752082.html

14.INSERT INTO 和 REPLACE INTO 的区别

http://www.jb51.net/article/27558.htm

15.truncate table 你的表名 //这样不但将数据全部删除,而且重新定位自增的字段,truncate命令是会把自增的字段还原为从1开始的,或者你试试把table_a清空,然后取消自增,保存,再加回自增,这也是自增段还原为1 的方法。
方法二:deletefrom 你的表名,dbcc checkident(你的表名,reseed,0) //重新定位自增的字段,让它从1开始。

16.把MSSQL中的数据导入到MySql中

http://www.jb51.net/softjc/158485.html
导入日志:C:\Users\tcdcr\AppData\Roaming\SQLyog\sja.log

17.mysql日期格式化:http://www.cnblogs.com/duhuo/p/5650876.html

18.根据查询条件的顺序排序

mssql中:order by charindex
mysql中:
select * from a order by substring_index('3,1,2',id,1);
select * from a order by find_in_set(id,'3,1,5')
经测试order by substring_index和order by find_in_set都可以。

19.mysql中  INSTR(str,substr) 对应 mssql中CHARINDEX(substr,str) 下标都是从1开始;

20.mysql 随机函数  ROUND(RAND() * 10000);随机排序:update tab1 set sortNo=ROUND(RAND() * 10000);

阿里云mysql文档:https://www.aliyun.com/product/rds/mysql?spm=5176.8006303.267657.13.vfwrBy

http://zhengdl126.iteye.com/category/69054?page=3

21.mysql表分区

http://www.2cto.com/database/201503/380348.html

http://www.jb51.net/article/42544.htm

22.mysql 索引

http://www.cnblogs.com/cy163/archive/2008/10/27/1320798.html

23.mysql事务

http://www.cnblogs.com/ymy124/p/3718439.html

http://www.runoob.com/mysql/mysql-transaction.html

http://www.cnblogs.com/in-loading/archive/2012/02/21/2361702.html

http://www.cnblogs.com/suizhikuo/p/4963560.html

24.mysql退出执行存储过程leave loop

上一篇:doubango(3)--协议栈的启动过程


下一篇:MySQL慢查询详解