[ MySQL Learning ] - 常用语句合集
查询整个表的所有信息
select * from 表名
查询表里面的某一列
select 列名 from 表名
查询表里面的多列
select 列名1 , 列名2 from 表名
检索不同的行
select DISTINCT 列名 from 表名
规定检索出来的记录数量
select * from 表名 LIMIT 查询数量
查询从某个记录开始查询规定数量记录数
select * from 表名 LIMIT 起始记录数下标, 查询数量
查询语句并进行升序,默认为asc
select * from 表名 ORDER BY 列名
查询语句并进行降序
select * from 表名 ORDER BY 列名 desc
查询 id(列名) 等于 2(期望的数值) 的数据
select * from 表名 WHERE id = 2
查询名字为小红的数据
select * from 表名 WHERE name = '小红'
查询id小于2的数据
select * from 表名 WHERE id < 2
查询id不是2的其它所有数据(不匹配查询)
select * from 表名 WHERE id <> 2
查询id在1到3内的所有数据(范围查询)
select * from 表名 WHERE id BETWEEN 1 AND 3
查询密码为空的数据(空值查询)
SELECT * FROM 表名 where ` password` is null
查询密码为空并且id等于2的数据(组合查询)
SELECT * FROM 表名 where ` password` is null and id = 2
查询密码为空或或者id等于2的数据(或语句查询)
SELECT * FROM 表名 where ` password` is null or id = 2
查询id是1或者id是3并且性别是男的数据,and的执行次序会在or前面,所以记得加个括号
SELECT * FROM 表名 where ( id = 1 or id = 3 ) and sex = '男'
查询id在1和4里面的所有数据,in后面的括号内为查询的范围为id等于1和id等于4,并不是说从1到4,是一个清单列表
SELECT * FROM 表名 where id in ( 1 , 4 )
查询id不在1和4里面的所有数据
SELECT * FROM 表名 where id not in ( 1 , 4 )
查询名字是小开头的所有数据,%表示任意字符出现任意次数
SELECT * FROM 表名 where name like '小%'
查询名字里面包含小的所有数据
SELECT * FROM 表名 where name like '%小%'
查询名字以s开头以e结束的所有数据
SELECT * FROM 表名 where name like 's%e'
单个通配符,表示任意字符出现1次;查询小开头并且结尾只有一个字符的所有数据
SELECT * FROM 表名 where name like '小_'
正则查询,查询所有名字中包含小的记录
SELECT * FROM 表名 where name REGEXP '小'
正则查询,查询所有名字后面为红结尾的记录,其中.的作用是和%一样的
SELECT * FROM 表名 where name REGEXP '.红'
正则查询,查询名字中包含红或者包含明的数据
SELECT * FROM 表名 where name REGEXP '红|明'
正则查询,查询以小作为前面的字符,后面跟着红的记录
SELECT * FROM 表名 where name REGEXP '[小]红'
正则查询,查询范围为1-5内数字后面跟着红的记录
SELECT * FROM 表名 where name REGEXP '[1-5]红'
查询名字包含 .红 的记录数,关键字字符需要\来进行引用
SELECT * FROM ` user ` where name REGEXP '\\.红'