mysql数据库sql语句集锦,MySQL数据库语句

发布时间:2022-11-22

本文目录一览:

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语句

  1. slow_query_log
    设置为 ON,可以捕获执行时间超过一定数值的SQL语句。
  2. long_query_time
    当SQL语句执行时间超过此数值时,就会被记录到日志中,建议设置为 1 或更短。
  3. slow_query_log_file
    记录日志的文件名。
  4. 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