首先建立一个可供练习的数据库study和表student,之后的练习都将以此表为准。
检索单个列
输入
SELECT id FROM student;
#id为列名,student为表名;
输出
注:
① SQL语句不区分大小写,但是为SQL关键字使用大写,而对所有列和表名使用小写,是SQL开发的良好习惯,因为这更易于阅读和调试;
②在处理SQL语句时,其中所有空格都被忽略。SQL语句可以写成多行,也可以写成一行。
检索多个列
输入
SELECT id,name,birth FROM student;
#同样使用SELECT 语句,在SELECT关键字后给出多个列名,每个列名之间用逗号隔开;
输出
检索所有列
输入
SELECT * FROM student
#*为通配符;
输出
通配符优缺点:
优点:由于不明确指定列名,所以能检索出名字未知的列;
缺点:检索不需要的列通常会降低检索和应用程序的性能。
检索不同的行
如果输入
SELECT birth FROM student;
将输出
SELECT返回了6行数据,其中1990这个值出现了两次,但如果我只想要不同出生年份的信息,需要使用DISTINCT关键字。
输入
SELECT DISTINCT birth FROM student;
输出
这样只返回5行不同的信息。
限制结果
输入
SELECT name FROM student LIMIT 3;
#LIMIT 3表示MySQL返回不多于3行;
输出
输入
SELECT name FROM student LIMIT 2,3;
#LIMIT 2,3表示返回从第二行开始的3行;
输出
注:代码SELECT name FROM student LIMIT 2,3;
等价于代码SELECT name FROM student LIMIT 3 OFFSET 2;
。
使用完全限定的表名
输入
SELECT student.name FROM study.student;
输出