MySql官方手册学习笔记1

连接与断开服务器

 

连接服务器通常需要提供一个MySQL用户名并且很可能需要一个
密码。如果服务器运行在登录服务器之外的其它机器上,还需要指定主机名:

MySql官方手册学习笔记1—MySql简单上手

shell> mysql -h host -u user -p

Enter password: ********

 

host代表MySQL服务器运行的主机名,user代表MySQL账户用户名,******** 代表你的密码。

这是我学习MySql
5.1时做的一些整理与笔记,希望能理一理自己学到的东西,如果能有助于各位同道学习MySql那就更是意外之喜了,呵呵。

如果有效,你应该看见mysql>提示符后的一些介绍信息:

 

shell> mysql -h host -u user -p

Enter password: ********

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 25338 to server version: 5.1.2-alpha-standard

 

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

 

mysql>

连接与断开服务器

mysql> 提示符告诉你mysql准备为你输入命令。

 

一些MySQL安装允许用户以匿名(未命名)用户连接到本地主机上运行的服务器。如果你的机器是这种情况,你应该能不带任何选项地调用mysql与该服务器连接:

连接服务器通常需要提供一个MySQL用户名并且很可能需要一个
密码。如果服务器运行在登录服务器之外的其它机器上,还需要指定主机名:

shell> mysql

shell> mysql -h host -u user -p

成功地连接后,可以在mysql>提示下输入QUIT (或\q)随时退出:

Enter password: ********

mysql> QUIT

Bye

host代表MySQL服务器运行的主机名,user代表MySQL账户用户名,********
代表你的密码。

在Unix中,也可以按control-D键断开服务器。

 

 

如果有效,你应该看见mysql>提示符后的一些介绍信息:

简单熟悉一下

下面是一个简单的命令,要求服务器告诉它的版本号和当前日期。在mysql>提示输入如下命令并按回车键:

mysql> SELECT VERSION(), CURRENT_DATE;//一个命令通常由SQL语句组成,随后跟着一个分号。

+-----------------+--------------+

| VERSION()       | CURRENT_DATE |

+-----------------+--------------+

| 5.1.2-alpha-log | 2005-10-11   |

+-----------------+--------------+

1 row in set (0.01 sec) 

mysql>

另外,mysql能够以大小写输入关键词。下列查询是等价的:

mysql> SELECT VERSION(), CURRENT_DATE;

mysql> select version(), current_date;

mysql> SeLeCt vErSiOn(), current_DATE;

这是另外一个查询,它说明你能将mysql用作一个简单的计算器:

mysql> SELECT SIN(PI()/4), (4+1)*5;

+------------------+---------+

| SIN(PI()/4)      | (4+1)*5 |

+------------------+---------+

| 0.70710678118655 |      25 |

+------------------+---------+

1 row in set (0.02 sec)

至此显示的命令是相当短的单行语句。你可以在一行上输入多条语句,只需要以一个分号间隔开各语句:

mysql> SELECT VERSION(); SELECT NOW();

+-----------------+

| VERSION()       |

+-----------------+

| 5.1.2-alpha-log |

+-----------------+

1 row in set (0.00 sec)

 

+---------------------+

| NOW()               |

+---------------------+

| 2005-10-11 15:15:00 |

+---------------------+

1 row in set (0.00 sec)

不必全在一个行内给出一个命令,较长命令可以输入到多个行中。mysql是通过寻找终止分号来决定语句在哪儿结束的。(换句话说,mysql收集输入行但直到看见分号才执行。)

这里是一个简单的多行语句的例子:

mysql> SELECT

    -> USER()

    -> ,

    -> CURRENT_DATE;

+---------------+--------------+

| USER()        | CURRENT_DATE |

+---------------+--------------+

| [email protected] | 2005-10-11   |

+---------------+--------------+

在这个例子中,在输入多行查询的第一行后,要注意提示符从mysql>变为->,这正是mysql指出它没见到完整的语句并且正在等待剩余的部分。提示符是你的朋友,因为它提供有价值的反馈,如果使用该反馈,将总是知道mysql正在等待什么。

如果你决定不想执行正在输入过程中的一个命令,输入\c取消它:

mysql> SELECT

    -> USER()

    -> \c

mysql>

这里也要注意提示符,在你输入\c以后,它切换回到mysql>,提供反馈以表明mysql准备接受一个新命令。

下表显示出可以看见的各个提示符并简述它们所表示的mysql的状态:

提示符

含义

mysql>

准备好接受新命令。

->

等待多行命令的下一行。

‘>

等待下一行,等待以单引号(“’”)开始的字符串的结束。

">

等待下一行,等待以双引号(“"”)开始的字符串的结束。

`>

等待下一行,等待以反斜点(‘`’)开始的识别符的结束。

/*>

等待下一行,等待以/*开始的注释的结束。

 

在字符串收集期间将出现 ‘> 和 “> 提示符(提示MySQL正等待字符串的结束)。在MySQL中,可以写由‘”或‘”‘字符括起来的字符串 (例如,’hello’或”goodbye”),并且mysql允许输入跨越多行的字符串。当看到一个 ‘> 或 “> 提示符时,这意味着已经输入了包含以‘”或‘”‘括号字符开始的字符串的一行,但是还没有输入终止字符串的匹配引号。这显示你粗心地省掉了一个引号字符。例如:

mysql> SELECT * FROM my_table WHERE name = 'Smith AND age < 30;

    '>

如果你输入SELECT语句,然后按Enter(回车)键并等待结果,什么都没有出现。不要惊讶,“为什么该查询这么长呢?”,注意”>提示符提供的线索。它告诉你mysql期望见到一个未终止字符串的余下部分。(你看见语句中的错误吗?字符串”Smith丢掉了第二个引号。)

走到这一步,你该做什么?最简单的是取消命令。然而,在这种情况下,你不能只是输入\c,因为mysql作为它正在收集的字符串的一部分来解释它!相反,应输入关闭的引号字符(这样mysql知道你完成了字符串),然后输入\c:

mysql> SELECT * FROM my_table WHERE name = 'Smith AND age < 30;

    '> '\c

mysql>

提示符回到mysql>,显示mysql准备好接受一个新命令了。

`> 提示符类似于 ‘> 和”> 提示符,但表示你已经开始但没有结束以`> 开始的识别符。

知道’>和”>提示符的含义很重要,因为如果你错误地输入一个未终止的字符串,任何后面输入的行将要被mysql忽略–包括包含QUIT的行!这可能令人相当困惑,特别是如果取消当前命令前还不知道你需要提供终止引号。

连接服务器通常需要提供一个 MySQL
用户名并且很可能需要一个
密码。如果服务器运行在登录服务器之外的其它机器上,…

  www.2cto.com  

shell> mysql -h host -u user -p

Enter password: ********

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 25338 to server version:
5.1.2-alpha-standard

 

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.

 

mysql>

mysql> 提示符告诉你mysql准备为你输入命令。

 

一些MySQL安装允许用户以匿名(未命名)用户连接到本地主机上运行的服务器。如果你的机器是这种情况,你应该能不带任何选项地调用mysql与该服务器连接:

 

shell> mysql

成功地连接后,可以在mysql>提示下输入QUIT (或\q)随时退出:

 

mysql> QUIT

Bye

在Unix中,也可以按control-D键断开服务器。

 

简单熟悉一下

下面是一个简单的命令,要求服务器告诉它的版本号和当前日期。在mysql>提示输入如下命令并按回车键:

 

mysql> SELECT VERSION(),
CURRENT_DATE;//一个命令通常由SQL语句组成,随后跟着一个分号。

+—————–+————–+

| VERSION()       | CURRENT_DATE |

+—————–+————–+

| 5.1.2-alpha-log | 2005-10-11   |

+—————–+————–+

1 row in set (0.01 sec) 

mysql>

另外,mysql能够以大小写输入关键词。下列查询是等价的:

 

mysql> SELECT VERSION(), CURRENT_DATE;

mysql> select version(), current_date;

mysql> SeLeCt vErSiOn(), current_DATE;

这是另外一个查询,它说明你能将mysql用作一个简单的计算器:

  www.2cto.com  

mysql> SELECT SIN(PI()/4), (4+1)*5;

+——————+———+

| SIN(PI()/4)      | (4+1)*5 |

+——————+———+

| 0.70710678118655 |      25 |

+——————+———+

1 row in set (0.02 sec)

至此显示的命令是相当短的单行语句。你可以在一行上输入多条语句,只需要以一个分号间隔开各语句:

 

mysql> SELECT VERSION(); SELECT NOW();

+—————–+

| VERSION()       |

+—————–+

| 5.1.2-alpha-log |

+—————–+

1 row in set (0.00 sec)

 

+———————+

| NOW()               |

+———————+

| 2005-10-11 15:15:00 |

+———————+

1 row in set (0.00 sec)
 

不必全在一个行内给出一个命令,较长命令可以输入到多个行中。mysql是通过寻找终止分号来决定语句在哪儿结束的。(换句话说,mysql收集输入行但直到看见分号才执行。)

 

这里是一个简单的多行语句的例子:

  www.2cto.com  

mysql> SELECT

    -> USER()

    -> ,

    -> CURRENT_DATE;

+—————+————–+

| USER()        | CURRENT_DATE |

+—————+————–+

| [email protected]
| 2005-10-11   |

+—————+————–+
 

在这个例子中,在输入多行查询的第一行后,要注意提示符从mysql>变为->,这正是mysql指出它没见到完整的语句并且正在等待剩余的部分。提示符是你的朋友,因为它提供有价值的反馈,如果使用该反馈,将总是知道mysql正在等待什么。

 

如果你决定不想执行正在输入过程中的一个命令,输入\c取消它:

 

mysql> SELECT

    -> USER()

    -> \c

mysql>

这里也要注意提示符,在你输入\c以后,它切换回到mysql>,提供反馈以表明mysql准备接受一个新命令。

 

下表显示出可以看见的各个提示符并简述它们所表示的mysql的状态:

 

提示符

 

含义

 

mysql>

 

准备好接受新命令。

 

->

 

等待多行命令的下一行。

  www.2cto.com  

‘>

 

等待下一行,等待以单引号(“’”)开始的字符串的结束。

 

“>

 

等待下一行,等待以双引号(“””)开始的字符串的结束。

 

`>

 

等待下一行,等待以反斜点(‘`’)开始的识别符的结束。

 

/*>

 

等待下一行,等待以/*开始的注释的结束。

 

在字符串收集期间将出现 ‘> 和 “>
提示符(提示MySQL正等待字符串的结束)。在MySQL中,可以写由‘’’或‘”’字符括起来的字符串
(例如,’hello’或”goodbye”),并且mysql允许输入跨越多行的字符串。当看到一个
‘> 或 “>
提示符时,这意味着已经输入了包含以‘’’或‘”’括号字符开始的字符串的一行,但是还没有输入终止字符串的匹配引号。这显示你粗心地省掉了一个引号字符。例如:

 

mysql> SELECT * FROM my_table WHERE name = ‘Smith AND age < 30;

    ‘>

如果你输入SELECT语句,然后按Enter(回车)键并等待结果,什么都没有出现。不要惊讶,“为什么该查询这么长呢?”,注意”>提示符提供的线索。它告诉你mysql期望见到一个未终止字符串的余下部分。(你看见语句中的错误吗?字符串”Smith丢掉了第二个引号。)

  www.2cto.com  

走到这一步,你该做什么?最简单的是取消命令。然而,在这种情况下,你不能只是输入\c,因为mysql作为它正在收集的字符串的一部分来解释它!相反,应输入关闭的引号字符(这样mysql知道你完成了字符串),然后输入\c:

 

mysql> SELECT * FROM my_table WHERE name = ‘Smith AND age < 30;

    ‘> ‘\c

mysql>

提示符回到mysql>,显示mysql准备好接受一个新命令了。

 

`> 提示符类似于 ‘> 和”>
提示符,但表示你已经开始但没有结束以`> 开始的识别符。

 

知道’>和”>提示符的含义很重要,因为如果你错误地输入一个未终止的字符串,任何后面输入的行将要被mysql忽略–包括包含QUIT的行!这可能令人相当困惑,特别是如果取消当前命令前还不知道你需要提供终止引号。

这是我学习MySql
5.1时做的一些整理与笔记,希望能理一理自己学到的东西,如果能有助于各位同道学习…

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*
*
Website