mysql 索引 importnew_mysql 拾遗提高(函数、事务、索引)

目录

1、tips

2、事务(transaction)

3、索引(index)

4、数据库的导出和备份

5、函数

6、防SQL注入

7、使用Explain分析SQL语句

8、视图(view)

1、tips

1)、数据库不区分大小写;

2)、插入新数据时忽略重复数据,可在INSERT后加关键字IGNORE即可

3)、通过UNION操作符来连接两个以上的SELECT语句结果组合到一个结果到同一个集合中;

格式:

select... from... where...union distinct

select...from...where...

其中distinct是可选的,表示会删除重复项,是默认值;也可使用all来保留所有的数据;

4)、拼音排序

如果汉字使用的是GBK编码,则可直接对某一项进行排序;如果使用的UTF-8,还需要进行转码,

例:select * from tablename order by convert(titlename using gbk);

5)、在group by...后边加with rollup可使数据在分组的基础上再进行聚合函数操作;

例:select name as 名字,sum(times) as 次数 from tablename group by name with rollup;可在对名字分组基础上再求次数的和,最后还有一个总和;

分组后相同项此次的统计不需要使用此关键词,使用count(*)即可;

例:select name as 名字 count(*) from tablename group by name;

6)、正则表达式

mysql也可以使用正则表达式来作为过虑条件

例:select * from tablename where name REGEXP '^s';  (查询以s开头的名字)

7)字符串的截取

select left(string,length)           从左边开始截取string的前length个字符,left可换用right来从右边开始截取;

select substring(string,index)      从左开始截取string从index位开始到结束的字符串(包括index位,且从1开始计数),如果index为负数则从右向左的截取;

select substring_index(string,reg,index)     使用同上,reg表示的匹配原则;

select CONCAT(string1,string2,...)连接字符串,但如果其中有任意一个为null,则最后结果为null;

8)条件语句

if(bool,value1,value2)    当bool为true时使用value1,否则value2; 例:select if(2=1,'对','错') as status; 结果为'错’;

ifnull(value1,value2)      如果value1为null则使用value2;

nullif(value1,value2)      如果value1和value2相同时结果为null,否则结果为value1;

coalesce(tablecolumn1,tablecolumn2,...,'name')

意为如果tablecolumn1为null则使用tablecolumn2,依次顺推,'name'为一个固定的默认值;

select

case [columnName]

when condition1 thenresult1when condition2 thenresult2

...end

as '别名'

from tablename;

9)、对于NULL值的处理

NULL值不能通过=或!=来比较获得结果,查找值为null的需要使用IS NULL,反之使用IS NOT NULL;<=>符号用于比较的两个值都为NULL时返回true;

10)临时表

主要用于保存一些临时数据,临时表在当前连接可见,一旦断开mysql连接则会自动销毁;创建临

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值