本次实验用到的一些基本关键字
1、insert into 插入数据
INSERT INTO 语句可以有两种编写形式。
第一种形式无需指定要插入数据的列名,只需提供被插入的值即可:
INSERT INTO table_name
VALUES (value1,value2,value3,...);
第二种形式需要指定列名及被插入的值:
INSERT INTO table_name (column1,column2,column3,...)
VALUES (value1,value2,value3,...);
参数说明:
-
table_name:需要插入新记录的表名。
-
column1, column2, ...:需要插入的字段名。
-
value1, value2, ...:需要插入的字段值。
2、update 更新数据
UPDATE 语句用于更新表中已存在的记录。
SQL UPDATE 语法
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
参数说明:
-
table_name:要修改的表名称。
-
column1, column2, ...:要修改的字段名称,可以为多个字段。
-
value1, value2, ...:要修改的值,可以为多个值。
-
condition:修改条件,用于指定哪些数据要修改。
3、delete 删除数据
DELETE 语句用于删除表中的记录。
SQL DELETE 语法
DELETE FROM table_name
WHERE condition;
参数说明:
-
table_name:要删除的表名称。
-
condition:删除条件,用于指定哪些数据要删除。
请注意 SQL DELETE 语句中的 WHERE 子句! WHERE 子句规定哪条记录或者哪些记录需要删除。如果省略了 WHERE 子句,所有的记录都将被删除! |
---|
4、is null 判断为空;is not null 判断不为空
5、源码
sql
#(1) INSERT 基本语句(插入全部列的数据)
#将一个新学生元组插入到student表中
insert into student values('201215128','陈冬','男',18,'IS');
#(2) INSERT 基本语句(插入部分列的数据)
#在course表中插入一条选课记录("201212122","2")
insert into course(sno,cno) values('201215122',2);
#(3) INSERT基本语句批量插入数据(插入子查询结果)
#对每一个系,求学生的平均年龄,并把结果存入数据库
CREATE table dept_age
(sdept char(15), #系名
acg_age int #平均年龄
);
INSERT into dept_age
SELECT sdept,avg(sage)
from student
group by sdept;
#(4) UPDATE语句(修改部分记录的部分列值)
#将学生201215121的年龄改为22岁
update student
set sage=22
where sno='201215121';
#将所有学生的年龄都增加1岁
update student
set sage=sage+1;
#(5) UPDATE语句(利用一个表中的数据修改另一个表中的数据)
#将计算机科学系全体学生的成绩置60分
update course
set grade=0
where sno IN
(select sno
from student
where sdept='CS'
);
#(6)DELETE基本语句(删除满足条件的记录)
#删除学号为201215128的学生记录
delete
from student
WHERE sno='201215128';
#删除所有姓张的同学的选课记录
delete
from course
where sno in
(SELECT sno
from student
where sname like '张%'
);
#(7) DELETE基本语句(带子查询的删除语句)
#删除计算机系所有学生的选课记录
delete
from course
where sno in
(SELECT sno
from student
where sdept='CS'
);
#(8) 空值处理(空值的产生)
#向course表插入一个元组,学号是"201215123",课程号是"2",成绩为空
insert into course values('201215123',2,NULL);
#(9) 空值处理(空值的判断) is null,is not null
#从course表中找出漏填数据的学生信息
select *
from course
where sno is NULL or cno is NULL or grade is NULL;