分享
 
 
 

MySQL中文参考手册--输入查询

王朝mysql·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

确保你连接上了服务器,如在先前的章节讨论的。这样做本身将不选择任何数据库来工作,但是那很好。从这点讲,知道关于如何出询问的一点知识,比马上跳至创建表、给他们装载数据并且从他们检索数据要来的重要写。本节描述输入命令的基本原则,使用几个查询,你能尝试让自己mysql是如何工作的。

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

mysql SELECT VERSION(), CURRENT_DATE;

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

| version()

| CURRENT_DATE |

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

| 3.22.20a-log | 1999-03-19

|

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

1 row in set (0.01 sec)

mysql

这询问说明关于mysql几件事:

一个命令通常由SQL语句组成,随后有一个分号。(有一些例外不需要一个分号。早先提到的QUIT是他们之一。我们将以后看到其它。)

当你发出一个命令时,mysql发送它给服务器并显示结果,然后打出另外一个mysql显示它准备好接受另外的命令。

mysql以一张表格(行和列)显示查询输出。第一行包含列的标签,随后的行是询问结果。通常, 列标签是你取自数据库表的列的名字。如果你正在检索一个表达式而非表列的值(如刚才的例子),mysql用表达式本身标记列。

mysql显示多少行被返回,和查询花了多长执行,它给你提供服务器性能的一个大致概念。因为他们表示时钟时间(不是 CPU 或机器时间),并且因为他们受到诸如服务器负载和网络延时的影响,因此这些值是不精确的。(为了简洁,在本章剩下的例子中不再显示“集合中的行”。)

关键词可以以任何大小写字符被输入。下列询问是等价的:

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.707107 |

25 |

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

至今显示的命令是相当短的,单行语句。你甚至能在单行上输入多条语句,只是以一个分号结束每一条:

mysql SELECT VERSION(); SELECT NOW();

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

| version()

|

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

| 3.22.20a-log |

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

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

| NOW()

|

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

| 1999-03-19 00:15:33 |

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

一个命令不必全在一个单独行给出,所以需要多行的较长命令不是一个问题。mysql通过寻找终止的分号而不是寻找输入行的结束来决定你的语句在哪儿结束。(换句话说,mysql接受自由格式输入:它收集输入行但执行他们直到它看见分号。)

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

mysql SELECT

- USER()

- ,

- CURRENT_DATE;

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

| USER()

| CURRENT_DATE |

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

| joesmith@localhost | 1999-03-18

|

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

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

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

mysql SELECT

- USER()

- \c

mysql

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

下表显示出你可以看见的各个提示符并总结他们意味着mysql在什么状态下:

提示符 意思

mysql

准备好接受新命令

-

等待多行命令的下一行

'

等待下一行,收集以单引号(“'”)开始的字符串

"

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

当你打算在一个单行上发出一个命令时,多行语句通常“偶然”出现,但是忘记终止的分号。在这种情况中,mysql等待进一步输入:

mysql SELECT USER()

-

如果这发生在你身上(你认为你输完了语句但是唯一的反应是一个-提示符),很可能mysql正在等待分号。如果你没有注意到提示符正在告诉你什么,在认识到你需要做什么之前,你可能花一会儿时间呆坐在那儿。进入一个分号完成语句,并且mysql将执行它:

mysql SELECT USER()

- ;

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

| USER()

|

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

| joesmith@localhost |

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

'和"提示符出现在在字符串收集期间。在MySQL中,你可以写由“'”或“"”字符括起来的字符串 (例如,'hello'或"goodbye"),并且mysql让你进入跨越多行的字符串。当你看到一个'或"提示符时,这意味着你已经输入了包含以“'”或“"”括号字符开始的字符串的一行,但是还没有输入终止字符串的匹配引号。如果你确实正在输入一个多行字符串,很好,但是果真如此吗?不尽然。更常见的,'和"提示符显示你粗心地省掉了一个引号字符。例如:

mysql SELECT * FROM my_table WHERE name = "Smith AND age

"

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

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

mysql SELECT * FROM my_table WHERE name = "Smith AND age

" "\c

mysql

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

知道'和"提示符意味着什么是很重要的,因为如果你错误地输入一个未终止的字符串,任何比你下一步输入的行好象将要被mysql忽略--包括包含QUIT的行!这可能相当含糊,特别是在你能取消当前命令前,如果你不知道你需要提出终止引号。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有