深色浅色模式切换
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 表名;