认识 mysql 命令

文章目录

  • 1.简介
  • 2.选项
  • 3.子命令
  • 4.小结
  • 参考文献

1.简介

mysql 是 MySQL 的命令行客户端工具,用于连接到 MySQL 服务器并执行 SQL 语句。

它支持交互式和非交互式两种使用方式。以交互方式使用时,查询结果以 ASCII 表格式呈现。 当以非交互方式使用时(例如,作为过滤器),结果以制表符分隔的格式显示。 可以使用命令选项更改输出格式。

mysql 命令格式:

mysql [OPTIONS] DB_NAME

比如

mysql -h HOST_NAME -u USER_NAME -p DB_NAME# 或
mysql --host=HOST_NAME --user=USER_NAME --password DB_NAME

在这种情况下,您需要根据 mysql 的提示输入密码。然后键入 SQL 语句,以 ;、\g 或 \G 结尾,然后按 Enter 便可以交互方式执行 SQL 语句。退出交互会话键入 quit 或 exit 指令。

当然,你也可以直接在命令行指定密码。只是这样做不太安全,因为这样会导致密码暴露在命令历史或进程列表中,存在安全风险,所以不推荐这么做。

# 注意选项与密码之间没有空格
-pPWD# 或
--password=PWD

我们也可以将 SQL 语句写入脚本文件(批处理文件)中,通过 mysql 解析执行。

mysql DB_NAME < script.sql > output.tab

MySQL 服务器缺省端口为 3306,如果需要指定其他端口,需要使用选项 -P 或 --port 指定。

-P PORT_NUM
# 或
--port=PORT_NUM

2.选项

除了前面介绍的连接数据库用到的相关选项外,mysql 命令有很多选项,这里列一些较为常用的选项。

--help, -?显示帮助信息并退出。
--auto-rehash启用自动重新哈希,缺省开启。当启用了--auto-rehash选项后,在输入命令时,MySQL客户端会自动为您提数据库、表和列名称的自动补全和提示,使得查询和使用数据库更加方便和高效。
-A, --no-auto-rehash禁用自动重新哈希。不对数据库、表与列名重新哈希,因此禁用了数据库、表和列名的自动补全功能,可以提高 mysql 启动速率。
--auto-vertical-output当结果集相对于当前窗口太宽时,自动转换水平输出为垂直输出。
-B, --batch使用制表符作为列分隔符打印结果,每行占一个新行。 使用此选项,mysql 不使用历史文件。mysql 命令交互过程会将用户的所有输入记录在一个隐藏文件 /root/.mysql_history。每次退出 mysql 交互模式时,会将交互过程中的所有命令操作一次性写入 ~/.mysql_history 隐藏文件中。下次执行 mysql 时,可以使用键盘的向上键获取历史命令。类似于 Shell 获取历史命令。该选项一般用于 Shell 脚本中执行 SQL 语句,命令行模式下需要交互指定 SQL 语句,故不使用该选项。
-N, --skip-column-names查询结果不输出列名。
--database, -D DB_NAME指定要使用的数据库。这主要在选项文件中有用。
--default-character-set=CHARSET设置默认的字符集。
-e, --execute=STATEMENT执行指定的 SQL 语句并退出。默认输出格式类似于使用 --batch 生成的格式。
-E, --vertical垂直打印输出行(每列值一行)。 如果没有此选项,您可以通过用 \G 终止各个语句来指定垂直输出。
-t, --table显示查询结果以表格形式输出。这是交互式使用的默认输出形式,但可用于以批处理模式生成表输出。
-R, --raw显示查询结果以原始格式输出。
--show-warnings如果有的话,会在每个语句后显示警告。 此选项适用于交互和批处理模式。
--tee=FILE_NAME将输出拷贝一份到给定文件。 此选项仅在交互模式下有效。
-v, --verbose显示详细的执行信息。
-V, --version显示版本信息并退出。

使用mysql --help可查看更加详细的选项说明。当然也可以查看 mysql 命令手册(man mysql)或官方文档 mysql Client Options。

命令行交互模式下一般为了快速启动会使用-A选项不对数据库、表与列名重新哈希。在 Shell 脚本使用 mysql 执行 SQL 语句时经常使用选项-NBA

3.子命令

mysql 将您发出的每个 SQL 语句发送到服务器来执行。 还有一组mysql本身解释的命令。 要获取这些命令的列表,请在 mysql> 提示符下键入 help 或 \h。

?         (\?) Synonym for `help'.
clear     (\c) Clear the current input statement.
connect   (\r) Reconnect to the server. Optional arguments are db and host.
delimiter (\d) Set statement delimiter.
edit      (\e) Edit command with $EDITOR.
ego       (\G) Send command to mysql server, display result vertically.
exit      (\q) Exit mysql. Same as quit.
go        (\g) Send command to mysql server.
help      (\h) Display this help.
nopager   (\n) Disable pager, print to stdout.
notee     (\t) Don't write into outfile.
pager     (\P) Set PAGER [to_pager]. Print the query results via PAGER.
print     (\p) Print current command.
prompt    (\R) Change your mysql prompt.
quit      (\q) Quit mysql.
rehash    (\#) Rebuild completion hash.
source    (\.) Execute an SQL script file. Takes a file name as an argument.
status    (\s) Get status information from the server.
system    (\!) Execute a system shell command.
tee       (\T) Set outfile [to_outfile]. Append everything into given outfile.
use       (\u) Use another database. Takes database name as argument.
charset   (\C) Switch to another charset. Might be needed for processing binlog with multi-byte charsets.
warnings  (\W) Show warnings after every statement.
nowarning (\w) Don't show warnings after every statement.
resetconnection(\x) Clean session context.
query_attributes Sets string parameters (name1 value1 name2 value2 ...) for the next query to pick up.
ssl_session_data_print Serializes the current SSL session data to stdout or file.

如果要获取服务器端帮助,请输入“help contents”。

上面的子命令中,有几个常用的子命令需要关注一下。

  • ? 和 help 查看子命令。
  • ego (\G) 可将查询结果垂直输出,即每列单独一行输出。
  • use (\u) 切换数据库。
  • exit 和 quit 退出 mysql。

4.小结

通过本篇文章,您已经了解了 MySQL 命令行工具 mysql 的基本用法、常用选项与子命令,比如通过 mysql 轻松连接数据库。

通过 mysql,我们可以以交互或非交互的方式与数据库建立连接,执行我们想要的操作。


参考文献

mysql — The MySQL Command-Line Client

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/19134.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用langchain与你自己的数据对话(三):检索(Retrieval)

之前我已经完成了使用langchain与你自己的数据对话的前两篇博客&#xff0c;还没有阅读这两篇博客的朋友可以先阅读一下&#xff1a; 使用langchain与你自己的数据对话(一)&#xff1a;文档加载与切割使用langchain与你自己的数据对话(二)&#xff1a;向量存储与嵌入 今天我们…

对 Redis 实现分布式事务的探索与实现

对 Redis 实现分布式事务的探索与实现 一、简介简介优势 二、Redis 的事务机制事务WATCH 命令MULTI 命令EXEC 命令UNWATCH 命令 三、Redis 的分布式事务集群架构分布式事务分布式事务实现方式1. 两阶段提交&#xff08;2PC&#xff09;方式Paxos 算法实现方式Raft 算法实现方式…

4.netty源码分析

1.pipeline调用handler的源码 //pipeline得到双向链表的头,next到尾部, 2.心跳源码 主要分析IdleStateHandler3个定时任务内部类 //考虑了网络传输慢导致出站慢的情况 //超时重新发送,然后关闭 ReadTimeoutHandler(继承IdleStateHandler 直接关闭连接)和WriteTimeoutHandler(继…

js如何将图片转成BASE64编码,网页跟uniapp开发的app的区别?

Base64是一种用64个字符来表示任意二进制数据的方法&#xff0c;这篇文章主要为大家介绍了如何实现将图片转为base64格式&#xff0c;感兴趣的小伙伴可以学习一下 前言 前段时间在写我的VUE全栈项目的时候&#xff0c;遇到要把前端的照片上传到后端&#xff0c;再由后端存到数…

SpringBoot项目中使用Lombok插件中Slf4j日志框架

前言&#xff1a;idea需要安装lombok插件&#xff0c;因为该插件中添加了Slf4j注解&#xff0c;可以将Slf4j翻译成 private static final org.slf4j.Logger logger LoggerFactory.getLogger(this.XXX.class); springboot本身就内置了slf4j日志框架&#xff0c;所以不需要单独…

【2023】Redis实现消息队列的方式汇总以及代码实现

Redis实现消息队列的方式汇总以及代码实现 前言开始前准备1、添加依赖2、添加配置的Bean 具体实现一、从最简单的开始&#xff1a;List 队列代码实现 二、发布订阅模式&#xff1a;Pub/Sub1、使用RedisMessageListenerContainer实现订阅2、还可以使用redisTemplate实现订阅 三、…

小白到运维工程师自学之路 第六十二集 (docker持久化与数据卷容器)

一、概述 Docker持久化是指将容器中的数据持久保存在主机上&#xff0c;以便在容器重新启动或迁移时不丢失数据。由于Docker容器是临时和可变的&#xff0c;它们的文件系统默认是易失的&#xff0c;这意味着容器中的任何更改或创建的文件都只存在于此容器的生命周期内。但是&a…

小主机折腾记16

7月折腾了 1.2500s&#xff0c;2550k&#xff0c;e3 1225的性能测试 结果如下图 总结如下&#xff1a; a.2500s e3 1225 2390t 差别不大 b.1333频率相对1066频率内存提升12%左右 c.为什么少了2550k&#xff0c;因为装上去风扇尬转&#xff0c;没画面&#xff0c;我猜是因为…

node.js判断元素是否包括

在Node.js中&#xff0c;可以使用Array.prototype.some()方法来判断数组中是否包含某个元素。下面是一个示例代码&#xff1a; const arr [ { ‘_android:name’: ‘com.eg.android.AlipayGphone’ }, { ‘_android:name’: ‘com.eg.android.AlipayGphoneRC’ }, { ‘_andro…

助力青少年科技创新人才培养,猿辅导投资1亿元设立新基金

近日&#xff0c;在日本千叶县举办的2023年第64届国际数学奥林匹克&#xff08;IMO&#xff09;竞赛公布比赛结果&#xff0c;中国队连续5年获得团体第一。奖牌榜显示&#xff0c;代表中国参赛的6名队员全部获得金牌。其中&#xff0c;猿辅导学员王淳稷、孙启傲分别以42分、39分…

用latex的ACM模板写论文如何去除页眉页脚以及Reference

简单粗暴如下&#xff1a; 1、latex最开始补充&#xff1a; \documentclass[acmsmall]{acmart} \settopmatter{printacmreffalse} % Removes citation information below abstract \renewcommand\footnotetextcopyrightpermission[1]{} % removes footnote with conference in…

FFmepg视频解码

1 前言 上一篇文章<FFmpeg下载安装及Windows开发环境设置>介绍了FFmpeg的下载安装及环境配置&#xff0c;本文介绍最简单的FFmpeg视频解码示例。 2 视频解码过程 本文只讨论视频解码。 FFmpeg视频解码的过程比较简单&#xff0c;实际就4步&#xff1a; 打开媒体流获取…

代码随想录额外题目| 二叉树 ●129求根到叶数字之和 ●1382二叉树变平衡●100相同的树

#129求根到叶数字之和 回溯放进vector&#xff0c;然后从后往前拿&#xff0c;乘1 10 100 ... 很基础的回溯 my code&#xff1a; void backtrack(int depth, TreeNode* cur, vector<TreeNode*> &vec, int &sum){if(cur->leftnullptr &&cur->rig…

如何方便地使用TCL恢复带BD设计的Vivado工程

恢复无BD设计的Vivado工程 当工程中无Block Design设计时&#xff0c;工程恢复过程相对简单。使用write_project_tcl命令可以直接生成用于恢复工程的tcl文件&#xff0c;如*_prj.tcl&#xff0c;在恢复时直接运行就可以了。 修改恢复工程的路径 *_prj.tcl在恢复工程时会将其…

监控对象都有哪些分类

1、业务监控 这类指标是管理层非常关注的&#xff0c;代表企业营收&#xff0c;或者跟客户主流程相关&#xff0c;类似 BI 数据。不过相比 BI 数据&#xff0c;业务监控指标有两点不同。 对精确度要求没有那么高&#xff1a;因为监控只要发现趋势异常就可以&#xff0c;至于是…

极简在线商城系统,支持docker一键部署

Hmart 给大家推荐一个简约自适应电子商城系统&#xff0c;针对虚拟商品在线发货&#xff0c;支持企业微信通知&#xff0c;支持docker一键部署&#xff0c;个人资质也可搭建。 前端 后端 H2 console 运行命令 docker run -d --name mall --restartalways -p 8080:8080 -e co…

LeetCode_贪心算法_中等_763.划分字母区间

目录 1.题目2.思路3.代码实现&#xff08;Java&#xff09; 1.题目 给你一个字符串 s 。我们要把这个字符串划分为尽可能多的片段&#xff0c;同一字母最多出现在一个片段中。注意&#xff0c;划分结果需要满足&#xff1a;将所有划分结果按顺序连接&#xff0c;得到的字符串仍…

Jackson:String转object反序列化失败

场景 消费mq时String转Object 代码 for (MessageExt msg : msgs) {String msgBody new String(msg.getBody(), StandardCharsets.UTF_8);BinlogEvent binlogEvent JsonUtil.silentString2Object(msgBody, BinlogEvent.class);binlogEvent.setPort(Long.valueOf(port));tCo…

SAP CAP篇十二:AppRouter 深入研究

本文目录 本系列文章理解现有程序app文件夹中的package.json理解approuter.js 修改现有程序修改package.json新建index.js在Approuter中显示额外的逻辑 添加一些额外的Logger对应代码及branch 本系列文章 SAP CAP篇一: 快速创建一个Service&#xff0c;基于Java的实现 SAP CAP…

深入浅出Pytorch函数——torch.sum

分类目录&#xff1a;《深入浅出Pytorch函数》总目录 相关文章&#xff1a; 深入浅出Pytorch函数——torch.Tensor 函数torch.sum有两种形式&#xff1a; torch.sum(input, *, dtypeNone)&#xff1a;返回输入张量input所有元素的和。torch.sum(input, dim, keepdimFalse, *,…