数据库各种shell都在这儿,想了解的都能找到一点点总结和介绍
- 问答
- 2025-12-27 11:55:30
- 3
网络技术社区、博客园、CSDN、知乎等平台的多位技术博主和数据库爱好者的经验分享与总结)

说到数据库的shell,其实就是我们和数据库“对话”的那个黑窗口命令行界面,每种数据库为了管理方便,都会给自己配一个专门的“对话工具”,这就是它的shell,下面我就把常见的几种给你念叨念叨,都是大白话,保证你听了能明白个大概。
MySQL 的 mysql client
这大概是世界上最出名的数据库shell之一了,你安装好MySQL服务器后,通常会自带一个叫mysql的命令行工具,用起来很简单,在终端里输入mysql -u用户名 -p密码,敲回车,就进去了,进去之后,提示符会变成mysql>,这时候你就可以为所欲为了,敲个show databases; 看看有哪些数据库;用use 数据库名; 选一个数据库来用;再敲show tables; 看看这个数据库里有哪些表,增删改查的命令就是SELECT, INSERT, UPDATE, DELETE这些,最需要注意的是,在mysql shell里,每一条命令打完都要跟一个分号,然后回车它才会执行,不然它会以为你还没说完,等着你呢,这个工具虽然看起来朴素,但功能非常强大,老手都爱用。

PostgreSQL 的 psql
PostgreSQL也是个狠角色,它的shell叫psql,用法和mysql client有点像,也是psql -U用户名 -d数据库名 -h主机地址这样连进去,进去之后的提示符一般是数据库名=#,它比mysql client更“话痨”一点,比如你打错命令,它会给你很详细的错误提示,告诉你可能错在哪了,psql有很多好玩的内部命令,以反斜杠\开头,比如\l是列出所有数据库,相当于mysql的show databases;;\c 数据库名是切换数据库;\dt是列出当前数据库的所有表,这些反斜杠命令不用加分号,直接回车就行,psql还支持一些简单的快捷键,比如按Tab键可以自动补全表名或字段名,对新手特别友好。
MongoDB 的 mongo shell (注意:新版本变化)
MongoDB是搞文档数据库的,它的shell画风就和前面两个关系型数据库完全不一样了,它用的是JavaScript语法!老的版本shell命令叫mongo,你直接输入mongo就能连上本地的数据库,连上去之后,提示符是>,你可以在里面写JavaScript代码来操作数据库,用show dbs显示数据库(注意这里不用分号),用use mydb切换或创建数据库,插入一条数据可能是db.collection.insertOne({name: "张三", age: 20}),这里的db就代表当前数据库,collection是集合名(相当于表),查询是db.collection.find(),非常灵活,对于会点前端JS的朋友来说上手很快,但是要特别注意,新版本的MongoDB(6.0以上吧大概)已经用一个新的shell叫mongosh取代了老的mongo。mongosh功能更强大,颜色高亮、智能提示、语法检查都更好,但基本的使用逻辑和JavaScript语法还是一脉相承的。
Redis 的 redis-cli
Redis是内存数据库,超级快,它的shell叫redis-cli,意思是Redis命令行接口,这个就更直接了,输入redis-cli就连上本地的Redis服务了,它的提示符是0.0.1:6379>,Redis的命令都是一个个简单的单词,因为它是键值对存储嘛,设置一个键值对:set mykey "hello",然后获取它:get mykey,它不支持SQL,也没有复杂的查询语句,就是这种简单的“命令+键+值”的形式,它也有很多自己特色的命令,比如keys *查看所有键(生产环境慎用,数据多了会卡死),hset用于操作哈希类型,lpush用于操作列表类型,在redis-cli里,命令一般不用分号结尾,直接回车执行。
SQLite 的 sqlite3
SQLite是一个超级轻量级的数据库,整个数据库就是一个文件,它的shell工具就叫sqlite3,你可以在命令行里输入sqlite3 数据库文件名.db来打开或创建一个数据库文件,它的提示符是sqlite>,它的操作方式和MySQL的mysql client比较像,也是用标准的SQL语句,比如CREATE TABLE, SELECT等,命令也是以分号结束,它也有一些自己的点命令,以点号开头,比如.databases显示当前连接的数据库文件信息,.tables列出所有表,.exit或.quit退出,因为它太轻量了,经常被嵌入到手机App或者一些小工具里,但照样有个shell可以让你手动操作。
总结一下 这么看下来,你会发现这些数据库shell虽然都是黑窗口,但性格各异,MySQL和PostgreSQL、SQLite这类关系数据库的shell,核心是执行SQL语句,比较严肃,MongoDB的shell是JavaScript风格的,很自由活泼,Redis的shell则像个高效的指令集,一言不合就干活,没那么多废话,它们各自都为自己的数据库量身定做,是你深入理解和操作对应数据库最直接、最根本的工具,刚开始可能会觉得记命令麻烦,但用熟了就会发现,在shell里操作又快又直接,比很多图形化界面软件都来得痛快。

本文由帖慧艳于2025-12-27发表在笙亿网络策划,如有疑问,请联系我们。
本文链接:http://waw.haoid.cn/wenda/69394.html
