数据库和表的创建
创建数据库:
CREATE DATABASE IF NOT EXISTS MyDatabase;
USE MyDatabase;
案例: 想象您要开始一个博客项目。首先,您需要一个地方来存储所有的文章和用户信息。上述命令帮助您创建了这样一个存储空间,名为MyDatabase。
创建表:
CREATE TABLE MyBlog (
PostID int,
Title varchar(255),
Content text,
PublishDate date
);
案例: 您的博客项目需要一个表来存储博文的标题、内容和发布日期。MyBlog表正是为此而生,具有相应的列来存储这些信息。
CRUD操作
插入数据:
INSERT INTO MyBlog (PostID, Title, Content, PublishDate)
VALUES (1, 'My First Post', 'Welcome to my new blog!', CURDATE());
案例: 您刚写完了第一篇博文,标题是“My First Post”,现在您需要将它加入到MyBlog表中。
更新数据:
UPDATE MyBlog SET Title = 'My First Edited Post' WHERE PostID = 1;
案例: 在重新阅读您的第一篇博文后,您决定将标题更改为“My First Edited Post”。
查询数据:
SELECT * FROM MyBlog WHERE Title LIKE '%First%';
案例: 您想找出所有标题中包含“First”的博文,以检查您的首次相关文章。
删除数据:
DELETE FROM MyBlog WHERE PostID = 1;
案例: 若您的第一篇博文不再相关,您可能需要将其从MyBlog表中删除。
高级查询
分组查询:
SELECT AuthorID, COUNT(*) AS NumberOfPosts FROM MyBlog GROUP BY AuthorID;
案例: 您的博客平台现在有多位作者,您想要统计每位作者发表了多少篇文章。
查询优化
索引创建:
CREATE INDEX idx_title ON MyBlog (Title);
案例: 随着博客文章的增多,您发现按标题搜索文章变得缓慢。创建索引可以加快搜索速度。
使用EXPLAIN分析:
EXPLAIN SELECT * FROM MyBlog WHERE Title LIKE '%MySQL%';
案例: 您注意到搜索含有“MySQL”的文章时响应时间较长。使用EXPLAIN可以帮助您理解为何如此,并指导您如何优化查询。
下面再分享给大家一张基础MySQL的语法思维导图