一、MySQL中select的基本语法
// Select + 字段 from + 表名
// select * from + 表明 // * 代表所有字段
1.查询school表 的所有数据
2.从school表中查询出id,class,name 3个字段的所以记录
3.从school表中查询id大于5的记录,按照id字段降序进行排序
4.查看数据库中的表结构 desc + 表名;
5.去除重复数值
select distinct 字段名 from 表名;
二、where语句 (查询指定记录)
1.查询school表id=1的数据
2.查询school表id大于3的数据
3查询school表class不是四班的所有数据
7.IN关键字查询(IN关键字可以判断某个字段的值是否在指定的整合中)IN (元素1,元素2....元素n)
8.Between查询范围,判读字段的值是否在指定范围,语法规则如下:
[NOT] BETWEEN 取值1 AND 取值2
9.Like匹配查询
9.1.此处LIKE与等于号(=)是等价的。
匹配字符串是否相等,语法规则如下:
[NOT] like ‘字符串’
9.2.使用like匹配带有通配符‘%’的字符串‘李%’
字符串中包含通配符时,‘=’不能代替like。
9.3使用like匹配带有通配符‘_’的字符串‘王_’ 匹配单个字符
下划线的用途与%一样,但下划线只匹配单个字符而不是多个字符
10.多条件查询 and or
10.1.AND多条件查询 等同于&&
联合多个条件进行查询,语法规则如下:条件表达式1 AND 条件表达式2
查询表中sex为男且name为王字开头的记录。
10.2.OR多条件查询 等同于||
只要满足几个查询条件中的其中一个,记录就会被查询出来,语法规则如下:
条件表达式1 OR 条件表达式2
名字为王字开头 或者 id= 5
11.LIMIT子句
LIMIT限制查询结果的数量
LIMIT不指定初始位置,从第一条记录开始显示。语法规则如下:
LIMIT 记录数
limit n,m
n:开始位置
m:要检索的行数
行0 :检索出来的第一行为行0,而不是行1,因此,limit 1,1将检索出第二行而不是第一行。
12.排序 ORDER BY 对记录进行排序。
ORDER BY 属性名 [ASC | DESC]
ASC:升序(默认升序)
DESC:降序
13.分组查询
GROUP BY 将查询结果按某个字段或多个字段进行分组。字段中的值相等的为一组。语法规则如下:GROUP BY 属性名 [having 条件表达式]
三、集合函数
包括COUNT()、SUM()、AVG()、MAX()和MIN()。
当需要对表中的记录求和、求平均值、查询最大值和查询最小值等操作时,可以使用集合函数。GROUP BY关键字通常需要与集合函数起使用。
COUNT()用来统计记录的条数;
SUM()用来计算字段的值的总和;
AVG()用来计算字段的值的平均值:
MAX() 用来查询字段的最大值;
MIN()用来查询字段的最小值。
3.1. COUNT() 用来统计记录的条数;
3.2. SUM() 用来计算字段的值的总和;
3.3. AVG() 用来计算字段的值的平均值:
3.4. MAX() 用来查询字段的最大值; MIN() 用来查询字段的最小值。
四、正则表达式
是用某种模式去匹配一类字符串的一一个方式。例如,使用正则表达式可以查询出包含A、B和C其中任一字母的字符串。正则表达式的查询能力比通配字符的查询能力更强大,而且更加的灵活。正则表达式可以应用于非常复杂查询。
使用REGEXP关键字来匹配查询正则表达式。其基本形式如下:
属性名 REGEXP '匹配方式’
“属性名”参数表示需要查询的字段的名称;
“匹配方式” 参数表示以哪种方式来进行匹配查询。
4.1. “^”查询以特定字符或者字符串开头的记录
4.2.“$”查询以特定字符或者字符串结尾的记录
4.3.“.”匹配字符串中的任意一个字符。
五、mysql系统函数
5.1.系统用户名:system_user()
查询语句:
select system_user();
select user from mysql.user
5.2.当前用户名 select current_user()
5.3.连接数据库用户名:session_user()
5.4. 数据库名:database() 数据库版本:version()
5.5.数据库读取路径:@@basedir查询语句:show variables like '%basedir%';
MYSQL安装路径:@@char查询语句:show variables like"%char%";
5.6. 查看当前系统版本:@@version_compile_os查询语句:select @@version_compile_os;
六、其它相关函数:
6.1截取函数
left(s,n) #返回字符串s最左边的字符 user():root@localhost
right(s,n) #返回字符串s最右边的字符 user():root@localhost
substr(s,n,len) mid(s,n,len)
#截取字符串s的第n个字符,且截取长度为len