`
Franciswmf
  • 浏览: 800144 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

Mysql 常用sql语句汇总

 
阅读更多
一、引用参考
--MySQL统计函数记录——时间段统计
http://blog.csdn.net/tbkken/article/details/8173020
--mysql多个字段拼接 CONCAT、CONCAT_WS
https://www.cnblogs.com/crystaltu/p/6699004.html
--多行记录合并成一条记录 GROUP_CONCAT
https://www.cnblogs.com/guaiguaipaizz/p/6501676.html
--MySql 建表、添加字段、修改字段、添加索引SQL语句写法
https://www.cnblogs.com/wenlj/p/5258102.html
--MySql数据库的优化(二) MySql中is NULL、ISNULL()和IFNULL()运行速度的比较
https://www.cnblogs.com/fynfuxiaoxia/p/7670375.html
--Mysql 字符串截取函数
https://www.cnblogs.com/wjm956/p/7724244.html
--mysql使用between and处理时间区间不包括右边界问题
https://blog.csdn.net/qq_17011423/article/details/69220231
-- MySQL模糊查询之instr
https://www.cnblogs.com/mr-wuxiansheng/p/6531221.html

二、工作SQL

select CONCAT_WS(":",t.user_id,t.user_name) from t_user t;
select GROUP_CONCAT(CONCAT_WS(":",t.user_id,t.user_name) SEPARATOR ";") from t_user t;
//分组
select t.me_id, GROUP_CONCAT(t.user_name SEPARATOR ";") from t_meet_joiner t group by t.me_id;
select t.me_id, GROUP_CONCAT(CONCAT_WS(":",t.user_id,t.user_name) SEPARATOR ";") meJoiner from t_me_joiner t group by t.me_id;
select t.me_id, GROUP_CONCAT(t.user_name SEPARATOR ";"), GROUP_CONCAT(CONCAT_WS(":",t.user_id,t.user_name) SEPARATOR ";") meJoiner from t_me_joiner t group by t.me_id;


--分组、单行多字段拼接、多行单字段拼接
select 
t.s_id, 
GROUP_CONCAT(t.user_name SEPARATOR ";") sNames, 
GROUP_CONCAT(CONCAT_WS(":",t.user_id,t.user_name) SEPARATOR ";") sJoiners 
from t_s_joiner t 
group by t.s_id
--44 \\ 输出:小梅;阿辉;小斌  \\ mei.xiao:刘梅;hui.a:阿辉;bin.xiao:小斌



c.stu_name like '%${stuName}%'
或者
instr(c.stu_name, #{stuName}) > 0

--统计sql范例demo:
select u.uname '姓名', c.cname '名称1',
left(t.begin_time,16) '开始时间', left(t.end_time, 16) '结束时间', 
t.con '内容', 
case c.status 
when '1' then '状态1'
when '2' then '状态2'
when '3' then '状态3'
when '4' then '状态4'
when '5' then '状态5'
when '6' then '状态6'
else '未知状态' end
'状态',
t.create_time '创建时间'
from t_crm_order t
left join t_crm_user u 
on t.uid=u.uid
left join t_crm_customer c
on t.cid=c.id
where 1=1
order by t.create_time asc;


=====================================================================
基础SQL
select SYSDATE() from dual;


按年汇总,统计:
select sum(mymoney) as totalmoney, count(*) as sheets from table group by date_format(col, '%Y');
按月汇总,统计: 
select sum(mymoney) as totalmoney, count(*) as sheets from table group by date_format(col, '%Y-%m');
按季度汇总,统计: 
select sum(mymoney) as totalmoney,count(*) as sheets from table group by concat(date_format(col, '%Y'),FLOOR((date_format(col, '%m')+2)/3)); 
select sum(mymoney) as totalmoney,count(*) as sheets from table group by concat(date_format(col, '%Y'),FLOOR((date_format(col, '%m')+2)/3));
按小时: 
select sum(mymoney) as totalmoney,count(*) as sheets from table group by date_format(col, '%Y-%m-%d %H ');
查询 本年度的数据:
SELECT * FROM table WHERE year(FROM_UNIXTIME(my_time)) = year(curdate())
查询数据附带季度数:
SELECT id, quarter(FROM_UNIXTIME(my_time)) FROM table;
查询 本季度的数据:
SELECT * FROM table WHERE quarter(FROM_UNIXTIME(my_time)) = quarter(curdate());
本月统计:
select * from table where month(my_time1) = month(curdate()) and year(my_time2) = year(curdate())
本周统计:
select * from table where month(my_time1) = month(curdate()) and week(my_time2) = week(curdate())
N天内记录:
WHERE TO_DAYS(NOW())-TO_DAYS(时间字段)<=N 

<!-- 查询30以内的下一期记录-->
<select id="sqlId" resultMap="BaseResultMap" parameterType="java.lang.Long">
select * from tableName
where sid = 88888888
and status=1 
and DATE_FORMAT(date_add(now(),interval 1 month),'%Y-%m-%d') >= DATE_FORMAT(duDate,'%Y-%m-%d')  
and now() < duDate
</select>


三、修改表结构
1、禁止调整MySQL表字段的位置,添加字段禁止使用after属性 ; 
2、不要加COLLATE=utf8_general_ci和ROW_FORMAT=COMPACT ;
3、SQL的前后需要加上use xxx ; begin ; commit ; 其中xxx为数据库的schema名;

--【表】
-- 创建表
use student;
begin;
--  新建学生信息表 t_student_info
CREATE TABLE `t_student_info` (
`id`  bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键Id' ,
`course_id`  bigint(20) NULL DEFAULT NULL COMMENT '注释内容XXX' ,
`ff_id`  bigint(20) NULL DEFAULT NULL COMMENT '注释内容222XXX' ,
`status`  char(1) CHARACTER SET utf8  NOT NULL DEFAULT '1' COMMENT '状态:1-正常;' ,
`create_time`  datetime NOT NULL COMMENT '记录创建时间' ,
`update_time`  datetime NOT NULL COMMENT '记录修改时间' ,
PRIMARY KEY (`id`),
INDEX `IDX_COURSE_ID` (`course_id`) USING BTREE ,
INDEX `IDX_FF_ID` (`ff_id`) USING BTREE 
)
ENGINE=InnoDB
DEFAULT CHARACTER SET=utf8
COMMENT='学生信息表'
AUTO_INCREMENT=1
;
--  修改成绩信息表t_score_info, 增加字段student_id
alter table student.t_score_info add COLUMN student_id bigint(20) NULL DEFAULT NULL COMMENT '学生Id';
-- commit
commit;

-- 回滚语句
use student;
begin;
-- 删除学生信息表t_student_info
drop table if exists student.t_student_info;
-- 删除成绩信息表t_score_info的字段plan_id
alter table student.t_score_info drop COLUMN student_id;
-- commit
commit;


--01
use demo;
begin;
update demo.t_stu_info set begin_time='2018-08-16 10:00',end_time='2018-08-16 12:00' where id=100;
commit;

-- 02 
insert into demo.t_sql_info(col2, col3, col4, col5, col6)
    values('111', 2, 33333,  sysdate() , 'file');
commit;


--【字段】
--修改字段长度
alter table studentDB.t_stu_comments modify content varchar(1000) NOT NULL COMMENT '内容';
--去掉stu_id 的非空属性
alter table studentDB.t_stu_info modify stu_id BIGINT(10) NULL;
alter table studentDB.t_stu_info add COLUMN book_id int(20) NULL DEFAULT NULL COMMENT '字段注释内容' AFTER id;
--回滚
alter table studentDB.t_stu_info modify stu_id BIGINT(10) NOT NULL;
alter table studentDB.t_stu_info drop COLUMN book_id;
--【索引】
--创建唯一约束
alter table A add unique index unique_sltId_loanNo (SLT_ACCOUNT_ID, LOAN_PERIOD_NO);


--创建普通索引
alter table A add index  FK_FK_INSTALLMENT_INFO_SLT_ACCOUNT_ID (SLT_ACCOUNT_ID); 
alter table A add index  IDX (SLT_ACCOUNT_ID,REPAY_STATUS); 


分享到:
评论

相关推荐

    MySql常用 SQL语句汇总,共 25 条

    以下是一些常用的MySQL SQL语句,供学习、复习和查阅。 1. **创建数据库** 使用`CREATE DATABASE`语句来创建新的数据库,例如:`CREATE DATABASE my_database;` 2. **选择数据库** 使用`USE`语句来选择要操作的...

    Mysql常用sql语句汇总

    本篇文章将深入探讨Mysql中的一些常用SQL语句,包括数据导出、关联查询、函数应用、密码重置、远程连接配置以及排序方法等。 1. **数据导出**:MySQL提供了一个方便的`SELECT ... INTO OUTFILE`语句,可以将查询...

    常用sql语句汇总

    以下是对标题"常用sql语句汇总"和描述"一些常用的sql语句、函数介绍以及使用方法汇总"中涉及的知识点的详细解释: 1. **数据查询**: - `SELECT`:这是SQL中最基础的语句,用于从表中检索数据。例如,`SELECT * ...

    SQL金典语句+入门sql语句+《MySQL常用命令汇总》.rar

    SQL金典语句+入门sql语句+《MySQL常用命令汇总》.rar

    常用 SQL语句汇总,共 25 条.zip

    本资源“常用 SQL语句汇总,共 25 条.zip”提供了一个MySQL数据库的SQL语句集合,对于初学者和中级程序员来说是极好的学习材料。以下是对这25条SQL语句的详细解读: 1. **SELECT**:用于从表中选择数据,是最基础的...

    25 条常用 SQL语句汇总

    本资源提供了25条常用的SQL语句,旨在帮助程序员们巩固基础,提高工作效率,并在面试中表现出色。 1. **SELECT语句**:这是SQL中最基本的查询语句,用于从表中检索数据。例如,`SELECT * FROM 表名`将返回表中的...

    SQL语句汇总.pdf

    标题《SQL语句汇总.pdf》所代表的知识点覆盖了数据库操作的基础与高级内容,其详细描述了从创建数据库开始到创建表、管理表结构,以及数据的增删改查等SQL语句的运用。以下为详细知识点: 1. 数据库的创建与删除: ...

    常用SQL语句和语法汇总

    本文主要汇总了SQL的基础知识和常用语句,包括数据库的创建、表的操作、查询语法、聚合函数、分组和排序、插入与删除数据、事务处理以及视图和子查询。 1. 数据库创建: 创建数据库通常使用CREATE DATABASE语句,...

    从0到1,Mysql详细教程,从安装到使用,汇总SQL常用数据库类型,常用SQL语句

    资源主要是通过视频的形式,指导安装数据库软件,密钥证书破解,可提供安装软件和破解教程,通过文档形式汇总数据库学习材料,常用的可视化工具连接,与常用的指导,从0到1,不积跬步无以至千里,也是对自己的一个...

    SQL语句基础教程。SQL语句基础教程

    2. SQL语法结构:SQL语句通常由命令关键字组成,包括SELECT、INSERT、UPDATE、DELETE等。这些关键字用于查询、插入、更新和删除数据。例如,SELECT语句用于从数据库中检索数据,INSERT用于添加新记录,UPDATE用于...

    最全sql查询语句练习题汇总(面试必备)

    最全sql查询语句练习题汇总(面试必备) 最全sql查询语句练习题汇总(面试必备) 最全sql查询语句练习题汇总(面试必备) 最全sql查询语句练习题汇总(面试必备) 最全sql查询语句练习题汇总(面试必备) 最全sql查询语句练习...

    Mysql 行转列,列转行 SQL语句和示例表结构SQL

    MySQL 虽然没有内置的行转列和列转行函数,但通过 CASE、GROUP_CONCAT、UNION ALL 和 JOIN 等 SQL 语句,我们可以灵活地对数据进行转换,满足不同的数据分析需求。在实际应用中,应根据数据的特性和业务需求选择合适...

    mysql 查询存储过程的 sql 语句.7z

    mysql查询语句汇总 MySQL 查询存储过程是一种存储在 MySQL 服务器中的 SQL 代码段,可以被多个客户端 多次调用。它们被用来简化复杂的 SQL 查询,执行常见的任务,以及实现数据逻辑。通过 存储过程,我们可以在一次...

    会计科目和会计科目分类的两张mysql表,sql语句文件

    在SQL中,创建表通常使用`CREATE TABLE`语句,其中包括字段名、数据类型、约束条件等。会计科目表可能包含以下字段: 1. `id`:会计科目的唯一标识,通常设置为主键(`PRIMARY KEY`),数据类型可能是整型(`INT`)...

    MySql常用操作SQL语句汇总

    在本篇文章中,我们将汇总MySQL中的一些常用操作,包括创建数据库、选择数据库、定义表结构、插入数据以及各种查询方式。 1. 创建数据库: 使用`CREATE DATABASE`语句可以创建一个新的数据库。例如: ```sql ...

    经典的SQL语句(整理)

    本资源“经典的SQL语句(整理)”聚焦于整理并归纳了一些SQL中的核心概念和常用技巧,旨在帮助用户更高效地使用SQL进行数据查询、更新和管理。 一、SQL基础 SQL主要包括四大类语句:SELECT(查询)、INSERT(插入)...

    MySQL语句汇总及重要笔记

    ### MySQL语句汇总及重要笔记知识点 #### 一、MySQL简介 MySQL是一个广泛使用的开源关系型数据库管理系统(RDBMS)。它由瑞典的MySQL AB公司开发,并被Oracle公司收购。MySQL因其高性能、可靠性和易用性而在全球...

Global site tag (gtag.js) - Google Analytics