史上最简单的 MySQL 教程(十三)「列属性 之 空属性、列描述和默认值」

温馨提示:本系列博文已经同步到 GitHub,地址为「mysql-tutorial」,欢迎感兴趣的童鞋StarFork,纠错。

列属性

列属性:实际上,真正约束字段的是数据类型,但是数据类型的约束比较单一,因此就需要额外的一些约束来保证数据的有效性,这就是列属性。

列属性有很多,例如:nullnot nulldefaultprimary keyunique keyauto_incrementcomment等。

空属性

空属性有两个值,分别为:nullnot null.

虽然默认数据库的字段基本都为空,但是实际上在真正开发的时候,要尽可能的保证数据不为空,因为空数据没有意义,也没办法参与运算

执行如下 SQL 语句,进行演示:

-- 空属性演示
create table my_class(
	grade varchar(20) not null,
	room varchar(20) null  -- 显式声明为空,实际上,默认就为空
)charset utf8;
6

列描述

列描述:comment,表示描述,没有实际含义,是专门用来描述字段的,其会随着表创建语句自动保存,用来给程序员(数据库管理员)了解数据库使用。

执行如下 SQL 语句,进行演示:

-- 列描述演示
create table my_friend(
	name varchar(20) not null comment '姓名',
	age tinyint not null comment '年龄'
)charset utf8;
8

默认值

默认值:default某一数据会经常性出现某个具体的值,因此可以在开始的时候就指定好,而在需要真实数据的时候,用户可以选择性的使用默认值。

执行如下 SQL 语句,进行演示:

-- 默认值演示
create table my_default(
	name varchar(20) not null,
	age tinyint unsigned default 0,
	gender enum('男','女') default '男'
)charset utf8;
9

如上图所示,在列属性Default中已经展示了agegender字段的默认值,这说明咱们设置成功啦!接下来,咱们再演示如何使用默认值:

-- 演示默认值的使用(即不该对应的字段赋值)
insert into my_default (name) values ('Charies');
insert into my_default values ('Guo',18,default);
10

观察上面的 SQL 语句及执行结果,相信大家已经知道如何使用默认值啦,即不给设置默认值的字段赋值或者用default代替相应的字段值。


———— ☆☆☆ —— 返回 -> 史上最简单的 MySQL 教程 <- 目录 —— ☆☆☆ ————

原创声明,本文系作者授权云+社区-专栏发表,未经许可,不得转载。

如有侵权,请联系 zhuanlan_guanli@qq.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏学习力

《Java从入门到放弃》框架入门篇:hibernate中的多表对应关系

2017
来自专栏互联网技术杂谈

beanstalkc Tutorial 中文版

英文原版:https://github.com/earl/beanstalkc/blob/wip-doc-rtfd/doc/tutorial.rst

2798
来自专栏C/C++基础

C++11新特性——大括号初始化

虽然C++03提供了多样的对象初始化方式, 但不能提供自定义类型对象的大括号初始化方式,也不能在使用new[]的时候初始化POD 数组。幸好,C++11扩充了大...

222
来自专栏技巅

分布式日志收集系统: Facebook Scribe之配置文件

1325
来自专栏LeoXu的博客

[翻译]Ext JS 教程-MVC架构 原

大规模的客户端应用程序常常难于去编写、组织机构和维护。随着你加入更多的功能,并且投入更多的开发人员,它们渐渐趋向于失去控制。ExtJS 4 带来了一种新的不仅...

621
来自专栏个人分享

Redis应用配置项说明

# 默认情况下 redis 不是作为守护进程运行的,如果你想让它在后台运行,你就把它改成 yes。

351
来自专栏刘君君

MAT内存分析工具使用

2476
来自专栏Python中文社区

PyQt的一个UI单元测试框架思路

專 欄 ❈丁果,Python中文社区作者。对django、pyqt、opencv、tornado感兴趣。 GitHub:https://github.com/...

2296
来自专栏三杯水

Python Elasticsearch API操作ES集群

关键是DSL语法的编写涉及查询与聚合可以通过kibana的visualize或者devtool先测试出正确语法,然后结合python对列表、字典、除法、字符串等...

472
来自专栏前端架构

from属性EncType提交数据的格式详解—在angular中的应用

我们知道,HTTP 协议是以 ASCII 码传输,建立在 TCP/IP 协议之上的应用层规范。规范把 HTTP 请求分为三个部分:状态行、请求头、消息主体。类似...

621

扫描关注云+社区