在MySQL数据库中插入、更新与删除数据。
操作题:
创建表Student和表Score,并对表进行插入、更新和删除操作,Student表的结构见表5-6,Score表的结构见表5-7。
(1)分别创建表student和表score。
创建表student语句
CREATE TABLE student (
id INT(10) NOT NULL UNIQUE PRIMARY KEY ,
name VARCHAR(20) NOT NULL ,
sex VARCHAR(4) ,
birth YEAR,
department VARCHAR(20) ,
address VARCHAR(50)
);
创建表score语句
CREATE TABLE score (
id INT(10) NOT NULL UNIQUE PRIMARY KEY AUTO_INCREMENT ,
stu_id INT(10) NOT NULL ,
c_name VARCHAR(20) ,
grade INT(10)
);
(2)分别为表student设置主键、自增字段为Id和表score设置主键、自增字段为Id。
表student设置主键、自增字段为Id
alter table student modify id int primary key auto_increment
表score设置主键、自增字段为Id
alter table score modify id int primary key auto_increment
(3)向student表插入新记录如下:
901,‘张老大’,‘男’,1985,‘计算机系’,‘北京市海淀区’
INSERT INTO student VALUES
( 901,'张老大', '男',1985,'计算机系', '北京市海淀区');
(4)向student表插入多条新记录如下:
902,'张老二','男',1986,'中文系','北京市昌平区'
903,'张三','女',1990,'中文系','湖南省永州市'
904,'李四','男',1990,'英语系','辽宁省阜新市'
905,'王五','女',1991,'英语系','福建省厦门市'
906,'王六','男',1988,'计算机系','湖南省衡阳市'
方法一
INSERT INTO student VALUES
( 902,'张老二', '男',1986,'中文系', '北京市昌平区');
INSERT INTO student VALUES
( 903,'张三', '女',1990,'中文系', '湖南省永州市');
INSERT INTO student VALUES
( 904,'李四', '男',1990,'英语系', '辽宁省阜新市');
INSERT INTO student VALUES
( 905,'王五', '女',1991,'英语系', '福建省厦门市');
INSERT INTO student VALUES
( 906,'王六', '男',1988,'计算机系', '湖南省衡阳市');
方法二
INSERT INTO student VALUES( 902,'张老二', '男',1986,'中文系', '北京市昌平区'),
( 903,'张三', '女',1990,'中文系', '湖南省永州市'),
( 904,'李四', '男',1990,'英语系', '辽宁省阜新市'),
( 905,'王五', '女',1991,'英语系', '福建省厦门市'),
( 906,'王六', '男',1988,'计算机系', '湖南省衡阳市');
(5)向score表插入新记录如下:
NULL,901,'计算机',98
INSERT INTO score VALUES
(NULL,901, '计算机',98);
(6)向score表插入新记录如下:
NULL,901,'英语',80
NULL,902,'计算机',65
NULL,902,'中文',88
NULL,903,'中文',95
NULL,904,'计算机',70
NULL,904,'英语',92
NULL,905,'英语',94
NULL,906,'计算机',90
NULL,906,'英语',
方法一
INSERT INTO score VALUES(NULL,901, '英语', 80);
INSERT INTO score VALUES(NULL,902, '计算机',65);
INSERT INTO score VALUES(NULL,902, '中文',88);
INSERT INTO score VALUES(NULL,903, '中文',95);
INSERT INTO score VALUES(NULL,904, '计算机',70);
INSERT INTO score VALUES(NULL,904, '英语',92);
INSERT INTO score VALUES(NULL,905, '英语',94);
INSERT INTO score VALUES(NULL,906, '计算机',90);
INSERT INTO score VALUES(NULL,906, '英语',85);
方法二
INSERT INTO score VALUES (NULL,901, '英语', 80),
(NULL,902, '计算机',65),
(NULL,902, '中文',88),
(NULL,903, '中文',95),
(NULL,904, '计算机',70),
(NULL,904, '英语',92),
(NULL,905, '英语',94),
(NULL,906, '计算机',90),
(NULL,906, '英语',85);
(7)更新表student中Id为3的同学的姓名为张强,设计系。
update student set name = “张强”,department=”设计系” where id =3;
(8)更新表student中学号Id为905的学生的成绩为99。
update score set grade=99 where id =(Select score. id form score,student where(student.id=score.stu_id and student.id=905) );
(9)更新表score表中的学号为904的同学的成绩为99。
update score set grade=99 where stu_id=904;