Skip to content

SQL简单使用

更新时间: 2025/7/21 本章字数: 0 字 预计阅读时长: 0 分钟

本章总结

数值比较

说明

这是一个查询字段语句,其中字段2需要为数值,而不能是文本,毕竟运算符只对的数值有效。当然,也可以把2字段改成='字符串'

示例:

sql
SELECT	* FROM	`表名`  WHERE  `字段1` = '字段1的值' and `字段2` > 1

时间戳查询

说明

这是是简单的时间查询,unix_timestamp是指将时间(如:2021-01-01)转换成时间戳,当转换成时间戳了,就成了一个数字类型,然后比较数字大小就好了。

示例:

sql
SELECT * FROM `表名` WHERE unix_timestamp(`字段`) < unix_timestamp('2021-08-01')

重复内容查询

说明

查询整张表有没有重复的字段,例如,有两个重复的人名,是一段错误的顺序,可以用这条sql语句

示例:

sql
SELECT * FROM `表名` WHERE `字段名` IN (SELECT `字段名` FROM `表名` GROUP BY  `字段名` HAVING count(`字段名`) > 1)

查询最新一条记录

说明

这个是将表中的一个时间字段,进行列出比较,然后查询最大时间戳的值,也就是最新的一条数据

例如,有一张表,表名为usre,在这其中,有三个字段,name、text、time,有一行属性,分别是,

nama字段的值为:名字;

text字段的值为:hallo word;

time字段的值为:2009-01-01;

下面是第二条数据

nama字段的值为:名字;

text字段的值为:hallo word;

time字段的值为:2021-01-01;

那么对应的sql语句:

sql
Select a.* FROM `usre` a,(SELECT `name`,Max(`time`) as MaxDateTime FROM `usre` group by `name`) b where a.`name`=b.`name` and a.`time`=b.MaxDateTime  And a.`nama`='名字'

那么这样,查询name=名字这个所有数据,然后时间最大的那一个值,也就是time字段为2021-01-01和name为名字的数据

示例:

sql
Select a.* FROM `表名` a,(SELECT `字段名`,Max(`时间字段`) as MaxDateTime FROM `表名` group by `字段名`) b where a.`字段名`=b.`字段名` and a.`时间字段`=b.MaxDateTime  And a.`字段名`='查询字段值'

修改数据

说明

例如,有一张表,表名为usre,在这其中,有三个字段,name、text、time,有一行属性,分别是,

name字段的值为:名字;

text字段的值为:123;

time字段的值为:2009-01-01;

需要修改text和time的值,对应:

sql
UPDATE `user` SET  `text` = '456' , `time` = '2021-08-01'  WHERE `name` = '名字'

那么修改后,他的值是:

name字段的值为:名字;

text字段的值为:456;

time字段的值为:2021-08-01;

示例:

sql
UPDATE `表名` SET  `字段1` = '修改值' , `字段2` = '修改值'  WHERE `修改字段` = '修改字段的值'

sql连接池最大链接数

说明

查询sql的最大连接数,直接复制即可

示例:

sql
show variables like '%max_connections%'

修改sql最大链接数

说明

修改sql的最大连接数,直接复制即可

示例:

sql
set GLOBAL max_connections = 16384

查询最新10条记录

说明

基本这个字段是id字段,查询整张表最新的多少条数据,其中10可以修改成任何你想修改的数值

示例:

sql
SELECT * from `表名` where `int字段` ORDER BY `int字段` DESC LIMIT 10

按照时间字段排序(正序)

说明

一般模糊查询一个时间字段,然后按照正序排列。

示例:

sql
SELECT * FROM `表名` WHERE `时间字段` LIKE '%时间值(如:2021-08)%' ORDER BY `时间字段` ASC

按照时间字段排序(倒序)

说明

一般模糊查询一个时间字段,然后按照倒序排列。

示例:

sql
SELECT * FROM `表名` WHERE `时间字段` LIKE '%时间值(如:2021-08)%' ORDER BY `时间字段` DESC

多表查询

说明

查询多张表

示例:

sql
SELECT	* FROM	`表1`,`表2`  WHERE  表1.ID=表2.id AND 表1.`字段`="条件"

随机返回一条数据

说明

随机返回一条数据

示例:

sql
SELECT * FROM `表名` ORDER BY RAND() LIMIT 1;

说明

还有一种方式

示例:

sql
SELECT * FROM `表名` AS t1 JOIN (SELECT ROUND(RAND() * ((SELECT MAX(id) FROM `表名`) - (SELECT MIN(id) FROM `表名`)) + (SELECT MIN(id) FROM `表名`)) AS id) AS t2 WHERE t1.id >= t2.id ORDER BY t1.id LIMIT 1

插入数据

说明

向数据库中插入一条数据

示例:

sql
INSERT INTO `表名` (字段1, 字段2, 字段3, 字段4)
VALUES ('数据1','数据2','数据3','数据4');

删除数据

说明

删除数据库中某条数据

示例:

sql
DELETE FROM 表名
WHERE 字段1='数值1' AND 字段2='数值2';

说明

上面是同时满足两个字段,也可以不加AND

示例:

sql
DELETE FROM 表名
WHERE 字段1='数值1';

警告

也可以删除整张表所有行,以下sql需要慎用。

示例:

sql
DELETE FROM 表名;