MySQL数据库基础与实践 第2版 课后习题答案 CH10 课后习题答案.docx
MySQL数据库基础与实践
PAGE2
STYLEREF\n标题1错误!文档中没有指定样式的文字。STYLEREF标题1错误!文档中没有指定样式的文字。
PAGE16
第10章常见函数和存储过程
实践与练习答案
1.填空题
(1)GLOBALevent_scheduler
(2)事件
2.概念题
(1)查看用户的语法格式如下:
select*frommysql.user
wherehost=’host_name’anduser=’user_name’
删除用户的语法:
使用dropuser语句可以删除普通用户,dropuser语句删除用户必须有dropuser权限,语法规则如下:
dropuseruser[,user]…
(2)
使用mysqladmin命令来修改密码,语法规则如下:
mysqladmin-uusernameppassword
password为关键字
使用set语句来修改密码,语法规则如下:
setpassword[for’username’@’hostname’]=password(‘new_password’);
如果不加[for’username’@’hostname’],则表明修改当前用户密码,如果加了[for’username’@’hostname’],则表明修改当前主机上的特定用户的密码。
(3)给予用户授权可以使用grant语句,语法格式如下:
grant
priv_type[(column_list)][,priv_type[(column_list)]]…
on[object_type]priv_level
touser_specification[,user_specification]…
[withwith_option…]
(4)当需要撤销一个用户的权限,但不从user表中删除该用户,可以使用revoke语句,语法格式如下:
revokepriv_type[(column_list)][,priv_type[(column_list)]]…
on[object_type]priv_level
fromuser[,user]…
或者
revokeallprivieges,grantoption
fromuser[,user]…
3.操作题
selectcurdate(),current_date(),curtime(),current_time(),now(),
current_timestamp(),localtime(),sysdate()\G
4.选择题
(1)创建存储过程的命令是?
A.?create?proc
B.?create?function
C.?create?procedure
D.?create?view
答案:A、C
(2)修改用户自定义存储过程的命令是?
A.?alter?table
B.?alter?proc
C.?alter?function
D.?alter?view
答案:B
(3)删除存储过程的命令是?
A.?drop?view
B.?drop?function
C.?drop?database
D.?drop?procedure
答案:D
(4)存储过程和数据库函数在数据库中的主要区别是什么?
A.?存储过程用于执行一系列SQL语句,而函数用于返回计算结果
B.?存储过程有返回值,函数没有
C.?存储过程可以被单独调用,而函数只能在查询中使用
D.?存储过程可以修改数据,而函数不能
答案:A、D
解释:存储过程通常用于执行一系列SQL语句以完成特定的数据操作,而函数则主要用于执行特定的计算并返回结果。另外,存储过程可以修改数据,而函数通常不直接修改数据。
(5)存储过程可以通过以下哪个关键字创建?
A.?CREATE?PROC
B.?CREATE?FUNCTION
C.?CREATE?VIEW
D.?CREATE?TRIGGER
答案:A
解释:创建存储过程的命令是CREATE?PROCEDURE,也可以简写为CREATE?PROC。
(6)数据库函数的主要目的是什么?
A.?执行数据修改操作
B.?返回查询结果集
C.?执行特定的计算或操作,并返回结果
D.?管理和维护数据库结构
答案:C
解释:数据库函数的主要目的是执行特定的计算或操作,并返回结果。它们可以在查询语句中使用,也可以在触发器、存储过程和视图中调用。
(7)存储过程和数据库函数在调用方式上有什么不同?
A.?存储过程必须单独调用,而函数可以在查询中直接调用
B.?函数必须单独调用,而存储过程可以在查询中直接调用
C.?存储过程和