MySQL练习题
-- 1. 创建test1数据库
CREATE DATABASE test1 charset=utf8;
use test1;
-- 2. 在test1数据库中创建student表
create table student(
id int PRIMARY KEY auto_increment,
name VARCHAR(20),
score int,
address VARCHAR(50),
useremail VARCHAR(20)
);
-- 3. 向student表中添加记录
insert into student VALUES
(1, '张三', 98, '北京', '111111111@qq.com'),
(2, '李四', 88, '上海', '111111112@qq.com'),
(3, '王五', 78, '广州', '111111113@qq.com'),
(4, '赵六', 68, '深圳', '111111114@qq.com'),
(5, '孙七', 58, '杭州', '111111115@qq.com'),
(6, '小红', 48, '北京', '111111116@qq.com'),
(7, '小黑', 99, '上海', '1111111117@qq.com'),
(8, '小绿', 100, '杭州', '111111118@qq.com'),
(9, '小粉', 60, '杭州', '111111119@qq.com'),
(10, '小紫', 70, '黑龙江', '111111110@qq.com');
-- 4.使用sql语句查询出表中的所有内容
select * from student;
-- 5.使用sql语句查询出表中所有score>70的同学的id,name,score
select id, name, score from student where score>70;
-- 6.更改name字段的数据类型为varchar(50)
alter table student change name name varchar(50);
-- 7.向表中添加一个字段,字段名称为“pingjia”,字段类型为varchar(20)
alter table student add pingjia varchar(20);
-- 8.更改姓名是张三的同学的分数为88
update student set score = 88 where name = '张三';
-- 9.如果80分为及格线,查询出所有及格的同学的详细信息
select * from student where score >= 80;
-- 10.把姓名是“小红”的同学的分数在原来的基础上+40
update student set score = score + 40 where name = '小红';
-- 11.使用关键字in,查询id值是1或5或7的同学的基本信息
select * from student where id in (1, 5 ,7);
-- 12.查询id值在5至8的所有同学的基本信息
select * from student where id between 5 and 8;
-- 13.查询姓名是小红并且分数大于60的同学的基本信息
select * from student where name = '小红' and score > 60;
-- 14.查询姓名是小红或者分数大于90的同学的基本信息
select * from student where name = '小红' or score > 90;
-- 15.查询score字段值是NULL的同学的基本信息
select * from student where score is null;
-- 16.查询score字段值不是NULL的同学的id和name
select * from student where score is not null;
-- 1. 创建test2数据库
CREATE DATABASE test2 charset=utf8;
use test2
-- 2. 在test2数据库中创建student表
create table student(
id int PRIMARY KEY auto_increment,
name VARCHAR(20),
score int,
address VARCHAR(50),
useremail VARCHAR(20)
);
-- 3. 向student表中添加记录
insert into student VALUES
(1, '张三', 98, '北京', '111111111@qq.com'),
(2, '李四', 88, '上海', '111111112@qq.com'),
(3, '王五', 78, '广州', '111111113@qq.com'),
(4, '赵六', 68, '深圳', '111111114@qq.com'),
(5, '孙七', 58, '杭州', '111111115@qq.com'),
(6, '小红', 48, '北京', '111111116@qq.com'),
(7, '小黑', 99, '上海', '1111111117@qq.com'),
(8, '小绿', 100, '杭州', '111111118@qq.com'),
(9, '小粉', 60, '杭州', '111111119@qq.com'),
(10, '小紫', 70, '黑龙江', '111111110@qq.com');
-- 4. 使用sql语句查询出表中id,name,和address字段的所有内容
select id, name, address from student;
-- 5. 使用sql语句查询出表中所有同学的id,name,score
select id, name, score from student;
-- 6. 更改useremail字段的数据类型为varchar(50)
alter table student change useremail useremail varchar(50);
-- 7. 向表中添加一个字段,字段名称为“pingjia”,字段类型为varchar(20)
alter table student add pingjia varchar(20);
-- 8. 更改姓名是张三的同学的分数为92
update student set score = 92 where name = '张三';
-- 9. 如果80分为及格线,查询出所有不及格的同学的详细信息
select * from student where score < 80;
-- 10. 把姓名是“小红”的同学的分数在原来的基础上+20
update student set score = score + 20 where name = '小红';
-- 11. 使用关键字in,查询id值是1或5或7的同学的基本信息
select * from student where id in (1, 5 ,7);
-- 12. 查询id值在4至9的所有同学的基本信息
select * from student where id between 4 and 9;
-- 13. 查询姓名是小红并且分数大于60的同学的基本信息
select * from student where name = '小红' and score > 60;
-- 14. 查询姓名是小红或者分数大于90的同学的基本信息
select * from student where name = '小红' or score > 90;
-- 15. 查询score字段值是NULL的同学的基本信息
select * from student where score is null;
-- 16. 查询name不是张三的同学的id,name,和score
select id, name, score from student where name != '张三';
-- 1. 创建test3数据库
CREATE DATABASE test3 charset=utf8;
use test3;
-- 2. 在test3数据库中创建student表
create table student(
id int PRIMARY KEY auto_increment,
name VARCHAR(20),
score int,
address VARCHAR(50),
useremail VARCHAR(20)
);
-- 3. 向student表中添加记录
insert into student VALUES
(1, '张三', 98, '北京', '111111111@qq.com'),
(2, '李四', 88, '上海', '111111112@qq.com'),
(3, '王五', 78, '广州', '111111113@qq.com'),
(4, '赵六', 68, '深圳', '111111114@qq.com'),
(5, '孙七', 58, '杭州', '111111115@qq.com'),
(6, '小红', 48, '北京', '111111116@qq.com'),
(7, '小黑', 99, '上海', '1111111117@qq.com'),
(8, '小绿', 100, '杭州', '111111118@qq.com'),
(9, '小粉', 60, '杭州', '111111119@qq.com'),
(10, '小紫', 70, '黑龙江', '111111110@qq.com');
--
-- 4. 使用sql语句查询出表中的所有内容
select * from student;
-- 5. 使用sql语句查询出表中所有同学的id,name,score
select id, name, score from student;
-- 6. 更改name字段的数据类型为varchar(50)
alter table student change name name varchar(50);
-- 7. 向表中添加一个字段,字段名称为“pingjia”,字段类型为varchar(50)
alter table student add pingjia varchar(50);
-- 8. 更改姓名是小紫的同学的分数为100
update student set score = 100 where name = '小紫';
-- 9. 如果80分为及格线,查询出所有及格的同学的详细信息
select * from student where score >= 80;
-- 10. 把姓名是“小红”的同学的分数在原来的基础上+30
update student set score = score + 30 where name = '小红';
-- 11. 使用关键字in,查询id值是2或4或8的同学的基本信息
select * from student where id in (2, 4 ,8);
-- 12. 查询id值在5至8的所有同学的基本信息
select * from student where id between 5 and 8;
-- 13. 查询姓名是小红并且分数大于60的同学的基本信息
select * from student where name = '小红' and score > 60;
-- 14. 查询姓名是小红或者分数大于90的同学的基本信息
select * from student where name = '小红' or score > 90;
-- 15. 查询score字段值是不为NULL的同学的基本信息
select * from student where score is not null;
-- 16. 查询id值在6至8的同学的name和score
select name, score from student where id BETWEEN 6 AND 8;
-- 1. 创建test4数据库
CREATE DATABASE test4 charset=utf8;
use test4;
-- 2. 在test4数据库中创建student表
create table student(
id int PRIMARY KEY auto_increment,
name VARCHAR(20),
score int,
address VARCHAR(50),
useremail VARCHAR(20)
);
-- 3. 向student表中添加记录
insert into student VALUES
(1, '张三', 98, '北京', '111111111@qq.com'),
(2, '李四', 88, '上海', '111111112@qq.com'),
(3, '王五', 78, '广州', '111111113@qq.com'),
(4, '赵六', 68, '深圳', '111111114@qq.com'),
(5, '孙七', 58, '杭州', '111111115@qq.com'),
(6, '小红', 48, '北京', '111111116@qq.com'),
(7, '小黑', 99, '上海', '1111111117@qq.com'),
(8, '小绿', 100, '杭州', '111111118@qq.com'),
(9, '小粉', 60, '杭州', '111111119@qq.com'),
(10, '小紫', 70, '黑龙江', '111111110@qq.com');
-- 4. 使用sql语句查询出表中的所有内容
select * from student;
-- 5. 使用sql语句查询出表中所有同学的id,name,score
select id, name, score from student;
-- 6. 更改useremail字段的数据类型为varchar(50)
alter table student change useremail useremail varchar(50);
-- 7. 向表中添加一个字段,字段名称为“pingjia”,字段类型为varchar(20)
alter table student add pingjia varchar(20);
-- 8. 更改姓名是李四的同学的分数为48
update student set score = 48 where name = '李四';
-- 9. 如果80分为及格线,查询出所有不及格的同学的详细信息
select * from student where score < 80;
-- 10. 把姓名是“小红”的同学的分数在48的基础上+40
update student set score = score + 40 where name = '小红';
-- 11. 使用关键字in,查询id值是3或9或10的同学的基本信息
select * from student where id in (3, 9 ,10);
-- 12. 查询id值在2至6的所有同学的基本信息
select name, score from student where id BETWEEN 2 AND 6;
-- 13. 查询姓名是小红并且分数大于60的同学的基本信息
select * from student where name = '小红' and score > 60;
-- 14. 查询姓名是张三或者分数大于90或者address字段值是杭州的同学的基本信息
select * from student where name = '张三' or score > 90 or address = '杭州';
-- 15. 查询score字段值是NULL的同学的基本信息
select * from student where score is not null;
-- 16. 查询score的值在68-80的同学的id和name
select id, name from student where score BETWEEN 68 and 80;
-- 1. 创建test5数据库(10分)
CREATE DATABASE test5 charset=utf8;
use test5;
-- 2. 在test5数据库中创建emp表(10分)
create table emp(
empno int PRIMARY KEY auto_increment,
ename VARCHAR(50),
job VARCHAR(50),
mgr int,
hiredate DATE,
sal DECIMAL(7, 2),
comm DECIMAL(7, 2),
deptno INT
);
-- 3. 向emp表中添加记录(10分)
insert into emp VALUES
(1001, '甘宁', '文员', 1013, '2000-12-17', 8000.00, NULL, 20),
(1002, '黛绮丝', '销售员', 1006, '2001-02-20', 16000.00, 3000.00, 30),
(1003, '殷天正', '销售员', 1006, '2001-02-22', 12500.00, 5000.00, 20),
(1004, '刘备', '经理', 1009, '2001-04-02', 29750.00, NULL, 20),
(1005, '谢逊', '销售员', 1006, '2001-09-28', 12500.00, 14000, 30),
(1006, '关羽', '经理', 1009, '2001-05-01', 28500.00, NULL, 30),
(1007, '张飞', '经理', 1009, '2001-09-01', 24500.00, NULL, 10),
(1008, '诸葛亮', '分析师', 1004, '2007-04-19', 30000.00, NULL, 20),
(1009, '曾阿牛', '董事长', NULL, '2001-11-17', 50000.00, NULL, 10),
(1010, '韦一笑', '销售员', 1006, '2001-09-08', 15000.00, NULL, 30),
(1011, '周泰', '文员', 1008, '2007-05-23', 11000.00, NULL, 20),
(1012, '程普', '文员', 1006, '2001-12-03', 9500.00, NULL, 30),
(1013, '庞统', '分析师', 1004, '2001-12-03', 30000.00, NULL, 20),
(1014, '黄盖', '文员', 1007, '2002-01-23', 13000.00, NULL, 10),
(1015, '张三', '文员', 1007, '2002-01-23', 53000.00, NULL, 50);
-- 4. 查询表中所有内容(10分)
select * from emp;
-- 5. 查询表中姓名是张三的所有消息记录(10分)
select * from emp where ename='张三';
-- 6. 查询表中姓名是三个字组成的所有员工的ename,job,sal字段的对应信息(10分)
select ename,job,sal from emp where ename like '___';
-- 7. 查询表中empno字段从1004至1008所有员工的记录(10分)
select * from emp where empno BETWEEN 1004 and 1008;
-- 8. 查询表中所有job字段是文员并且姓名是黄盖的员工的所有信息(10分)
select * from emp where job ='文员' and ename ='黄盖';
-- 9. 查询表中在2001年以后入职的员工信息(10分)
select * from emp where hiredate > '2001-01-01';
-- 10. 查询表中奖金(COMM)是NULL的员工信息(10分)
select * from emp where comm is null;
-- 1. 创建test6数据库(10分)
CREATE DATABASE test6 charset=utf8;
use test6;
-- 2. 在test6数据库中创建emp表(10分)
create table emp(
empno int PRIMARY KEY auto_increment,
ename VARCHAR(50),
job VARCHAR(50),
mgr int,
hiredate DATE,
sal DECIMAL(7, 2),
comm DECIMAL(7, 2),
deptno INT
);
-- 3. 向emp表中添加记录(10分)
insert into emp VALUES
(1001, '甘宁', '文员', 1013, '2000-12-17', 8000.00, NULL, 20),
(1002, '黛绮丝', '销售员', 1006, '2001-02-20', 16000.00, 3000.00, 30),
(1003, '殷天正', '销售员', 1006, '2001-02-22', 12500.00, 5000.00, 20),
(1004, '刘备', '经理', 1009, '2001-04-02', 29750.00, NULL, 20),
(1005, '谢逊', '销售员', 1006, '2001-09-28', 12500.00, 14000, 30),
(1006, '关羽', '经理', 1009, '2001-05-01', 28500.00, NULL, 30),
(1007, '张飞', '经理', 1009, '2001-09-01', 24500.00, NULL, 10),
(1008, '诸葛亮', '分析师', 1004, '2007-04-19', 30000.00, NULL, 20),
(1009, '曾阿牛', '董事长', NULL, '2001-11-17', 50000.00, NULL, 10),
(1010, '韦一笑', '销售员', 1006, '2001-09-08', 15000.00, NULL, 30),
(1011, '周泰', '文员', 1008, '2007-05-23', 11000.00, NULL, 20),
(1012, '程普', '文员', 1006, '2001-12-03', 9500.00, NULL, 30),
(1013, '庞统', '分析师', 1004, '2001-12-03', 30000.00, NULL, 20),
(1014, '黄盖', '文员', 1007, '2002-01-23', 13000.00, NULL, 10),
(1015, '张三', '文员', 1007, '2002-01-23', 53000.00, NULL, 50);
-- 4. 查询表中所有内容(10分)
select * from emp;
-- 5. 修改表名为”yuangong_table”(10分)
alter table emp rename yuangong_table;
-- 6. 修改job字段的类型为varchar(20)(10分)
alter table yuangong_table change job job varchar(20);
-- 7. 删除表中姓名为张三并且工作(job)的所有信息(10分)
delete from yuangong_table where ename ='张三';
-- 8. 查询表中empno字段从1004至1008所有员工的记录(10分)
select * from yuangong_table where empno BETWEEN 1004 and 1008;
-- 9. 查询表中所有job字段是文员并且姓名是黄盖的员工的所有信息(10分)
select * from yuangong_table where job ='文员' and ename ='黄盖';
-- 10. 查询表中在2001年以后入职的员工信息(10分)
select * from yuangong_table where hiredate > '2001-01-01';
-- 1. 创建test7数据库(10分)
CREATE DATABASE test7 charset=utf8;
use test7;
-- 2. 在test7数据库中创建yuangong表(10分)
create table yuangong(
empno int PRIMARY KEY auto_increment,
ename VARCHAR(50),
job VARCHAR(50),
mgr int,
hiredate DATE,
sal DECIMAL(7, 2),
comm DECIMAL(7, 2),
deptno INT
);
-- 3. 向yuangong表中添加记录(10分)
insert into yuangong VALUES
(1001, '甘宁', '文员', 1013, '2000-12-17', 8000.00, NULL, 20),
(1002, '黛绮丝', '销售员', 1006, '2001-02-20', 16000.00, 3000.00, 30),
(1003, '殷天正', '销售员', 1006, '2001-02-22', 12500.00, 5000.00, 20),
(1004, '刘备', '经理', 1009, '2001-04-02', 29750.00, NULL, 20),
(1005, '谢逊', '销售员', 1006, '2001-09-28', 12500.00, 14000, 30),
(1006, '关羽', '经理', 1009, '2001-05-01', 28500.00, NULL, 30),
(1007, '张飞', '经理', 1009, '2001-09-01', 24500.00, NULL, 10),
(1008, '诸葛亮', '分析师', 1004, '2007-04-19', 30000.00, NULL, 20),
(1009, '曾阿牛', '董事长', NULL, '2001-11-17', 50000.00, NULL, 10),
(1010, '韦一笑', '销售员', 1006, '2001-09-08', 15000.00, NULL, 30),
(1011, '周泰', '文员', 1008, '2007-05-23', 11000.00, NULL, 20),
(1012, '程普', '文员', 1006, '2001-12-03', 9500.00, NULL, 30),
(1013, '庞统', '分析师', 1004, '2001-12-03', 30000.00, NULL, 20),
(1014, '黄盖', '文员', 1007, '2002-01-23', 13000.00, NULL, 10),
(1015, '张三', '文员', 1007, '2002-01-23', 53000.00, NULL, 50);
-- 4. 查询表中所有内容(10分)
select * from yuangong;
-- 5. 修改表名为”emp”(10分)
alter table yuangong rename emp;
-- 6. 修改ename字段的类型为varchar(40) (10分)
alter table emp change ename ename varchar(40);
-- 7. 删除表中empno是1014并且ename是黄盖的员工信息(10分)
delete from emp where empno= 1014 and ename ='张三';
-- 8. 查询表中empno字段的值是1007,1009或1011员工的所有记录(10分)
select * from emp where empno in (1007, 1009, 1011);
-- 9. 查询表中所有job字段是文员并且姓名是张三的员工的所有信息(10分)
select * from emp where job = '文员' and ename = '张三';
-- 10. 查询表中在2001年以后入职的员工信息(10分)
select * from emp where hiredate > '2001-01-01';
-- 1. 创建test8数据库(10分)
CREATE DATABASE test8 charset=utf8;
use test8;
-- 2. 在test8数据库中创建yuangong表,(10分)
create table yuangong(
empno int PRIMARY KEY auto_increment,
ename VARCHAR(50),
job VARCHAR(50),
mgr int,
hiredate DATE,
sal DECIMAL(7, 2),
comm DECIMAL(7, 2),
deptno INT
);
-- 3. 向yuangong表中添加记录(10分)
insert into yuangong VALUES
(1001, '甘宁', '文员', 1013, '2000-12-17', 8000.00, NULL, 20),
(1002, '黛绮丝', '销售员', 1006, '2001-02-20', 16000.00, 3000.00, 30),
(1003, '殷天正', '销售员', 1006, '2001-02-22', 12500.00, 5000.00, 20),
(1004, '刘备', '经理', 1009, '2001-04-02', 29750.00, NULL, 20),
(1005, '谢逊', '销售员', 1006, '2001-09-28', 12500.00, 14000, 30),
(1006, '关羽', '经理', 1009, '2001-05-01', 28500.00, NULL, 30),
(1007, '张飞', '经理', 1009, '2001-09-01', 24500.00, NULL, 10),
(1008, '诸葛亮', '分析师', 1004, '2007-04-19', 30000.00, NULL, 20),
(1009, '曾阿牛', '董事长', NULL, '2001-11-17', 50000.00, NULL, 10),
(1010, '韦一笑', '销售员', 1006, '2001-09-08', 15000.00, NULL, 30),
(1011, '周泰', '文员', 1008, '2007-05-23', 11000.00, NULL, 20),
(1012, '程普', '文员', 1006, '2001-12-03', 9500.00, NULL, 30),
(1013, '庞统', '分析师', 1004, '2001-12-03', 30000.00, NULL, 20),
(1014, '黄盖', '文员', 1007, '2002-01-23', 13000.00, NULL, 10),
(1015, '张三', '文员', 1007, '2002-01-23', 53000.00, NULL, 50);
-- 4. 修改表名为”emp”(10分)
alter table yuangong rename emp;
-- 5. 向表中添加记录,字段对应值分别为(1016,光头强,程序员,1007,2018-10-31,10000.00,NULL,30)(10分)
insert into emp VALUES (1016, '光头强', '程序员', 1007, '2018-10-31', 10000.00, NULL, 30);
-- 6. 查询emp表中所有记录(10分)
select * from emp;
-- 7. 删除表中empno是1007并且job是经理的员工信息(10分)
delete from emp where empno= 1007 and job ='经理';
-- 8. 查询表中empno字段的值是1007,1009或1011员工的所有记录(10分)
select * from emp where empno in (1007, 1009, 1011);
-- 9. 修改表中empno值是1004员工的姓名为“马云”(10分)
update emp set ename = '马云' where empno = 1004;
-- 10. 查询表中在2001年以后入职的员工信息(10分)
select * from emp where hiredate > '2001-01-01';
-- 1. 创建test9数据库(10分)
CREATE DATABASE test9 charset=utf8;
use test9;
-- 2. 在test9数据库中创建teacher表(10分)
CREATE TABLE teacher(
number INT PRIMARY KEY AUTO_INCREMENT,
ename VARCHAR (30) NOT NULL,
sex VARCHAR(4),
depno INT ,
salary FLOAT(8,2),
address VARCHAR(100)
);
-- 3. 向teacher表中添加记录(10分)
INSERT INTO teacher VALUES
(201,'刘芸','女',604,4500,'河北省沧州'),
(202,'周星驰','男',601,1600,'山东省济南'),
(203,'秦牧之','男',604,2800,'北京昌平'),
(204,'周润发','男',602,3500,'河北省沧州'),
(205,'林双','女',605,1200,'河北保定'),
(206,'张帆','女',602,3000,'北京昌平'),
(207,'陈友谅','男',604,2800,'山西省大同'),
(208,'张国荣','男',601,2500,'山东省烟台');
-- 4. 修改表名为”TS”(10分)
alter table teacher rename ts;
-- 5. 向表中添加记录,字段对应值分别为(209,毛不易,男,604,4000,黑龙江齐齐哈尔)(10分)
INSERT INTO ts VALUES (209,'毛不易','男',604,4000,'黑龙江齐齐哈尔');
-- 6. 查询TS表中所有记录(10分)
SELECT * FROM ts;
-- 7. 删除表中Number是201并且sex是女的教师信息(10分)
DELETE FROM ts WHERE number=201 AND sex='女';
-- 8. 查询表中Number字段的值是202,205或207教师的所有记录(10分)
SELECT * FROM ts WHERE number IN (202,205,207);
-- 9. 修改表中Number值是202教师的姓名为“马云”(10分)
UPDATE ts SET ename='马云' WHERE number=202;
-- 10. 按照工资对员工信息进行降序排序(10分)
SELECT * FROM ts ORDER BY salary DESC;
-- 1. 创建test10数据库(10分)
CREATE DATABASE test10 charset=utf8;
use test10;
-- 2. 在test10数据库中创建teacher表(10分)
CREATE TABLE teacher(
number INT PRIMARY KEY AUTO_INCREMENT,
ename VARCHAR (30) NOT NULL,
sex VARCHAR(4),
depno INT ,
salary FLOAT(8,2),
address VARCHAR(100)
);
-- 3. 向teacher表中添加记录(10分)
INSERT INTO teacher VALUES
(201,'刘芸','女',604,4500,'河北省沧州'),
(202,'周星驰','男',601,1600,'山东省济南'),
(203,'秦牧之','男',604,2800,'北京昌平'),
(204,'周润发','男',602,3500,'河北省沧州'),
(205,'林双','女',605,1200,'河北保定'),
(206,'张帆','女',602,3000,'北京昌平'),
(207,'陈友谅','男',604,2800,'山西省大同'),
(208,'张国荣','男',601,2500,'山东省烟台');
-- 4. 修改表名为”TS”(10分)
alter table teacher rename ts;
-- 5. 向表中添加记录,字段对应值分别为(209,林青霞,女,604,4000,黑龙江齐齐哈尔)(10分)
INSERT INTO ts VALUES (209,'林青霞','女',604,4000,'黑龙江齐齐哈尔');
-- 6. 查询TS表中Number,Name,Sex字段对应的记录(10分)
SELECT number, ename, sex FROM ts;
-- 7. 删除表中Number是201或者Name是陈友谅的教师信息(10分)
delete from ts where number = 201 or ename = '陈友谅';
-- 8. 查询表中Number字段的值从202至206教师的所有记录(10分)
select * from ts WHERE number between 202 and 206;
-- 9. 修改表中Name值是张国荣教师的性别为“女”(10分)
update ts set sex = '女' where ename = '张国荣';
-- 10. 按照工资对员工信息进行升序排序(10分)
SELECT * FROM ts ORDER BY salary;
-- 1. 创建test11数据库(10分)
CREATE DATABASE test11 charset=utf8;
use test11;
-- 2. 在test11数据库中创建teacher表(10分)
CREATE TABLE teacher(
number INT PRIMARY KEY AUTO_INCREMENT,
ename VARCHAR (30) NOT NULL,
sex VARCHAR(4),
depno INT ,
salary FLOAT(8,2),
address VARCHAR(100)
);
-- 3. 向teacher表中添加记录(10分)
INSERT INTO teacher VALUES
(201,'刘芸','女',604,4500,'河北省沧州'),
(202,'周星驰','男',601,1600,'山东省济南'),
(203,'秦牧之','男',604,2800,'北京昌平'),
(204,'周润发','男',602,3500,'河北省沧州'),
(205,'林双','女',605,1200,'河北保定'),
(206,'张帆','女',602,3000,'北京昌平'),
(207,'陈友谅','男',604,2800,'山西省大同'),
(208,'张国荣','男',601,2500,'山东省烟台');
-- 4. 修改表名为”TS”(10分)
alter table teacher rename ts;
-- 5. 向表中添加记录,字段对应值分别为(209,林青霞,女,604,4000,黑龙江齐齐哈尔)(10分)
INSERT INTO ts VALUES (209,'林青霞','女',604,4000,'黑龙江齐齐哈尔');
-- 6. 向表中添加字段Hobby,设置类型为varchar(50),设置唯一约束(10分)
alter table ts add hobby varchar(50) unique;
-- 7. 使用desc语句查看teacher表的表结构(5分)
desc ts;
-- 8. 查询表中Number字段的值从202至206教师的所有记录(10分)
select * from ts where number between 202 and 206
-- 9. 修改表中Name值是张国荣教师的性别为“女”(10分)
update ts set sex = '女' where ename = '张国荣';
-- 10. 删除表中Sex是“男”或者Name是刘芸的记录(10分)
DELETE from ts WHERE sex='男' and ename='刘芸';
-- 1. 创建test12数据库(10分)
CREATE DATABASE test12 charset=utf8;
use test12;
-- 2. 在test12数据库中创建teacher表(10分)
CREATE TABLE teacher(
number INT PRIMARY KEY AUTO_INCREMENT,
ename VARCHAR (30) NOT NULL,
sex VARCHAR(4),
depno INT ,
salary FLOAT(8,2),
address VARCHAR(100)
);
-- 3. 向teacher表中添加记录(10分)
INSERT INTO teacher VALUES
(201,'刘芸','女',604,4500,'河北省沧州'),
(202,'周星驰','男',601,1600,'山东省济南'),
(203,'秦牧之','男',604,2800,'北京昌平'),
(204,'周润发','男',602,3500,'河北省沧州'),
(205,'林双','女',605,1200,'河北保定'),
(206,'张帆','女',602,3000,'北京昌平'),
(207,'陈友谅','男',604,2800,'山西省大同'),
(208,'张国荣','男',601,2500,'山东省烟台');
-- 4. 修改表名为”ts”(10分)
alter table teacher rename ts;
-- 5. 向表中添加记录,字段对应值分别为(209,林青霞,女,604,4000,黑龙江齐齐哈尔)(10分)
INSERT INTO ts VALUES (209,'林青霞','女',604,4000,'黑龙江齐齐哈尔');
-- 6. 向表中添加字段Hobby,设置类型为varchar(50),设置唯一约束(10分)
alter table ts add hobby varchar(50) unique;
-- 7. 修改DepNo字段的类型为varchar(20)(5分)
alter table ts change depno depno varchar(20);
-- 8. 查询表中Number字段的值从202至206教师的所有记录(10分)
select * from ts where number between 202 and 206;
-- 9. 修改表中Name值是张国荣教师的性别为“女”(10分)
update ts set sex = '女' where ename = '张国荣';
-- 10. 删除表中Number是203或205或207的教师的记录(10分)
DELETE from ts WHERE number in(203,205,207);
-- 1. 创建test13数据库(5分)
CREATE DATABASE test13 charset=utf8;
use test13;
-- 2. 在test13数据库中创建yuangong表(10分)
CREATE TABLE yuangong(
sid int PRIMARY key auto_increment,
sname VARCHAR(20) NOT NULL,
sex VARCHAR(4) DEFAULT '男',
job VARCHAR(20) not null,
birthday DATE,
salary INT,
comm INT,
withhold INT
);
-- 3. 向yuangong表中添加记录(10分)
INSERT into yuangong VALUES
(1001, '张三', '男' ,'高级程师', '1975-1-1', 2200,1100, 200),
(1002, '李四', '女', '助工', '1985-1-1', 1200,200, 100),
(1003, '王五', '男', '工程师', '1978-11-11', 1900, 700, 200),
(1004, '赵六', '男', '工程师', '1979-1-1', 1960, 700, 150);
-- 4. 修改表名为”emp”(10分)
ALTER TABLE yuangong RENAME emp;
-- 5. 向表中添加字段Hobby,设置类型为varchar(50),设置唯一约束(10分)
ALTER TABLE emp add hobby VARCHAR(50) UNIQUE;
-- 6. 向表中添加记录,字段对应值分别为(1005,林青霞,女,架构师,1969-12-12,8000,NULL,100,阅读)(5分)
insert into emp VALUES(1005,'林青霞','女','架构师','1969-12-12',8000,NULL,100,'阅读');
-- 7. 修改姓名为“林青霞”的记录性别为男(5分)
UPDATE emp set sex='男' WHERE sname='林青霞';
-- 8. 修改sname字段的类型为varchar(30)(5分)
ALTER TABLE emp change sname sname VARCHAR(30);
-- 9. 查询表中sid字段的值从1002至1005员工的所有记录(5分)
select * from emp WHERE sid BETWEEN 1002 AND 1005;
-- 10. 修改表中job值是高级工程师员工的job为“架构师”(5分)
UPDATE emp set job='架构师' WHERE job='高级工程师';
-- 11. 删除表中sid是1001或1005或1003的员工的记录(10分)
DELETE from emp WHERE sid in (1001, 1005, 1003)
-- 12. 修改姓名为“赵六”的记录性别位“女”(5分)
UPDATE emp set sex='女' WHERE sname='赵六';
-- 13. 修改表中姓名是1002员工的salary在原来的基础上+2000(10分)
UPDATE emp set salary = salary + 2000 WHERE sid=1002;
-- 1. 创建test14数据库(10分)
CREATE DATABASE test14 charset=utf8;
use test14;
-- 2. 在test14数据库中创建yuangong表(10分)
CREATE TABLE yuangong(
sid int PRIMARY key auto_increment,
sname VARCHAR(20) NOT NULL,
sex VARCHAR(4) DEFAULT '男',
job VARCHAR(20) not null,
birthday DATE,
salary INT,
comm INT,
withhold INT
);
-- 3. 向yuangong表中添加记录(10分)
INSERT into yuangong VALUES
(1001, '张三', '男' ,'高级程师', '1975-1-1', 2200,1100, 200),
(1002, '李四', '女', '助工', '1985-1-1', 1200,200, 100),
(1003, '王五', '男', '工程师', '1978-11-11', 1900, 700, 200),
(1004, '赵六', '男', '工程师', '1979-1-1', 1960, 700, 150);
-- 4. 修改表名为”emp”(10分)
ALTER TABLE yuangong RENAME emp;
-- 5. 向表中添加字段Hobby,设置类型为varchar(50),设置唯一约束(10分)
ALTER TABLE emp add hobby VARCHAR(50) UNIQUE;
-- 6. 使用desc语句查看表结构(5分)
desc emp;
-- 7. 向表中添加记录,字段对应值分别为(1005,林青霞,女,架构师,1969-12-12,8000,NULL,100,阅读)(5分)
insert into emp VALUES(1005,'林青霞','女','架构师','1969-12-12',8000,NULL,100,'阅读');
-- 8. 修改sname字段的类型为varchar(40)(5分)
ALTER TABLE emp change sname sname VARCHAR(40);
-- 9. 查询表中sid字段的值从是1002或1005员工的所有记录(使用关键字or)(5分)
select * from emp WHERE sid = 1002 or sid = 1005;
-- 10. 修改表中job值是高级工程师员工的job为“架构师”(5分)
UPDATE emp set job='架构师' WHERE job='高级工程师';
-- 11. 删除表中sid是1001并且sname是漳卅三年的员工的记录(10分)
DELETE from emp WHERE sid=1001 and sname='漳卅三年'
-- 12. 修改表中姓名是1002员工的salary在原来的基础上+2000(10分)
UPDATE emp set salary = salary + 2000 WHERE sid=1002;
-- 1. 创建test15数据库(10分)
CREATE DATABASE test15 charset=utf8;
use test15;
-- 2. 在test15数据库中创建yuangong表(10分)
CREATE TABLE yuangong(
sid int PRIMARY key auto_increment,
sname VARCHAR(20) NOT NULL,
sex VARCHAR(4) DEFAULT '男',
job VARCHAR(20) not null,
birthday DATE,
salary INT,
comm INT,
withhold INT
);
-- 3. 向yuangong表中添加记录(10分)
INSERT into yuangong VALUES
(1001, '张三', '男' ,'高级程师', '1975-1-1', 2200,1100, 200),
(1002, '李四', '女', '助工', '1985-1-1', 1200,200, 100),
(1003, '王五', '男', '工程师', '1978-11-11', 1900, 700, 200),
(1004, '赵六', '男', '工程师', '1979-1-1', 1960, 700, 150);
-- 4. 修改表名为”emp”(10分)
ALTER TABLE yuangong RENAME emp;
-- 5. 向表中添加字段Hobby,设置类型为varchar(50),设置唯一约束(10分)
ALTER TABLE emp add hobby VARCHAR(50) UNIQUE;
-- 6. 使用desc语句查看表结构(5分)
desc emp;
-- 7. 向表中添加记录,字段对应值分别为(1005,林青霞,女,架构师,1969-12-12,8000,NULL,100,阅读)(5分)
insert into emp VALUES(1005,'林青霞','女','架构师','1969-12-12',8000,NULL,100,'阅读');
-- 8. 修改sname字段的类型为varchar(50)(5分)
ALTER TABLE emp change sname sname VARCHAR(50);
-- 9. 查询表中sid字段的值从是1002或1003或1005员工的所有记录(使用关键字in)(5分)
select * from emp WHERE sid in (1002, 1003, 1005);
-- 10. 修改表中job值是高级工程师员工的job为“架构师”(5分)
UPDATE emp set job='架构师' WHERE job='高级工程师';
-- 11. 删除表中sid是1003并且sname是王五的员工的记录(10分)
DELETE from emp where sid = 1003 and sname = '王五';
-- 12. 修改表中姓名是1004员工的salary在原来的基础上-300(10分)
UPDATE emp set salary = salary - 300 WHERE sid=1004;