【MySQL基礎】MySQL核心操作全解析
- 前言
- 一、數據庫操作😶?🌫?
- 1.1 查看數據庫🔍
- 1.2 創建數據庫?
- 1.3 選擇數據庫📌
- 1.4 刪除數據庫?
- 二、數據表操作📋
- 2.1 創建數據表?
- 2.2 查看數據表🔍
- 2.3 查看表結構📊
- 2.4 刪除數據表?
- 三、數據操作🔄
- 3.1 增加數據?
- 3.2 查詢數據🔍
- 3.3 修改數據??
- 3.4 刪除數據?
- 四、實用輔助操作🛠?
- 4.1 查看MySQL安裝目錄📍
- 4.2 查看數據存儲目錄📍
- 4.3 查詢錯誤日志目錄📍
- 總結
前言
你可能沒意識到,平時刷手機時看到的聊天記錄、購物訂單、游戲角色信息,背后都藏著 “數據庫” 在幫忙管理。而 MySQL,就是最常用的數據庫工具之一,它像個 “智能文件柜”,能把雜亂的數據整理得井井有條,還能快速找到我們需要的信息。?
剛開始接觸 MySQL 時,不少人會怕 “操作復雜”“看不懂代碼”。其實不用慌,這部分內容會避開難懂的專業術語,從最實用的基礎操作講起 —— 比如怎么把數據存進 MySQL,怎么快速找出想要的信息,每一步都盡量簡單明了。哪怕你是第一次碰數據庫,跟著步驟慢慢試,也能很快上手,讓你感受到 MySQL 管理數據的方便~
??沒安裝MySql請看👇👇👇:
從下載到運行:MySQL 詳細安裝配置完整教程
一、數據庫操作😶?🌫?
我們先輸入打開mysql
mysql -u root -p
1.1 查看數據庫🔍
1)查看MySQL服務器中所有數據庫
通過以下SQL語句可列出當前MySQL服務下已存在的所有數據庫:
SHOW DATABASES;
具體實操效果如下:
其中4個默認系統數據庫的作用需重點了解:
information_schema
:MySQL的數據字典,記錄所有數據庫、表的結構及字段信息。performance_schema
:性能監控庫,存儲服務器運行時的性能參數與狀態。mysql
:核心管理庫,保存用戶權限、系統配置等關鍵信息(如root用戶密碼)。sys
:輔助管理庫,包含預定義的存儲過程和函數,簡化日常運維操作。
注意:這4個數據庫是MySQL安裝后自動生成的核心組件,切勿隨意刪除或修改,否則可能導致服務器無法正常運行。
2)查看指定數據庫的創建信息
若需了解某數據庫的創建語句(如字符集、校對集),可使用以下命令:
SHOW CREATE DATABASE 數據庫名稱;
以查看sys
數據庫為例,實操效果如下:
SHOW CREATE DATABASE sys;
該命令會顯示數據庫的創建SQL語句,以及默認字符集等配置,便于后續復現或修改數據庫屬性。
3)查看當前正在操作的數據庫
若忘記當前處于哪個數據庫上下文,可通過以下命令查詢:
SELECT DATABASE();
具體實操效果如下:
注意:執行該命令前必須先通過USE
語句選擇數據庫,否則會返回NULL
(未選中任何數據庫)。
1.2 創建數據庫?
創建數據庫的基本語法如下,其中可選參數可按需添加:
CREATE DATABASE [IF NOT EXISTS] 數據庫名稱 [庫選項];
關鍵說明:
IF NOT EXISTS
:可選參數,意為“若數據庫不存在則創建”,避免因重復創建導致報錯。- 數據庫名稱規則:僅允許包含字母、數字和下劃線,且不能以數字開頭(如
db_test
合法,123_db
不合法)。 - 庫選項:常用
CHARSET
(指定字符集)和COLLATE
(指定校對集),默認字符集為latin1
(不支持中文),建議顯式設置為utf8mb4
(支持中文及emoji等4字節字符,比utf8
更全面)。
具體實操效果如下:
1.3 選擇數據庫📌
在操作數據表或數據前,需先指定要操作的數據庫,語法如下:
USE 數據庫名稱;
具體實操效果如下:
1.4 刪除數據庫?
刪除數據庫的語法如下,執行后會徹底清除數據庫及其中所有數據,需謹慎操作:
DROP DATABASE [IF EXISTS] 數據庫名稱;
關鍵說明:
IF EXISTS
:可選參數,若數據庫不存在則忽略刪除操作,避免報錯。- 操作風險:刪除數據庫會永久刪除其中所有數據表和數據,且無法恢復,建議操作前備份重要數據。
具體實操效果如下:
二、數據表操作📋
2.1 創建數據表?
創建數據表需基于已選中的數據庫,基本語法如下,可按需配置字段、屬性及表選項:
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] 表名( 字段1 字段1類型 [字段屬性] [COMMENT 字段1注釋], 字段2 字段2類型 [字段屬性] [COMMENT 字段2注釋], ...... 字段n 字段n類型 [COMMENT 字段n注釋]
) [表屬性] [COMMENT 表注釋];
關鍵說明:
TEMPORARY
:創建臨時表,僅在當前MySQL會話中可見,會話關閉后自動刪除。- 字段類型:需根據數據特點選擇(如
INT
存整數、VARCHAR
存字符串、DATE
存日期)。 - 字段屬性:常用
NOT NULL
(非空約束)、DEFAULT
(默認值)、PRIMARY KEY
(主鍵)等。 - 表屬性:常用
ENGINE
(存儲引擎,推薦InnoDB
,支持事務和外鍵)、DEFAULT CHARSET
(字符集,建議設為utf8mb4
),確保表支持中文及特殊字符。
具體實操效果如下:
首先創建一個數據庫:CREATE DATABASE IF NOT EXISTS CompanyDB;
進入創建的數據庫;USE CompanyDB;
CREATE TABLE IF NOT EXISTS Employee(emp_id INT PRIMARY KEY AUTO_INCREMENT COMMENT '員工ID:自動生成,每個員工唯一',emp_name VARCHAR(50) NOT NULL COMMENT '員工姓名:比如“張三”,必須填',emp_job VARCHAR(50) COMMENT '員工職位:比如“程序員”,可填可不填',emp_hire_date DATE COMMENT '入職日期:比如“2024-01-15”,可填可不填'
) COMMENT '最簡單員工表:存員工核心信息';
👉顯示ok即創建成功
2.2 查看數據表🔍
1)查看當前數據庫中的所有數據表
語法如下,可選LIKE
匹配模式篩選表名:
SHOW TABLES [LIKE 匹配模式];
匹配模式說明:
%
:匹配任意長度的字符(包括0個),如SHOW TABLES LIKE 'user%'
匹配所有以user
開頭的表。_
:僅匹配1個字符,如SHOW TABLES LIKE 'user_'
匹配user1
、userA
等(僅后綴1個字符)。
具體實操效果如下:
2)查看數據表的詳細信息
若需了解表的存儲引擎、創建時間、字符集等信息,可使用以下命令:
SHOW TABLE STATUS [FROM 數據庫名] [LIKE 匹配模式];
具體實操效果如下:
擴展技巧:在命令末尾加\G
可將結果縱向排列,便于查看字段較多的表信息(如大表的存儲大小、行數)。
2.3 查看表結構📊
MySQL提供多種方式查看表結構,核心是了解字段名、類型、約束等信息:
1)簡潔查看字段信息(DESC/DESCRIBE)
兩種語法效果一致,前者為后者的簡寫:
# 語法1:查看所有字段
{DESCRIBE|DESC} 數據表名;# 語法2:查看指定字段
{DESCRIBE|DESC} 數據表名 字段名;
查看所有字段的實操效果如下:desc employee;
查看指定字段的實操效果如下: desc employee emp_id;
2)查看數據表的創建語句
若需復現表結構或查看完整配置(如存儲引擎、字符集),可使用:
SHOW CREATE TABLE 表名;
具體實操效果如下: SHOW CREATE TABLE employee/G;
3)詳細查看字段屬性(SHOW COLUMNS)
添加FULL
參數可查看字段權限、校對集等額外信息:
# 語法1:基于當前數據庫
SHOW FULL COLUMNS FROM 數據表名;# 語法2:查看指定數據表完整結構
SHOW [FULL] COLUMNS FROM 數據庫名.數據表名;
查看完整信息的實操效果如下: SHOW FULL COLUMNS FROM Employee;
查看指定數據表完整結構:SHOW FULL COLUMNS FROM CompanyDB.Employee;
2.4 刪除數據表?
刪除數據表會徹底清除表結構及所有數據,語法如下:
# 單表刪除(永久表)
DROP TABLE [IF EXISTS] 數據表名;
單表刪除(永久表)的實操效果如下: deop table if exists employee;
三、數據操作🔄
3.1 增加數據?
MySQL提供多種數據插入方式,可按需選擇單條、多條或指定字段插入:
1)為部分字段插入數據
適用于僅需賦值部分字段(未賦值字段需允許為空或有默認值),兩種語法如下:
# 語法1:字段列表+VALUES
INSERT [INTO] 數據表名(字段1, 字段2, ...) {VALUES|VALUE} (值1, 值2, ...);# 語法2:SET關鍵字賦值(靈活性更高)
INSERT [INTO] 數據表名 SET 字段1=值1, 字段2=值2, ...;
字段列表+VALUES的實操效果如下:
INSERT INTO Employee(emp_name, emp_job, emp_hire_date)-> VALUES('李四', NULL, NULL);
SELECT * FROM Employee;
SET關鍵字賦值的實操效果如下:
INSERT INTO Employee ?
SET emp_name='王五', emp_job='銷售', emp_hire_date='2024-03-15';
SELECT * FROM Employee;
注意:字段順序與值順序必須一一對應,字符串類型的值需用單引號包裹(如'李四'
)。
2)為所有字段插入數據
可省略字段列表,但值的順序必須與表結構字段順序完全一致:
INSERT [INTO] 數據表名 {VALUES|VALUE} (值1, 值2, ..., 值n);
具體實操效果如下:
INSERT INTO Employee VALUES(NULL, '周二', NULL, NULL);
SELECT * FROM Employee;
3)批量插入多行數據
通過逗號分隔多個值列表,大幅提升插入效率(避免多次執行單條插入):
INSERT [INTO] 數據表名 [字段列表] VALUES (值列表1), (值列表2), ..., (值列表n);
具體實操效果如下:
INSERT INTO Employee (emp_name, emp_job, emp_hire_date)
VALUES ('吳九', '產品經理', '2024-05-01'), -- 第一條:填全3個字段('鄭十', '設計師', NULL), -- 第二條:不填入職日期(用NULL)('錢十一', NULL, '2024-05-10'); -- 第三條:不填職位(用NULL)
SELECT * FROM Employee;
3.2 查詢數據🔍
查詢是數據操作的核心,支持查詢所有字段、指定字段及帶條件篩選:
1)查詢表中所有數據
使用*
通配符表示所有字段,適用于需查看完整數據的場景:
SELECT * FROM 數據表名;
具體實操效果如下:
2)查詢指定字段數據
僅查詢所需字段,減少數據傳輸量,提升效率:
SELECT 字段1, 字段2, ... FROM 數據表名;
具體實操效果如下:
SELECT emp_name, emp_job, emp_hire_date FROM Employee WHERE emp_job='產品經理';
3)帶條件查詢數據
通過WHERE
子句篩選符合條件的記錄,常用條件運算符(=
、>
、<
、!=
等):
# 語法1:查詢所有字段(帶條件)
SELECT * FROM 數據表名 WHERE 條件表達式;# 語法2:查詢指定字段(帶條件)
SELECT 字段1, 字段2 FROM 數據表名 WHERE 字段名=值;
帶條件查詢所有字段的實操效果如下:
SELECT * FROM Employee WHERE emp_job='產品經理';
帶條件查詢指定字段的實操效果如下:
SELECT emp_name, emp_hire_date FROM Employee WHERE emp_job='設計師';
3.3 修改數據??
通過UPDATE
語句修改已有數據,必須加WHERE
條件(否則會修改表中所有記錄):
UPDATE 數據表名 SET 字段1=值1, 字段2=值2, ... [WHERE 條件表達式];
關鍵說明:
- 多字段修改用逗號分隔“字段=值”對。
WHERE
條件用于定位需修改的記錄(如id=1
),避免誤改無關數據。
具體實操效果如下:
UPDATE Employee
SET emp_job='高級銷售'
WHERE emp_name='王五';
SELECT * FROM Employee;
3.4 刪除數據?
通過DELETE
語句刪除數據,同樣必須加WHERE
條件(否則會刪除表中所有記錄):
DELETE FROM 數據表名 [WHERE 條件表達式];
關鍵說明:
- 若需清空表中所有數據且不保留表結構,也可使用
TRUNCATE TABLE 表名
(效率更高,但無法恢復數據,且不觸發刪除觸發器)。 DELETE
支持帶復雜條件刪除(如WHERE age>30
),需謹慎驗證條件正確性。
具體實操效果如下:
DELETE FROM Employee WHERE emp_name='錢十一';
四、實用輔助操作🛠?
4.1 查看MySQL安裝目錄📍
通過查詢BASEDIR
變量,可快速獲取MySQL的安裝路徑(便于找到配置文件my.ini
或my.cnf
):
SHOW VARIABLES LIKE 'BASEDIR';
具體實操效果如下:
4.2 查看數據存儲目錄📍
通過查詢DATADIR
變量,可找到數據庫文件的實際存儲路徑(如ibdata1
共享表空間文件、各數據庫對應的文件夾及表文件):
SHOW VARIABLES LIKE 'DATADIR';
具體實操效果如下:
4.3 查詢錯誤日志目錄📍
錯誤日志記錄MySQL運行中的異常信息(如啟動失敗、SQL執行錯誤、連接超時等),通過以下命令可找到日志路徑,便于排查故障:
SHOW VARIABLES LIKE 'log_error';
具體實操效果如下:
總結
以上就是MySQL基礎操作的完整內容,確保新手實操時少踩坑。
如果在操作中遇到問題,歡迎在評論區留言或私信交流;若覺得內容對自己有幫助,不妨點贊、關注支持一下,后續會持續更新MySQL進階教程(如索引優化、事務管理、多表關聯查詢),感謝大家的閱讀!
意氣風發,漫卷疏狂
學習是成長的階梯,每一次的積累都將成為未來的助力。我希望通過持續的學習,不斷汲取新知識,來改變自己的命運,并將成長的過程記錄在我的博客中。
如果我的博客能給您帶來啟發,如果您喜歡我的博客內容,請不吝點贊、評論和收藏,也歡迎您關注我的博客。
您的支持是我前行的動力。聽說點贊會增加自己的運氣,希望您每一天都能充滿活力!
愿您每一天都快樂,也歡迎您常來我的博客。我叫意疏,希望我們一起成長,共同進步。
我是意疏 下次見!