MySQL - 查询:初学者指南
你好,未来的数据库大师们!我很高兴能成为你们在这激动人心的MySQL查询世界中的向导。作为一位有着多年计算机科学教学经验的老师,我见证了无数学生从完全的初学者成长为数据库高手。所以,如果你是从零开始,不用担心——我们会一步一步地来,在你意识到之前,你将能够像专业人士一样编写查询!
MySQL 创建数据库
让我们从基础开始。想象一下你正在建造一栋房子——在你能够装饰房间之前,你需要先建造房子本身。在MySQL中,创建数据库就是这样的事情。这就好像为你的所有数据打下基础。
下面是如何创建一个数据库:
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 ('杀死一只知更鸟', '哈珀·李', 1960, '小说');
这就把我们的第一本书添加到了表中。注意我们没有指定“id”——MySQL会自动为我们分配一个。
让我们再添加一本:
INSERT INTO books (title, author, publication_year, genre)
VALUES ('1984', '乔治·奥威尔', 1949, '科幻');
恭喜你!你刚刚向你的数据库中添加了两本书。这就好像在你的新书架上放置了实际的书籍。
MySQL 更新查询
糟糕!我们犯了一个错误。“1984”并不是真正的科幻小说,它更像是一部反乌托邦小说。不用担心,我们可以使用UPDATE查询来修复它:
UPDATE books
SET genre = '反乌托邦小说'
WHERE title = '1984';
这个命令告诉MySQL找到标题为“1984”的书并更改它的类别。这就好像拿起这本书,擦掉“科幻小说”的标签,然后写下“反乌托邦小说”。
MySQL 修改查询
如果我们想要向我们的书籍表中添加新的信息,比如页数,该怎么办呢?我们可以使用ALTER TABLE命令:
ALTER TABLE books
ADD COLUMN pages INT;
这向我们的表中添加了一个名为“pages”的新列。这就好像在每个书架的槽位中添加了一个新隔间。
MySQL 删除查询
有时,我们可能想要从我们的数据库中删除一本书。我们可以使用DELETE命令来做到这一点:
DELETE FROM books
WHERE title = '杀死一只知更鸟';
这会从我们的表中删除指定的书。小心使用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 = '杀死一只知更鸟'; |
TRUNCATE | 从表中删除所有数据 | TRUNCATE TABLE books; |
DROP | 删除一个表或数据库 | DROP TABLE books; 或 DROP DATABASE my_first_db; |
就这样!你刚刚迈入了MySQL查询的世界。记住,像任何技能一样,熟能生巧。不要害怕尝试这些命令——这是你真正学习的途径。
在你意识到之前,你将能够像专业人士一样管理数据库,用你的SQL技能给你的朋友们留下深刻印象,甚至可能得到那份梦寐以求的数据管理工作。谁知道呢,你甚至可能有一天会教MySQL!
继续学习,保持好奇心,愉快地查询!
Credits: Image by storyset