mysql之建表

数据库建表详解:数据类型与存储引擎
本文深入解析数据库建表过程,包括数据类型选择、存储引擎配置及注意事项,详细介绍了数值型、浮点型、字符型、日期时间型等数据类型的特点与用法,同时讲解了如何合理选择存储引擎与字符集,确保数据库高效运行。

  建表其实就是声明列的过程,建表语句:create table 表名称 (列名称1 列类型 列属性 默认值,列名称2 列类型 列属性 默认值,index xx (xx))engine=储存引擎 charset=字符集;比如,create table stu (id int primary key auto_increment,name varchar(20) not null default '',age tinyint unsigned not null default 0,index id (id))engine=innodb charset=utf8;注意,primary key和auto_increment一张表只能有一列,且primary列的值不能重复,auto_increment此列必须加索引(index/key)。

  数据类型

  数值型             字节        无符号范围

  tinyint        1Byte  0-255

  smallint    2Byte  0-65535

  mediumint     3Byte      0-16777215

  int                 4Byte      0-9223372036854775807

  bigint            8Byte      0-18446744073709551615

  整型列的可选参数,unsigned(无符号),zerofill(0填充,zerofill默认属性决定列为unsigned),M(显示宽度)。比如,create table t1 (id tinyint(5) zerofill);注意,M参数只有和zerofill一起使用才有意义。

  浮点型

  float (M,D) unsigned zerofill,float范围是-3.402823466E+38到-1.175494351E-38,0,1.175494351E-38到3.402823466E+38,M是精度总位数,D是小数点后的位数,如果M,D都不写,float(单精度)精确到大约7位小数,double(双精度)精确到大约15为小数,float/double会有精度损失,decimal(定点型)会更精确。

  字符型

  char,定长,char(10)可存空间是10个字符,每一行的实际占用空间都是10个字符的长度,不管写入的是1个还是2个或者8个。

  varchar,变长,varchar(10)可存空间是10个字符,每一行的实际占用空间要看写入的字符,另加1-2个字节来储存字符结束的标志。

  一般来说,20个字符以内的用char,20个字符以上的用varchar,速度上char快一点。

  text最多能存65535个字符,用来储存大段文本。

  blod储存2进制信息,用来存图片,音频等2进制信息,不会丢失信息。

  enum枚举型,定义好,值就在某几个枚举范围内,比如,create table t1 (gender enum('男','女'));注意,这时就只能插入男或女这2个值。

  set和enum区别在于,enum只能插入枚举范围的一个值,set可以插入几个值。

  日期时间型

  year 年(1字节),范围1901-2155。

  date 日期,范围1000-01-01到9999-12-31,注意date必须是字符型。

  time时间,范围-838:59:59到838:59:59,注意time必须是字符型。

  datetime日期时间,范围1000-01-01 0:00:00到9999-12-31 23:59:59,注意datetime必须是字符型。

  timestamp时间戳,范围1970-01-01 0:00:00到现在的秒数,默认自动更新。

转载于:https://www.cnblogs.com/museluo/p/4499818.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值