300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > mysql 空位补0_MySQL-13(表的创建 数值类型整型 float/decimal ZEROFILL BIT(M))

mysql 空位补0_MySQL-13(表的创建 数值类型整型 float/decimal ZEROFILL BIT(M))

时间:2020-08-29 16:29:06

相关推荐

mysql 空位补0_MySQL-13(表的创建 数值类型整型 float/decimal ZEROFILL BIT(M))

#1. 表的创建

基本语法:

CREATE TABLE table_name(

column1 datatype,

column2 datatype,

column3 datatype

)character set字符集 collate 校对规则 engine存储引擎方式

注:character set 、collate、engine 如果没有指定,则该表的字符集、字符集校验规则和表的存储引擎与该表对应的数据库保持一致

例:

CREATE TABLE user(

id intcommet'id 号',

name varchar (60) comment' 用户名 ',

password char (32) commet'密码是32位的md5的值',

birthday date comment'生日'

)character set utf8 collate utf8_general_ci engine myisam;

说明:

1> 在 my.ini 中可以找到data的路径,然后在对应数据库DB下可以看到建表语句成功执行后所对应的文件;

2> 在表的存储引擎不同时,所产生的文件不同;如 当指定存储引擎为 MyISAM时,在data 下产生3个对应的文件'user.frm'、'user.MYD'、'user.MYI';而Innodb则只有一个单独的文件table_name.frm 文件;my.ini中datadir

engine指定为MyISAM时,每个table有以下三个对应的文件engine 为 MyISAM时产生对应三个文件

# 2. MySql的数值类型-整型整型数值

1> TINYINT 的范围说明,其他整型类型以此类推TINYINT 的范围说明

2> 说明:

a. 在mysql中整型默认为有符号的

b. 在建表时可以指定整型为无符号的: CREATE TABLE Tiny_table(age tinyint unsigned),其数值范围即指定为 0~ 255

c. CREATE TABLE table_name (

id int unsigned not null default 0 comment' 这里 not null 是不为空,空值无法写进table中,默认为 0 值填充'

)character set utf8 engine myisam;

3> 关于zerofill的说明

例如 int(6) unsigned zerofill 中 int(6)的含义说明

a. zerofill 只能和unsigned 配合使用;

b. int(6)中的6表示在使用zerofill时,数据的填充宽度,即数据不足6位,前面由0补齐各位,如果不设置zerofill,6 没有什么含义;

c. int(6) zerofill 只要指定zerofill,默认为unsigned;

d. int(6) 并不是表示存放的数据不能超过6位;

举例说明:

CREATE TABLE zero_f(

num1int,

num2int(4)zerofill,

num3 int(6) unsigned zerofill

);zerofill 的空位0填充

# 3. MySql的数值类型-数值型(bit)

基本使用:

BIT(M)

位字段类型,M表示每个值的位数,范围从1-64,如果M被省略,默认为1;

CREATE TABEL tab_bi( num bit(2) );

1> bit 在使用时,显示的是该数值的ASCII码

2> 如果一个值只有 0和 1 时,可以考虑使用bit(1)来节省空间;

3> M为位字段类型

#4. 数值类型小数

1> FLOAT的基本用法

FLOAT[(M,D)][UNSIGNED]

M指定显示长度,D 指定小数位数,占用空间4个字节

float(4,2) 表示的范围是-99.99~99.99

float(4,2) unsigned 表示范围为 0-99.99

2> DECIMAL的基本用法

DECIMAL(M,D)[UNSIGNED]

定点数M指定长度,D表示小数点位数

decimal(5,2) 表示范围:-999.99 ~ 999.99

decimal(5,2) 表示范围:0~999.99

3> 关于float和decimal的区别

float 单精度在小数位7位

decimal 的整数部分M 最大值为65,支持十进制的最大位数D为30.如果M省略,默认为10,如果D省略默认为0,decimal() = decimal(10,0)float和decimal的精度差别

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。