欢迎来到010在线作文网!

MySQL习题及答案(2)

试题 时间:2021-08-31 手机版

 一、 数据库设计

  1. 显示当前系统所有数据库,将MySQL设置为默认数据库,并显示MySQL数据库中的所有表

  Show databases;

  Use mysql;

  Show tables;

  2. 创建数据库【选课】,设置数据库的编码字符集为UTF8,并将【选课】设置为默认数据库

  Create database选课

  Character set UTF8;

  Use选课;

  3. 系统包含以下实体,请创建相应的表,字段描述中并未给出相应的主键和相应的外键关联,请自行设计每个实体的主键和相应的外键关联字段。

  提示:

     【学院】【学生】之间存在一对多的关系

   【学生】【课程】之间存在多对多关系,

  它们之间的联系为【选课】。

   【学生】,应包含【学号、姓名、出生日期】等属性。

   【学院】,应包含【学院名称】等属性。

   【课程】,应包含【课程名称,课程学分】等属性。

   【选课】,应包含【成绩】等属性。

  CREATE TABLE 学院

  (学院名称 varCHAR(20) primary key);

  CREATE TABLE 学生

  (学号 CHAR(10) primary key,

  姓名 VARCHAR(10),

  出生日期 DATE,

  学院名称VARCHAR(20)

  Foreign Key (学院名称) references 学院(学院名称));

  CREATE TABLE 课程

  (课程名称 varCHAR(20) primary key,

  课程学分 int);

  CREATE TABLE 选课

  (课程名称 varCHAR(20),

  学号 CHAR(10),

  成绩 float,

  primary key (课程名称,学号),

  Foreign Key(课程名称) references 课程(课程名称),

  Foreign Key(学号) references 学生(学号));

二、 数据库功能

  1. 设计【选课视图】,要求显示【学生姓名,课程名称,课程学分,成绩】字段

  Create view v_1 (学生姓名,课程名称,课程学分,成绩)

  As

  Select学生姓名,课程名称,课程学分,成绩

  From 学生,课程,选课

  Where 学生.学号=选课.学号 and 课程.课程名称=选课.课程名称

  2. 设计触发器,当删除【课程】时,相应的触发器触发,从【选课】实体中删除相应的【选课】记录

  Create trigger t_1 after on 课程

  For each row

Beginmysql试题及答案。

  Delete from 选课 where 课程名称=old.课程名称;mysql试题及答案。

  end

  3. 设计一个函数,根据相应的【学院】返回学生的平均成绩

  CREATE FUNCTION T23(XY VARCHAR(20) )

  RETURNS FLOAT

BEGINmysql试题及答案。

  DECLARE CJ FLOAT;

  SELECT AVG(成绩) INTO CJ FROM 选课,学生

  WHERE 选课.学号=学生.学号 and学院名称=XY;

  RETURN(CJ);

  END

  4. 设计一个存储过程,根据【学号】返回学生的学分,注意,成绩在60分以上才能

  获得相应的学分。

  CREATE PROCEDURE T24(IN XH CHAR(10),OUT XF INT)

  BEGIN

  SELECT SUM(课程学分) INTO XF FROM 选课,课程

  WHERE 选课.课程名称=课程.课程名称 AND 学号=XH

  AND 成绩>=60;

  END

三、 数据库查询与管理

  1、 查询没有选过任何课程的学生

  SELECT * FROM 学生 WHERE 学号 NOT IN(SELECT DISTINCT 学号 FROM 选课);

  2、 按照某一课程的成绩高低显示学生名单

  SELECT * FROM 学生,选课 where 学生.学号=选课.学号

  and 课程名称=’XXX’

  order by 成绩 desc;

  3、 查询某个学生的平均成绩

  Select学号,avg(成绩) from 选课 where 学号=’XXX’;

  4、 创建test用户,并将【选课】数据库的所有权限赋予test用户,并设定test用户可以在任何主机上登录。

  GRANT ALL PRIVILEGES ON选课.* TO ‘test’@’%’ IDENTIFIED BY ’something’ ;

  5、数据库备份

  MYSQLDUMP –UTEST -P something 选课>xx.SQL

  第三篇:《MYSQL测试题 (2)》

  一、单选题(共34分)

  1、mysql中唯一索引的关键字是( C )

  (1分)

  A. fulltext index 

       B.only index  

       C.unique index

       D.index

       2、下面关于索引描述中错误的一项是( C  )

  A.索引可以提高数据查询的速度

  (1分)

  B.索引可以降低数据的插入速度 

  C.innodb存储引擎支持全文索引

       D.删除索引的命令是drop index

       (2分)

  3、支持主外键,索引及事务的存储引擎为是( B )

  A.MYISAM

  B.INNODB

  C.MEMORY

  4、对事务的描述中不正确的是( C ) (2分)

  A.事务具有原子性

  B.事务具有隔离性

  C.事务回滚使用commit命令   

       5、 mysql中,备份数据库的命令是( A )

  A.mysqldump

  B.mysql

  D.copy

  C.backup

  (2分)

  6、 实现批量数据导入的命令是(B )

  A.mysqldump

  B.mysql 

  C.backup  

       D.return

  7、 创建用户的命令是(

  A. join user

  (2分)

       B.create user

  C.create root  

       D.mysql  user

  (2分)

  8、 修改自己的mysql服务器密码的命令是( C )

  A.mysql

  B.grant 

       C.set password

       D.change password

  9、 找回mysql服务器root密码的很重要的一步是跳过权限表的检查启动mysql,该命令是 ( D)

  (2分)

  A. mysql -u root –proot  

       B. mysqladmin  -uroot  -proot  

       C. net start mysql  

       D. mysqld-nt  --skip-grant-tables  

      10、联合查询使用的关键字是( B )

  A.UNION

  B.JOIN

  (2分)

       C.ALL

  D.FULL

  11、有订单表orders,包含用户信息userid, 产品信息 productid, 以下( D )语句能够返回至少被订购过两回的productid? (2分)

  A. select productid from orders where count(productid)>1 

       B. select productid from orders where max(productid)>1

  C. select productid from orders where having count(productid)>1 group by productid 

       D. select productid from orders group by productid having count(productid)>1 

      12、子查询中可以使用运算符ANY, 它表示的意思是( B ) (2分)

  A. 满足所有的条件 C. 一个都不用满足

  B. 满足至少一个条件 D. 满足至少5个条件

  13、一种存储引擎,其将数据存储在内存当中,数据的访问速度快, 电脑关机后数据丢失,具有临时存储数据的特点,该存储引擎是( C ) (2分)

  A. MYISAM   B.INNODB   C.ROLLBACK (2分)   D.return

       14、事务中能实现回滚的命令是(B)

  A.TRANSACTION

       B.COMMIT

  C.MEMORY  

  D.SAVEPOINT

  15、mysql中,还原数据库的命令是(C )

  A.mysqldump

  B.mysql

  C.backup

  (2分)

  16、ysql中存储用户全局权限的表是( D )

  A. table_priv

  B.procs_priv 

  (2分)

  C.columns_priv 

       D.user

  17、删除用户的命令是(A )

  A. drop user   B. user C.drop root D.truncate user

  18、给名字是zhangsan的用户分配对数据库studb中的stuinfo表的查询和插入数据权限的语句是( B ) (2分)

  A.grant select, on studb.stuinfo for‘zhangsan’@’localhost’              B.grant select, on studb.stuinfo  to ‘zhangsan’@’localhost’

       C.grant‘zhangsan’@’localhost’ to select, for studb.stuinfo 

       D.grant ‘zhangsan’@’localhost’ to studb.stuinfo on select, 


本文来源http://www.010zaixian.com/shiti/869602.htm
以上内容来自互联网,请自行判断内容的正确性。若本站收录的信息无意侵犯了贵司版权,请给我们来信(zaixianzuowenhezi@gmail.com),我们会及时处理和回复,谢谢.