mysql基础

Posted on By 任璐

mysql 基础

类型

数值

tinyint(m)
  小整数,范围 -128~127   0~255
int(m)
整数,范围-2147483648 ~ 2147483647   0 ~ 4294967295
m仅用于显示,对存储范围无限制
bigint(m)
 大整数 范围 -9223372036854775808 ~ 9223372036854775807  0  ~  18446744073709551615
decimal(m,d)
精确的小数值,m是数字总个数,d是小数点后位数,m最大65,d最大30
float(m,d)
不准确的小数值,单精度浮点数,
范围 有符号-3.402823466E+38 to -1.175494351E-38,0  1.175494351E-38 to 3.402823466E+38
无符号   0    1.175494351E-38 to 3.402823466E+38

double(m,d)

双精度浮点数,非准确小数值
范围 有符号 -1.7976931348623157E+308 to -2.2250738585072014E-308  0 2.2250738585072014E-308 to 1.7976931348623157E+308
无符号 0   2.2250738585072014E-308 to 1.7976931348623157E+308

时间

  DATE
  YYYY-MM-DD
  TIME
    HH:mm:ss
  YEAR
    YYYY
  DATETIME
  YYYY-MM-DD HH:mm:SS
  TIMESTAMP
  YYYY-MM-DD HH:mm:SS

### 特性:

  • 在创建记录和修改现有记录的时候刷新 TIMESTAMPDEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
  • 在创建记录时候设置为当前时间,修改时不刷新 TIMESTAMPDEFAULT CURRENT_TIMESTAMP
  • 创建记录时设置为0,以后修改时刷新 TIMESTAMPON UPDATE CURRENT_TIMESTAMP
  • 创建记录时设置为给定值,修改的时候刷新 TIMESTAMPDEFAULT ‘yyyy-mm-dd hh:mm:ss’ ONUPDATE CURRENT_TIMESTAMP
    将updatestamp 设置为null 或者now() 就是更新为当前值 DATE_FORMAT(date1,’%Y-%m-%d %H:%i:%s’)

字符串

  char(m)
  固定长度的字符串,m最大255
  varchar(m)
  不固定长度的字符串,m最大255(mysql5.0及以上版本中的最大长度为65535)
  text
  保存变长的大字符串,最大可到65535 (2**16 -1)
  mediumtext
  保存字符串,最大2**24-1
  longtext
  保存字符串,最大2**32-1 或 4gb
  enum
  枚举类型,最大数量65535 实际最大少于3000个
  set
  最多成员数量 64 ,插入数据是set设定集合的子集或全集

数据类型 数据类型

存储引擎

InnoDB MyISAM MEMORY BOB

美吧数据库创建过程

数据库 —

  • 用户表
  • 文章表 –> 文章内容大字段表
  • 用户关系表(关注,粉丝)
  • 评论表
  • 系统配置表 (类别)
  • 文章操作日志(分享,点赞…)