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

MySQL 從零開始:Windows 安裝、基礎操作、資料表建立與多表查詢實戰

     編輯:MySQL 資料庫相關知識

第一階段:Windows 環境安裝與啟動 (以 3.23/4.x 為例)

安裝步驟

  1. 下載 MySQL-3.23.35-win.zip 解壓縮。
  2. 執行 setup.exe,選擇典型安裝至 D:\MySQL。

啟動方式比較

方式步驟適用場景
圖形工具 winMySQLadmin執行 bin\winMySQLadmin.exe → 設定 my.ini (選 mysqld-opt for Win9x) → 儲存 → 可設開機自動啟動初學者、視覺化管理
命令列手動啟動Win9x: mysqld
WinNT/2K/XP: mysqld-nt --standalone
臨時測試、腳本控制

驗證安裝

mysqlshow                 -- 顯示資料庫列表
mysqlshow -u root mysql   -- 顯示 mysql 系統庫資料表
mysqladmin version status proc -- 版本、狀態、執行緒
mysql test                -- 進入互動模式

關閉服務

mysqladmin -u root shutdown

第二階段:MySQL 互動模式基礎指令

  • 進入: mysql (若報 2003 錯誤請先啟動服務)。
  • 離開: quit、exit 或 Ctrl+D。
  • 版本與日期: SELECT VERSION(), CURRENT_DATE(); (不分大小寫)。
  • 計算器功能: SELECT (20+5)*4, SIN(PI()/3);、SELECT ... AS 別名。
  • 多行輸入: 以分號 ; 結束,提示符變 ->。
  • 單行多指令: 分號分隔。
  • 取消指令: 輸入 \c。

第三階段:資料庫與資料表建立實戰

建立資料庫 abccs 及員工生日表 mytable

CREATE DATABASE abccs;
USE abccs;
CREATE TABLE mytable (
    name VARCHAR(20),
    sex CHAR(1),
    birth DATE,
    birthaddr VARCHAR(20)
);

檢視結構

DESCRIBE mytable;

新增資料 (單筆/批次)

-- 單筆
INSERT INTO mytable VALUES ('abccs','f','1977-07-07','china');

-- 批次 (文字檔 mytable.txt,Tab 分隔)
abccs    f    1977-07-07    china
mary     f    1978-12-12    usa
tom      m    1970-09-02    usa

LOAD DATA LOCAL INFILE "mytable.txt" INTO TABLE mytable;

第四階段:資料查詢與進階操作

基本 SELECT 用法

  • 全表:SELECT * FROM mytable;
  • 修正錯誤:UPDATE mytable SET birth='1973-09-02' WHERE name='tom';
  • 條件篩選:WHERE name='tom'、WHERE sex='f' AND birthaddr='china'
  • 特定欄位:SELECT name, birth FROM mytable;
  • 排序:ORDER BY birth (遞增)、ORDER BY birth DESC (遞減)
  • 統計:COUNT(*)、GROUP BY sex 分組計數

第五階段:多表關聯查詢 (JOIN)

建立文章表 title

CREATE TABLE title (
    writer VARCHAR(20) NOT NULL,
    title VARCHAR(40) NOT NULL,
    senddate DATE
);

跨表查詢範例

-- 查詢 abccs 的姓名、性別、文章標題
SELECT m.name, m.sex, t.title
FROM mytable m, title t
WHERE m.name = t.writer AND m.name = 'abccs';

-- 查詢文章 a2 的作者、出生地、出生日期
SELECT t.title, t.writer, m.birthaddr, m.birth
FROM mytable m, title t
WHERE m.name = t.writer AND t.title = 'a2';

關鍵: 以 WHERE 指定關聯鍵 (m.name = t.writer);若欄位同名需加表前綴 (mytable.name vs title.name)。

第六階段:資料維護、備份與批次處理

結構變更

-- 增加欄位
ALTER TABLE mytable ADD COLUMN single CHAR(1);

-- 修改資料
UPDATE mytable SET single='y' WHERE name='abccs';

刪除操作

DELETE FROM mytable WHERE name='abc';  -- 刪除列
DROP TABLE table_name;                 -- 刪除表
DROP DATABASE db_name;                 -- 刪除庫 (慎用!)

備份與還原

-- 備份 (DOS 下執行)
mysqldump --opt abccs > abccs.dbb

-- 批次執行 SQL 腳本 (mytest.sql)
mysql < mytest.sql
mysql < mytest.sql | more      -- 分頁顯示
mysql < mytest.sql > mytest.out -- 輸出至檔案

mytest.sql 範例:

USE abccs;
SELECT * FROM mytable;
SELECT name, sex FROM mytable WHERE name='abccs';
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved