Mysql——基础学习

一、基础查询

1、多个字段的查询

  • select 字段名1,字段名2...from 表名;
Select 
	字段列表
Form 
	表名列表
Where 
	条件列表
Group by
	分组字段
Having
	分组之后的条件
Order by
	排序
Limit
	分页限定

注意:如果查询所有字段,则可以使用*来替代字段列表

2、去除重复

  • distinct

PS:只有两个字段名的结果集完全一样,去重才发挥作用

3、计算列

  • 一般可以使用四则运算计算一些列的值。(一般只会对数值型的计算)
  • ifnull(表达式1,表达式2):null参与的运算,计算结果都为null
    • 表达式1:哪个字段需要判断是否为null
    • 表达式2:如果该字段为null后的替换值

4、起别名

  • as

as也可以省略

案例学习:

1、计算math和English分数之和

分析:

A、

SELECT NAME,math,english,math+english FROM stu;

执行SQL后发现有空值,name为2的一行记录中English成绩为null,和math相加之和的结果还是为null,想让结果为66,怎么解决呢?

B、

因为null参与的运算,运算结果都为null,所以我们需要借助IFNULL函数,来把遇到的null全都转换为0,这样结果就不会出现null了。为了显示的更清楚,可以把math和English之和重新命名一个字段为总分。

SELECT NAME,math,english,math+IFNULL(english,0 ) AS 总分 FROM stu;

二、条件查询

1、where子句后跟条件

2、运算符

  • > 、 <、<=、>=、=、<>
  • BETWEEN...AND
  • IN(集合) 
  • LIKE
  • IS NULL
  • and 或&&
  • or 或||
  • not 或  !

案例学习:

模糊查询:

LIKE:模糊查询

占位符:

  • _:单个任意字符
  • %:多个任意字符

案例学习:

1、查询姓马的有哪些?

分析:

SELECT * FROM stu WHERE NAME LIKE '马%';

2、查询姓名第二个字是化的人

分析:

SELECT * FROM stu WHERE NAME LIKE '_化%';

3、查询名字是三个字的人

分析:

SELECT * FROM stu WHERE NAME LIKE '___';

4、查询姓名中包含马的人

分析:

SELECT * FROM stu WHERE NAME LIKE '%马%';

发布了176 篇原创文章 · 获赞 185 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/Sophia_0331/article/details/99537841