一文教你快速學(xué)會使用DDL對數(shù)據(jù)庫和表的操作
1. DDL-操作數(shù)據(jù)庫
首先要學(xué)習(xí)的是使用DDL來對數(shù)據(jù)庫進(jìn)行操作,和以往一樣,對數(shù)據(jù)進(jìn)行操作時,我們主要是對數(shù)據(jù)進(jìn)行增刪改查,同樣,我們使用DDL操作數(shù)據(jù)庫也主要是對數(shù)據(jù)庫進(jìn)行增刪改查操作。
1.1 查詢
查詢所有的數(shù)據(jù)庫:
show databases;
小案例:
1.2 創(chuàng)建數(shù)據(jù)庫
創(chuàng)建新的數(shù)據(jù)庫:
create database 數(shù)據(jù)庫名稱;
使用上面的方式創(chuàng)建新的數(shù)據(jù)庫時,如果該數(shù)據(jù)庫已經(jīng)存在,則會出現(xiàn)錯誤,所以我們在創(chuàng)建新的數(shù)據(jù)庫時一般會判斷該數(shù)據(jù)庫是否存在,如果已存在,則不會創(chuàng)建。
創(chuàng)建新的數(shù)據(jù)庫(判斷數(shù)據(jù)庫是否已經(jīng)存在):
create database if not exists 數(shù)據(jù)庫名稱;
小案例:
1.3 刪除數(shù)據(jù)庫
刪除數(shù)據(jù)庫:
drop database 數(shù)據(jù)庫名稱;
和前面創(chuàng)建新的數(shù)據(jù)庫相同,為了避免出現(xiàn)錯誤,我們一般會先判斷該數(shù)據(jù)庫是否存在,如果不存在,則不會刪除。
刪除數(shù)據(jù)庫(判斷數(shù)據(jù)庫是否已經(jīng)存在):
drop database if exists 數(shù)據(jù)庫名稱;
小案例:
1.4 使用數(shù)據(jù)庫
接下來,我們要想在數(shù)據(jù)庫中創(chuàng)建表,首先我們要明白是對哪一個數(shù)據(jù)庫進(jìn)行操作,此時我們先要使用數(shù)據(jù)庫,才能對數(shù)據(jù)庫中的表進(jìn)行操作。
使用數(shù)據(jù)庫:
use 數(shù)據(jù)庫名稱;
查詢當(dāng)前正在使用的數(shù)據(jù)庫:
select database();
小案例:
2. DDL-操作數(shù)據(jù)表
2.1 數(shù)據(jù)類型
在學(xué)習(xí)相關(guān)數(shù)據(jù)表的增刪改查操作之前,我們先要熟悉一下MySQL的數(shù)據(jù)類型。
MySQL支持多種數(shù)據(jù)類型,但是大致可以分為3種,分別是數(shù)值型,日期型和字符串型。下面是比較常用的幾種數(shù)據(jù)類型:
數(shù)值:
數(shù)據(jù)類型 | 解釋 |
---|---|
tinyint | 小整數(shù)型,占1個字節(jié) |
int | 大整數(shù)型,占4個字節(jié) |
double | 浮點類型 |
日期:
數(shù)據(jù)類型 | 解釋 |
---|---|
date | 日期值,只包含年月日 |
datetime | 混合日期和時間值,包含年月日時分秒 |
字符串:
數(shù)據(jù)類型 | 解釋 |
---|---|
char | 定長字符串 |
varchar | 變長字符串 |
定長字符串和變長字符串的區(qū)別:字符串是我們在數(shù)據(jù)庫中經(jīng)常使用的數(shù)據(jù)類型,使用變長字符串,如果字符的長度沒有達(dá)到指定的長度,那么實際的長度是多少就占用幾個字符,這樣的做法顯然是使用時間換空間,而使用定長字符串雖然會浪費空間,但是一般儲存性能比較高。
2.2 查詢表
查詢當(dāng)前數(shù)據(jù)庫下所有的表:
show tables;
查詢表結(jié)構(gòu):
desc 表名稱;
小案例:
2.3 創(chuàng)建表
創(chuàng)建一個新的表:
create table 表名稱( 字段名1 數(shù)據(jù)類型, 字段名2 數(shù)據(jù)類型, ... 字段名n 數(shù)據(jù)類型 #這里是不需要加上,的 );
小案例:
2.4 刪除表
刪除表:
drop table 表名;
刪除表(判斷表是否存在):
drop table if exists 表名;
小案例:
2.5 修改表
修改表名:
alter table 表名 rename to 新的表名;
增加一列:
alter table 表名 add 列名 數(shù)據(jù)類型;
修改數(shù)據(jù)類型:
alter table 表名 modify 列名 新數(shù)據(jù)類型;
修改列名和數(shù)據(jù)類型:
alter table 表名 change 列名 新列名 新數(shù)據(jù)類型;
刪除列:
alter table 表名 drop 列名;
小案例:
3. 實戰(zhàn)案例詳解
下面是一個簡單的DDL實戰(zhàn)案例,用于定義一個名為“person”的數(shù)據(jù)庫表格。
CREATE TABLE person ( id INT PRIMARY KEY, name VARCHAR(50), age INT, gender CHAR(1), email VARCHAR(100) );
以上代碼中,CREATE TABLE是DDL語句的一種類型,用于創(chuàng)建新的數(shù)據(jù)庫表格。在這個例子中,我們使用了關(guān)鍵字CREATE TABLE來指示創(chuàng)建一個名為“person”的表格。
后面的括號中列出了該表格中包含的列信息。每列都需要指定列名、數(shù)據(jù)類型和可能的約束條件。
例如,第一列“id”被指定為整數(shù)類型,并被指定為表格的主鍵。第二列“name”被指定為最大長度為50個字符的字符串類型。類似地,其他列也被指定為適當(dāng)?shù)臄?shù)據(jù)類型和約束條件。
此DDL語句將被數(shù)據(jù)庫管理系統(tǒng)解釋并執(zhí)行,從而創(chuàng)建一個新的名為“person”的表格,它擁有上述定義的列以及任何相關(guān)的元數(shù)據(jù)(如索引或外鍵)。
4. 總結(jié)
今天我們對數(shù)據(jù)定義語言DDL做了一個詳細(xì)的認(rèn)識,使用DDL來操作數(shù)據(jù)庫和數(shù)據(jù)表,并完成了設(shè)計一張表的簡單需求,在日后的操作中還需要多加練習(xí)方可掌握。
到此這篇關(guān)于一文教你快速學(xué)會使用DDL對數(shù)據(jù)庫和表的操作的文章就介紹到這了,更多相關(guān)DDL操作數(shù)據(jù)庫和表內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Spring jdbc中數(shù)據(jù)庫操作對象化模型的實例詳解
這篇文章主要介紹了Spring jdbc中數(shù)據(jù)庫操作對象化模型的實例詳解的相關(guān)資料,希望通過本文大家能夠了解掌握這部分內(nèi)容,需要的朋友可以參考下2017-09-09MySQL8.0.24版本Release Note的一些改進(jìn)點
這篇文章主要介紹了MySQL8.0.24版本Release Note的一些改進(jìn)點,幫助大家更好的對新版本的MySQL進(jìn)行測試使用,感興趣的朋友可以了解下2021-04-04MySQL 字符串截取相關(guān)函數(shù)小結(jié)
本文是腳本之家小編給大家收藏整理的關(guān)于MySQL 字符串截取相關(guān)函數(shù)小結(jié),非常不錯,具有參考借鑒價值,需要的朋友參考下吧2018-04-04MySQL ClickHouse常用表引擎超詳細(xì)講解
這篇文章主要介紹了MySQL ClickHouse常用表引擎,ClickHouse表引擎中,CollapsingMergeTree和VersionedCollapsingMergeTree都能通過標(biāo)記位按規(guī)則折疊數(shù)據(jù),從而達(dá)到更新和刪除的效果2022-11-11Shell下實現(xiàn)免密碼快速登陸MySQL數(shù)據(jù)庫的方法
這篇文章主要給大家介紹了在Shell下實現(xiàn)免密碼快速登陸MySQL數(shù)據(jù)庫的方法,文中通過示例代碼一步步介紹的非常詳細(xì),對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面跟著小編來一起看看吧。2017-06-06MySQL優(yōu)化總結(jié)-查詢總條數(shù)
這篇文章主要介紹了MySQL優(yōu)化總結(jié)-查詢總條數(shù)的相關(guān)內(nèi)容,文中進(jìn)行簡單的測試對比,具有一定參考價值,需要的朋友可以了解下。2017-10-10MySQL rownumber SQL生成自增長序號使用介紹
MySQL 幾乎模擬了 Oracle,SQL Server等商業(yè)數(shù)據(jù)庫的大部分功能,函數(shù)。但很可惜,到目前的版本(5.1.33)為止,仍沒有實現(xiàn)ROWNUM這個功能2011-10-10