Mysql培训经典教程思考题参考答案.docx
《Mysql培训经典教程思考题参考答案.docx》由会员分享,可在线阅读,更多相关《Mysql培训经典教程思考题参考答案.docx(12页珍藏版)》请在冰豆网上搜索。
![Mysql培训经典教程思考题参考答案.docx](https://file1.bdocx.com/fileroot1/2022-10/24/021fc519-d83c-4608-b0c0-1758113e979d/021fc519-d83c-4608-b0c0-1758113e979d1.gif)
Mysql培训经典教程思考题参考答案
思考题参考答案
第二章
2、在Win32平台上运行分发包中的setup.exe程序,安装MySQL系统后,就自动初始化授权表。
对于Unix平台,运行脚本mysql_install_db,之前应该首先切换到启动mysqld的用户,例如mysql:
#sumysql
$mysql_install_db
安装授权表之后修改root用户的密码,由于初始化后存在两个从localhost和任意主机连接的root用户,所以推荐使用下面的办法:
$mysql-urootmysql(由于现在不存在密码,因此不比提供-p选项)
mysql>UPDATEuserSETpassword=password(“mypass”)WHEREUser=root;
3、使用如下命令更改密码:
shell>mysqladmin-uroot-ppassword‘newpass’
EnterPassword:
*******
出现EnterPassword的提示后输入原来的密码oldpass即可。
读者可以尝试其它所有本章介绍的方法。
4、首先以root用户的身份连接到服务器:
shell>mysql-uroot-p
Enterpassword:
*******
出现Enterpassword提后输入root用户的密码,然后即进入mysql客户机的交互模式,可以看到下面的提示:
WelcometotheMySQLmonitor.Commandsendwith;or\g.
YourMySQLconnectionidis4toserverversion:
3.23.25-beta-log
Type'help;'or'\h'forhelp.Type'\c'toclearthebuffer
mysql>
然后发布查询,直接键入题目中的语句:
mysql>SELECTUser,HostFROMmysql.user;
应该有类似于下面的结果:
+-------+-----------+
|User|Host|
+-------+-----------+
|root|%|
|admin|localhost|
|root|localhost|
+-------+-----------+
5、在全局选项文件(Unix上位于/etc/f,Windows上位于c:
\f)中加入下面的几行:
[mysql]
user=root
password
然后在运行mysql客户程序,就不必提供参数:
shell>mysql
EnterPassword:
********
你可以查看当前的连接,以确定是否是如此:
mysql>SHOWPROCESSLIST;
+----+------+-----------+------+---------+------+-------+------------------+
|Id|User|Host|db|Command|Time|State|Info|
+----+------+-----------+------+---------+------+-------+------------------+
|4|root|localhost|NULL|Query|0|NULL|SHOWPROCESSLIST|
+----+------+-----------+------+---------+------+-------+------------------+
第三章
2、连接服务器的命令为:
shell>mysql-h-uroot-ptest
EnterPassword:
******
如果使用选项文件,将下面几行加入全局选项文件中:
[mysql]
host=
user=root
password
然后可以直接运行mysql,不比提供连接参数:
shell>mysql
EnterPassword:
*******
3、创建表的语句为:
CREATETABLEpet
(
nameCHAR(30),
ownerCHAR(30),
speciesCHAR(10),
sexENUM(“M”,”F”)NOTNULL,
birthDATE,
deathDATE
)
4、如下录入文件pet.txt,段与段用制表符分隔
FluffyHaroldcatF1993-02-04\N
ClawsGwencatM1994-03-17\N
BuffyHarolddogF1989-05-13\N
ChirpyGwenbirdF1998-09-11\N
FangBennydogM1990-08-27\N
BowserDianedogM1990-08-311995-07-29
WhistlerGwenbird\N1997-12-09\N
SlimBennysnakeM1996-04-29\N
PuffballDianehamsterF1999-03-30\N
然后连接服务器,发布查询:
mysql>LOADDATAINFILE“pet.txt”INTOTABLEpet;
由于缺省时,LOADDATA语句以特殊字符’\n’作为记录的结束,这和Unix系统的文本编辑器以’\n’为换行符是一致的,但是在Windows系统中,换行符是’\r\n’,因此,如果是在Windows系统编辑的文件,那么上面的语句不能成功的录入数据,要做如下的修改:
mysql>LOADDATAINFILE“pet.txt”INTOTABLEpet
->LINESTERMINATEDBY‘\r\n’;
如果使用mysqlimport程序,相应的命令行为:
shell>mysqlimporttest‘pet.tt’
或者使用:
shell>mysqlimporttest‘pet.tt’--lines-terminated-by=’\r\n’
第四章
1、创建表:
mysql>CREATETABLEex4
->(
->dataFLOAT,
->birthDATETIME
->);
录入数据:
mysql>INSERTex4VALUES(RAND(),NOW());
多录入几个数据,现有的数据为:
mysql>select*fromex4;
+----------+---------------------+
|data|birth|
+----------+---------------------+
|0.830329|2001-01-0121:
21:
10|
|0.531143|2001-01-0121:
21:
12|
|0.164729|2001-01-0121:
21:
13|
|0.230213|2001-01-0121:
21:
14|
+----------+---------------------+
data列的平均值:
mysql>SELECTAVG(data)ASaverageFROMex4;
+------------------+
|average|
+------------------+
|0.43910377845168|
+------------------+
data列的总和:
mysql>SELECTSUM(data)AS"sumofdata"FROMex4;
+-----------------+
|sumofdata|
+-----------------+
|1.7564151138067|
+-----------------+
mysql>SELECTMAX(data)AS"maxofdata",MIN(data)AS"minofdata"
->FROMex4;
+------------------+------------------+
|maxofdata|minofdata|
+------------------+------------------+
|0.83032947778702|0.16472874581814|
+------------------+------------------+
data列降序排列:
mysql>SELECT*FROMex4ORDERBYdataDESC;
+----------+---------------------+
|data|birth|
+----------+---------------------+
|0.830329|2001-02-1821:
21:
10|
|0.531143|2001-02-1821:
21:
12|
|0.230213|2001-02-1821:
21:
14|
|0.164729|2001-02-1821:
21:
13|
+----------+---------------------+
2、使用标准SQL模式匹配:
mysql>select*fromex4wherebirthlike"2001-01-01%";
+----------+---------------------+
|data|birth|
+----------+---------------------+
|0.830329|2001-01-0121:
21:
10|
|0.531143|2001-01-0121:
21:
12|
|0.164729|2001-01-0121:
21:
13|
|0.230213|2001-01-0121:
21:
14|
+----------+---------------------+
使用扩张正则表达式模式匹配:
mysql>select*fromex4wherebirthREGEXP"^2001-01-01";
+----------+---------------------+
|data|birth|
+----------+---------------------+
|0.830329|2001-01-0121:
21:
10|
|0.531143|2001-01-0121:
21:
12|
|0.164729|2001-01-0121:
21:
13|
|0.230213|2001-01-0121:
21:
14|
+----------+---------------------+
3、为student表创建索引:
mysql>ALTERTABLEstudent
->ADDPRIMARYKEY(id),
->ADDINDEXmark(english,chinese,history);
这样查