如何给mysql数据库的字段设默认值

建表字段规范,字段名后跟类型,默认值紧跟。

age整型,默认1 5
address变长字符型,默认'北京市'。

你自己掂量。

MySQL命令行中给表添加一个字段(字段名、是否为空、默认值)

哎哟,这MySQL玩起来还真是有点意思。
我之前也遇到过这种问题,就是在test表里加个字段,结果发现默认值默认就是空。
当时我就想,这玩意儿不设默认值怎么行啊,总不能每次都让人去手动填吧。

当时我就在test表里试了试,添加了一个叫birth的字段,还特意指定了类型是date。
结果你猜怎么着?操作成功了,但是一看数据,birth字段里都是空的。
我当时也没想明白,这默认值怎么就是空的呢?
后来我又想,那要不我再加个字段,这次就不设默认值看看。
我就这样写了:mysql> alter table test add column birth1 date not null; 结果你猜怎么着?居然成功了!我当时也没想明白,这玩意儿没有指定默认值,怎么就能添加成功呢?
然后我又去看数据,发现birth1 字段里的值都是那个默认的日期:0000-00-00。
我当时就明白了,原来date类型的字段,如果不指定默认值,系统会自动给你一个默认的日期:0000-00-00。

然后我又想,那要不我再试一下,这次我指定一个默认值。
我就这样写了:mysql> alter table test add column birth2 date default '2 01 3 -1 -1 '; 结果你猜怎么着?还是成功了!一看数据,birth2 字段里都有了默认的日期:2 01 3 -1 -1
所以说啊,MySQL给表添加字段,其实还挺简单的。
你只要知道,如果不指定默认值,date类型的字段会自动有一个默认日期;如果你指定了默认值,那就会按照你指定的来。
希望我这大白话的解释能帮到你,有啥问题再问我。