20分;)
1
分别写出启动、连接、停止和卸载MySql服务(服务名为MySql)的语句?
net start mysql
mysql -u root -p
net stop mysql
mysql -remove
(netstartmysql)占25%;
(mysql-uroot)占25%;
(netstopmysql)占25%;
(mysql-remove)占25%;
10 分;
2
请用 create index 语句在数据库 db_test 的表 content 中,根据留言标题列的前三个
字符采用默认的索引类型创建一个升序索引 index_subject。
mysql>USE db_test ; Database changed mysq|>CREATE INDEX index_subject 一> ON content(subject(3)ASC);
(create)占20%;
(index)占20%;
(index_subject)占20%;
(on)占20%;
(content)占20%;
10 分;
20分;)
1
请用 create index 语句在数据库 db_test 的表 content 中,根据留言标题列的前三个
字符采用默认的索引类型创建一个升序索引 index_subject。
mysql>USE db_test ; Database changed mysq|>CREATE INDEX index_subject 一> ON content(subject(3)ASC);
(create)占20%;
(index)占20%;
(index_subject)占20%;
(on)占20%;
(content)占20%;
10 分;
2
请使用 select into...outfile 语句,备份数据库 db_test 中表 content 的全部数据
到 c 盘的 backup 目录下一个名为 backupcontent.txt 的文件中。
select * from db_test.content into outfile 'c:\backup\backupcontent.txt'
(select)占10%;
(from)占10%;
(content)占20%;
(into)占20%;
(outfile)占20%;
(backupcontent.txt)占20%;
10 分;
19分;)
1
现有一个 student 表,表结构如下所示:
| field | type | null | key | default | extra |
| id | int(4) | yes | | null | |
| name | varchar(20) | no | | null | |
| grade | float | yes | | null | |
请按照如下要求编写 sql 语句。
1)根据 student 表结构编写建表语句
2)使用 insert 语句向 student 表中插入一条数据,其中 id 字段的值为 5,name 字段
的值为‘lily’,grade 字段的值为 100。
CREATE TABLE student( id INT(4), name VARCHAR(20) NOT NULL, grade FLOAT );
insert into student values(5,'lily',100);
(create)占10%;
(table)占10%;
(insert)占10%;
(into)占20%;
(student)占10%;
(values)占10%;
(lily)占10%;
(100)占10%;
9 分;
2
现有一张表 score 记录所有学生数学和英语的成绩,表中字段有学号,姓名,学科,
分数。要求如下:
1) 查询姓名为张三的学生成绩
2) 查询英语成绩大于 90 分的同学
3) 查询总分大于 180 分的所有同学的学号
SELECT * FROM score WHERE 姓名=’张三’;
SELECT * FROM score WHERE 学科=’英语’ AND 分数>90;
SELECT 学号 FROM score GROUP BY 学号HAVING SUM(分数)>180;
(select)占10%;
(from)占10%;
(score)占10%;
(where)占10%;
(学科)占10%;
(英语)占10%;
(and)占10%;
(group)占10%;
(having)占20%;
10 分;
2
已知数据库中有一张会员表,表中有字段会员编号、姓名、性别、入会时间,请查询出表中除了会员“小七”的所有会员的信息
Select * from 会员 where 姓名!=’小七’;
(select)占20%;
(会员)占10%;
(where)占20%;
(姓名)占20%;
(!=)占20%;
(小七)占10%;
10 分;
1
使用MYSQL代码实现以下内容
1) 创建 student 数据库
数据库里建立数据表 student_web
要求包含以下字段:
s_id 数据类型为整型,非空约束,
s_name 数据类型为可变字符型,最大长度 12 个字符,保存学生姓名
s_fenshu 数据类型为整型,保存学生考试成绩
s_hometown 数据类型为可变字符型,最大长度 50 个字符,保存学生籍贯
s_tuition 数据类型为整型,保存学生学费
2) 写代码向上题所创建好的数据表中添加以下三条记录,
id : 1 id : 2 id : 3
姓名: Jack Tomas 姓名: Tom Joe 姓名: Smiths
成绩: 89 成绩: 88 成绩: 87
籍贯: 郑州金水 籍贯: 洛阳涧西 籍贯: 郑州中原
学费: 2800 学费: 3000 学费: 2700
3) 写代码返回所有学生的信息。
4) 写代码返回所有姓名带 J 字母的学生信息。
5) 写代码返回所有郑州籍贯的学生信息。
6) 写代码返回所有学费低于平均学费的学生信息。提示使用嵌套的 select 查询。
create database student use student create table student_web ( s_id int not null, s_name varchar(12), s_fenshu int, s_hometown varchar(50), s_tuition int )
insert into student_web (s_id,s_name,s_fenshu,s_hometown,s_tuition) values(1,’Jacktomas’,89,’郑州金水’,2800) insert into student_web (s_id,s_name,s_fenshu,s_hometown,s_tuition) values(2,’TomJoe’,88,’洛阳涧西’,3000) insert into student_web (s_id,s_name,s_fenshu,s_hometown,s_tuition) values(3,’Smiths’,87,’郑州中原’,2700)
select * from student_web
select * from student_web where s_name like ’%J%’
select * from student_web where s_hometown=’郑州%’
select * from student_web where s_tuition (select avg(s_tuition) from s_tuition)
(like)占20%;
(database)占10%;
(student_web)占5%;
(s_hometown)占5%;
(洛阳涧西)占10%;
(select)占10%;
(from)占10%;
(where)占10%;
8 分;
19分;)
1
已知有一张 user 表,表中有字段 id,name,请按照以下要求编写 SQL 语句
1)删除 user表中 id 为 NULL 的数据
2)将 user 表中 name 为 NULL 的 name 值都改为“匿名”
delete from user where id is null;
update user set name=' 匿名' where name is null;
(delete)占20%;
(from)占10%;
(where)占10%;
(null)占20%;
(update)占10%;
(name)占10%;
(is)占10%;
9 分;
2
已知数据库中有一张 student 表,表中有字段 id、name、class,请查询出表中 class等于 3 的所有信息
Select * from student where class=3
(select)占20%;
(from)占20%;
(student)占20%;
(where)占20%;
(class=3)占20%;
10 分;
2
已知有一张 sales 表,表中有上半年的销量 first_half 和下半年的销量
latter_half。请在 sales 表上创建一个视图,查询出一年的销量
CREATE VIEW view_sales AS SELECT first_half+ latter_half FROM sales;
(create)占20%;
(view)占20%;
(view_sales)占10%;
(as)占20%;
(select)占10%;
(from)占10%;
(sales)占10%;
10 分;
Copyright © 2020 e100data.com 豫ICP备1302054
10分;)
1
请查询出 send 表中日期(sendtime 字段)为当天的所有记录的 sql 语句,其中字段
sendtime 为 datetime 型。
SELECT * FROM send WHERE DATEDIFF(DD, sendtime,GETDATE())=0
(select)占20%;
(from)占20%;
(where)占20%;
(datediff)占30%;
(getdate)占10%;
10 分;
2
请按照以下要求设计 sql 语句。 假定 student 表中有: id,name,grade,gender 四个字
段 要求如下:查询 name 字段值以字符“h”开始 或者 gender 字段值为“女” 或者 grade
字段值为 100 的记录。上面三个条件只要一个条件成立就符合要求,写出一个 sql 语句实
现上述需求。
SELECT id,name,grade,gender FROM student WHERE name LIKE 'h%' OR gender=' 女 ' OR grade=100;
(select)占10%;
(id)占10%;
(name)占10%;
(gender)占10%;
(from)占10%;
(student)占10%;
(name)占10%;
(like)占20%;
(h%)占10%;
10 分;
Ddl.create alter drop
Dcl.grant revoke
Dml.insert update delete
Dql.select
触发器
DELIMITER $$
CREATE
TRIGGER `mypos`.`after` AFTER INSERT
ON `mypos`.`hpmcb`
FOR EACH ROW BEGIN
INSERT INTO hpkcb VALUES(NULL,new.hpid,0);
END$$
DELIMITER ;
存储过程
DELIMITER $$
USE `mystudent`$$
DROP PROCEDURE IF EXISTS `p7`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `p7`()
BEGIN
DECLARE i INT DEFAULT 0;
DECLARE SUM INT DEFAULT 0;
WHILE i<100 DO
SET i=i+1;
SET SUM=SUM+i;
END WHILE;
SELECT SUM;
END$$
DELIMITER ;
DELIMITER $$
USE `mystudent`$$
DROP PROCEDURE IF EXISTS `p8`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `p8`()
BEGIN
DECLARE no_more_record INT DEFAULT 0;
DECLARE s_name VARCHAR(4);
DECLARE s_age SMALLINT;
DECLARE cur_record CURSOR FOR SELECT sname, sage FROM student; /*首先对游标进行定义*/
DECLARE CONTINUE HANDLER FOR NOT FOUND SET no_more_record = 1;/*条件处理,针对NOT FOUND的条件,当没有记录时no_more_record赋值为1*/
OPEN cur_record; /*使用OPEN打开游标*/
FETCH cur_record INTO s_name, s_age;
WHILE no_more_record != 1 DO
SELECT s_name, s_age;
FETCH cur_record INTO s_name, s_age;
END WHILE;
CLOSE cur_record; /*用完后需要用CLOSE把资源释放掉*/
END$$
DELIMITER ;