mysql基础常用语句

sql最常用命令语句总结

我们以student表为例:

基本查询

B0Cqlq.png

  • 表全部信息:
select * from 表名称; //*可以理解代表全部

eg:

我们查询整个student表:

select * from student;

结果如下:

B0PntH.png

  • 检索查询
SELECT 列名称 FROM 表名称

eg:

我们检索全体学生的学号、姓名:

Select Sno,Sname from student;

结果如下:

BwOyJf.png

查询时改变列标题的显示(取别名)

Select column1 as column1`,column2 as column2` from student;

eg:

我们检索全体学生的学号、姓名、性别信息,并分别加上“学号”、“姓名”、“性别”的别名信息:

Select Sno as 学号,Sname as 姓名,Ssex as 性别 from student;

结果如下:

BwOxT1.png

条件查询

SELECT 列名称 FROM 表名称 WHERE 列 运算符 值;

eg1:

我们查询成绩大于90分的学生的学号及课程号、成绩:

Select * from Student where Grade>90;

结果如下:

BwjOaR.png

运算操作符:

Bwj4P0.png

eg2:

我们查询成绩介于85~90分的学生的学号及课程号、成绩:

Select * from Student where Grade  between 85 and 90;

B0PNNQ.png

我们查询成绩不介于90~95分的学生的学号及课程号、成绩:

Select * from Student where Grade not between 90 and 95;

结果如下:

B0iOdU.png

eg3:

我们查询选修了课程号为“2”,且成绩大于88的学生的学号:

Select * from Student where Cno = '2' and Grade > 88;

结果如下:

B0iE2n.png

Select * from Student where Cno = '2' or Cno = '3';

结果如下:

B0iKVU.png

基于IN子句的数据查询

SELECT 列名
FROM 表名
WHERE 列名 IN (value1,value2,...)

eg:

我们从student表中查询出刘晨,李勇的所有信息:

Select * from Student where Sname in ('李勇''刘晨');

结果如下:

B0E0mt.png

基于Like子句的查询

B0KgUI.png

  • 使用%通配符
SELECT column_name(s)
FROM table_name
WHERE column_name LIKE pattern;

eg:

我们从学生表中分别检索出姓张的所有同学的资料:

Select * from Student where Sname like '刘%'; //%代表缺少的东西,可定义通配符

结果如下:

B0nGzF.png

  • 使用 _ 通配符

我们检索名字的第二个字是“勇”的所有同学的资料:

Select * from Student where Sname like '_勇%'

结果如下:

B0ndd1.png

eg:

我们检索名字的包含字是“勇”的所有同学的资料:

Select * from Student where Sname like '%勇%'

结果如下:

B0KGDJ.png

特殊情况

eg:

如果用户查询的匹配字符串本身就含有%或_,比如乱写名字的,像:谢 _颖,李%峰,我们要通过姓名查询上面同学的学号:

escape

Select Sno from Student where Sname like '谢/_颖' escape'/';
Select Sno from Student where Sname like '李/%峰' escape'/';
  • 使用 [charlist] 通配符

eg:

我们希望选出名字以“A",“L”开头的外国人人的所以资料:

Select * from Student where Sname like '[AL]%';

我们不希望选出名字以“A",“L”开头的外国人人的所以资料:

Select * from Student where Sname like '[!AL]%';

使用top关键字查询

SELECT TOP number|percent column_name(s)
FROM table_name;

eg:

我们从Student表中检索出前3个学生信息:

Select top 3 * from Student;

我们从Student表中检索出前50%学生信息:

Select top 50 percent * from Student;

消除重复行

distinct

eg:

Select distinct Sno from  Student;

结果如下:

B03POO.png

猜你喜欢

转载自blog.csdn.net/qq_46354489/article/details/109436855