mysql数据库优化课程---14、常用的sql技巧
mysql数据库优化课程---14、常用的sql技巧
一、总结
一句话总结:其实就是sql中那些函数的使用
1、mysql中函数如何使用?
选择字段
其实就是作用域select的选择字段
3.转大写:
ucase();
例子: select id,ucase(username),age from user;
2、sql中的时间戳函数有必要学么?
没必要
其实没必要,因为我们时间都是存的时间戳
所以要是要时间戳对应的日期的话,可以去php中操作
3、重排auto_increment方法?
delete alter
truncate
1.delete
1)delete from user;
2)alter table user auto_increment=1;
2.truncate
truncate user;
4、mysql中命令的帮助?
命令前 ?
1.简单
? create
2.更多
? fun%
5、巧用RAND()提取随机行?
order by rand limit
select * from user order by rand limit 3;
6、mysql中如何使用正则表达式?
regexp 正则表达式
1.以php结尾的数据
select * from user where username regexp 'php$';
2.以php结尾或以linux结尾的数据
select * from user where username regexp 'php$' or username regexp 'linux$';
3.查找包含php或linux或user的数据
select * from user where username regexp 'php|linux|user';
7、mysql中的正则表达式为什么用的少?
like
因为我们一般是从mysql中拿数据,然后扔给php,在php中用正则表达式取数据
正则表达式其实比like慢,一般的操作我们都可以用like实现
二、内容在总结中
1、相关知识
mysql字符串函数:
1.字符串连接
concat();
例子: select concat('php','linux');
2.转小写
lcase();
例子: select lcase('PHP IS VERY MUCH!');
3.转大写:
ucase();
例子: select id,ucase(username),age from user;
4.长度
length();
例子: select length('linux');
5.取除左边的空格
ltrim();
例子: select length(ltrim(' linux'));
6.取除右边的空格
rtrim();
例子: select length(rtrim('linux '));
7.重复
repeat();
例子: select concat(repeat('-',20),'linux');
8.替换
replace();
例子: select replace('linux and java','linux','php');
9.截取
substring();
例子: select substring('/usr/local/src',6,5);
10.空格
space();
例子: select concat('linux',space(20),'php');
mysql数学函数:
1.bin();
十进制转2进制
例子: select bin(10);
2.ceiling();
取上一个整数
例子: select ceiling(10.5);
3.floor();
取下一个整数
例子: select floor(10.5);
4.max();
取最大数
例子: select max(id) from user;
5.min();
取最小数
例子: select min(id) from user;
6.sqrt();
开平方
例子: select sqrt(100);
7.rand();
求随机数
例子: select * from user order by rand();
mysql日期函数:
1.curdate();
当前日期
例子: select curdate();
2.curtime();
当前时间
例子: select curtime();
3.now();
当前日期和时间
例子: select now();
4.unix_timestamp();
当前时间戳
例子: select unix_timestamp();
5.from_unixtime();
时间戳转日期
例子: select from_unixtime(1492176896);
6.week(date);
一年中的第几周
例子: select week('2017-1-8');
7.year(date);
日期中的年部分
例子: select year('2017-4-14');
8.datediff();
日期差值
例子: select datediff('2017-4-14','2017-4-10');
重排auto_increment方法:
1.delete
1)delete from user;
2)alter table user auto_increment=1;
2.truncate
truncate user;
mysql中命令的帮助:
1.简单
? create
2.更多
? fun%
巧用RAND()提取随机行:
select * from user order by rand limit 3;
正则表达式的使用:
1.以php结尾的数据
select * from user where username regexp 'php$';
2.以php结尾或以linux结尾的数据
select * from user where username regexp 'php$' or username regexp 'linux$';
3.查找包含php或linux或user的数据
select * from user where username regexp 'php|linux|user';
mysql数据库优化课程---14、常用的sql技巧的更多相关文章
- mysql数据库优化课程---18、mysql服务器优化
mysql数据库优化课程---18.mysql服务器优化 一.总结 一句话总结: 1.四种字符集问题:字符集都设置为utf-82.slow log慢查询日志问题3.root密码丢失 1.mysql存在 ...
- mysql数据库优化课程---15、mysql优化步骤
mysql数据库优化课程---15.mysql优化步骤 一.总结 一句话总结:索引优化最立竿见影 1.mysql中最常用最立竿见影的优化是什么? 索引优化 索引优化,不然有多少行要扫描多少次,1亿行大 ...
- mysql数据库优化课程---13、mysql基础操作
mysql数据库优化课程---13.mysql基础操作 一.总结 一句话总结:mysql复制表,索引,视图 1.mysql如何复制表? like select * 1.复制表结构 create tab ...
- mysql数据库优化课程---16、mysql慢查询和优化表空间
mysql数据库优化课程---16.mysql慢查询和优化表空间 一.总结 一句话总结: a.慢查询的话找到存储慢查询的那个日志文件 b.优化表空间的话可以用optimize table sales; ...
- mysql数据库优化课程---11、mysql普通多表查询
mysql数据库优化课程---11.mysql普通多表查询 一.总结 一句话总结:select user.username,user.age,class.name,class.ctime from u ...
- mysql数据库优化课程---6、mysql结构化查询语言有哪些
mysql数据库优化课程---6.mysql结构化查询语言有哪些 一.总结 一句话总结:主要分为四类 1.DCL 数据控制语言1)grant2)commit3)rollback 2.DDL 数据定义语 ...
- mysql数据库优化课程---1、数据库的本质是什么
mysql数据库优化课程---1.数据库的本质是什么 一.总结 一句话总结: 文件夹-文件:一个数据库其实就是一个的文件夹,数据库里面的表就是文件夹里的一个或者多个文件(根据数据库引擎不同而不同,My ...
- mysql数据库优化课程---17、mysql索引优化
mysql数据库优化课程---17.mysql索引优化 一.总结 一句话总结:一些字段可能会使索引失效,比如like,or等 1.check表监测的使用场景是什么? 视图 视图建立在两个表上, 删除了 ...
- mysql数据库优化课程---12、mysql嵌套和链接查询
mysql数据库优化课程---12.mysql嵌套和链接查询 一.总结 一句话总结:查询user表中存在的所有班级的信息? in distinct mysql> select * from cl ...
随机推荐
- my first ai application
正式下手之前,先跑个demo体验以下. 1.my first ai application https://sonnguyen.ws/first-ai-application/ https://git ...
- JVM内存四大类型:Heap,Stack,Contant,DirectMemory等
Stack属于栈的区域,属于每条线程私有的. 方法区和本地方法栈有很大的不同,方法区是用Java级别角度做的代码,本地方法栈指向的是C/C++. Java开发,对象就在堆中,一般而言,堆中只有对象. ...
- 解析button和input type=”button”的区别
一.定义和用法 <button> 标签定义的是一个按钮. 在 button 元素内部,可以放置文本或图像.这是<button>与使用 input 元素创建的按钮的不同之处. 二 ...
- oralce 查看执行计划
SQL的执行计划实际代表了目标SQL在Oracle数据库内部的具体执行步骤,作为调优,只有知道了优化器选择的执行计划是否为当前情形下最优的执行计划,才能够知道下一步往什么方向. 执行计划的定义:执行目 ...
- FileLoadTools
/** * Created by dev013 on 9/9/14. */ var FileLoadTools = (function () { var my = {}; var htmlFile = ...
- Java游戏服务器成长之路——感悟篇
又是一个美好的周末啊,现在一到周末,早上就起得晚,下午困了又会睡一两个小时,上班的时候,早上起来喝一杯咖啡,然后就能高效的工作一整天,然而到了周末人就懒散了,哈哈. 最近刚跳槽,到新公司已经干了有两周 ...
- xlrd xlwt操作
简介 xlrd,xlwt和xlutils是用Python处理Excel文档(*.xls)的高效率工具.其中,xlrd只能读取xls,xlwt只能新建xls(不可以修改),xlutils能将xlrd.B ...
- 移动端打印输出内容以及网络请求-vconsole.js
今天,无意间从别人那里得知一个很好的js插件--vconsole.min.js,可以实现在移动端打印输出内容以及查看网络请求.下面记录使用方式. 1.下载vconsole.min.js插件 以下复制了 ...
- error LNK2038: 检测到“_MSC_VER”的不匹配项: 值“1600”不匹配值“1700”
原因:由于你使用了vs2012,相比较vs2010以及之前的vs为更高版本,致使msvc不兼容! 方法:在项目右键属性-配置属性-常规中,平台工具集选用为合适平台即可,我这里就选择 vs2010 (v ...
- ansible playbook基本操作
一.ansible playbook简单使用 相当于是把模块写入到配置文件里面 vim /etc/ansible/test.yml //写入如下内容: --- - hosts: 127.0.0.1 r ...