- MySQL 8從零開始學(視頻教學版)
- 胡同夫
- 670字
- 2020-03-06 11:33:26
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開始往上增加。添加唯一性的主鍵約束時,往往需要設置字段自動增加屬性。
推薦閱讀
- 計算機網絡
- 企業級Java EE架構設計精深實踐
- Mastering Ubuntu Server
- MATLAB實用教程
- WebRTC技術詳解:從0到1構建多人視頻會議系統
- R語言與網絡輿情處理
- 微服務架構深度解析:原理、實踐與進階
- 編程菜鳥學Python數據分析
- Hands-On Full Stack Development with Spring Boot 2.0 and React
- Hands-On Kubernetes on Windows
- Apache Camel Developer's Cookbook
- 創意UI:Photoshop玩轉APP設計
- Exploring SE for Android
- Spark技術內幕:深入解析Spark內核架構設計與實現原理
- Learning ECMAScript 6