MySQL DDL數(shù)據(jù)定義語(yǔ)言示例總結(jié)
DDL:
Data Definition Language 數(shù)據(jù)定義語(yǔ)言
作用:
用于定義和管理數(shù)據(jù)庫(kù)對(duì)象。
包括:
- 數(shù)據(jù)庫(kù)
- 表
- 字段
- 約束
核心思想:
DDL 負(fù)責(zé)“結(jié)構(gòu)” DML 負(fù)責(zé)“數(shù)據(jù)”
數(shù)據(jù)庫(kù)操作
查詢數(shù)據(jù)庫(kù)
查詢所有數(shù)據(jù)庫(kù)
SHOW DATABASES;
查看當(dāng)前 MySQL 中所有數(shù)據(jù)庫(kù)。
查詢當(dāng)前使用的數(shù)據(jù)庫(kù)
SELECT DATABASE();
查看當(dāng)前正在操作哪個(gè)數(shù)據(jù)庫(kù)。
創(chuàng)建數(shù)據(jù)庫(kù)
CREATE DATABASE [IF NOT EXISTS] 數(shù)據(jù)庫(kù)名 [DEFAULT CHARSET 字符集] [COLLATE 排序規(guī)則];
示例:
CREATE DATABASE IF NOT EXISTS school DEFAULT CHARSET utf8mb4;
關(guān)鍵點(diǎn)
IF NOT EXISTS
如果數(shù)據(jù)庫(kù)不存在才創(chuàng)建。
存在則不報(bào)錯(cuò)。
DEFAULT CHARSET
指定字符集。
常用:
utf8mb4
支持:
- 中文
- emoji
- 特殊字符
COLLATE
指定排序規(guī)則。
一般很少手動(dòng)寫(xiě)。
刪除數(shù)據(jù)庫(kù)
DROP DATABASE [IF EXISTS] 數(shù)據(jù)庫(kù)名;
示例:
DROP DATABASE IF EXISTS school;
使用數(shù)據(jù)庫(kù)
USE 數(shù)據(jù)庫(kù)名;
示例:
USE school;
表示:
后續(xù)操作都在這個(gè)數(shù)據(jù)庫(kù)中進(jìn)行。
表操作
查詢表
查詢當(dāng)前數(shù)據(jù)庫(kù)所有表
SHOW TABLES;
查詢表結(jié)構(gòu)
DESC 表名;
示例:
DESC student;
查看:
- 字段名
- 類型
- 是否為空
- 主鍵
- 默認(rèn)值
查詢建表語(yǔ)句
SHOW CREATE TABLE 表名;
示例:
SHOW CREATE TABLE student;
作用:
查看當(dāng)初創(chuàng)建表時(shí)的完整 SQL。
非常重要。
創(chuàng)建表
語(yǔ)法:
CREATE TABLE 表名(
字段1 類型 [COMMENT 注釋],
字段2 類型 [COMMENT 注釋],
字段3 類型 [COMMENT 注釋]
)[COMMENT 表注釋];
示例:
CREATE TABLE student(
id INT COMMENT '編號(hào)',
name VARCHAR(20) COMMENT '姓名',
age INT COMMENT '年齡'
) COMMENT '學(xué)生表';
修改表
添加字段
ALTER TABLE 表名 ADD 字段名 類型(長(zhǎng)度) [COMMENT 注釋] [約束];
示例:
ALTER TABLE student ADD gender CHAR(1) COMMENT '性別';
修改字段類型
ALTER TABLE 表名 MODIFY 字段名 新類型(長(zhǎng)度);
示例:
ALTER TABLE student MODIFY name VARCHAR(50);
作用:
修改字段數(shù)據(jù)類型。
修改字段名
ALTER TABLE 表名 CHANGE 舊字段名 新字段名 類型(長(zhǎng)度) [COMMENT 注釋] [約束];
示例:
ALTER TABLE student CHANGE name username VARCHAR(30);
作用:
- 修改字段名
- 修改字段類型
一起完成。
修改表名
ALTER TABLE 舊表名 RENAME TO 新表名;
示例:
ALTER TABLE student RENAME TO student_info;
刪除表
DROP TABLE [IF EXISTS] 表名;
示例:
DROP TABLE IF EXISTS student;
清空表
TRUNCATE TABLE 表名;
示例:
TRUNCATE TABLE student;
作用:
刪除所有數(shù)據(jù)。
特點(diǎn):
- 保留表結(jié)構(gòu)
- 相當(dāng)于重新創(chuàng)建表
- 執(zhí)行速度快
刪除字段
ALTER TABLE 表名 DROP 字段名;
示例:
ALTER TABLE student DROP age;
DDL 最核心理解
DDL 操作的是:
數(shù)據(jù)庫(kù)結(jié)構(gòu)
不是數(shù)據(jù)本身。
比如:
- 創(chuàng)建數(shù)據(jù)庫(kù)
- 創(chuàng)建表
- 修改字段
- 刪除字段
這些都屬于:
定義結(jié)構(gòu)
高頻面試點(diǎn)
DROP、DELETE、TRUNCATE 區(qū)別
DROP
直接刪除整個(gè)對(duì)象。
表沒(méi)了 結(jié)構(gòu)也沒(méi)了 數(shù)據(jù)也沒(méi)了
DELETE
刪除數(shù)據(jù)。
表還在 結(jié)構(gòu)還在
可以加 WHERE。
TRUNCATE
清空整張表。
表還在 結(jié)構(gòu)還在 數(shù)據(jù)全沒(méi)
執(zhí)行速度比 DELETE 快。
最后總結(jié)
| 操作 | 語(yǔ)句 |
|---|---|
| 查詢數(shù)據(jù)庫(kù) | SHOW DATABASES |
| 創(chuàng)建數(shù)據(jù)庫(kù) | CREATE DATABASE |
| 刪除數(shù)據(jù)庫(kù) | DROP DATABASE |
| 使用數(shù)據(jù)庫(kù) | USE |
| 查詢表 | SHOW TABLES |
| 查看表結(jié)構(gòu) | DESC |
| 查看建表語(yǔ)句 | SHOW CREATE TABLE |
| 創(chuàng)建表 | CREATE TABLE |
| 添加字段 | ALTER TABLE ADD |
| 修改字段 | ALTER TABLE MODIFY |
| 修改字段名 | ALTER TABLE CHANGE |
| 刪除字段 | ALTER TABLE DROP |
| 刪除表 | DROP TABLE |
| 清空表 | TRUNCATE TABLE |
記憶口訣
CREATE 創(chuàng)建 ALTER 修改 DROP 刪除 TRUNCATE 清空 DESC 看結(jié)構(gòu) SHOW 看信息 USE 切庫(kù)
到此這篇關(guān)于MySQL DDL數(shù)據(jù)定義語(yǔ)言示例總結(jié)的文章就介紹到這了,更多相關(guān)MySQL DDL數(shù)據(jù)定義語(yǔ)言內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Ubuntu系統(tǒng)安裝mysql超詳細(xì)步驟
這篇文章主要給大家介紹了關(guān)于Ubuntu系統(tǒng)安裝mysql的相關(guān)資料,現(xiàn)在的軟件越來(lái)越好安裝,尤其是在ubuntu下安裝軟件,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-09-09
MySQL表空間結(jié)構(gòu)詳解表空間到段頁(yè)操作
在MySQL架構(gòu)和存儲(chǔ)引擎專題中介紹了使用不同存儲(chǔ)引擎創(chuàng)建表時(shí)生成的表空間數(shù)據(jù)文件,在本章節(jié)主要介紹使用InnoDB存儲(chǔ)引擎創(chuàng)建表時(shí)生成的表空間數(shù)據(jù)文件,對(duì)mysql表空間結(jié)構(gòu)及表空間到段頁(yè)相關(guān)知識(shí)感興趣的朋友一起看看吧2025-05-05
MySQL高效處理ORDER BY與GROUP BY查詢的優(yōu)化策略
在高并發(fā)、大數(shù)據(jù)量的業(yè)務(wù)場(chǎng)景中,SQL 查詢性能直接影響系統(tǒng)整體響應(yīng)速度,本文將深入探討 MySQL 中排序與分組的執(zhí)行機(jī)制,并提供一系列實(shí)用的優(yōu)化策略,希望對(duì)大家有所幫助2026-02-02
MySQL中?LBCC?和?MVCC?的理解及常見(jiàn)問(wèn)題示例
這篇文章主要介紹了MySQL中LBCC和MVCC的理解及常見(jiàn)問(wèn)題示例,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,感興趣的朋友可以參考一下2022-09-09

