资源预览内容
第1页 / 共11页
第2页 / 共11页
第3页 / 共11页
第4页 / 共11页
第5页 / 共11页
第6页 / 共11页
第7页 / 共11页
第8页 / 共11页
第9页 / 共11页
第10页 / 共11页
亲,该文档总共11页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
205 11 思考题参考答案 第二章 2 在 Win32 平台上运行分发包中的 setup exe 程序 安装 MySQL 系统后 就自动 初始化授权表 对于 Unix 平台 运行脚本 mysql install db 之前应该首先切换到启动 mysqld 的用 户 例如 mysql su mysql mysql install db 安装授权表之后修改 root 用户的密码 由于初始化后存在两个从 localhost 和任意主 机连接的 root 用户 所以推荐使用下面的办法 mysql u root mysql 由于现在不存在密码 因此不比提供 p 选项 mysql UPDATE user SET password PASSWORD mypass WHERE User root 3 使用如下命令更改密码 shell mysqladmin u root p password newpass Enter Password 出现 Enter Password 的提示后输入原来的密码 oldpass 即可 读者可以尝试其它所有本章介绍的方法 4 首先以 root 用户的身份连接到服务器 shell mysql u root p Enter password 出现 Enter password 提后输入 root 用户的密码 然后即进入 mysql 客户机的交互模 式 可以看到下面的提示 Welcome to the MySQL monitor Commands end with or g Your MySQL connection id is 4 to server version 3 23 25 beta log Type help or h for help Type c to clear the buffer mysql 然后发布查询 直接键入题目中的语句 mysql SELECT User Host FROM mysql user 应该有类似于下面的结果 User Host root admin localhost root localhost 5 在全局选项文件 Unix 上位于 etc f Windows 上位于 c f 中加入 下面的几行 mysql user root password 然后在运行 mysql 客户程序 就不必提供参数 shell mysql Enter Password 你可以查看当前的连接 以确定是否是如此 mysql SHOW PROCESSLIST Id User Host db Command Time State Info 4 root localhost NULL Query 0 NULL SHOW PROCESSLIST 第三章 2 连接服务器的命令为 shell mysql h u root p test Enter Password 如果使用选项文件 将下面几行加入全局选项文件中 mysql host user root password 然后可以直接运行 mysql 不比提供连接参数 207 11 shell mysql Enter Password 3 创建表的语句为 CREATE TABLE pet name CHAR 30 owner CHAR 30 species CHAR 10 sex ENUM M F NOT NULL birth DATE death DATE 4 如下录入文件 pet txt 段与段用制表符分隔 FluffyHaroldcatF1993 02 04 N ClawsGwencatM1994 03 17 N BuffyHarolddog F1989 05 13 N ChirpyGwenbird F1998 09 11 N FangBennydog M1990 08 27 N BowserDianedog M1990 08 311995 07 29 Whistler Gwenbird N1997 12 09 N SlimBennysnakeM1996 04 29 N PuffballDianehamsterF1999 03 30 N 然后连接服务器 发布查询 mysql LOAD DATA INFILE pet txt INTO TABLE pet 由于缺省时 LOAD DATA 语句以特殊字符 n 作为记录的结束 这和 Unix 系统的 文本编辑器以 n 为换行符是一致的 但是在 Windows 系统中 换行符是 r n 因此 如果是在 Windows 系统编辑的文件 那么上面的语句不能成功的录入数据 要做如下的 修改 mysql LOAD DATA INFILE pet txt INTO TABLE pet LINES TERMINATED BY r n 如果使用 mysqlimport 程序 相应的命令行为 shell mysqlimport test pet tt 或者使用 shell mysqlimport test pet tt lines terminated by r n 第四章 1 创建表 mysql CREATE TABLE ex4 data FLOAT birth DATETIME 录入数据 mysql INSERT ex4 VALUES RAND NOW 多录入几个数据 现有的数据为 mysql select from ex4 data birth 0 830329 2001 01 01 21 21 10 0 531143 2001 01 01 21 21 12 0 164729 2001 01 01 21 21 13 0 230213 2001 01 01 21 21 14 data 列的平均值 mysql SELECT AVG data AS average FROM ex4 average 0 43910377845168 data 列的总和 mysql SELECT SUM data AS sum of data FROM ex4 sum of data 1 7564151138067 mysql SELECT MAX data AS max of data MIN data AS min of data FROM ex4 max of data min of data 209 11 0 83032947778702 0 16472874581814 data 列降序排列 mysql SELECT FROM ex4 ORDER BY data DESC data birth 0 830329 2001 02 18 21 21 10 0 531143 2001 02 18 21 21 12 0 230213 2001 02 18 21 21 14 0 164729 2001 02 18 21 21 13 2 使用标准 SQL 模式匹配 mysql select from ex4 where birth like 2001 01 01 data birth 0 830329 2001 01 01 21 21 10 0 531143 2001 01 01 21 21 12 0 164729 2001 01 01 21 21 13 0 230213 2001 01 01 21 21 14 使用扩张正则表达式模式匹配 mysql select from ex4 where birth REGEXP 2001 01 01 data birth 0 830329 2001 01 01 21 21 10 0 531143 2001 01 01 21 21 12 0 164729 2001 01 01 21 21 13 0 230213 2001 01 01 21 21 14 3 为 student 表创建索引 mysql ALTER TABLE student ADD PRIMARY KEY id ADD INDEX mark english chinese history 这样查看创建的索引 mysql SHOW INDEX FROM student Table Non unique Key name Seq in index Column name student 0 PRIMARY 1 id student 1 mark 1 english student 1 mark 2 chinese student 1 mark 3 history 为 pet 表创建索引 这次使用另一种方法 mysql CREATE INDEX name ON pet name 10 owner 10 查看创建的索引的情况 mysql SHOW INDEX FROM pet Table Non unique Key name Seq in index Column name pet 1 name 1 name pet 1 name 2 owner 4 删除 pet 表的索引 mysql DROP INDEX name ON pet 或者可以 mysql ALTER TABLE pet DROP INDEX name 然后再用 SHOW 语句产看可知 mysql show index from pet Empty set 0 01 sec 第五章 1 shell mysqldump all database opt data sql 2 shell mysqldump tab bak test 3 创建数据库 test1 mysql CREATE DATABASE test1 恢复表的结构 shell mysql test1 mysqlimport test1 bak pet txt 在 Win32 平台上 你必须一个个的恢复文件 在 Unix 平台上 可以通过 shell 的文件匹配的功能 简化命令行 mysql test1 INSERT pet SET name tes mysql DELETE FROM pet WHERE name tes 相应的在更新日志中增加的记录为 use test INSERT pet SET name tes DELETE FROM pet WHERE name tes 然后我们删除 test1 数据库 mysql drop database test10 相应的更新日志中的内容为 drop database test10 为了恢复数据库 假设更新日志的文件名是 wxy 058 假定该日志包括第四题 中更新日志的内容 首先删除更新日志中删除数据库的记录 然后用下面的语句恢复数据库表 shell mysql one databse test1LOCK TABLE pet READ 清空缓存 mysql FLUSH TABLES 检查表 shell myisamchk path to pet 在我的主机上 为 data test pet 释放表锁 mysql UNLOCK TABLES 2 创建数据库的方法是 mysql CREATE DATABASE test2 mysql CREATE TABLE pet SELECT FROM test pet 恢复数据库的方法是 由于表的描述文件被删除 因此我们可以创建一个具有相同结构的表 mysql CREATE TABLE pet1 为了节省时间 由于本题只是一个演示 所以你还可以从 test pet 中恢复表的 结构 mysql CREATE TABLE pet1 SELECT FROM test pet WHERE 0 然后 进入数据库目录 把 pet1 frm 文件复制为 pet frm 文件 完成操作即可 3 备份过程在正文中有详细叙述 此处略 第七章 1 原因是 先考虑一下 mysql install db 如何建立初始权限表和服务器如何使用 user 表记 录匹配客户连接 在你用 mysql install db 初始化你的数据库时 它创建类似这样 的
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号