引荐课程:MySQL教程。
经常使用数据库束缚:
default 默许束缚;
not null:非空束缚,指定某列不为NULL;
unique:唯一束缚,指定某列和几列组合的数据不能反复;
primary key:主键束缚,指定某列的数据非空、唯一、不能反复;
foreign key:外键,指定该列纪录属于主表中的一条纪录,参照另一条数据;
check:搜检,指定一个表达式,用于磨练指定数据;
1、default 定义列的默许值
当插进去一个新行到表中时,没有给该列明白赋值,假如定义了列的默许值,将自动获得默许值;假如没有,则为(NULL)。
-- 建立一张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.在建立表时:直接在字段范例的背面加上 DEFAULT(value),细致看建立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:默许束缚是不能够运用函数的,所以 ALTER TABLE `user` ADD COLUMN `date` DATETIME DEFAULT NOW() AFTER `sex`; 是不可行的。
移除默许束缚:
移除默许束缚和增加默许束缚操纵体式格局一样,都是修正表的字段; ALTER TABLE `user` MODIFY `sex` TINYINT(1); 如许就移除了sex的默许束缚。
如今我们插进去一条数据:
INSERT INTO `user`(`name`) VALUES('小明'); SELECT * FROM `user`; 效果: ----------------------------------- id name sex 小明 1 -----------------------------------
固然我们也能够:
INSERT INTO `user`(`name`,`sex`) VALUES('小明',DEFAULT); SELECT * FROM `user`; 效果: --------------------------------- id name sex 小明 1 ---------------------------------
假如你如许:
INSERT INTO `user`(`sex`) VALUES(DEFAULT); SELECT * FROM `user`; 效果: ----------------------------------- id name sex (NULL) 1 -----------------------------------
tips:在更新和查询都能够用DEFAULT来操纵;
-- 查询sex字段的默许值 SELECT DEFAULT(`sex`) FROM `user`; -- 更新sex为默许值 UPDATE `user` SET `sex` = DEFAULT WHERE `id`='1';
以上就是MySQL默许值束缚怎样用的细致内容,更多请关注ki4网别的相干文章!