MySQL基礎之DDL語句


講解SQL語句三大分類和每個分類的SQL使用入門。

使用的是數據庫是:MySQL 8.0.27

1.SQL分類  

DDL(Data Definition Language)語句:數據定義語句。

用途:是對數據庫對象(數據庫、表、列、索引等)進行創建、刪除、修改等。

常用關鍵字:create、drop、alter等。

DML(Data Manipulation Language)語句:數據操縱語句。

用途:用於添加、修改、刪除和查詢數據庫記錄,並檢查數據完整性。

常用關鍵字:insert、update、delete、select等。

DCL(Data Control Language)語句:數據控制語句。

用途:控制數據庫、表、字段、用戶的訪問權限和安全級別

常用關鍵字:grant、revoke等

2.DDL語句

DDL語句是用於操作數據庫對象的,其中數據庫對象包含數據庫本身(database)、表(table)、列(column)、索引(index)、約束(constraint)、視圖(view)、觸發器(trigger)、存儲過程(StoredProcedure)和函數(function)。

在此入門課程只講解數據庫(database)和庫表(table)。

為什么一直都在中文后加上括號英文說明呢?因為sql 語句要用,先混個眼熟。

全程命令操作,讓注意力更專注於指令輸入和結果輸出。

2.1.DDL之操作

先連接上數據庫

1)創建數據庫

create database mydb;

 

這是最簡單的創建數據庫語句。

2)查看當前連接有哪些數據庫

show databases;

 可以看到除了剛創建的mydb 還有其他的數據庫。

簡單說明這些數據庫是干嘛用的。

用戶庫:就是自己剛剛創建的 mydb

系統庫:

--每個用戶都可以看到自己的
  information_schema:存儲系統數據庫對象信息,包含了用戶表信息、列信息、權限信息、字符集信息、分區信息等等。
--普通用戶看不到
  performance_schema:存儲系統性能相關的動態參數表
--普通用戶看不到
  sys:基於information_schema 和 performance_schema之上,封裝了一層更加易於調優和診斷的系統視圖(系統層的視圖)
--普通用戶看不到
  mysql:存儲系統的用戶權限信息

3)查詢建庫SQL語句

show create database mydb \G;

4)使用數據庫

use mydb;

 只有選擇了使用mydb 數據庫,才可以開始對mydb 進行建庫表之類的操作

5)刪除數據庫

drop database mydb;

可以看到mydb 已經被刪除了。

到此為止,你已經學會了如何創建數據庫,使用數據庫,查看當前連接有哪些數據庫和刪除數據庫

2.2.DDL之操作

 先把之前刪的mydb數據庫,創建回來並使用mydb,再查看下mydb 庫有沒有表在里面

 查到沒有庫表

1)創建數據庫表

create table tablename(
  列名 數據類型 約束,
  列名 數據類型 約束
);

創建person表

create table person( id int primary key,name varchar(30),age int default 0 );

2)查看表設計

desc person;

 3)查看建表SQL語句

 查看建庫和建表SQL 語句都是相類似的,查詢的數據庫對象不同而已。

 "\G" 選項的含義是按照字段豎向排列,為了更好閱讀查詢結果。

show create table person \G;

可以看到,雖然我們沒有指定存儲引擎和字符編碼,但是建表語句后已經指定了默認存儲引擎InnoDB和字符編碼utf8mb4。

4)修改表

關鍵字rename

alter table 舊表名 rename 新表名;

5) 刪除表

drop table people;

 為了后續操作,再把表建回來……

6)修改表字段

--修改表字段類型
  alter table 表名 modify 列名 列的新類型;
--增加表字段
  alter table 表名 add column 列名 列的類型;
--刪除表字段
  alter table 表名 drop column 列名;
--修改字段名
  alter table 表名 change 舊列名 新列名 列的類型;
--修改字段排列順序
  在增加表字段或修改表字段后加入:first 或 after 字段名
  如:alter table 表名 add column 列名 列的類型 after 列名2;
  如:alter table 表名 change 舊列名 新列名 列的類型 first;
所有操作按順序看圖

 到此為止,你已經學會了建表、查表、刪表、改表和改表字段操作

DDL 入門完成,學習了對數據庫和表的基本操作

2.3.DDL之操作索引

索引是對數據庫里加了索引的數據預先進行排序,就像書的目錄,可以優化查詢速度,但是會降低增刪改速度,占用磁盤空間。

1)添加索引

用於建表時創建索引

//create只能添加這兩種索引;
CREATE INDEX index_name ON table_name (column_list)
CREATE UNIQUE INDEX index_name ON table_name (column_list)

用於表建好后創建索引(常用)

--增加主鍵索引:不允許出現相同的值
  alter table tab_name add primary key (column_list);
--增加唯一索引:不可以出現相同的值,可以有NULL值
  alter table tab_name add unique (column_list);
--增加普通索引:允許出現相同的索引內容
  alter table tab_name add index index_name(column_list);
--增加聯合索引:將多個字段建到一個索引里,列值的組合必須唯一
  alter table tab_name add index index_name (column,column,...);

2)查看索引

--查看表 tab_name 的所有索引信息(如:索引是否唯一,是否允許為null,索引存儲的數據類型等信息)
show index from tab_name;

3)刪除索引

alter table tab_name drop index index_name;alter table tab_name drop primary key;

3.總結

到目前為止,可以通過DDL語句來操作數據庫對象:庫、表、索引。

​關注公眾號學習更多有關數據庫的知識和獲取數據庫免費電子書​


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM