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

4.8 經典習題與面試題

1.經典習題

在shop數據庫中創建一個購物車表cart,內容如表4-3所示。

表4-3 cart表結構

按照下列要求進行表操作:

(1)將name字段的數據改為VARCHAR(30),且保留非空約束。

(2)將sum_money字段的位置改到count字段的前面。

(3)將sum_money字段改名為total_money。

(4)在表中增加expiredays字段,數據類型為VARCHAR(4),表示是否已過期。

(5)刪除count字段。

(6)將cart表的存儲引擎更改為MyISAM類型。

(7)將cart表名更改為shoppingCart。

2.面試題及解答

(1)修改數據表的字段名稱之后,會有部分約束條件丟失,原因何在?

在修改數據表的字段名稱時,如果想保持原來的約束條件,一定要把原來的約束條件帶上,否則就會丟失。

(2)為什么自增字段不能設置默認值?

一個表只能有一個自增字段,可以是任何整數類型,自增字段沒有默認值。在沒有設置初值的情況下,自增字段從1開始增加,插入記錄時,不設置自增字段的值。自增字段處插入的值為NULL或者為0時,該字段的值在上一條記錄的基礎上加1。如果插入的記錄中該字段的值為8,且下一條記錄沒有指定值,該字段的值就在此基礎上加1。

(3)如何設置外鍵?

子表的外鍵必須依賴父表的某個字段,因此父表必須先于子表建立,而且父表中的被依賴字段必須是主鍵或者組合主鍵中的一個。如果不滿足這些條件,就不能成功創建子表。

(4)如何刪除父表?

刪除父表是很麻煩的過程,因為子表的外鍵約束限制著父表的刪除。有兩種方法可以解決這個問題。第一種方法,先刪除子表,再刪除父表。這樣做完全可以達到刪除父表的目的,但是必須犧牲子表。第二種方法,先刪除子表的外鍵約束,再刪除父表。

主站蜘蛛池模板: 洛宁县| 庄河市| 虹口区| 青田县| 高淳县| 南漳县| 靖边县| 大埔区| 河津市| 缙云县| 平阳县| 靖安县| 阳春市| 江油市| 青海省| 怀安县| 称多县| 巴南区| 宁德市| 高安市| 焉耆| 监利县| 尚志市| 大同市| 徐闻县| 晋江市| 沙雅县| 楚雄市| 平远县| 崇信县| 潢川县| 昌都县| 依兰县| 廉江市| 黎城县| 武冈市| 嘉鱼县| 芮城县| 九江县| 竹北市| 敖汉旗|