CREATE TABLE `user` (
`id` int(20) NOT NULL,
`name` varchar(30) DEFAULT NULL,
`pwd` varchar(30) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
问题一
表名和字段名为什么要用 ` 包含?
它是为了区分MYSQL的保留字与普通字符而引入的符号。
举个例子:
SELECT `select` FROM `test` WHERE select='字段值'
在test表中,有个select字段,如果不用反引号,MYSQL将把select视为保留字而导致出错,所以,有MYSQL保留字作为字段的,必须加上反引号来区分。
如果表名、属性名都是常规名字也不是关键字的话其实可以不用该符号
问题二
DEFAULT NULL 是什么意思?
“默认值(Default)”的完整称呼是“默认值约束(Default Constraint)”。MySQL 默认值约束用来指定某列的默认值。
问题三
DEFAULT CHARSET=utf8; 是什么意思
DEFAULT CHARACTER SET utf8:数据库字符集。设置数据库的默认编码为utf8,这里utf8中间不要"-";