史上最简单的 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 教程 <- 目录 —— ☆☆☆ ————

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

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏ChaMd5安全团队

0ctf2018 heapstorm2详解

题目链接 https://github.com/eternalsakura/ctf_pwn/tree/master/0ctf2018/heapstorm2 前置...

4377
来自专栏生信宝典

Linux学习 - SED操作,awk的姊妹篇

awk和sed想一对兄妹,一个出现,就会问起另一个。现在,都来了。 sed基本参数解释 sed是stream editor的简称,擅长对文件进行各种正则操作、插...

1776
来自专栏GreenLeaves

EF简介

EF:EF是 asp.net的一套ORM框架. ORM: 广义上:ORM指的是面向对象的模型和关系型数据库的数据库之间的相互转换; 狭义上:ORM可以被认为是,...

2068
来自专栏本立2道生

python中的编码与解码

编码/解码本质上是一种映射(对应关系),比如‘a’用ascii编码则是65,计算机中存储的就是00110101,但是显示的时候不能显示00110101,还是要显...

551
来自专栏开源优测

RobotFramework怎么写好用例

github地址:https://github.com/robotframework/HowToWriteGoodTestCases/blob/master/H...

552
来自专栏Crossin的编程教室

【Python 第55课】 正则表达式(1)

今天来挖个新坑,讲讲正则表达式。 什么是正则表达式?在回答这个问题之前,先来看看为什么要有正则表达式。 在编程处理文本的过程中,经常会需要按照某种规则去查找一些...

2677
来自专栏云飞学编程

Python学习,字符串格式化方法不止%和farmat,还有f-string

一说起字符串格式化,我们脑海里最先出现的必然是%和format,但是在python3.6之后,又更新了一种更快更便捷的方法,那就是f-string!它是由PEP...

952
来自专栏面朝大海春暖花开

js闭包

闭包是基于正常的垃圾回收处理机制下的。也就是说,一般情况一个函数(函数作用域)执行完毕,

912
来自专栏上善若水

005-golang-单元测试

Go语言中自带有一个轻量级的测试框架testing和自带的 go test命令来实现单元测试和性能测试,testing框架和其他语言中的测试框架类似,你可以基于...

964
来自专栏开源优测

RobotFramework怎么写好用例

github地址:https://github.com/robotframework/HowToWriteGoodTestCases/blob/master/H...

942

扫码关注云+社区