首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 日常操作完整手冊:連線、改密、配置檔、重置 Root 密碼、NULL 處理、變數、提示符、事務範例

     編輯:MySQL 資料庫相關知識

1. 連線資料庫伺服器

mysql -h host_name -u user_name -p
# 參數說明:
# -h (--host)   主機名,本機可省略
# -u (--user)   用戶名,Unix同系統登入名可省略;Windows可用 set USER=username
# -p (--password) 提示輸入密碼(最安全);-ppassword 直接帶入(不安全)

連線後:USE db_name; 或啟動時直接指定 mysql -h host -u user -p db_name

2. 更新用戶密碼

UPDATE user SET Password=PASSWORD('newpass') WHERE Host='%';
FLUSH PRIVILEGES;

3. 配置檔讀取順序與作用域

順序路徑作用域
1/etc/my.cnf全域選項
2DATADIR/my.cnf伺服器專屬選項
3--defaults-extra-file 指定檔額外配置
4~/.my.cnf用戶專屬選項

後讀取的同名選項會覆蓋先前值。

4. 重置 Root 密碼(忘記密碼時)

Linux/Unix

  1. 停止服務:kill -TERM pid(正常關閉)或 kill -9 pid(強制,不推薦)
  2. 若用 mysqld_safe 啟動,先殺掉 mysqld_safe 進程
  3. 跳過權限表啟動:mysqld_safe --skip-grant-tables &
  4. 無密碼登入:mysql -u root
  5. 修改密碼:
    USE mysql;
    SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');
  6. 正常重啟服務

Windows

  1. 管理員身份停止 MySQL 服務
  2. 啟動:mysqld-nt --skip-grant-tables
  3. 新視窗執行 mysql -u root 修改密碼(同 Linux)
  4. 正常重啟服務

5. NULL 值處理

  • NULL 代表「無值」,不可用 =、<>、算術運算比較
  • 判斷:IS NULL / IS NOT NULL
  • MySQL 3.23.6+ 支援 <=> 安全等於(NULL = NULL 為真)
  • 排序:4.0.2+ NULL 永遠排在最前(即使 DESC);舊版 ASC 排前、DESC 排後

6. 使用者變數

-- 定義與賦值
SELECT @var := id FROM test WHERE col='val';
-- 後續使用
SELECT * FROM test WHERE col = @var;

變數格式 @name,連線級作用域,連線斷開自動失效。

7. 自訂提示符

mysql> PROMPT \d>_
none> USE test
test> USE mysql
mysql>

\d 當前資料庫,_ 空格。常用格式:\u@\h:\d>

8. 非優化全表 DELETE(保留 AUTO_INCREMENT)

DELETE FROM table_name WHERE 1;

比 TRUNCATE 慢但可回傳刪除行數並保持自增值不歸零。

9. 事務處理範例 (InnoDB/BDB)

CREATE TABLE account (
    account_id BIGINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
    balance DOUBLE
) ENGINE=InnoDB;

SET AUTOCOMMIT = 0;
BEGIN;
UPDATE account SET balance = 50.25 WHERE account_id = 1;
UPDATE account SET balance = 100.25 WHERE account_id = 2;
COMMIT;  -- 或 ROLLBACK 回滾

-- 自動結束事務的語句:ALTER TABLE, BEGIN, CREATE INDEX, DROP DATABASE/TABLE, LOCK TABLES, RENAME TABLE, TRUNCATE, UNLOCK TABLES
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved