资讯专栏INFORMATION COLUMN

Mysql 常用SQL语句集锦

bang590 / 374人阅读

摘要:以下是工作中常用的语句查询时间,友好提示日期类型时间戳类型一个返回多个总数同上。

以下是工作中常用的SQL语句 :

查询时间,友好提示

timestamp 日期类型

$sql = "select date_format(create_time, "%Y-%m-%d") as day from table_name";

int 时间戳类型

$sql = "select from_unixtime(create_time, "%Y-%m-%d") as day from table_name";

一个sql 返回多个总数
$sql = "select count(*) all, " ;
$sql .= " count(case when status = 1 then status end) status_1_num, ";
$sql .= " count(case when status = 2 then status end) status_2_num ";
$sql .= " from table_name";
Update Join / Delete Join
$sql = "update table_name_1 ";
$sql .= " inner join table_name_2 on table_name_1.id = table_name_2.uid ";
$sql .= " inner join table_name_3 on table_name_3.id = table_name_1.tid ";
$sql .= " set *** = *** ";
$sql .= " where *** ";

//delete join 同上。
替换某字段的内容的语句
$sql = "update table_name set content = REPLACE(content, "aaa", "bbb") ";
$sql .= " where (content like "%aaa%")";
获取表中某字段包含某字符串的数据
$sql = "SELECT * FROM `表名` WHERE LOCATE("关键字", 字段名) ";
获取字段中的前4位
$sql = "SELECT SUBSTRING(字段名,1,4) FROM 表名 ";
查找表中多余的重复记录

单个字段

$sql = "select * from 表名 where 字段名 in ";
$sql .= "(select 字段名 from 表名 group by 字段名 having count(字段名) > 1 )";

多个字段

$sql = "select * from 表名 别名 where (别名.字段1,别名.字段2) in ";
$sql .= "(select 字段1,字段2 from 表名 group by 字段1,字段2 having count(*) > 1 )";

删除表中多余的重复记录(留id最小)

单个字段

$sql = "delete from 表名 where 字段名 in ";
$sql .= "(select 字段名 from 表名 group by 字段名 having count(字段名) > 1) ";
$sql .= "and 主键ID not in ";
$sql .= "(select min(主键ID) from 表名 group by 字段名 having count(字段名 )>1) ";

多个字段

$sql = "delete from 表名 别名 where (别名.字段1,别名.字段2) in ";
$sql .= "(select 字段1,字段2 from 表名 group by 字段1,字段2 having count(*) > 1) ";
$sql .= "and 主键ID not in ";
$sql .= "(select min(主键ID) from 表名 group by 字段1,字段2 having count(*)>1) ";

Thanks ~


推荐阅读

系统的讲解 - SSO 单点登录

系统的讲解 - PHP WEB 安全防御

系统的讲解 - PHP 缓存技术

系统的讲解 - PHP 接口签名验证

系统的讲解 - PHP 浮点数高精度运算

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/21885.html

相关文章

  • Mysql 常用SQL语句集锦

    摘要:基础篇查询时间,友好提示时间戳类型一个返回多个总数同上。根据上面的数据,应该得到的范围。 基础篇 //查询时间,友好提示 $sql = select date_format(create_time, %Y-%m-%d) as day from table_name; //int 时间戳类型 $sql = select from_unixtime(create_time, %Y-%m-%...

    asoren 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<