1.插入数据
语法:
单行插入:INSERT INTO 表名 values(值,值,.....);
多行插入:INSERT INTO 表名(列名,列名,......)VALUES(值,值,.....),(值,值,.....);
例如:
(1)多行插入:在学生表student中插入两条记录
结果如下:
(2)单行插入:在学生表student中插入一条记录
结果如下:
2.查找数据
语法:
(1)指定列查询:SELECT 列名,列名,...... FROM 表名;
(2)全列查询,查询整个表所有行的所有列:SELECT * FROM 表名;
(3)查询字段可以是表达式:SELECT 表达式 FROM 表名;
例如:
(1)指定列查询:查询学生表student中的姓名和年龄
(2)全列查询:查询学生表student所有信息
(3)查询字段为表达式:
2.1别名
为查询结果中的列指定别名,表示返回的结果集中,以别名作为该列名
语法:
SELECT 列名 [AS] 别名 [......] FROM 表名;
例如:
2.2去重
使用关键字DISTINCT关键字对某列数据进行去重
例如:
去重前:
去重后:
2.3排序
使用关键字ORDER BY进行排序
ASC为升序,DESC为降序,默认情况下是ASC
例如:查询同学的英语成绩,按照降序排序
值为null的数据比任何值都小。
不仅可以对单个字段进行排序,也可以对多个字段进行排序,排序得到优先级随书写顺序。
2.4条件查询:
使用关键字WHERE
对于WHERE条件句,可以为表达式,但是不可以使用别名
常用的查询条件:
①比较大小:=(等于)、>(大于)、>=(大于等于)、<(小于)、<=(小于等于)、!=或<>(不等于)、!>(不大于)、!<(不小于)。
查询语文成绩大于85的同学的名字和语文成绩
②确定范围:BETWEEN后是范围下限(即低值),AND后是范围上限(即高值)。
查询语文成绩不在85~100的同学的名字和年龄
③确定集合:谓词IN可以用来查找属性值属于指定集合的元组
谓词NOT IN可以用来查找不属性值属于指定集合的元组
查询英语成绩是88和98的学生的学号,姓名,英语成绩。
查询语文成绩不是83.5和90.0的学生的学号,姓名,语文成绩。
④字符匹配:
谓词LIKE可以用来进行字符串的匹配
[NOT] LIKE '<匹配串>' [ESCAPE '<换码字符>']
%(百分号)是代表任意长度(包括长度为0)的字符串,例如a%b表示以a开头,以b结尾的任意长度的字符串。
_(下横线)代表任意单个字符,例如a_b表示以a开头,以b结尾的长度为3的字符串。
查找学生表student中的姓张的同学的信息。
查找学生表student中名字第二个字是“菲”的同学的信息
⑤涉及空值的查询
查询学生表student中年龄为空的学生信息
注意: 这里的“is”不能用等号(=)代替。
⑥多重条件查询
运算符优先级:and>or,但用户可以用括号改变优先级。
查询成绩表sc中英语成绩大于85.0,语文成绩大于90的学号和姓名。
3.修改数据
语法:
UPDATE 表名 SET 列名=expr [,列名=expr,......] [WHERE ......][ORDER BY ......][LIMIT ......];
例如:将学生表student的王五同学的年龄改为19岁
4.删除数据
语法:
DELETE FROM 表名 [WHERE ......][ORDER BY ......][LIMIT ......];
例如:删除学生表student中李四同学的记录