本节实验后续至第 17 节实验为本课程的进阶篇,都基于 MySQL 官方参考手册制作,并根据实验楼环境进行测试调整改编。在此感谢 MySQL 的开发者,官方文档和中文文档的维护者。
参考内容列表:
感谢 MySQL 的开发者,官方文档的维护者以及中文版本的翻译者。部分内容来自这些参考资料并由实验楼进行改编。
本节实验主要对 MySQL 的服务的安装,启动及运行命令进行说明和实践操作。
实验楼环境已经为大家安装好了 mysql,无需大家再次安装,以下安装仅用于大家学习使用
可以从下载 MySQL 安装软件包。在 Windows 中安装 MySQL 时,新用户可以使用 MySQL 安装帮助和
(配置向导)。
- MySQL Configuration Wizard
在 Windows 中安装 MySQL 时,有 3 种 MySQL 5.1 安装软件包可供选择:
,包含在 Windows 中安装 MySQL 所需要的最少的文件,包括配置向导。该安装软件包不包括可选组件,例如嵌入式服务器和基准套件。
- mysql-essential-5.1.2-alpha-win32.msi
,包含在 Windows 中安装 MySQL 所需要的全部文件,包括配置向导。该安装软件包包括可选组件,例如嵌入式服务器和基准套件。
- mysql-5.1.2-alpha-win32.zip
,包含完整安装包中的全部文件,只是不包括配置向导。该安装软件包不包括自动安装器,必须手动安装和配置。
- mysql-noinstall-5.1.2-alpha-win32.zip
对于大多数用户,建议选择基本安装。
如果你下载的安装软件包在
文件中,你需要先解压文件。如果有
- Zip
文件,双击启动安装过程。如果有
- setup.exe
文件,双击启动安装过程。
- .msi
建议在 Linux 中使用
(
- RPM
系列)或者
- RedHat
(
- DEB
系列)包来安装 MySQL,在大多数情况,你只需要通过命令行的方式
- Debian/Ubuntu
安装
- apy-get
和
- MySQL-server
软件包来安装 MySQL。在标准安装中不需要其它的包。如果你想要运行含更多功能的
- MySQL-client
服务器,还应当安装
- MySQL-Max
。必须先安装
- MySQL-Max RPM
再安装该模块。
- M MySQL-server RPM
实验楼配置的环境中,默认 mysql 是没有启动的,我们首先在命令行启动 mysql 服务器:
- $ sudo service mysql start
为了连接服务器,当调用 mysql 时,通常需要提供一个 MySQL 用户名并且很可能需要一个密码。在这里我们使用
用户连接服务器(密码环境设置为空,无需我们输入密码), 输入以下命令连接服务器:
- root
- $ mysql -u root
如果有效,你应该看见一些介绍信息:
提示符告诉你 mysql 准备为你输入命令。
- mysql>
成功地连接后,可以在
提示下输入
- mysql>
(或
- QUIT
) 随时退出:
- \q
这是一个简单的命令,要求服务器告诉 MySQL 的版本号和当前日期。在
提示输入如下命令并按回车键:
- mysql>
- mysql> SELECT VERSION(), CURRENT_DATE;
能够以大小写输入关键词(建议关键词大写,以后你会感谢我的~)。下列查询是等价的:
- mysql > SELECT VERSION(),
- CURRENT_DATE;
- mysql > select version(),
- current_date;
- mysql > SeLeCt vErSiOn(),
- current_DATE;
这是另外一个查询,它说明你能将 mysql 用作一个简单的计算器:
- mysql> SELECT SIN(PI()/4), (4+1)*5;
至此显示的命令是相当短的单行语句。你可以在一行上输入多条语句,只需要以一个分号间隔开各语句:
- mysql> SELECT VERSION(); SELECT NOW();
不必全在一个行内给出一个命令,较长命令可以输入到多个行中。mysql 通过寻找终止分号而不是输入行的结束来决定语句在哪儿结束。(换句话说,mysql 接受自由格式的输入:它收集输入行但直到看见分号才执行。)
这里是一个简单的多行语句的例子:
- mysql> SELECT
- -> USER()
- -> ,
- -> CURRENT_DATE;
在这个例子中,在输入多行查询的第一行后,要注意提示符如何从
变为
- mysql>
,这正是 mysql 如何指出它没见到完整的语句并且正在等待剩余的部分。提示符是你的朋友,因为它提供有价值的反馈,如果使用该反馈,将总是知道 mysql 正在等待什么。
- ->
如果你决定不想执行正在输入过程中的一个命令,输入
取消它:
- \c
- mysql> SELECT
- -> USER()
- -> \c
- mysql>
这里也要注意提示符,在你输入
以后,它切换回到
- \c
,提供反馈以表明 mysql 准备接受一个新命令。
- mysql>
下表显示出可以看见的各个提示符并简述它们所表示的 mysql 的状态:
当你打算在一个单行上发出一个命令时,通常会 "偶然" 出现多行语句,但是没有终止分号。在这种情况中,mysql 等待进一步输入:
- mysql> SELECT USER()
- ->
如果出现这种情况(你认为输完了语句,但是只有一个
提示符响应),很可能 mysql 正在等待分号。如果你没有注意到提示符的提示,在意识到你需要做什么之前,你可能会呆坐一会儿。输入一个分号完成语句,mysql 将执行:
- ->
- mysql> SELECT USER()
- -> ;
在字符串收集期间将出现
和
- '>
提示符(提示 MySQL 正等待字符串的结束)。在 MySQL 中,可以写由
- ">
或
- '
字符括起来的字符串 (例如,
- "
或
- 'hello'
),并且 mysql 允许输入跨越多行的字符串。当看到一个
- "goodbye"
或
- '>
提示符时,这意味着已经输入了包含以
- ">
或
- '
括号字符开始的字符串的一行,但是还没有输入终止字符串的匹配引号。这显示你粗心地省掉了一个引号字符。例如:
- "
- mysql> SELECT * FROM my_table WHERE name = 'Smith AND age < 30;
- '>
如果你输入
语句,然后按 Enter(回车)键并等待结果,什么都没有出现。不要惊讶,"为什么该查询这么长呢?",注意
- SELECT
提示符提供的线索。它告诉你 mysql 期望见到一个未终止字符串的余下部分。(你看见语句中的错误吗?字符串
- ">
丢掉了第二个引号。)
- Smith
走到这一步,你该做什么?最简单的是取消命令。然而,在这种情况下,你不能只是输入
,因为 mysql 作为它正在收集的字符串的一部分来解释它!相反,应输入关闭的引号字符 (这样 mysql 知道你完成了字符串),然后输入
- \c
:
- \c
- mysql> SELECT * FROM my_table WHERE name = 'Smith AND age < 30;
- '> '\c
- mysql>
提示符回到
,显示 mysql 准备好接受一个新命令了。
- mysql>
知道
和
- '>
提示符的含义很重要,因为如果你错误地输入一个未终止的字符串,任何后面输入的行将要被 mysql 忽略——包括包含
- ">
的行!这可能令人相当困惑,特别是如果取消当前命令前还不知道你需要提供终止引号。
- QUIT
本节内容比较简单,主要对 MySQL 的服务的安装,启动及运行命令进行说明和实践操作。
来源: