CREATE TABLE `t_student`(
`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '学生ID',
`student_num` VARCHAR(20) NOT NULL DEFAULT '' COMMENT '学生学号',
`name` VARCHAR(15) NOT NULL DEFAULT '' COMMENT '学生姓名',
`sex` VARCHAR(10) NOT NULL DEFAULT '' COMMENT '学生性别',
`grade` INT(2) NOT NULL DEFAULT 0 COMMENT '学生年级',
`class_num` INT(2) NOT NULL DEFAULT 0 COMMENT '学生班级',
`birthday` DATE NOT NULL DEFAULT '0000-00-00' COMMENT '学生生日',
`is_good_student` INT(2) NOT NULL DEFAULT 0 COMMENT '学生是否是好学生1是0否',
`created_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`last_modified_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
PRIMARY KEY (`id`)
)ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT='学生信息表';
`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '学生ID',
`student_num` VARCHAR(20) NOT NULL DEFAULT '' COMMENT '学生学号',
`name` VARCHAR(15) NOT NULL DEFAULT '' COMMENT '学生姓名',
`sex` VARCHAR(10) NOT NULL DEFAULT '' COMMENT '学生性别',
`grade` INT(2) NOT NULL DEFAULT 0 COMMENT '学生年级',
`class_num` INT(2) NOT NULL DEFAULT 0 COMMENT '学生班级',
`birthday` DATE NOT NULL DEFAULT '0000-00-00' COMMENT '学生生日',
`is_good_student` INT(2) NOT NULL DEFAULT 0 COMMENT '学生是否是好学生1是0否',
`created_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`last_modified_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
PRIMARY KEY (`id`)
)ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT='学生信息表';
首先表名和列名要用单引号括起来,那么问题来了,这个单引号一定要注意是Esc下面的那个单引号;
而默认值和备注用的单引号是和双引号在一个键上的单引号,注意区分;
AUTO_INCREMENT可以理解为自动递增的意思,每增加一条记录,值会自动加1。还可用“AUTO_INCREMENT=n”选项来指定一个自增的初始值。
COMMENT 设置备注 注意字段注释的方法和表注释的方法不一样,表注释有一个等号
NOT NULL 该字段不能为空
DEFAULT 设置默认字段,int型的时候 DEFAULT 0 ;varchar 型的时候 DEFAULT '' ;Date型的时候 DEFAULT '0000-00-00';由此可以总结出来一些规律。
CHARSET=utf8 设置字段编码
PRIMARY KEY (`id`) 设置主键
[CONSTRAINT 外键名] 设置外键
ENGINE=INNODB
存储引擎是innodb。nnoDB 是 MySQL 上第一个提供外键约束的数据存储引擎,除了提供事务处理外, InnoDB 还支持行锁,提供和 Oracle 一样的一致性的不加锁读取,能增加并发读的用户数量并提高 性能,不会增加锁的数量。InnoDB 的设计目标是处理大容量数据时最大化性能,它的 CPU 利用 率是其他所有基于磁盘的关系数据库引擎中最有效率的。 InnoDB 是一套放在 MySQL 后台的完整数据库系统,InnoDB 有它自己的缓冲池,能缓冲数据和索引 ,InnoDB 还把数据和索引存放在表空间里面,可能包含好几个文件,这和 MyISAM 表完全不同, 在 MyISAM 中,表被存放在单独的文件中,InnoDB 表的大小只受限于操作系统文件的大小,一般为 2GB。