

??前言
SQL是一種強(qiáng)大的語(yǔ)言,根據(jù)其功能可以分為DDL、DML、DQL和DCL四類。其中,DDL用于定義數(shù)據(jù)庫(kù)對(duì)象,如數(shù)據(jù)庫(kù)、表和字段。本文將深入探討DDL的數(shù)據(jù)庫(kù)操作,包括查詢數(shù)據(jù)庫(kù)、創(chuàng)建數(shù)據(jù)庫(kù)、刪除數(shù)據(jù)庫(kù)、切換數(shù)據(jù)庫(kù)以及表的查詢、創(chuàng)建、修改和刪除等操作。通過本文,讀者將對(duì)SQL的DDL操作有更加全面的了解,為數(shù)據(jù)庫(kù)管理和應(yīng)用提供關(guān)鍵知識(shí)。
一. SQL的分類
SQL語(yǔ)句,根據(jù)其功能,主要分為四類:DDL、DML、DQL、DCL。
分 類 | 全稱 | 說明 |
---|---|---|
DDL | Data Definition Language | 數(shù)據(jù)定義語(yǔ)言,用來定義數(shù)據(jù)庫(kù)對(duì)象(數(shù)據(jù)庫(kù),表, 字段) |
DML | Data Manipulation Language | 數(shù)據(jù)操作語(yǔ)言,用來對(duì)數(shù)據(jù)庫(kù)表中的數(shù)據(jù)進(jìn)行增刪改 |
DQL | Data Query Language | 數(shù)據(jù)查詢語(yǔ)言,用來查詢數(shù)據(jù)庫(kù)中表的記錄 |
DCL | Data Control Language | 數(shù)據(jù)控制語(yǔ)言,用來創(chuàng)建數(shù)據(jù)庫(kù)用戶、控制數(shù)據(jù)庫(kù)的 訪問權(quán)限 |
二. DDL數(shù)據(jù)庫(kù)操作
Data Definition Language,數(shù)據(jù)定義語(yǔ)言,用來定義數(shù)據(jù)庫(kù)對(duì)象(數(shù)據(jù)庫(kù),表,字段) 。
2.1 查詢所有數(shù)據(jù)庫(kù)
show databases ;
2.2 查詢當(dāng)前數(shù)據(jù)庫(kù)
select database() ;
2.3 創(chuàng)建數(shù)據(jù)庫(kù)
create database [ if not exists ] 數(shù)據(jù)庫(kù)名 [ default charset 字符集 ] [ collate 排序
規(guī)則 ] ;
在同一個(gè)數(shù)據(jù)庫(kù)服務(wù)器中,不能創(chuàng)建兩個(gè)名稱相同的數(shù)據(jù)庫(kù),否則將會(huì)報(bào)錯(cuò)。
可以通過if not exists 參數(shù)來解決這個(gè)問題,數(shù)據(jù)庫(kù)不存在, 則創(chuàng)建該數(shù)據(jù)庫(kù),如果存在,則不創(chuàng)建。
創(chuàng)建一個(gè)test數(shù)據(jù)庫(kù),并且指定字符集:
create database if not exists test defalut charset utf8mb4;
2.4 刪除數(shù)據(jù)庫(kù)
drop database [ if exists ] 數(shù)據(jù)庫(kù)名 ;
如果刪除一個(gè)不存在的數(shù)據(jù)庫(kù),將會(huì)報(bào)錯(cuò)。此時(shí),可以加上參數(shù) if exists ,如果數(shù)據(jù)庫(kù)存在,再執(zhí)行刪除,否則不執(zhí)行刪除。
2.5 切換數(shù)據(jù)庫(kù)
use 數(shù)據(jù)庫(kù)名 ;
我們要操作某一個(gè)數(shù)據(jù)庫(kù)下的表時(shí),就需要通過該指令,切換到對(duì)應(yīng)的數(shù)據(jù)庫(kù)下,否則是不能操作的。
比如,切換到test數(shù)據(jù)庫(kù),執(zhí)行如下SQL:
use test;
3. DDL表操作
3.1 查詢創(chuàng)建
查詢當(dāng)前數(shù)據(jù)庫(kù)所有表
show tables;
比如,我們可以切換到sys這個(gè)系統(tǒng)數(shù)據(jù)庫(kù),并查看系統(tǒng)數(shù)據(jù)庫(kù)中的所有表結(jié)構(gòu)。
use sys;
show tables;
查看指定表結(jié)構(gòu)
desc 表名
通過這條指令,我們可以查看到指定表的字段,字段的類型、是否可以為NULL,是否存在默認(rèn)值等信
息。
查詢指定表的建表語(yǔ)句
show create table;
通過這條指令,主要是用來查看建表語(yǔ)句的,而有部分參數(shù)我們?cè)趧?chuàng)建表的時(shí)候,并未指定也會(huì)查詢
到,因?yàn)檫@部分是數(shù)據(jù)庫(kù)的默認(rèn)值,如:存儲(chǔ)引擎、字符集等。
創(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ù),最后一個(gè)字段后面沒有逗號(hào) !!!
3.2 數(shù)據(jù)類型
數(shù)值類型
字符串類型
日期時(shí)間類型
3.3 修改
添加字段
ALTER TABLE 表名 ADD 字段名 類型 (長(zhǎng)度) [ COMMENT 注釋 ] [ 約束 ];
修改數(shù)據(jù)類型
ALTER TABLE 表名 MODIFY 字段名 新數(shù)據(jù)類型 (長(zhǎng)度);
**修改字段名和字段類型 **
ALTER TABLE 表名 CHANGE 舊字段名 新字段名 類型 (長(zhǎng)度) [ COMMENT 注釋 ] [ 約束 ];
刪除字段
ALTER TABLE 表名 DROP 字段名;
修改表名
ALTER TABLE 表名 RENAME TO 新表名;
3.4 刪除
刪除表
DROP TABLE [ IF EXISTS ] 表名;
可選項(xiàng) IF EXISTS 代表,只有表名存在時(shí)才會(huì)刪除該表,表名不存在,則不執(zhí)行刪除操作(如果不加該參數(shù)項(xiàng),刪除一張不存在的表,執(zhí)行將會(huì)報(bào)錯(cuò))。
刪除指定表, 并重新創(chuàng)建表
TRUNCATE TABLE 表名;
注意: 在刪除表的時(shí)候,表中的全部數(shù)據(jù)也都會(huì)被刪除。
???. 全篇總結(jié)
本文詳細(xì)介紹了SQL中DDL的數(shù)據(jù)庫(kù)操作,包括查詢數(shù)據(jù)庫(kù)、創(chuàng)建數(shù)據(jù)庫(kù)、刪除數(shù)據(jù)庫(kù)、切換數(shù)據(jù)庫(kù)以及表的查詢、創(chuàng)建、修改和刪除等操作。讀者通過本文可以了解到如何使用SQL語(yǔ)句來管理數(shù)據(jù)庫(kù)對(duì)象,為數(shù)據(jù)庫(kù)操作提供了基礎(chǔ)知識(shí)和實(shí)際操作指導(dǎo)。文章來源:http://www.zghlxwxcb.cn/news/detail-790521.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-790521.html
到了這里,關(guān)于【MySQL】:DDL數(shù)據(jù)庫(kù)定義與操作的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!