博客 / 詳情

返回

SQL中的DDL(數據定義)語言:掌握數據定義語言的關鍵技巧!

DDL(Data Definition Language),是用於描述數據庫中要存儲的現實世界實體的語言。前面我們介紹了數據庫及SQL語言的相關概念和基礎知識,本篇文章我們來重點講述DDL(數據定義語言的語法格式)的相關內容以及DDL的常用語句。

一、DDL介紹

這裏我們先回顧一下前面講過的SQL語言的概念:SQL(Structured Query Language),即結構化查詢語言,是在關係型數據庫(諸如Mysql、SQL Server、Oracle等)裏進行相關操作的標準化語言,可以根據sql的作用分為以下幾種類型:
圖片
下面再來看DDL語言是什麼:
DDL,全稱為Data Definition Language,即數據定義語言。它是SQL語言的重要組成部分,主要用於定義和管理數據庫的結構。

二、DDL語言能做什麼?

通過DDL,我們可以創建、修改和刪除數據庫、表、視圖等對象。

  • 創建數據庫: 使用CREATE DATABASE語句,我們可以創建一個新的數據庫。
  • 刪除數據庫: 使用DROP DATABASE語句,我們可以刪除一個已經存在的數據庫。
  • 創建表: 使用CREATE TABLE語句,我們可以在數據庫中創建新的表。
  • 刪除表:使用DROP TABLE語句,我們可以刪除一個已經存在的表。
  • 修改表結構: 使用ALTER TABLE語句,我們可以修改已經存在的表的結構,如添加、刪除或修改字段等。

三、什麼是數據庫對象

數據庫對象是數據庫的組成部分,常見的有以下幾種:
1、表(Table )
數據庫中的表與我們日常生活中使用的表格類似,它也是由行(Row) 和列(Column)組成的。

圖片

列由同類的信息組成,每列又稱為一個字段,每列的標題稱為字段名。行包括了若干列信息項。一行數據稱為一個或一條記錄,它表達有一定意義的信息組合。一個數據庫表由一條或多條記錄組成,沒有記錄的表稱為空表。每個表中通常都有一個主關鍵字,用於唯一確定一條記錄。

編程學習,從雲端源想開始,課程視頻、在線書籍、在線編程、一對一諮詢……你想要的全部學習資源這裏都有,重點是統統免費!點這裏即可查看

2、索引(Index)
索引是根據指定的數據庫表列建立起來的順序。它提供了快速訪問數據的途徑,並且可監督表的數據,使其索引所指向的列中的數據不重複。

圖片

3、視圖(View)
視圖看上去同表似乎一模一樣,具有一組命名的字段和數據項,但它其實是一個虛擬的表,在數據庫中並不實際存。視圖是由查詢數據庫表產生的,它限制了用户能看到和修改的數據。

圖片

4、圖表(Diagram)
圖表其實就是數據庫表之間的關係示意圖。利用它可以編輯表與表之間的關係。

圖片

5、缺省值(Default)
缺省值是當在表中創建列或插入數據時,對沒有指定其具體值的列或列數據項賦予事先設定好的值。

圖片

6、規則(Rule)
規則是對數據庫表中數據信息的限制,它限定的是表的列。

7、觸發器(Trigger)
觸發器是一個用户定義的SQL事務命令的集合。當對一個表進行插入、更改、刪除時,這組命令就會自動執行。

圖片

8、存儲過程(Stored Procedure)
存儲過程是為完成特定的功能而彙集在一起的一組SQL 程序語句,經編譯後存儲在數據庫中的SQL程序。

圖片

9、用户(User)
所謂用户就是有權限訪問數據庫的人。

四、DDL常用語句

4.1 數據庫相關

1)查看所有數據庫
格式:show databases;

2)創建數據庫
格式:create database 數據庫名 charset=utf8;
舉例:

#創建一個名為test的數據庫
#create database 庫名;
create database test;
#創建一個名為test的數據庫並指定字符集和編碼格式
create database test default charset utf8 collate utf8_general_ci;

3)查看數據庫信息
格式:show create database 庫名;

4)刪除數據庫

格式:drop database 數據庫名;

舉例:

#刪除test數據庫
drop database test;

5)使用數據庫

執行表相關和數據庫相關的SQL語句之前必須先使用了某個數據庫

格式:use 數據庫名;

舉例:

use test;

4.2 表相關

1)創建表
格式:create table 表名(字段1名 類型,字段2名 類型,…)
舉例:

create table person(name varchar(50),age int);
create table person(name varchar(50),age int);
create table stydent(name varchar(50),chinese int ,math int, english int)charset=utf8;
創建一個員工表emp 保存名字,工資和工作
create table emp(name varchar(50),salary int,job varchar(20));

2)查詢所有表
格式:show tables;

3)查詢表信息
格式:show create table 表名;
舉例:

show create table emp;

4)查詢表字段
格式:desc 表名; (description)

5)修改表名
格式:rename table 原名 to 新名;
舉例:

rename table stydent to stu;

6)刪除表
格式:drop table 表名;

4.3 alter表操作相關

1)添加表字段
格式(最後面添加):alter table 表名 add 字段名 類型;
格式(最前面添加):alter table 表名 add 字段名 類型 first;
在xxx字段後面添加:alter table 表名 add 字段名 類型 after 字段名;
舉例:

alter table emp add gender gender varchar(5);
alter table emp add id int first;
alter table emp add dept varchar(20) after name;

2)刪除表字段
格式:alter table 表名 drop 字段名;
舉例:

alter table emp drop dept;

3)修改表字段
格式:alter table 表名 change 原名 新名 新類型;
舉例:

alter table emp change job dept varchar(10);

4)修改列屬性
格式:alter table 表名 modify 列名 新列屬性
舉例(只有MySQL是這樣寫的):

alter table student modify age int;

關於DDL常用語句就講這麼多了,儘管現在有許多圖形化工具可以替代傳統的SQL語句進行操作,同時在Java等語言中也可以使用數據庫,但對於SQL各類語句的瞭解仍然非常重要。

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.