数据库的列类型
数值类型
字符串
日期和时间
null值
理解为 “没有值” 或 “未知值”
不要用NULL进行算术运算 , 结果仍为NULL
数据字段属性
UnSigned
无符号的
声明该数据列不允许负数 .
ZEROFILL
0填充的
不足位数的用0来填充 , 如int(3),5则为005
Auto_InCrement
自动增长的 , 每添加一条数据 , 自动在上一个记录数上加 1(默认)
通常用于设置主键 , 且为整数类型
可定义起始值和步长
当前表设置步长(AUTO_INCREMENT=100) : 只影响当前表
SET @@auto_increment_increment=5 ; 影响所有使用自增的表(全局)
NULL 和 NOT NULL
默认为NULL , 即没有插入该列的数值
如果设置为NOT NULL , 则该列必须有值
DEFAULT
默认的
用于设置默认值
例如,性别字段(sex),默认为"男" , 否则为 “女” ; 若无指定该列的值 , 则默认值为"男"的值
用SQL语句创建数据库表
--DEFAULT 默认的
--NOT NULL非空必须有值
--COMMENT 注释
--AUTO_INCREMENT自动增长
CREATE TABLE `student`(
`id` INT(4) NOT NULL AUTO_INCREMENT COMMENT'学号',
`name`VARCHAR(40)NOT NULL COMMENT '名字',
`sex`VARCHAR(2)DEFAULT'男'NOT NULL COMMENT'性别',
`pwd`VARCHAR(20)NOT NULL DEFAULT'123456'COMMENT'密码',
`birthday`DATETIME DEFAULT NULL COMMENT'生日',
`address`VARCHAR(100)DEFAULT NULL COMMENT'家庭住址',
`email`VARCHAR(30)DEFAULT NULL COMMENT'电子邮件',
PRIMARY KEY(`id`)
)ENGINE INNODB DEFAULT CHARSET utf8
格式
CREATE TABLE [IF NOT EXISTS]`表名`(
'字段名'列类型 [属性] [索引] [注释],
'字段名'列类型 [属性] [索引] [注释],
'字段名'列类型 [属性] [索引] [注释],
........
'字段名'列类型 [属性] [索引] [注释]
)[表的类型][字符集设置][注释]
默认[表的类型][字符集设置][注释]:ENGINE INNODB DEFAULT CHARSET utf8