一谈及数据库,最常规的莫过于增删改查,那么在学习完SQL server后再来学习MySQL时,发现两者SQL语句有“异曲同工之妙”,那么这“妙”在何处呢?接下来,让我们以具体的实例来瞧瞧————
基础表
-- 学生表--
CREATE TABLE Student(
Sid VARCHAR(16) NOT NULL COMMENT '学生编号',
Sname VARCHAR(30) NOT NULL COMMENT '学生姓名',
Sage date DEFAULT NULL COMMENT '出生日期',
Ssex CHAR(2) DEFAULT NULL COMMENT '学生性别'
) ENGINE=INNODB DEFAULT CHARSET=utf8;
-- 课程表--
CREATE TABLE Course(
Cid VARCHAR(16) NOT NULL COMMENT '课程编号',
Cname VARCHAR(30) DEFAULT NULL COMMENT '课程名称',
Tid VARCHAR(16) NOT NULL COMMENT '教师编号'
) ENGINE=INNODB DEFAULT CHARSET=utf8;
-- 教师表--
CREATE TABLE Teacher(
Tid VARCHAR(16) NOT NULL COMMENT '教室编号',
Tname VARCHAR(30) DEFAULT NULL COMMENT '教师姓名'
)ENGINE=INNODB DEFAULT CHARSET=utf8;
-- 成绩表--
CREATE TABLE SC(
Sid VARCHAR(16) NOT NULL COMMENT '学生编号',
Cid VARCHAR(16) NOT NULL COMMENT '课程编号',
Score double(255,0) DEFAULT NULL COMMENT '学生成绩'
)ENGINE=INNODB DEFAULT CHARSET=utf8;
导入数据
学生表
课程表
成绩表
教师表
增删改查操作
- 1.插入一条数据到学生表中
INSERT INTO Student VALUES
('01','Cecilia','1995-10-09','女');
- 2.批量插入数据到学生表中
INSERT INTO Student VALUES
('01','Cecilia','1995-10-09','女'),
('02','芷若初荨','1996-11-11','女'),
('03','刘诗诗','1987-03-10','女'),
('04','胡歌','1982-09-20','男'),
('05','白小明','1994-03-23','男'),
('06','杨梦妮','1995-07-07','女'),
('07','安文龙','1993-10-09','男'),
('08','周逸飞','1997-8-1','男');
- 3.单纯地创建一个备份表,表结构和原来的表结构一模一样
create table student1 SELECT * FROM student where 1=2;
- 4.将原有的表数据全部备份到备份表中
INSERT INTO student1 SELECT * FROM student;
- 5.查询”001”课程比”002”课程成绩高的学生的信息及课程分数
注意:此处重点同一个学生的两个对应课程