SQL数据库操作命令
作业一:创建如上的表,并把相应地数据插入到对应的表中。
CREATE DATABASE +库名;表示的是创建一个库。
例如 :输入则会创建一个名字为tsf的库。如下图所示:
CREATE TABLE +表名 (第一列的名称 数据类型,第二列的名称 数据类型。。。)表示建表.
如下图所示:
INSERT INTO studentlist(studentid, name1, sex, class, age) VALUES ('0001', 'mark', 'male', 1, 9)
INSERT INTO 则表示往建好的表格里面填值。
填值完成以后就生成如下两个表格。
作业二:把学号为007的语文成绩修改成81分。
UPDATE 则表示的是更新和修改。
WHERE相当于给一个要求、加一个条件,好可以精准的找到对应值并进行操作。
AND也就是和的意思,两个并列的条件,都满足。
执行出来的结果为:
作业三:删除0007的语文成绩。
Delete from 表名 where 条件1 AND 条件2…..
上述表示的是删数据,当满足where后面的条件后即可删除对应的那一列。
Drop database 库名
Drop database表示的是删库。
在作业三中要的只是删除0007的语文成绩,如果用Delete from则会删除掉对应的那一行。
所以要想将0007的语文成绩删除也可以将对应的成绩改为空(NULL)。
操作如下:
运行结果如下:
作业四:查询1班的数学平均成绩。
SELETE AVG(列名)FROM 表名;表示的是在在指定的表中对对应列求平均值。
操作如下:
执行结果如下:
作业五:查询数学平均成绩。
操作如下:
执行结果如下:
作业六:查询数学得分最高的学生的班级。
多表相互查询(内连接,外连接(左连接,右连接))、子查询(嵌套查询)
Select a. 列1名 from 表1名 a,表2名 b where a.列名 = b.列名 AND 其他条件
首先来看, 我们要的是列1(找什么:列1),从哪里找呢(表1, 表2)按什么条件找呢?(列1的确只在表1中存在,但它与表2中的某一列存在直接联系,因此首先得第一个条件就是把他们的联系表示出来,然后再从其他条件查找),此处的a和b只是为了方便操作。依然可以用原来的列表名来进行书写。
Select a. 列1名 from 表1名 a left join,表2名 b where a.列名 = b.列名 AND 其他条件
这就是左连接。以左表为基准,右表只关联部分。显示结果的时候会显示左表全部而右表只显示关联的那一部分
Select a. 列1名 from 表1名 a right join,表2名 b where a.列名 = b.列名 AND 其他条件
右连接同理
Select 列名 from 表名 where 列名1 in (select 列名1 from ....... where 列名n in (select 列名 n .........))
这是嵌套循环:把一张表查询的结果作为另一个查询的条件
找什么:列名 ; 从哪找 : 表名 ; 按什么条件找: where (此处where条件包含在另一个查询中)
操作如下:
执行结果如下:
作业七:查询没有语文成绩的学生姓名。
操作如下:
执行结果如下:
作业八:查询语文分数小于60分的总人数。
这里可用到count来进行计数。即可用CELETE COUNT(列名)FROM 表名来进行操作。
操作如下:
执行结果如下:
作业九:查询学号为005的学生的平均成绩。
操作如下:
执行结果如下: