mysql数据库round的用途_MySQL数据库更新到round decim

Testing数据库表中的number列显然具有整数数据类型。您可以通过查询EXPLAIN Testing来检查数据类型。如果它有整数数据类型,number值在存储到表中之前被强制为整数。在

如果要存储十进制数,则需要先更改表:ALTER TABLE `Testing` CHANGE `number` `number` DECIMAL(M,D)

其中(perthe docs):M是最大位数(精度)。它的范围是1到65。

D是小数点(刻度)右边的位数。它

范围为0到30,并且不能大于M。

例如,如果我们创建一个Testing表,其中number具有INT(11)数据类型:

^{pr2}$

假设该表有一条记录number = 5:insert = 'INSERT INTO Testing (number) VALUE (%s)'

cursor.execute(insert, (5,))

show_table(cursor)

# (1L, 5L)

如果我们试图将number设置为5.5:update = 'UPDATE Testing SET number = %s where id = %s'

cursor.execute(update, [5.5, 1])

相反,数字存储为6:show_table(cursor)

# (1L, 6L)

如果我们将number字段的数据类型更改为DECIMAL(8,2):alter = 'ALTER TABLE `Testing` CHANGE `number` `number` DECIMAL(8,2)'

cursor.execute(alter)

然后将数字设置为5.5将存储number作为十进制:cursor.execute(update, [5.5, 1])

show_table(cursor)

# (1L, Decimal('5.50'))

当然,也可以创建一个Testing表,从一开始就使用十进制数据类型的number字段,然后从一开始就将浮点数存储为小数。在

我不太清楚你是否真的想要一个DECIMAL(M,D)数据类型。如果使用DECIMAL(M,D),那么查询表将返回numbers,在Python端是decimal.Decimals。如果您只需要常规的Python浮点数,那么用数据类型为FLOAT而不是DECIMAL(M,D)的Testing字段定义{}。在

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值