我們創(chuàng)建好了數(shù)據(jù)庫以后,就可以創(chuàng)建相應(yīng)的數(shù)據(jù)表,那么創(chuàng)建表也是屬于DDL數(shù)據(jù)定義層面,接下來我們來學習一下。
創(chuàng)新互聯(lián)建站長期為1000+客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為團風企業(yè)提供專業(yè)的成都網(wǎng)站建設(shè)、成都做網(wǎng)站,團風網(wǎng)站改版等技術(shù)服務(wù)。擁有十年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
1、創(chuàng)建數(shù)據(jù)表
創(chuàng)建指令:create table tb_name [表選項]
我們發(fā)現(xiàn)指令與數(shù)據(jù)庫的創(chuàng)建指令是相同的,沒什么大的區(qū)別。
PS:當然我們創(chuàng)建表之前,首先先選擇相應(yīng)的數(shù)據(jù)庫。
接下來我們創(chuàng)建一張學生信息表
create table student_studentinfo(
id int,
name varchar(5),
class_id int);
關(guān)于列類型以及列約束即列屬性會在后面說到。

這里有幾個要注意的地方:我們在創(chuàng)建數(shù)據(jù)表時是選擇了相應(yīng)的數(shù)據(jù)庫的,使用的指令是:
use db_name
同時,在創(chuàng)建數(shù)據(jù)表時,我們在業(yè)務(wù)邏輯上設(shè)置表的前綴,一般在成熟的項目里都有前綴,為什么要設(shè)置前綴呢?主要有以下幾個因素
A、當我們只有一個數(shù)據(jù)庫時,如果一個數(shù)據(jù)庫里有多個項目,為了防止數(shù)據(jù)表的管理混亂,一般我們都要設(shè)置前綴以便識別和管理。
B、當數(shù)據(jù)表非常多的時候,使用前綴得于快速檢索,如一個數(shù)據(jù)庫里有多個項目,如有學生信息系統(tǒng),學生考試系統(tǒng),教師管理系統(tǒng),那么通過前綴就可以快速的檢索到數(shù)據(jù)表。
數(shù)據(jù)表名的規(guī)則也是要遵循標識符的規(guī)則,這里不再多說。
那么我們再創(chuàng)建數(shù)據(jù)表,如果沒有選擇數(shù)據(jù)庫,我們可以這樣創(chuàng)建:
create table db_name.tb_name

我們上次說到創(chuàng)建數(shù)據(jù)庫時會在data目錄 下自動生動以數(shù)據(jù)庫名命名的目錄,那么我們在創(chuàng)建數(shù)據(jù)表的時候也會自動一些文件。

我們發(fā)現(xiàn)教師信息表生成了兩個后綴名.frm .ibd的文件,其實這兩個文件是數(shù)據(jù)表的結(jié)構(gòu)以及索引和數(shù)據(jù)的存儲文件,這是innodb存儲引擎默認生成的文件,那么如果是myisam的話則會生成三個文件。

2、查看數(shù)據(jù)表 查看創(chuàng)建的數(shù)據(jù)表信息以及表的結(jié)構(gòu)
指令:show tables; show create table tb_name;describle tb_name
show tables 是查看當前數(shù)據(jù)庫下有哪些數(shù)據(jù)表,和查看庫一樣。
show create table tb_name 則是查看數(shù)據(jù)表的相關(guān)創(chuàng)建信息
describle tb_name 也支持簡寫 desc tb_name

同理,我們查看數(shù)據(jù)表時也支持show tables like 指令
這里就不測試了哈。
3、刪除數(shù)據(jù)表
針對不想要的表我們可以刪除,和刪除數(shù)據(jù)庫的方法是一樣的
刪除指令:drop table tb_name 或是drop table if exists tb_name

4、數(shù)據(jù)表的更新操作
A、可以更新表名
rename table old_tbname to new_tbname
同時該指令也支持跨數(shù)據(jù)庫命名


所以利用這個功能我們可以完成數(shù)據(jù)庫的復(fù)制和重命名功能。
1、首先我們先創(chuàng)建一個數(shù)據(jù)庫
2、利用rename指令將要復(fù)制的數(shù)據(jù)庫里的所有表全部復(fù)制到新的數(shù)據(jù)庫里
復(fù)制多張表可以這樣:rename table tb_name1 to db_name.tb_name,tb_name2 to db_name.tb_name2 ...
通過這兩步就可以完成數(shù)據(jù)庫的復(fù)制了。
B、可以更新表的結(jié)構(gòu)
更新表的結(jié)構(gòu)主要有添加新的列定義
修改列定義
重命名列定義
刪除列定義
alter table tb_name add 列定義
modify 列名 列定義
change 列名 新列名 列定義
drop 列名

重命名一個列

更新一個列

關(guān)于列的刪除就非常簡單了,在這里就沒演示怎么操作了。
C、可以更新表的選項信息
更新表的字符編碼或是存儲引擎
alter table tb_name character set 編碼
alter table tb_name engine 存儲引擎


最后是數(shù)據(jù)表的刪除操作了,通過前面的知識我們已經(jīng)知道怎么刪除數(shù)據(jù)庫了,所以刪除表和刪除數(shù)據(jù)庫是一樣的道理。這里不演示了。
一般來說,數(shù)據(jù)表刪除后是不可以恢復(fù)的,最好慎用drop命令。
網(wǎng)站名稱:mysql之DDL操作--數(shù)據(jù)表
本文網(wǎng)址:http://www.chinadenli.net/article0/gpcsio.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、品牌網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站、品牌網(wǎng)站制作、網(wǎng)站導(dǎo)航、App設(shè)計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)