简单查询
语法句式如下:
1 | SELECT filed1,filed2 ... filedn |
filed1 - filedn 参数表示需要查询的字段名
tablename 参数表示表的名称
CONDITION1 参数表示查询条件
filedm 参数表示按该字段中的数据进行分组
CONDITION2 参数表示满足该表达式的数据才能输出
filen 参数表示按该字段中的数据进行排序 ASC 表示 升序 DESC 表示降序
查询所有字段数据
- 列出表的所有字段
1 | SELECT filed1,filed2,...filedn FROM tablenamee; |
1 | mysql> SELECT name,sex,age FROM t_stu; |
- ”*“ 的使用
1
SELECT filed1,filed2,...filedn FROM tablenamee;
查询指定字段数据
例如:从学生表中姓名、性别和年龄字段
1 | SELECT name,sex,age FROM t_student; |
1 | mysql> SELECT *FROM t_stu; |
DISTINCT 查询
实现查询不重复数据
1 | SELECT DISTINCT filed1,filed2...filedn FROM tablename; |
1 | mysql> SELECT DISTINCT sex FROM t_stu; |
IN 查询
判断字段的数值是否在指定集合的条件查询
1. 在集合中的记录查询
1 | SELECT filed1,filed2,...,filedn FROM tablename WHERE filedm IN(value1,value2,...,valuen); |
1 | mysql> SELECT name,age FROM t_stu WHERE age IN(15 ,17,16); |
2. 不在集合中的记录查询
1 | SELECT filed1,filed2,...,filedn FROM tablename WHERE filedm NOT IN(value1,value2,...,valuen); |
1 | mysql> SELECT name,age FROM t_stu WHERE age NOT IN(15 ,17,16); |
3. 集合查询的注意点
在具体使用关键字IN时
查询的集合中如果存在NULL,则不会影响查询
使用关键字NOT IN时,则不会有任何查询结果
1 | mysql> SELECT name,age FROM t_stu WHERE age IN(15 ,17,16,NULL); |
1 | mysql> SELECT name,age FROM t_stu WHERE age NOT IN(15 ,17,16,NULL); |
BETWEEN AND 查询
实现判断字段的数值是否在指定范围内的条件查询
1 | SELECT filed1,filed2,...,filedn |
1 | mysql> SELECT *FROM t_stu WHERE age BETWEEN 15 AND 30; |
一点小问题:关于字符编码
1 | mysql> insert into t_stu values("小花",'woman',25); |
插入数据失败 查看建表信息

解决连接CSDN

LIKE 模糊查询
语法句式如下:
1 | SELECT filed1,filed2,...,filedn |
LIKE关键字支持的通配符
| 符号 | 功能描述 |
|---|---|
| _ | 该通配符能匹配单个字符 |
| % | 该通配符能匹配任意长度的字符串 |
带有 % 通配符的查询
1
2带有 _ 通配符的查询
1
2
对查询结果进行排序
语法句式如下:
1 | SELECT filed1,filed2,...,filedn |
简单分组查询
语法句式如下:
1 | SELECT function() |
统计分组查询
语法句式如下:
1 |
联合查询
内连接查询
1. 自连接查询
自连接:表与其自身进行连接
1 | select ts1.stuid ,ts1.name,ts1.classno |
- 本文作者: Coderyy
- 本文链接: https:/github.com/iforeverhz/2020/02/17/MySQL数据查询/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!
