表数据操作
(1)播入数据
a . 插入伍的顺序和表定义的列的顺序相同
#【1】向student1表播入一条记录('196001','董明霞','女','1999-05-02','通信 ',50)。
INSERT INTO student1
VALUES('196001','董明霞','女','1999-05-02','通信 ',50);
select * from student1;
b . 插入伍的顺字和表定义的列的顺序不同
#【2】向student1表插入一条记录,学号为"196002",姓名为"李茜",专业为"通信",总学分48,性别为女",出生日期为"1998-07-25"
INSERT INTO student1( sno , sname , speciality , tc , ssex , sbirthday )
VALUES ('196002','李茜','通信','48','女','1998-07-25');
select * from student1;
c 给出了部分列的值,其它列的值为表定义时的默认值,或允许该列取空值
#【3】向student1表插入一条记录,学号为"196004",姓名为"周俊文",性别为"男"、取默认值,出生日期为"1998-03-10",专业为空值,总学分为52
INSERT INTO student1( sno , sname , sbirthday , tc )
VALUES ('196004','周俊文','1998-03-10',52);
select * from student1;
d 插入多条记录,在插入语句中,插入值列表之间用三号
#【4】间 student 表播入样本数据,共6条记录,参见附录 B 。
INSERT INTO student
VALUES
('191001','刘清泉','男','1998-06-21','计算机',52),
('191002','张慧玲','女','1999-11-07','计算机',50),
('191003','马涛','男','1999-08-12','计算机',52),
('196001','董明霞','女','1999-05-02','通信',50),
('196002','李茜','女','1998-07-25','通信',40),
('196004','周俊文','男','1998-03-10','通信',52);
select * from student;
e REPLACE 语句可以在播入数据之前将与新记录中冲突的旧记录删除,使新记录能够正常插入
#【5】对student1表,重新插入记录('196002','李茜','女','1998-07-25','通信',48);
REPLACE INTO student1
VALUES
('196002','李茜','女','1998-07-25','通信',48);
select * from student1:
f 将已有的记录快速入当前表中
#【6】同student2表插入 student 表的记录
create table student2 like student ,
select * from student2;
INSERT INTO student2
SELECT * FROM student ;
select * from student2;
(2)修改数据
a . 修改指定记承需要通过 WHERE 子句指定要修改的记录所满足的条件。
#【7】在student1表中将学生周俊文的出生日期改为"1999-03-10"
UPDATE student1
SET sbirthday='1999-03-10'
WHERE sname = '周俊文';
select * from student1;
b . 修改全部记录不需要指定WHERE子句
#【8】在student1表中将所有的学生的学分加2分
UPDATE student1
SET tc = tc+2;
select * from student1;
(3)删除数据
a . 删除指定记录需要通过WHERE子句指定表中要删除的行所满足的条件
#【9】在student1表中删除学号为196004的行
DELETE FROM student1
WHERE sno='196004';
select * from student1;
b . 省略WHERE子句的DELETE语句,用于删除表中的所有行,而不删除表的定义
#【10】在student1表中删除所有行
DELETE FROM student1;
select * from student1;
c . TRUNCATE语句用于删除原来的表并重新创建一个新表,而不是逐行删除表中的记录,执行速度比DELETE语句快
#【11】在student表中删除所有行
TRUNCATE student;
select * from student;