MySQL常用SQL语句(一)

指定顺序Order by

mysql 按照指定字段的指定值排序:

select * from t_user order by FIELD(id, 0, 2, 11, 1, 3, 4, 5, 6, 8, 9, 10) asc

逗号分隔查询 FIND_IN_SET

使用FIND_IN_SET(str,sbstr)函数查询 “,” 号(逗号)隔开的数据;
filed 字段存储形式为多个逗号隔开的值:1,2,3,5,6

SELECT * from t_user  where FIND_IN_SET('1',filed)

日期处理 ADDTIME interval

修改时间的年月,其他保留不变

select t.created_at,ADDTIME (CONCAT("2014-02-",DAYOFMONTH(t.created_at))+interval 0 hour,time(t.created_at)) as newtime
from t_user t where t.id=1

检查、修复表 CHECK REPAIR

-- 检查表,获得不是OK就是有问题需要修复。
check table t_user;

-- 修复表
REPAIR TABLE `t_user`;

分区表维护 - 不建议使用分区表

互联网公司为啥不使用mysql分区表:http://www.zuimoban.com/jiaocheng/mysql/8216.html

alter table t_logs partition by RANGE(id)  
(PARTITION p0 VALUES less than (3000000),  
 PARTITION p1 VALUES less than (6000000),  
 PARTITION p2 VALUES less than (9000000),  
 PARTITION p3 VALUES less than (12000000),  
PARTITION p4 VALUES less than MAXVALUE);  

计算指定日期为第几个星期 WEEKOFYEAR

通过日期 计算是第几个星期

select WEEKOFYEAR(ADDDATE('2012-01-29',1));-- 从星期天开始算第一天
select WEEKOFYEAR(NOW());-- 从星期一开始算第一天(其中:now() 为计算当前日期的函数)

A表查询结果,更新B表 update from

通过另外一个表查询结果来更新表 update from

update b_gem gem inner join b_productlist list set gem.status='NEW',gem.storeroomid=list.storeroom where list.type=1 and list.sid=2 and list.serid=gem.serId

两个字段合并成一个字段显示 concat

将查询结果中的2个字段放到合并到一个字段显示

select concat(first_name,' ',last_name) as customerName from t_agmt_customer 

获取表结构信息 show full fields

show full fields from t_user;

查看表的索引大小 Total Index Size

-- 将选择 information_schema 数据库 
SELECT CONCAT(ROUND(SUM(index_length)/(1024*1024), 2), ' MB') AS 'Total Index Size' FROM TABLES  WHERE table_schema = 'mytable_test' and table_name='t_user';

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值