이 글에서는 기본 제약 조건과 사용 방법, 수정 후 효과를 소개합니다.
추천 과정: MySQL 튜토리얼.
일반적으로 사용되는 데이터베이스 제약 조건:
기본 기본 제약 조건;
null이 아닌 제약 조건, 특정 열이 NULL이 아님을 지정하는
unique: 고유 제약 조건, 특정 열과 여러 열 조합은 반복할 수 없습니다.
기본 키: 특정 열의 데이터가 비어 있지 않고 고유하며 반복될 수 없음을 지정하는 기본 키 제약 조건: 외래 키, 해당 열을 지정합니다. 레코드는 기본 테이블의 레코드에 속하며 다른 데이터를 참조합니다.
확인: 지정된 데이터를 확인하는 표현식을 지정합니다.
1.
테이블에 새 행을 삽입할 때 열에는 명시적으로 값이 할당되지 않습니다. 열의 기본값이 정의되어 있으면 기본값이 자동으로 얻어집니다. 그렇지 않으면 (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 -----------------------------------
-- 查询sex字段的默认值 SELECT DEFAULT(`sex`) FROM `user`; -- 更新sex为默认值 UPDATE `user` SET `sex` = DEFAULT WHERE `id`='1';
위 내용은 MySQL 기본값 제약 조건을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!