官术网_书友最值得收藏!

2.10 專家解惑

疑問1:為什么表刪除操作需謹慎?

表刪除操作將把表的定義和表中的數據一起刪除,并且MySQL在執行刪除操作時,不會有任何的確認信息提示,因此執行刪除操作時應當慎重。在刪除表前,最好對表中的數據進行備份,這樣當操作失誤時可以對數據進行恢復,以免造成無法挽回的后果。

同樣的,在使用ALTER TABLE進行表的基本修改操作時,在執行操作過程之前,應該確保對數據進行完整的備份,因為數據庫的改變是無法撤銷的,如果添加了一個不需要的字段,那么可以將其刪除;相同的,如果刪除了一個需要的列,那么該列下面的所有數據都將會丟失。

疑問2:每一個表中都要有一個主鍵嗎?

并不是每一個表中都需要主鍵,一般的,如果是多個表之間進行連接操作,就需要用到主鍵。因此,并不需要為每個表建立主鍵,而且有些情況下最好不使用主鍵。

疑問3:并不是每個表都可以任意選擇存儲引擎,為什么?

外鍵約束(FOREIGN KEY)不能跨引擎使用。MySQL支持多種存儲引擎,每一個表都可以指定一個不同的存儲引擎,但是要注意:外鍵約束是用來保證數據的參照完整性的,如果表之間需要關聯外鍵,卻指定了不同的存儲引擎,這些表之間就不能創建外鍵約束。所以說,存儲引擎的選擇不完全是隨意的。

疑問4:帶AUTO_INCREMENT約束的字段值是從1開始的嗎?

默認的,在MySQL中,AUTO_INCREMENT的初始值是1,每新增一條記錄,字段值自動加1。設置自增屬性(AUTO_INCREMENT)的時候,還可以指定第一條插入記錄的自增字段的值,這樣新插入的記錄的自增字段值從初始值開始遞增,若在tb_emp8中插入第一條記錄,同時指定id值為5,則以后插入的記錄的id值就會從6開始往上增加。添加唯一性的主鍵約束時,往往需要設置字段自動增加屬性。

主站蜘蛛池模板: 英超| 雅江县| 尖扎县| 永善县| 吉水县| 健康| 申扎县| 龙泉市| 青川县| 额尔古纳市| 岢岚县| 安乡县| 静宁县| 静乐县| 诸暨市| 邹城市| 大埔县| 隆回县| 佛山市| 和平县| 寻乌县| 三穗县| 嘉鱼县| 富顺县| 从化市| 济南市| 嘉定区| 麟游县| 钟山县| 万年县| 肇州县| 广汉市| 维西| 龙川县| 呼和浩特市| 太原市| 墨竹工卡县| 太湖县| 阳城县| 景宁| 上林县|