數據庫和表的創建
創建數據庫:
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的語法思維導圖