以下是原文翻译成繁體中文的版本:
# MySQL - 查詢:初學者指南
你好啊,未來的數據庫大師!我很興奮能成為你進入MySQL查詢世界的引路人。作為一個教了多年計算機科學的人,我見過無數學生從完全的初學者變成數據庫高手。所以,如果你從零開始也不用擔心——我們會一步步來,在你還沒反應過來之前,你將會像專業人士一樣編寫查詢!
## MySQL 創建數據庫
我們從基礎開始。想像你正在蓋一個房子——在你能夠佈置房間之前,你需要建造房子本身。在MySQL中,創建數據庫就是這麼一回事。這就像為你的所有數據打好基礎。
這樣創建數據庫:
```sql
CREATE DATABASE my_first_db;
這一行簡單的代碼告訴MySQL創建一個名為"my_first_db"的新數據庫。簡單吧?這就像告訴建築隊:"嘿,就在這裡開始蓋我的房子!"
MySQL 使用數據庫
現在,我們已經創建了我們的數據庫,我們需要告訴MySQL我們想要使用它。這就像走進你剛剛蓋好的房子並說:"這就是我要居住的地方。"
這是命令:
USE my_first_db;
從這一刻起,你所有的命令都將應用於這個數據庫,直到你切換到另一個數據庫。這就是這麼簡單!
MySQL 創建查詢
好啦,我們有了我們的房子(數據庫),現在讓我們開始添加一些家具(表)。在MySQL中,我們使用CREATE TABLE命令來做到這一點。讓我們創建一個表來存儲我們最喜歡的書籍信息:
CREATE TABLE books (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(100) NOT NULL,
author VARCHAR(50) NOT NULL,
publication_year INT,
genre VARCHAR(30)
);
哇,這看起來很複雜!但別擔心,讓我們分解一下:
- 我們正在創建一個名為"books"的表
- 它有五個列:id、title、author、publication_year和genre
- "id"列是特殊的——它會為我們添加的每本新書自動增加
- "title"和"author"是必填字段(這就是NOT NULL的意思)
- 我們為每個列指定了數據類型(INT對於數字,VARCHAR對於文本)
這就像設計一個書架,有特定的隔間來存放每本書的不同信息。
MySQL 插入查詢
現在我們有了我們的書架(表),讓我們添加一些書籍!我們使用INSERT INTO命令來做到這一點:
INSERT INTO books (title, author, publication_year, genre)
VALUES ('To Kill a Mockingbird', 'Harper Lee', 1960, '小說');
這將我們的第一本書添加到了表中。注意我們沒有指定"id"——MySQL會為我們自動分配一個。
讓我們再添加一本:
INSERT INTO books (title, author, publication_year, genre)
VALUES ('1984', 'George Orwell', 1949, '科幻小說');
恭喜你!你剛剛將兩本書添加到了你的數據庫。這就像把真正的書放在你的新書架上。
MySQL 更新查詢
哎呀!我們犯了一個錯誤。"1984"其實不是科幻小說,它更像是一部反烏托邦小說。沒關係,我們可以用UPDATE查詢來修正:
UPDATE books
SET genre = '反烏托邦小說'
WHERE title = '1984';
這個命令告訴MySQL找到標題為"1984"的書並更改其類型。這就像拿起書,擦掉"科幻小說"的標籤,然後寫上"反烏托邦小說"。
MySQL 修改查詢
如果我們想要向我們的books表中添加一個新的信息,比如頁數呢?我們可以使用ALTER TABLE命令:
ALTER TABLE books
ADD COLUMN pages INT;
這將在我們的表中添加一個名為"pages"的新列。這就像在我們書架的每個槽中添加一個新隔間。
MySQL 删除查詢
有時候,我們可能想要從我們的數據庫中刪除一本書。我們可以使用DELETE命令來做到這一點:
DELETE FROM books
WHERE title = 'To Kill a Mockingbird';
這將從我們的表中刪除指定的書。使用DELETE时要小心——它是永久的!
MySQL 清空表查詢
如果我們想要從我們的表中刪除所有書籍,但保留表結構呢?這就是TRUNCATE的作用:
TRUNCATE TABLE books;
這就像把所有書從你的書架上拿走,但保留書架本身。這對於大型表來說比一個接一個刪除行要快。
MySQL 删除查詢
最後,如果我們想要完全刪除一個表或數據庫,我們使用DROP命令:
DROP TABLE books;
或者
DROP DATABASE my_first_db;
使用這些命令要非常小心——它們會永久刪除你的表或數據庫!
這裡是我們學過的所有命令的總結,方便查看:
命令 | 目的 | 示例 |
---|---|---|
CREATE DATABASE | 創建一個新數據庫 | CREATE DATABASE my_first_db; |
USE | 切換到特定數據庫 | USE my_first_db; |
CREATE TABLE | 創建一個新表 | CREATE TABLE books (...); |
INSERT INTO | 向表中添加新數據 | INSERT INTO books VALUES (...); |
UPDATE | 修改現有數據 | UPDATE books SET genre = '反烏托邦小說' WHERE title = '1984'; |
ALTER TABLE | 修改表結構 | ALTER TABLE books ADD COLUMN pages INT; |
DELETE | 刪除特定數據 | DELETE FROM books WHERE title = 'To Kill a Mockingbird'; |
TRUNCATE | 從表中刪除所有數據 | TRUNCATE TABLE books; |
DROP | 刪除表或數據庫 | DROP TABLE books; 或 DROP DATABASE my_first_db; |
這就是全部了!你剛剛邁出了進入MySQL查詢世界的第一步。記住,像任何技能一樣,熟練需要練習。不要害怕嘗試這些命令——這就是你真正學習的方式。
在你還沒有反應過來之前,你將會像專業人士一樣管理數據庫,讓你的朋友對你的SQL技能感到印象深刻的,甚至可能會得到那個夢寐以求的數據管理工作。誰知道呢,你甚至可能有一天會教MySQL!
繼續學習,保持好奇心,並且快樂地查詢!
Credits: Image by storyset