本文目录一览:
1、mysql数据库sql语句请教
2、求大神赐SQL语句,是用MySQL数据库
3、MySQL数据库查询字段属性(即表结构)的SQL语句怎么写?
4、mysql数据库动态分页的sql语句
5、mysql数据库的这个数据统计sql语句怎么写??
6、mysql数据库怎么优化sql语句
mysql数据库sql语句请教
SELECT
DATEDIFF(B, A) AS `注册天数`,
IF(DATEDIFF(B, A) > 30, 1, 0) AS `返回结果`
FROM
表
注:
DATEDIFF
用于计算两个日期之间相差的天数,只计算到天的单位。 示例:
SELECT DATEDIFF('2000-01-01 00:00:00.000000', '2000-01-02 05:06:07.000008') A;
输出:
+------+
| A |
+------+
| -1 |
+------+
IF
相当于CASE WHEN
的部分功能。 示例:
SELECT IF(1 > 2, 2, 3) A;
输出:
+---+
| A |
+---+
| 3 |
+---+
等价于:
SELECT
CASE WHEN 1 > 2 THEN 2
ELSE 3
END A;
输出:
+---+
| A |
+---+
| 3 |
+---+
求大神赐SQL语句,是用MySQL数据库
SELECT 日期,
SUM(CASE WHEN 结果 = '胜' THEN 1 ELSE 0 END) 胜,
SUM(CASE WHEN 结果 = '负' THEN 1 ELSE 0 END) 负
FROM 表
GROUP BY 日期
MySQL数据库查询字段属性(即表结构)的SQL语句怎么写?
可以使用以下语句:
DESC mydb.mytable;
更详细的查询方式:
SHOW FULL COLUMNS FROM mydb.mytable;
mysql数据库动态分页的sql语句
SQL语句是通用的:
SELECT * FROM mytable1 WHERE 1 ORDER BY id DESC LIMIT 0,10
作用是倒序,取最前10条记录,也就是第一页。 取第二页可以是:
LIMIT 10,10
自行修改使用。
mysql数据库的这个数据统计sql语句怎么写??
建表语句:
CREATE TABLE aa(
typeId INT,
name VARCHAR(20)
);
CREATE TABLE bb(
id INT,
name VARCHAR(20),
typeId INT,
num INT,
m INT
);
插入数据:
INSERT INTO aa VALUES(1,'自行车'),(2,'摩托车'),(3,'小汽车'),(4,'其它');
INSERT INTO bb VALUES
(1,'li',1,1,500),
(2,'li',2,2,5000),
(3,'li',3,1,50000),
(4,'wanger',1,1,450),
(5,'wanger',2,1,5600);
统计查询语句:
SELECT bb.name,
SUM(CASE WHEN aa.name = '自行车' THEN bb.num ELSE 0 END) AS [自行车num],
SUM(CASE WHEN aa.name = '自行车' THEN bb.m ELSE 0 END) AS [自行车m],
SUM(CASE WHEN aa.name = '摩托车' THEN bb.num ELSE 0 END) AS [摩托车num],
SUM(CASE WHEN aa.name = '摩托车' THEN bb.m ELSE 0 END) AS [摩托车m],
SUM(CASE WHEN aa.name = '小汽车' THEN bb.num ELSE 0 END) AS [小汽车num],
SUM(CASE WHEN aa.name = '小汽车' THEN bb.m ELSE 0 END) AS [小汽车m],
SUM(CASE WHEN aa.name = '其它' THEN bb.num ELSE 0 END) AS [其它num],
SUM(CASE WHEN aa.name = '其它' THEN bb.m ELSE 0 END) AS [其它m],
SUM(bb.num) AS [Allnum],
SUM(bb.m) AS [Allm]
FROM aa RIGHT JOIN bb ON aa.typeId = bb.typeId
GROUP BY bb.name;
清理数据:
TRUNCATE TABLE aa;
DROP TABLE aa;
TRUNCATE TABLE bb;
DROP TABLE bb;
注意:
GO
是 SQL Server 的批处理命令,MySQL 中不需要。
mysql数据库怎么优化sql语句
一、MySQL数据库有几个配置选项可以帮助我们及时捕获低效SQL语句
- slow_query_log
设置为ON
,可以捕获执行时间超过一定数值的SQL语句。 - long_query_time
当SQL语句执行时间超过此数值时,就会被记录到日志中,建议设置为1
或更短。 - slow_query_log_file
记录日志的文件名。 - log_queries_not_using_indexes
设置为ON
,可以捕获所有未使用索引的SQL语句,即使执行得很快。
二、检测MySQL中SQL语句效率的方法
1、通过查询日志
(1)Windows下开启MySQL慢查询
在 my.ini
文件中找到 [mysqld]
部分,添加以下内容:
log-slow-queries = F:/MySQL/log/mysqlslowquery.log
long_query_time = 2
(2)Linux下启用MySQL慢查询
在 my.cnf
文件中找到 [mysqld]
部分,添加以下内容:
log-slow-queries = /data/mysqldata/slowquery.log
long_query_time = 2