大家好,我是阿娟,一位从业 7 年的软件测试程序媛
上一节介绍了常见的数据库和数据库管理工具,今天给大家分享数据库的八种基础语法
一、SELECT 语句
用于从表中选取数据,结果被存储在一个结果表中(称为结果集)。
一)语法
Student表,包含字段snum、sname、birthday、sex
SELECT语句可以读取一条或多条数据记录。
SELECT * FROM 表名称; //*来代替其他字段,会返回所有的字段数据
SELECT 字段名 FROM 表名称;//查询特定字段的数据
SELECT语句还可以和WHERE(参见第三节WHERE 子句)、LIMIT结合使用。
二)举例
SELECT * From Student;
执行结果如下,查询出当前Student表的所有数据
SELECT sname From Student;
执行结果如下,查询出当前Student表中所有sname字段的数据
如果想要查询Student表多个字段的数据,可以 SELECT sname,sex FROM Student;
二、SELECT DISTINCT 语句
Student表,包含字段snum、sname、birthday、sex
如果一个表格中有重复的字段,我们只想筛选出所有的不重复字段,使用DISTINCT 关键词即可,返回唯一不同的值(如果不指定字段名称,则会默认选择所有字段。)
一)语法
SELECT DISTINCT 字段名1 FROM 表名称;//如果字段名1有重复的值,只会返回一个值
二)举例
sname出现重复的值,有两个王五
SELECT DISTINCT sname FROM Student;
执行结果如下,只返回一个王五的值
三、WHERE 子句
Student表,包含字段snum、sname、birthday、sex
WHERE 子句用于提取那些满足指定条件的记录。
可以使用一个或者多个表,表之间使用逗号, 分割,并使用WHERE语句来设定查询条件。
也可以在 WHERE 子句中指定任何条件(结合各种运算符)。
或是AND 或者 OR 指定一个或多个条件(参见第四节AND & OR 运算符)
一)语法
SELECT 字段名 FROM 表名称 WHERE 字段名 操作条件;//单表查询
二)举例
SELECT * FROM Student WHERE sname='小明';
执行结果如下,查询出Student当前表 sname='小明'的数据
和运算符结合,举例 SELECT * FROM Student WHERE snum > 5;
执行结果如下,查询出Student当前表snum > 5的数据
四、AND & OR 运算符
Student表,包含字段snum、sname、birthday、sex
Score表,包含字段snum、classnum、grade
AND & OR 运算符用于基于一个以上的条件对记录进行过滤。
AND 运算符:如果第一个条件和第二个条件都成立下查询出对应的数据。
OR 运算符:如果第一个条件和第二个条件中只要有一个成立既可查询出对应的数据
一)举例
SELECT * FROM Score WHERE grade='80' AND snum = '2';
执行结果如下,查询Score表中snum = 2并且grade = 80 的学生
SELECT * FROM Student WHERE sname='小李' OR sex = '女';
执行结果如下,查询Score表中 sname='小李' 或是 sex = '女' 的学生
五、 ORDER BY 关键字
Student表,包含字段snum、sname、birthday、sex
Score表,包含字段snum、classnum、grade
日常查询数据的时候经常需要用到排序,例如订单按照按照创建日期升序或是降序查询、学生成绩按照从高到低或是从低到高进行排序等等,这个时候就需要用到ORDER BY 关键字,它用于对结果集按照一个列或者多个列进行排序。
一)语法
SELECT 字段名1 ,字段名2 FROM 表名称 ORDER BY 字段名1 ,字段名2 ASC|DESC;(ASC是升序,DESC是降序)
二)举例
SELECT sname FROM Student ORDER BY snum ASC;
执行结果如下,把Student表中sname查询出的数据按照snum升序排列
SELECT snum FROM Score ORDER BY grade DESC;
执行结果如下,把Score表中查询出的数据按照成绩降序排列
六、INSERT INTO 语句
Student表,包含字段snum、sname、birthday、sex
创建表之后我们需要往表插入数据,需要用到INSERT INTO 语句。
一)语法
第一种形式无需指定要插入数据的列名,只需提供被插入的值即可
INSERT INTO 表名称 VALUES (value1,value2,...);
第二种形式需要指定列名及被插入的值
INSERT INTO 表名称 (列名1,列名2,...)VALUES (value1,value2,...);
二)举例
1、INSERT INTO Student VALUES (9,'小娟','1993-12-21','女');
执行结果如下,向Student表格中插入一条数据
SELECT * FROM Student WHERE sname = ''小小;
查询结果如下,插入成功
2、INSERT INTO Student (snum,sname,sex) VALUES(16,'小四','男');
执行结果如下,向Student表格中插入一条数据(没有赋值的字段,默认为NULL)
SELECT * FROM Student WHERE sname = '小四';
查询结果如下,插入成功
七、UPDATE 语句
Student表,包含字段snum、sname、birthday、sex
如果表格中字段数据有误需要进行更新,需要用到UPDATE 语句,它用于更新表中的记录。
一)语法
UPDATE 表名 SET 字段名1=值1,字段名2=值2 ...WHERE 某字段=某值;
二)举例
UPDATE Student SET birthday ='1995-12-21' WHERE sname = '阿娟';
阿娟的生日有误,更新为1995-12-21
SELECT * FROM Student WHERE sname = '阿娟';更新成功,查询结果如下
八、DELETE 语句
Student表,包含字段snum、sname、birthday、sex
DELETE 语句用于删除表中的行(删除一行或是多行)。
一)语法
DELETE FROM 表名 WHERE 某字段=某值;
DELETE FROM 表名 ;(删除表中所有字段)
二)举例
DELETE FROM Student WHERE sname = '孙娟';
执行结果如下,删除 sname = '孙娟'的数据
SELECT * FROM Student WHERE sname = '孙娟',删除成功,Student已经查询不到 sname = '孙娟'的记录
以上就是今天的分享,谢谢你的阅读呀 ~~