您好,登錄后才能下訂單哦!
我們創(chuàng)建好了數(shù)據(jù)庫以后,就可以創(chuàng)建相應(yīng)的數(shù)據(jù)表,那么創(chuàng)建表也是屬于DDL數(shù)據(jù)定義層面,接下來我們來學(xué)習(xí)一下。
1、創(chuàng)建數(shù)據(jù)表
創(chuàng)建指令:create table tb_name [表選項]
我們發(fā)現(xiàn)指令與數(shù)據(jù)庫的創(chuàng)建指令是相同的,沒什么大的區(qū)別。
PS:當(dāng)然我們創(chuàng)建表之前,首先先選擇相應(yīng)的數(shù)據(jù)庫。
接下來我們創(chuàng)建一張學(xué)生信息表
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、當(dāng)我們只有一個數(shù)據(jù)庫時,如果一個數(shù)據(jù)庫里有多個項目,為了防止數(shù)據(jù)表的管理混亂,一般我們都要設(shè)置前綴以便識別和管理。
B、當(dāng)數(shù)據(jù)表非常多的時候,使用前綴得于快速檢索,如一個數(shù)據(jù)庫里有多個項目,如有學(xué)生信息系統(tǒng),學(xué)生考試系統(tǒng),教師管理系統(tǒng),那么通過前綴就可以快速的檢索到數(shù)據(jù)表。
數(shù)據(jù)表名的規(guī)則也是要遵循標(biāo)識符的規(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存儲引擎默認(rèn)生成的文件,那么如果是myisam的話則會生成三個文件。
2、查看數(shù)據(jù)表 查看創(chuàng)建的數(shù)據(jù)表信息以及表的結(jié)構(gòu)
指令:show tables; show create table tb_name;describle tb_name
show tables 是查看當(dāng)前數(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命令。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。