数据库MYSQL学习总结8—NOT NULL DEFAULT
2019-04-14 15:39
316 查看
版权声明:. https://blog.csdn.net/WildestDeram/article/details/89295392
NOT NULL:非空约束,也就是插入值的时候不能为空,而且值不能是空值
[code]CREATE TABLE test_not( a VARCHAR(20), B VARCHAR(20) NOT NULL );
如果往里面插入两个空字符串,不会报错,因为空字符串也算有值。但是如果不给B插入NULL或者不写则会报错。
[code]-- 不报错 INSERT test_null(a,b) VALUES('',''); -- 报错 INSERT test_null(a,b) VALUES(NULL,NULL);
DEFAULT:默认值,如果插入记录的时候没有给字段赋值,则使用默认值
[code]-- 测试默认值 CREATE TABLE test_default( id INT UNSIGNED AUTO_INCREMENT KEY, username VARCHAR(20) NOT NULL, age TINYINT UNSIGNED DEFAULT 18, email VARCHAR(50) NOT NULL DEFAULT '123456789@qq.com' );
[code]INSERT test_default(username) VALUES('xx');
测试枚举
[code]CREATE TABLE test_one( id INT UNSIGNED AUTO_INCREMENT KEY, sex ENUM('a','b','c') NOT NULL DEFAULT 'a' );
[code]INSERT test_one(sex) VALUES(DEFAULT);
UNIQUE KEY:和主键很类似,而UNIQUE KEY可以是多个字段为索引。唯一性,一个表中可以有多个字段是唯一索引,同样的值不能重复,但是NULL值除外。
[code]CREATE TABLE test_unqine( id INT UNSIGNED AUTO_INCREMENT KEY, username VARCHAR(20) NOT NULL UNIQUE KEY, email VARCHAR(50) UNIQUE, card CHAR(18) UNIQUE );
[code]-- 不报错 INSERT test_unique(username,email,card) VALUES('A','A@qq.com','1'); -- 报错 INSERT test_unique(username,email,card) VALUES('A','A1@qq.com','11'); -- 不报错 INSERT test_unique(username,email,card) VALUES('B',NULL,NULL);
相关文章推荐
- Mysql学习总结(16)——Mysql之数据库设计规范
- Mysql学习总结(16)——Mysql之数据库设计规范
- mysql学习笔记2--数据库知识点总结
- 数据库MYSQL学习总结26—子查询的使用
- 数据库MYSQL学习总结13—数据表名称更改
- 数据库MYSQL学习总结18—SELECT语句的基本形式
- 数据库MYSQL学习29—总结联合查询的使用
- MySQL的not null default
- mysql text NOT NULL DEFAULT
- 数据库MYSQL学习总结11—MODIFY和CHANGE关键字的使用
- Mysql学习总结(16)——Mysql之数据库设计规范
- 数据库MYSQL学习总结14—MylSAM引擎
- 数据库MYSQL学习总结25—外键约束的使用
- 数据库MYSQL学习总结27—动态创建外键及删除
- 数据库MYSQL学习总结28—带有ANY、SOME、ALL关键词
- 数据库MYSQL学习总结30—无限级分类数据表的设计及实现
- MySQL学习总结----数据库相关操作
- 数据库MYSQL学习总结32—日期时间常用函数的使用
- 数据库MYSQL学习总结31—常用函数的使用
- MySQL学习总结(二)数据库以及表的基本操作