MySQL默認值約束的使用方法?這個問題可能是我們?nèi)粘W(xué)習(xí)或工作經(jīng)常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家?guī)淼膮⒖純?nèi)容,讓我們一起來看看吧!
成都創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司一直秉承“誠信做人,踏實做事”的原則,不欺瞞客戶,是我們最起碼的底線! 以服務(wù)為基礎(chǔ),以質(zhì)量求生存,以技術(shù)求發(fā)展,成交一個客戶多一個朋友!專注中小微企業(yè)官網(wǎng)定制,成都網(wǎng)站建設(shè)、成都做網(wǎng)站,塑造企業(yè)網(wǎng)絡(luò)形象打造互聯(lián)網(wǎng)企業(yè)效應(yīng)。
常用數(shù)據(jù)庫約束:
default 默認約束;
not null:非空約束,指定某列不為NULL;
unique:唯一約束,指定某列和幾列組合的數(shù)據(jù)不能重復(fù);
primary key:主鍵約束,指定某列的數(shù)據(jù)非空、唯一、不能重復(fù);
foreign key:外鍵,指定該列記錄屬于主表中的一條記錄,參照另一條數(shù)據(jù);
check:檢查,指定一個表達式,用于檢驗指定數(shù)據(jù);
1、default 定義列的默認值
當(dāng)插入一個新行到表中時,沒有給該列明確賦值,如果定義了列的默認值,將自動得到默認值;如果沒有,則為(NULL)。
-- 創(chuàng)建一張user表 CREATE TABLE `test`.`user`( `id` INT(11) NOT NULL AUTO_INCREMENT COMMENT 'id', `name` VARCHAR(225) COMMENT '姓名', `sex` TINYINT(1) DEFAULT 1 COMMENT '性別 1男 0女', PRIMARY KEY (`id`) ) ENGINE=INNODB CHARSET=utf8 COLLATE=utf8_general_ci
給字段添加默認約束:
1.在創(chuàng)建表時:直接在字段類型的后面加上 DEFAULT(value),具體看創(chuàng)建user表時的sex字段; 2.在存在表的情況下添加: 使用sql語句 ALTER TABLE `user` MODIFY `sex` TINYINT(1) DEFAULT 1; 即可為添加 `sex` 字段添加默認約束; 使用sql語句 ALTER TABLE `user` MODIFY `name` VARCHAR(225)DEFAULT '小明'; 即可為添加 `name` 字段添加默認約束; tips:默認約束是不可以使用函數(shù)的,所以 ALTER TABLE `user` ADD COLUMN `date` DATETIME DEFAULT NOW() AFTER `sex`; 是不可行的。
移除默認約束:
移除默認約束和添加默認約束操作方式一樣,都是修改表的字段; ALTER TABLE `user` MODIFY `sex` TINYINT(1); 這樣就移除了sex的默認約束。
現(xiàn)在我們插入一條數(shù)據(jù):
INSERT INTO `user`(`name`) VALUES('小明'); SELECT * FROM `user`; 結(jié)果: ----------------------------------- id name sex 小明 1 -----------------------------------
當(dāng)然我們也可以:
INSERT INTO `user`(`name`,`sex`) VALUES('小明',DEFAULT); SELECT * FROM `user`; 結(jié)果: --------------------------------- id name sex 小明 1 ---------------------------------
如果你這樣:
INSERT INTO `user`(`sex`) VALUES(DEFAULT); SELECT * FROM `user`; 結(jié)果: ----------------------------------- id name sex (NULL) 1 -----------------------------------
tips:在更新和查詢都可以用DEFAULT來操作;
-- 查詢sex字段的默認值 SELECT DEFAULT(`sex`) FROM `user`; -- 更新sex為默認值 UPDATE `user` SET `sex` = DEFAULT WHERE `id`='1';
感謝各位的閱讀!看完上述內(nèi)容,你們對MySQL默認值約束的使用方法大概了解了嗎?希望文章內(nèi)容對大家有所幫助。如果想了解更多相關(guān)文章內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。