以下是原文翻译成繁體中文的版本:

MySQL - Queries

# 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