我跟你说,干数据库这行的,谁还没被那个黑乎乎的 CMD 窗口折磨过?刚入行那会儿,我对着满屏的代码,鼠标点来点去就是连不上数据库,心里那个急啊。后来带我的老前辈扔过来一句话:“别老想着图形界面,命令行才是真功夫。”我当时还不服气,觉得都 2024 年了,谁还用这老古董啊?结果真香了。今天就跟你聊聊,怎么用 CMD 命令,跟数据库来个“面对面”的对话。

先说说最基础的,怎么用 CMD 连上 MySQL。很多人一打开 CMD 就懵了,输入 直接报错“不是内部或外部命令”。别慌,这是环境变量没配好。你得找到 MySQL 的安装目录,比如 ,把这个路径加到系统环境变量 Path 里。配好后,打开 CMD,输入 ,回车,输入密码,就进入 MySQL 的命令行界面了。看到那个 提示符了吗?恭喜你,已经在跟数据库对话了。
连上后,第一件事就是看看有哪些数据库。输入 ,注意分号不能少,这是 SQL 语句的结束标志。你会看到系统自带的几个库,比如 、、。这时可以输入 切换到 数据库,再输入 看看有哪些用户。原来数据库里藏着这么多信息,用命令查起来,比鼠标点来点去快多了。
说到实战,我前阵子接了个紧急任务,要批量更新几千条用户数据。用图形界面一条条改?那得改到猴年马月。我直接在 CMD 里写了个 UPDATE 语句: 回车,几秒钟搞定。你瞧,这就是命令行的威力。而且,还可以用 快速查一下受影响的行数,心里有数。担心手写 SQL 出错的话,可以先在测试库上跑一遍,使用 开启事务,确认无误后再 提交。
别以为 CMD 只能连 MySQL,SQL Server 也行。先打开 CMD,输入 ,回车就连上了。比如连本地数据库,就用 。连上后,输入 就能看到所有数据库。我特别喜欢用 sqlcmd 的 参数,直接在命令行里执行 SQL 并退出,例如 ,省得进去又出来,一步到位。
还有 Oracle 数据库,虽然它的命令行工具叫 SQLPlus,但本质上也是通过 CMD 启动的。在 CMD 里输入 ,比如 ,回车就进去了。Oracle 的命令行有个特点:默认不显示查询结果的行数,需要先 ,再 把显示格式调好。我刚开始用 Oracle 时就吃过这个亏,查了半天数据,屏幕上一片空白,还以为出错了。
怎么把查询结果保存下来?这个技巧很实用。MySQL 可以用 把数据导出成 CSV 文件。SQL Server 则用 sqlcmd 的 参数:。Oracle 可以用 SPOOL 命令:。这样,数据就乖乖躺在文件里,方便后续分析或给老板汇报。
说到连接的稳定性,CMD 命令行有个隐藏优势。图形界面工具动不动就超时断开,尤其是处理大数据量时,点个查询卡半天,然后提示连接丢失。CMD 里只要设置好等待时间,例如 MySQL 的 ,一小时内不断开。而且可以用 把超时时间改成 24 小时。我跑过最大的一个查询,一张表 2 亿多行,用 CMD 跑了整整 40 分钟,期间一点儿没断。
给你个压箱底的技巧。有时候 DBA 给你一个数据库地址,连不上,第一反应是不是找网络管理员?别急,先用 CMD 的 telnet 命令测一下端口是否通畅:。如果连不上,再换 看网络是否通畅。还可以用 检查域名解析。这套组合拳基本能定位问题所在。我自己遇到过好几次,数据库连不上,结果发现是防火墙忘了开端口,或者域名解析错误。
说到底,CMD 命令行看起来黑乎乎、冷冰冰的,但用顺手了,你会发现它比任何图形界面都直接、高效。那些你以为很复杂的东西,其实就几条命令的事。下次别再对着那个黑框发怵了,打开它,敲几个字,数据库就在你面前。


