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