如何查看数据库版本

这就是坑:别混淆不同数据库的版本查询命令。

MySQL:SELECT VERSION(); Oracle:SELECT FROM v$version; SQL Server:右键“属性”或SELECT @@VERSION; PostgreSQL:SELECT version();
实操提醒:记清每个数据库的查询命令。

navicat如何查看数据库版本

直接说结论。

方法一:连接数据库。
左键点数据库名。
右键选“属性”。
看“版本”字段。

方法二:点“查询”按钮。
输入对应命令。
点“运行”。

MySQL命令:SELECT VERSION()。

PostgreSQL命令:SELECT version()。

SQL Server命令:SELECT @@VERSION。

Oracle命令:SELECT FROM v$version。

终端命令:MySQL用 mysql -V。
PostgreSQL用 psql --version。

注意:得有权限。
不同数据库命令不一样。

如何查看数据库版本

说实话,查MySQL版本这事吧,我以前也搞混过好几次。
现在想想,方法确实不少,但用着用着就发现各有各的讲究。

就拿最常用的mysql -V命令来说,这招挺绝。
我之前在朋友的阿里云服务器上整事,那家伙装在C:\Program Files\MySQL\MySQL Server 8 .0\bin下,结果在别的目录敲命令就提示找不到。
说实话,这方法挺鸡肋,非得在安装目录下用,不然白搭。
但好处是,输出直接给版本号,干净利落——mysqlVer8 .0.3 3 这种,一眼就懂。

后来接触过Linux环境,发现个骚操作。
在CentOS 7 上,我用rpm -qa | grep mysql时,居然能看到安装包是8 .0.2 3 有意思的是,这时候你用SELECT VERSION();一查,数据库运行的是8 .0.3 3 当时我就懵了,赶紧去查资料,原来rpm查的是安装记录,跟实际运行版本没毛关系。
这让我明白,在Linux上,rpm方法基本就是看个寂寞。

status命令我也常用。
比如在MariaDB上,输入s回车,终端哗啦一下全信息都出来了,版本号就在里面(Server version: 1 0.3 .1 6 -MariaDB)。
我比较习惯这个,因为还能看到线程数、内存使用这些,方便快速诊断问题。
但前提是你得先登录进去,这点比SELECT VERSION();差了点意思。

登录日志这招,说实话,我基本不用。
除非是给甲方写运维手册,会教他们用mysql -uroot -p登录后看bin目录下的mysql.log。
但说实话,这太麻烦了,重连一次数据库,还可能被要求写操作记录,浪费时间。

要说最好的,还是SELECT VERSION();。
我现在写脚本检查数据库兼容性时,全靠这个。
一行代码搞定,不管Windows还是Linux,navicat还是workbench,通通适用。
而且结果直接是字符串形式,用起来最顺手。
比如在Python里,conn.cursor().execute("SELECT VERSION()").fetchone()[0]直接就拿到版本号,后面接if判断用着特舒服。

不过要注意个细节,有时候SHOW VARIABLES LIKE '%version%'也能看到version字段,但这个字段有时候是版本注释,比如version_comment。
我记得是X左右,但建议你核实下,别真当是主版本号。
这块我没亲自跑过,但看官方文档,version_comment确实可能带点描述信息。

所以你看,方法这么多,其实用得顺手的也就那两三个。
关键是要知道每个方法的边界,别比如用rpm方法就误以为能看运行版本,或者用status命令前就确保能登录进去。
这行当里,细节往往决定成败。