mysql输入查询及退出查询命令

确保你连接上了服务器,如在上一章节讨论的。连接上服务器并不代表选择了任何数据库,但这样就可以了。知道关于如何查询的基本知识,比马上跳至创建表、给他们装载数据并且从他们检索数据更重要。本节描述输入命令的基本原则,使用几个查询,你能尝试了解mysql是如何工作的。

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

mysql> SELECT VERSION(), CURRENT_DATE; +-----------------+--------------+| VERSION()    | CURRENT_DATE |+-----------------+--------------+| 5.1.2-alpha-log | 2005-10-11  |+-----------------+--------------+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.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 |+---------------+--------------+| jon@localhost | 2005-10-11  |+---------------+--------------+

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

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

mysql> SELECT     -> USER()     -> c mysql>

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

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

提示符    含义    

蓝心千询 蓝心千询

蓝心千询是vivo推出的一个多功能AI智能助手

蓝心千询 34 查看详情 蓝心千询

mysql>    准备好接受新命令。    

->    等待多行命令的下一行。    

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

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

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

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

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

mysql> SELECT USER()     ->

如果出现这种情况(你认为输完了语句,但是只有一个->提示符响应),很可能mysql正在等待分号。如果你没有注意到提示符的提示,在意识到你需要做什么之前,你可能会呆坐一会儿。输入一个分号完成语句,mysql将执行:

mysql> SELECT USER()    -> ; +---------------+| USER()    |+---------------+| jon@localhost |+---------------+

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

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

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

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

mysql> SELECT * FROM my_table WHERE name = 'Smith AND age  'c mysql>

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

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/425575.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月7日 11:22:41
下一篇 2025年11月7日 11:34:33

相关推荐

  • SQL vs NOSQL:选择数据科学的正确数据库

    数据是现代企业决策的基石。无论是电商平台还是金融机构,都需要强大的数据库来存储和管理海量数据。SQL和NoSQL数据库是当前主流的两大数据库类型,选择合适的数据库类型至关重要。本文将帮助您了解SQL和NoSQL数据库的区别,这对于数据科学学习者来说是必备知识。 SQL数据库是一种关系型数据库,数据以…

    2025年12月13日
    000
  • 每个数据科学家都应该知道的顶级工具

    数据科学是一个多学科领域,需要运用多种工具和技术从数据中提取有价值的洞见。无论您是数据科学领域的入门者还是经验丰富的专家,掌握合适的工具都将显著提升您的工作效率。本文将为您介绍十款每个数据科学家都应该熟练掌握的顶级工具,助您提升职业效率、生产力及绩效。 Python Python是数据科学领域最受欢…

    2025年12月13日
    000
  • Python 中输入的影响

    Python 3.5 版本引入的类型提示增强了代码可读性,方便多人协作开发。 类型提示的必要性 在强类型语言(如 Java、C++)中,依赖注入(DI)至关重要,但在弱类型语言中难以实现。DI 的核心思想是:类不依赖于具体实现,而是依赖于抽象接口,因为接口比实现更稳定。 错误示范: class Ga…

    2025年12月13日
    000
  • 机器学习工程师路线图

    成为机器学习工程师的阶梯式学习路径 这份路线图清晰地规划了成为机器学习工程师所需的技能学习路径,循序渐进,由浅入深,并注重实践操作。 基础阶段:夯实根基 数学基础: 扎实的数学功底是机器学习的基石。你需要掌握概率论(理解事件发生的可能性)、统计学(分析和解释数据)、以及离散数学(处理离散值)等核心概…

    2025年12月13日
    000
  • 使用 Bitnami Django 堆栈在 AWS Lightsail 上从 GitHub 部署 Django 应用程序

    本教程指导您使用bitnami django栈将github上的django web应用部署到aws lightsail实例。bitnami提供的预配置生产环境包含django、web服务器(nginx或apache)和数据库(postgresql或mysql),简化了部署流程。完成本教程后,您可在…

    2025年12月13日 好文分享
    000
  • 适用于 SQL 思维的 ChromaDB

    您好,chroma db 是一个矢量数据库,对于使用 genai 应用程序非常有用。在本文中,我将通过查看 mysql 中的类似关系来探索如何在 chroma db 上运行查询。 模式 与 sql 不同,您无法定义自己的架构。在 chroma 中,您会获得固定的列,每个列都有自己的用途: impor…

    2025年12月13日
    000
  • python爬虫怎么mysql

    使用 Python 爬虫将数据保存到 MySQL方法:安装 pymysql 库。连接到 MySQL 数据库。创建游标。准备 SQL 插入语句。绑定数据并执行 SQL 语句。提交更改。关闭连接。 如何使用 Python 爬虫将数据保存到 MySQL? 方法: 1. 安装必要的库 安装 pymysql …

    2025年12月13日
    000
  • MongoDB适合企业级业务报表场景吗?

    MongoDB 是否适合企业业务报表场景? 在考虑使用 Python 和 MongoDB 构建原型系统时,开发者往往会面临 MySQL 和 MongoDB 的选择。MongoDB 的灵活性使其成为迭代快速的场景的理想选择,但人们普遍担心它在复杂业务报表中的表现。 MongoDB 的限制:Join 查…

    2025年12月13日
    000
  • MongoDB适合做业务报表吗?

    MongoDB 用于业务报表的可行性 在构建原型系统时,MongoDB 和 MySQL 都是流行的选择。MongoDB 以其可扩展性和对非结构化数据的支持而闻名,而 MySQL 以其可靠性、用于跨表查询的强大 JOIN 操作以及对复杂业务报表的支持而著称。 MongoDB 的限制 对于需要复杂 JO…

    2025年12月13日
    000
  • MongoDB 能否胜任复杂的企业业务报表制作?

    使用 MongoDB 制作业务报表的可行性 对于使用 Python + MongoDB 进行快速迭代的原型系统,MongoDB 的灵活性确实很具有吸引力。但当涉及到复杂的数据查询,如企业业务报表时,一些开发者可能会疑问 MongoDB 是否能胜任。 挑战 MongoDB 的文档导向模式意味着它不支持…

    2025年12月13日
    000
  • MongoDB能否满足企业业务报告的复杂查询需求?

    MongoDB:企业业务报告的可行性 问题: 使用 MongoDB 加上 Python 构建原型系统时,是否可以满足企业业务报告需求? 回答: 当涉及复杂的 join 查询时,MongoDB 可能确实面临一些挑战。它不支持集合之间的 join 操作,也没有子查询,这对于处理复杂的 join 查询而言…

    2025年12月13日
    000
  • MongoDB适合做企业级复杂业务报表吗?

    MongoDB 做业务报表可行性分析 问题:mongodb 是否适用于处理复杂的企业业务报表,需要进行跨集合多表关联查询? 回答: 在需要进行复杂企业业务报表时,MongoDB 可能面临一定的挑战。由于不支持跨集合关联和子查询,在处理涉及多表关联的复杂查询时可能存在局限性。 MongoDB 的优缺点…

    2025年12月13日
    000
  • 如何以正确的方式启动你的 Django 项目

    如何以正确的方式启动 django 项目 django 是一个强大且多功能的 python 框架,旨在简化 web 开发。但是,启动 django 项目的方式可能会显着影响其可扩展性、可维护性和性能。本指南提供了全面的分步演练,帮助您以正确的方式启动 django 项目,确保为成功奠定坚实的基础。 …

    2025年12月13日
    000
  • 批量插入SQL数据时,占位符数量与参数数量不匹配如何解决?

    在批量执行 sql 插入语句时,参数数量必须与占位符数量相匹配才能正常执行。 问题中的情况: 使用 fetchall() 获取的数据 list1 是由元组组成的列表。但是,当使用 insert_all() 尝试批量插入这些数据时,错误说明 “not enough arguments for form…

    2025年12月13日
    000
  • 使用 Flask 和 MySQL 的任务管理器应用程序

    项目概况 这个项目是一个使用 flask 和 mysql 构建的任务管理器应用程序。它提供了一个简单的 restful api 来管理任务,演示了基本的 crud(创建、读取、删除)操作。 此应用程序非常适合了解如何使用 docker 将 flask 应用程序容器化并与 mysql 数据库连接。 特…

    2025年12月13日 好文分享
    000
  • 使用 Sqlalchemy 查询数据库时,是否必须指定字段名?

    sqlalchemy 查询问题 问题: 在使用 sqlalchemy 查询数据库时,是否必须指定字段名? 答案: 在 sqlalchemy 中,默认情况下需要指定字段名。早期版本中,您可以像 php 那样直接编写 sql,但是新版本中已弃用这种方法。 以下是新版 sqlalchemy 的查询代码示例…

    2025年12月13日
    000
  • Sqlalchemy 查询如何无需指定字段名?

    sqlalchemy 查询无需指定字段名 在传统的 sql 查询中,需要显式指定要查询的字段,但在 python 数据库插件 sqlalchemy 中,可以无须指定字段名。 最新代码演示: from sqlalchemy import text, create_engineengine = crea…

    2025年12月13日
    000
  • Flask-SQLAlchemy 工程化时,如何避免”The setup method ‘shell_context_processor’ can no longer be called on the application”错误?

    flask-sqlalchemy 工程化遇到的问题 官方文档中使用 app.py 直接初始化数据库的示例虽然简单,但在实际项目中并不可行。将数据库初始化代码封装到单独的文件中并引入时,可能会出现错误: nexpect system error – the setup method ‘shell_co…

    2025年12月13日
    000
  • Flask-SQLAlchemy 模块化使用时如何避免“nexpect System Error – The setup method ‘shell_context_processor’ can no longer be called on the application”错误?

    flask-sqlalchemy 放在模块中使用的问题 官方文档中的例子是将数据库初始化代码放在 app.py 中,但实际项目中通常会将这些代码放在单独的模块中。在这样的情况下,将模块引入后可能会出现以下错误: nexpect system error – the setup method ‘she…

    2025年12月13日
    000
  • 如何在 Sqlalchemy 中避免显式字段名执行查询?

    避免显式字段名在 sqlalchemy 中执行查询 在 sqlalchemy 中,使用 sql 语句执行查询时,不一定要指定字段名。这与 php 中使用 sql 无需指定字段名类似。 为了避免显式字段名,可以使用 sqlalchemy.text() 函数,它允许指定未解析的 sql 语句。以下是这种…

    2025年12月13日
    000

发表回复

登录后才能评论
关注微信