如何檢查我有權執行查詢的數據庫伺服器上安裝了哪些數據庫引擎?
我想檢查我可以訪問的 Datasase 伺服器上正在執行什麼類型的 sql。我只能訪問 Web 界面和表格列表。
通過該界面,我可以對列表中存在的表執行查詢。
如何獲取有關伺服器和伺服器正在執行的版本的更多資訊。我不知道伺服器正在執行的 IP 或埠。
我想知道伺服器是 MySQL、Mircosoft SQL Server、Oracle SQL、Postgre SQL 還是其他 sql server。
我說的網站是這個: w3schools.com SQL editor。
編輯 2:雖然對於某些命令 select sqlite_version() 對我有用,但它不起作用。這是響應的螢幕截圖。
編輯 3:在 Chromium 瀏覽器上,該命令執行正常。但是在 Firefox 瀏覽器上,該命令不起作用。
我還提到我正在執行 Linux。
您認為在 Firefox 和 Chrome 上我得到不同結果的原因可能是什麼?
我假設您的 Web 界面允許您發出 SQL 命令。如果是這樣,您可以使用:
SELECT version();
PostgreSQL
如果您使用的是PostgreSQL數據庫,您會收到類似於以下內容的響應
PostgreSQL 9.6.1 on x86_64-apple-darwin14.5.0, compiled by Apple LLVM version 7.0.0 (clang-700.1.76), 64-bit
MySQL
如果您在MySQL數據庫上,答案看起來像
5.7.12-log
甲骨文
如果您使用的是Oracle數據庫,則會收到一條錯誤消息:
ORA-00923: FROM keyword not found where expected
(ORA-xxxx 告訴你你在 Oracle 上)。要找出哪個特定版本,請嘗試:
SELECT banner as "oracle version" from v$version
你會得到如下響應:
Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production PL/SQL Release 11.2.0.2.0 - Production CORE 11.2.0.2.0 Production TNS for 64-bit Windows: Version 11.2.0.2.0 - Production NLSRTL Version 11.2.0.2.0 - Production
微軟 SQL 伺服器
如果您在MS SQL Server上,響應也將是一個錯誤,如下所示:
'version' is not a recognized built-in function name.
在這種情況下,您可以嘗試:
SELECT @@version ;
作為響應,您會得到如下所示的內容:
Microsoft SQL Server 2016 (SP1) (KB3182545) - 13.0.4001.0 (X64) Oct 28 2016 18:17:30 Copyright (c) Microsoft Corporation Enterprise Edition (64-bit) on Windows Server 2012 R2 Standard 6.3 <X64> (Build 9600: ) (Hypervisor)
SQLite
如果您使用的是SQLite數據庫,則在嘗試時會收到一條錯誤消息
SELECT version()
:could not prepare statement (1 no such function: version)
在這種情況下,您可以嘗試:
SELECT sqlite_version()
響應將如下所示:
3.14.0
這個線上 SQL 編輯器使用Web SQL 數據庫,即嵌入在瀏覽器中的 SQL。如果您在http://www.w3schools.com/w3Database.js查看他們的 JS 原始碼並將 API 呼叫與 Web SQL 的 W3C 規范進行比較,則很容易辨識 ,例如他們如何打開數據庫:
w3Database = window.openDatabase('W3SchoolsDemoDatabase', '1.0', 'W3SchoolsDemoDatabase', 2 * 1024 * 1024);
所以沒有數據庫伺服器,它實際上是執行 SQL 的瀏覽器,以及您的瀏覽器選擇使用的 SQL 引擎(假設它具有 SQL 功能),這
sqlite
很有意義。(編輯:不完全正確,因為根據Martin Smith 的回答,當瀏覽器不支持 Web SQL 時,JS 送出程式碼會退回到伺服器端 MS-Jet 引擎)。
請注意,W3C 已決定在 2010 年放棄瀏覽器中的 SQL 概念,現在它已經過時了。