mysql text 建表_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)。

e6c2abc7a9b50f0b02e92a66aee2c4b5.png

数据类型

数值型             字节        无符号范围

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快一点。

ba71ec6b17413925a9bf92d1ceff6a19.png

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到现在的秒数,默认自动更新。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值