首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

MySQL 查詢當前數據庫與版本的正確語法

     編輯:程式設計綜合問答

問題現象

用戶嘗試查詢當前數據庫和版本報錯,但查詢用戶和時間正常,懷疑權限問題。

正確查詢語句

查看當前使用的數據庫

-- 方法一:顯示所有數據庫(當前使用的會標 *)
SHOW DATABASES;

-- 方法二:直接查詢當前數據庫(需先 USE 數據庫)
SELECT DATABASE();

查看 MySQL 版本

-- 方法一:版本函數
SELECT VERSION();

-- 方法二:系統變量
SELECT @@VERSION;

報錯原因分析

  • 用戶可能嘗試 `SELECT * FROM current_database` 等不存在的表
  • 權限問題通常表現為 `Access denied`,而非語法錯誤
  • 截圖中的 `ERROR 1064 (42000)` 是語法錯誤,`ERROR 1054 (42S22)` 是列不存在

用戶管理相關

創建用戶

CREATE USER 'username'@'%' IDENTIFIED BY 'password';

授權

GRANT ALL PRIVILEGES ON db_name.* TO 'username'@'%';
FLUSH PRIVILEGES;

刪除用戶(正確語法)

DROP USER 'username'@'%';

注意:MySQL 5.7+ 不支持 `DELETE FROM mysql.user` 直接刪除,必須用 `DROP USER`。

錯誤代碼速查

錯誤碼SQLSTATE含義
106442000語法錯誤
105442S22列不存在
114242000權限不足

總結

查詢當前庫用 `SELECT DATABASE()`,查版本用 `SELECT VERSION()`。用戶操作用標準 DDL 語法,避免直接操作 mysql 系統表。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved