2009年11月27日(MySQL_3)

来源:互联网 发布:js生成guid 编辑:程序博客网 时间:2024/04/30 01:29

3 指南

目录

3.1连接和释放服务器

3.2进入查询系统

3.3创建和使用一个数据库

3.3.1创建和查询一个数据库

3.3.2创建一个表

3.3.3装载数据进入表中

3.3.4从表中检索信息

3.4从数据库和表中获取信息

3.5使用mysql进行批处理

3.6一般查询的例子

3.6.1最大值的一行

3.6.2对某一行的所含的最大值

3.6.3最大值的一组

3.6.4对某一组中所含的最大值

3.6.5用户定义变量的运用

3.6.6外键的使用

3.6.7两个关键字的搜索

3.6.8计算每天的访问量

3.6.9使用自动增加

3.7两个事务的查询

3.7.1所有非分布式两个事务

3.7.2一个表的两个语句

3.8通过Apache使用Mysql

 

这一节提供了对mysql的指导介绍显示如何使用mysql客户端程序创建和使用一个小型数据库。Mysql(有时也叫“末端监听器”或就是“监听器”)是一个连接程序,它允许你连接mysql的服务器,运行查询,并且得到视图结果。Mysql也可以用作批处理:事先你把你的查询放入一个文件中,然后告诉mysql去执行文件的内容。这里富含着所有使用mysql的方法。

Mysql提供的罗列选项中行使—help 选项:

Shell > mysql  --help                                                          

这节的背景是你已经在你的机子上安装了mysql并且你的mysql服务器是可以被连接的。如果没有这个背景,就连接一下你的Mysql管理工具。(如果你是一个管理员,你需要查阅一下这本书的相关部分,像是第5 MySQL服务器管理)。

这节描述了设置和使用数据库的完整的过程。如果你仅仅对一个已经存在的数据库感兴趣的话,你可能想跳过那描述如何跳过创建数据库和表格的部分。

因为这节自然而然是一个指南,许多细节有必要被省略的。查阅相关的主要部分获取这里的关于主题的更多信息。

 

3.1连接和释放服务器

要连接服务器,当你要使用mysql时你应该提供一个mysql用户名和密码。如果服务器与你登陆的不是同一台机器,你就需要指定一个主机名。当你连接时查阅你的管理器发现相关的参数(有主机,用户名,使用的密码)。一旦你知道适当的参数,你就可以像下面这样连接:

Shell > mysql -h host -u user –p                        

Enter password: ******                             

hostuser在你的mysql服务器运行时代表主机名和你的mysql账户的用户名。在你的设置中适当的替代。这个*******代表你的密码;当mysql显示那个:Enter password:就立即输入。

如果起作用的话,在mysql>你应该可以立刻看到一些介绍信息:

Shell>mysql –h host –u user –p                       

Enter password:******                              

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

Your MySQLconnection id is25338 to server version : 5.0.76-standard                                       

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

mysql>                                           

mysql>立刻告诉你mysql已经准备好了你可以输入命令。

如果你登陆的是mysql运行的那台机器,你可以省略主机名,那么简约形式为:

Shell>mysql –u user –p                              

如果你尝试着登陆,你就会得到一条像这样的错误信息ERROR 2002(HY000):Can’t connect to local MySQL server through socket’/tmp/mysql.sock’(2).它的意思是mysql服务器daemonUnix)或服务器(Windows)不能运行。查看管理员或查看第2节,安装和更改mysql,那节比较适合你运行的系统。

一些mysql设置允许用户匿名连接服务器在运行的本地主机上。如果是你机子上的事务,你应该能在执行mysql时直接连接服务器没有别的选项:

Shell>mysql                                         

在你成功连接后,你可以在任何时候想解除连接时在mysql>后立刻使用字符QUIT(或/q)。

Mysql>QUIT                                       

Bye                                                

Unix上你可以解除紧急的连接。

接下来的部分的大多数例子前提假设都是你已经连接了服务器。他们将在mysql>后执行。

3.2查询输入

像在前面部分讨论过的,确定你已经连接服务器了。像这样的操作能在自身上进行而不可以任何一个可用的数据库是可以的。因此如何执行查询就比创建表格,往数据库里录入数据和从里恢复数据更重要一些。这一部分表述输入的基本命令的语法,你可以试试一些查询让你更熟悉mysql如何工作的。

这里有一个简单的命令,这命令让服务器告诉你它的版本和当下日期。下面是在mysql>后回车

这个查询说明mysql

l  一个普通的命令包含SQL语句和后面的一个分号。(有一些表达式是可以省略分号的,像之前提到的QUIT就是其中之一,我们将在后面再说其他的。)

l  当你运行一个命令的时候,mysql将它送往服务器来执行和显示结果,然后再打印出另一个mysql>,这表示可以输入下一条命令了。

l  Mysql显示的查询输出是列表形式(行和列)。第一行包含所有列的标签,接下来的就是查询结果。普遍列标签就是你用的数据库表格中每列的列名。如果你要恢复在表格列中表达式的值,mysql标签每列会自动运用这个表达式。

l  Mysql将显示结果有几行,查询的执行花了多久,给你一个粗略的服务器表现的观点。These values are imprecise because they represent wall clock time(not CPU or machine time),并且它们受到像服务器登录或网络时延等因素的影响(为了简便,那个“rows in set”行有时在本节中就不会保留在例子中。)

输入的关键字不区分大小写的。下面的查询是一样的

Mysql>SELECT VERSION(),CURRENT_DATE;

Mysql>select version(),current_date;

Mysql>SelecT vErSion(),current_DATE;

这有另一个查询,它需要你用mysql做一个简单的计算。

这个查询显示这么快已经相当短了。你可以输入本分查询在单独的每行中。仅仅在每个表达式后用分号就可以了。

一个命令不必都在一行,所以较长的命令需要几行也不是问题,mysql测定你的语句结束是以寻找分号为界限的,而不是输入的每行结尾。(换言之,mysql接受自由形式输入;它允许输入多行但是在没有分号前不执行它们。)

这有一个简单得多行表达式:

在这个例子中,请注意在你输入多行查询的第一行后从mysql>变为了->。这表示mysql没有发现完整的表达式,并且正在等待剩下的部分。那提示是你的朋友,因为它会提供你反馈信息,如果你使用反馈信息,你可以意识到mysql在等待什么。

如果你决定你不想执行你再输入过程中输入的任何指令,用符号/c清除。

Mysql>SELECT               

->USER()                   

->/C                       

Mysql>                     

这里也是,注意提示。它从你输入/c后改变回到mysql>,提供反馈信息显示mysql已经为下一命令准备好了。

下面的表格显示你能看到和总结的在mysql中表达式的 意思

Prompt

Meaning

Mysql>

准备下一指令

->

等待多行命令的下一行

‘>

等待下一行,等待一个完整的字符串已经以(“”)开头

“>

等待下一行,等待一个完整的字符串已经以(“”)开头

’>

等待下一行,等待一个完整的字符串已经以(“、“)开头

/*>

等待下一行,等待一个完整的字符串已经以/*开头的

MySQL5.0系列中,/*提示符在MySQL5.0.6中实现。

多行表达式一般偶尔发生在你想要运行一个简单的命令时但是忘记了加分号,下面的例子就是mysql等待更多的输入:

Mysql>SELECT USER()

->

 

原创粉丝点击