数据类型和数据库字段属性

144 阅读2分钟

数据库的数据类型

数值

整数

~ tinyint 十分小的数据 1个字节

~ smallint 较小的数据 两个字节

~ mediumint 中等大小的数据 3个字节

~ int 标准的整数 4个字节(常用的)

~bigint 较大的数据 8个字节

小数

~ float 浮点数 4个字节

~ double 浮点数 8个字节

~ decimal 字符串形式的浮点数 金融计算的时候,一般是使用decimal

字符串

~ char 字符串固定大小 0 - 255

~ varchar 可变字符串 0 - 65535 常用的变量(常用)

~ tinytext 微型文本 2^8-1

~ text 文本串 2^16-1 保存大文本

时间日期

java.util.Date

~ date YYYY - MMM -DD ,日期格式

~ time HH: mm : ss 时间格式

~ datatime YYYY - MMM -DD HH: mm : ss 最常用的时间格式

~ timestamp 时间戳 1970,1,1到现在的毫秒数

~ year 年份表示

null

~ 没有值,未知

~ ==注意,不要使用NULL进行运算,结果为NULL

# 数据库的字段属性(重点)

Unsigned :

~ 无符号的整数

~ 声明了该列不能声明为负数

zerofill:

~ 0填充的

~ 不足的位数,使用0来填充,int(3) , 5 .. 005

自增:

~ 通常理解为自增,自动在上一条记录的基础上+1(默认)

~ 通常用来设计唯一的主键~ index ,必须是整数类型

~ 可以自定义设计主键自增的起始值和步长

非空:NULL, not null

~ 假设设置为not null ,如果不给他赋值,就会报错 (不可以为空)

~ NULL 如果不填值,默认就是NILL(可以为空)

默认

~ 设置默认的值!

~ sex,默认值为男,如果不指定该列的值,则会有默认的值!

\

创建数据库

c创建表

注意点:使用英文括号,表的名称和字段尽量使用``括起来

CREATE TABLE IF NOT EXISTS`STUDENT`(
  `id`  INT(4)  NOT NULL AUTO_INCREMENT COMMENT '学号',
`name` VARCHAR (30) NOT NULL DEFAULT '匿名' COMMENT '姓名',
`pwd` VARCHAR (20) NOT NULL DEFAULT '123456' COMMENT '密码',
`sex`   VARCHAR (2) NOT NULL DEFAULT '男' COMMENT '性别',
`birthday` DATETIME DEFAULT NULL COMMENT '出生日期',
`address` VARCHAR (100) DEFAULT NULL COMMENT'家庭住址',
`emal` VARCHAR (50) DEFAULT NULL COMMENT'邮箱',
PRIMARY KEY(`id`)
)ENGINE=INNODB DEFAULT CHARSET=utf8
-- AUTO_INCREMENT自增
-- 所有的语句后面加,(英文的逗号)最后一个字段不用加
-- PRIMARY KEY 主键的意思   加在最后面,

\