MySQL學(xué)習(xí)之DDL數(shù)據(jù)庫定義與操作
前言
SQL是一種強大的語言,根據(jù)其功能可以分為DDL、DML、DQL和DCL四類。其中,DDL用于定義數(shù)據(jù)庫對象,如數(shù)據(jù)庫、表和字段。本文將深入探討DDL的數(shù)據(jù)庫操作,包括查詢數(shù)據(jù)庫、創(chuàng)建數(shù)據(jù)庫、刪除數(shù)據(jù)庫、切換數(shù)據(jù)庫以及表的查詢、創(chuàng)建、修改和刪除等操作。通過本文,讀者將對SQL的DDL操作有更加全面的了解,為數(shù)據(jù)庫管理和應(yīng)用提供關(guān)鍵知識。
一. SQL的分類
SQL語句,根據(jù)其功能,主要分為四類:DDL、DML、DQL、DCL。
分 類 | 全稱 | 說明 |
---|---|---|
DDL | Data Definition Language | 數(shù)據(jù)定義語言,用來定義數(shù)據(jù)庫對象(數(shù)據(jù)庫,表, 字段) |
DML | Data Manipulation Language | 數(shù)據(jù)操作語言,用來對數(shù)據(jù)庫表中的數(shù)據(jù)進行增刪改 |
DQL | Data Query Language | 數(shù)據(jù)查詢語言,用來查詢數(shù)據(jù)庫中表的記錄 |
DCL | Data Control Language | 數(shù)據(jù)控制語言,用來創(chuàng)建數(shù)據(jù)庫用戶、控制數(shù)據(jù)庫的 訪問權(quán)限 |
二. DDL數(shù)據(jù)庫操作
Data Definition Language,數(shù)據(jù)定義語言,用來定義數(shù)據(jù)庫對象(數(shù)據(jù)庫,表,字段) 。
2.1 查詢所有數(shù)據(jù)庫
show databases ;
2.2 查詢當前數(shù)據(jù)庫
select database() ;
2.3 創(chuàng)建數(shù)據(jù)庫
create database [ if not exists ] 數(shù)據(jù)庫名 [ default charset 字符集 ] [ collate 排序 規(guī)則 ] ;
在同一個數(shù)據(jù)庫服務(wù)器中,不能創(chuàng)建兩個名稱相同的數(shù)據(jù)庫,否則將會報錯。
可以通過if not exists 參數(shù)來解決這個問題,數(shù)據(jù)庫不存在, 則創(chuàng)建該數(shù)據(jù)庫,如果存在,則不創(chuàng)建。
創(chuàng)建一個test數(shù)據(jù)庫,并且指定字符集:
create database if not exists test defalut charset utf8mb4;
2.4 刪除數(shù)據(jù)庫
drop database [ if exists ] 數(shù)據(jù)庫名 ;
如果刪除一個不存在的數(shù)據(jù)庫,將會報錯。此時,可以加上參數(shù) if exists ,如果數(shù)據(jù)庫存在,再執(zhí)行刪除,否則不執(zhí)行刪除。
2.5 切換數(shù)據(jù)庫
use 數(shù)據(jù)庫名 ;
我們要操作某一個數(shù)據(jù)庫下的表時,就需要通過該指令,切換到對應(yīng)的數(shù)據(jù)庫下,否則是不能操作的。
比如,切換到test數(shù)據(jù)庫,執(zhí)行如下SQL:
use test;
3. DDL表操作
3.1 查詢創(chuàng)建
查詢當前數(shù)據(jù)庫所有表
show tables;
比如,我們可以切換到sys這個系統(tǒng)數(shù)據(jù)庫,并查看系統(tǒng)數(shù)據(jù)庫中的所有表結(jié)構(gòu)。
use sys; show tables;
查看指定表結(jié)構(gòu)
desc 表名
通過這條指令,我們可以查看到指定表的字段,字段的類型、是否可以為NULL,是否存在默認值等信
息。
查詢指定表的建表語句
show create table;
通過這條指令,主要是用來查看建表語句的,而有部分參數(shù)我們在創(chuàng)建表的時候,并未指定也會查詢
到,因為這部分是數(shù)據(jù)庫的默認值,如:存儲引擎、字符集等。
創(chuàng)建表結(jié)構(gòu)
CREATE TABLE 表名( 字段1 字段1類型 [ COMMENT 字段1注釋 ], 字段2 字段2類型 [COMMENT 字段2注釋 ], 字段3 字段3類型 [COMMENT 字段3注釋 ], ...... 字段n 字段n類型 [COMMENT 字段n注釋 ] ) [ COMMENT 表注釋 ] ;
注意: […] 內(nèi)為可選參數(shù),最后一個字段后面沒有逗號 !!!
3.2 數(shù)據(jù)類型
數(shù)值類型
字符串類型
日期時間類型
3.3 修改
添加字段
ALTER TABLE 表名 ADD 字段名 類型 (長度) [ COMMENT 注釋 ] [ 約束 ];
修改數(shù)據(jù)類型
ALTER TABLE 表名 MODIFY 字段名 新數(shù)據(jù)類型 (長度);
**修改字段名和字段類型 **
ALTER TABLE 表名 CHANGE 舊字段名 新字段名 類型 (長度) [ COMMENT 注釋 ] [ 約束 ];
刪除字段
ALTER TABLE 表名 DROP 字段名;
修改表名
ALTER TABLE 表名 RENAME TO 新表名;
3.4 刪除
刪除表
DROP TABLE [ IF EXISTS ] 表名;
可選項 IF EXISTS 代表,只有表名存在時才會刪除該表,表名不存在,則不執(zhí)行刪除操作(如果不加該參數(shù)項,刪除一張不存在的表,執(zhí)行將會報錯)。
刪除指定表, 并重新創(chuàng)建表
TRUNCATE TABLE 表名;
注意: 在刪除表的時候,表中的全部數(shù)據(jù)也都會被刪除。
全篇總結(jié)
本文詳細介紹了SQL中DDL的數(shù)據(jù)庫操作,包括查詢數(shù)據(jù)庫、創(chuàng)建數(shù)據(jù)庫、刪除數(shù)據(jù)庫、切換數(shù)據(jù)庫以及表的查詢、創(chuàng)建、修改和刪除等操作。讀者通過本文可以了解到如何使用SQL語句來管理數(shù)據(jù)庫對象,為數(shù)據(jù)庫操作提供了基礎(chǔ)知識和實際操作指導(dǎo)。
到此這篇關(guān)于MySQL DDL數(shù)據(jù)庫定義與操作的文章就介紹到這了,更多相關(guān)MySQL DDL數(shù)據(jù)庫定義與操作內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
通過實例學(xué)習(xí)MySQL分區(qū)表原理及常用操作
我們試著想一想, 在生產(chǎn)環(huán)境中什么最重要? 我感覺在生產(chǎn)環(huán)境中應(yīng)該沒有什么比數(shù)據(jù)跟更為重要. 那么我們該如何保證數(shù)據(jù)不丟失、或者丟失后可以快速恢復(fù)呢?只要看完這篇大家應(yīng)該就能對MySQL中數(shù)據(jù)備份有一定了解2019-05-05MySQL數(shù)據(jù)庫表分區(qū)注意事項大全【推薦】
這篇文章主要介紹了MySQL數(shù)據(jù)庫表分區(qū)注意事項相關(guān)內(nèi)容,比較全面,這里分享給大家,需要的朋友可以參考。2017-10-10mysql查看表結(jié)構(gòu)的三種方法總結(jié)
這篇文章主要介紹了mysql查看表結(jié)構(gòu)的三種方法總結(jié),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-07-07MySQL單表多關(guān)鍵字模糊查詢的實現(xiàn)方法
MySQL單表多關(guān)鍵字模糊查詢實現(xiàn)方法是很多人都非常想知道的一個問題,那么,究竟采用什么方法,才能實現(xiàn)MySQL單表多關(guān)鍵字模糊查詢呢?2011-03-03MySQL中的insert set 和 insert values用法
這篇文章主要介紹了MySQL中的insert set 和 insert values用法說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-08-08MySql下關(guān)于時間范圍的between查詢方式
這篇文章主要介紹了MySql下關(guān)于時間范圍的between查詢方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07VS2019連接mysql8.0數(shù)據(jù)庫的教程圖文詳解
這篇文章主要介紹了VS2019連接mysql8.0數(shù)據(jù)庫的教程,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-05-05