MySQL 屬於關係型數據庫管理系統(RDBMS),其核心邏輯可類比為「表格」:
# 解壓至 C:\Program Files\mysql-5.1.69-win32 # 複製 my-small.ini 為 my.ini 並編輯: [client] default-character-set=gbk [mysqld] default-character-set=gbk
MYSQL_HOME = C:\Program Files\mysql-5.1.69-win32Path 追加 ;%MYSQL_HOME%\bin# 安裝服務(管理員 CMD) mysqld --install MySQL --defaults-file="my.ini" # 成功提示:Service successfully installed. # 日常控制 net start MySQL # 啟動 net stop MySQL # 停止 sc delete MySQL # 卸載服務
| 元素 | 說明 | 規則 |
|---|---|---|
| 標識符 | 命名庫/表/欄位/變量 | 字母/數字/下劃線,首字符非數字 |
| 關鍵字 | SQL 保留字 | 避免作標識符,不區分大小寫 |
| 語句 | 操作基本單位 | 以分號結束,標準 SQL + MySQL 擴展 |
| 函數 | 高級功能 | 字符串/數學/日期/搜索/加密/信息六大類 |
大小寫敏感性:Windows 不敏感,Linux/Unix 區分大小寫。
TINYINT、SMALLINT、MEDIUMINT、INT、BIGINTFLOAT、DOUBLE、REAL、DECIMALDATE、TIME、DATETIME、TIMESTAMP、YEARCHAR/VARCHAR、TEXT、BLOB、ENUM、SETCREATE TABLE students (
id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT '學生ID',
name CHAR(8) NOT NULL COMMENT '姓名',
sex ENUM('男','女','保密') NOT NULL DEFAULT '保密' COMMENT '性別',
age TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '年齡',
tel CHAR(13) NOT NULL DEFAULT '-' COMMENT '電話'
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='學生表';
關鍵點解析:
UNSIGNED:無符號,擴大正數範圍AUTO_INCREMENT:自增主鍵,配合 PRIMARY KEYENUM:枚舉類型,限制可選值DEFAULT:預設值,避免 NULL 處理麻煩-- 全欄位插入
INSERT INTO students VALUES (NULL, '王剛', '男', 20, '13811371377');
-- 指定欄位插入
INSERT INTO students (name, sex, age) VALUES ('孫麗華', '女', 21);
-- 基礎查詢 SELECT name, age FROM students; SELECT * FROM students; -- 條件查詢 SELECT * FROM students WHERE sex='女'; SELECT * FROM students WHERE age > 21; SELECT * FROM students WHERE name LIKE '%王%'; SELECT * FROM students WHERE id < 5 AND age > 20;
-- 更新 UPDATE students SET tel=DEFAULT WHERE id=5; UPDATE students SET age=age+1; UPDATE students SET name='張偉鵬', age=19 WHERE tel='13288097888'; -- 刪除 DELETE FROM students WHERE id=2; DELETE FROM students WHERE age < 21; DELETE FROM students; -- 清空表
-- 增加欄位 ALTER TABLE students ADD address CHAR(60); ALTER TABLE students ADD birthday DATE AFTER age; -- 修改欄位 ALTER TABLE students CHANGE tel telphone CHAR(13) DEFAULT '-'; ALTER TABLE students CHANGE name name CHAR(16) NOT NULL; -- 刪除欄位 ALTER TABLE students DROP birthday; -- 重命名表 ALTER TABLE students RENAME workmates; -- 刪除表/庫 DROP TABLE workmates; DROP DATABASE samp_db;
# 將 SQL 保存為 createtable.sql mysql -D samp_db -u root -p < createtable.sql
mysqladmin -u root -p password '新密碼' # 舊密碼為空時直接回車
官方提供的圖形化管理工具,具備:
強烈建議新手從命令行入門理解原理,日常開發轉用 Workbench 提升效率。
掌握上述內容,即可獨立完成 MySQL 環境搭建、建表設計、基礎增刪改查及結構維護。建議在本地實踐每個命令,構建肌肉記憶。