复习笔记哈

 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 ;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值