首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

mysql学习总结02 — 数据类型

mysql学习总结02 — 数据类型 toc 1....默认为整形增加负数,例如 tinyint 实际表示的区间为 -128 ~ 127 无符号:表示存储的数据在当前字段中,没有负数(只有正数,例如 tinyint 区间为 0~255) mysql> alter...小数型 2.1 浮点型 float 单精度 4个字节(精确到小数点后7位) 大约10^38 double 双精度 8个字节(精确到小数点后15位) 大约10^308 如果数据精度丢失,浮点型按四舍五入计算...20'+year : '19'+year ) time 本质是用来表示时间区间(xxx个小时),所以可表示范围较大 -838:59:59~838:59:59 time 录入时可使用一个简单的日期(可为负数...记录长度 mysql中规定记录长度 (record == row) 总长度不能超过65535字节,varchar能够存储的理论值为65535字符,字符在不同的字符集下占用多个字节,且需要额外的字节来保存长度

1.4K20

短短几行代码将数据保存CSV和MySQL

分享写入csv文件和写入mysql的方法,编码工作我一向追求代码的简单性。...,会有行号(如下图),这点在保存数据库mysql的时候体现尤其明显,不注意的话可能会出错 ?...二、保存msyql ?...上面代码已经实现将我们构造的df数据保存MySQL,现在提一些注意点 注意事项: 1、我们用的库是sqlalchemy,官方文档提到to_sql是被sqlalchemy支持 文档地址: http://pandas.pydata.org...,这样刚好df的3个列和数据库的3个字段一一对应,正常保存,如果不设置为false的话,数据相当于4列,跟MySQL 3列对不上号,会报错 这里提个小问题,比如我们想在遍历的时候来一条数据,保存一条,而不是整体生成

2K20

MySQL修改字段类型、字段名字、字段长度、字段小数点长度。

文章目录 1:修改类型 2:修改长度 3: 同时修改列名和列的数据类型 4:修改字段类型text(类型) ~>mediumtext(类型) 5:修改字段长度和字段小数点长度 6: 修改字段列名和字段类型...7:指定字段之后新增字段 8:更新表content_text字段类型 9:修改字段类型,修改长度和小数点位数 1:修改类型 mysql> alter table 表名 modify column 字段名...mysql 修改字段类型:alter table news modify column title text;我发现使用这句sql也可以直接修改字段原本的类型!...table csp_doc modify column content_text mediumtext; Query OK, 22 rows affected (0.06 sec) 5:修改字段长度和字段小数点长度...访问说版本'; alter table csp_doc modify column visit_num int(32) DEFAULT NULL COMMENT '访问数'; 9:修改字段类型,修改长度和小数点位数

8.7K20

Oracle number类型的语法和用法

然后检验有效数位是否p,小数点右边至少有s-p个0填充。 当s(scale)为负数时,Oracle就对小数点左边的s个数字进行舍入。精确到小数点左边s位,并四舍五入。...当刻度s为负数时,Oracle就对小数点左边开始向前数的第|s|位数字是第|s|位数字,并对该数字进行四舍五入。...当刻度s为负数时,小数点左边的最大位数为p+|s|,且这与输入的数值的小数点右边的位数为多少无关。 2、 P只能为正数。 当刻度s为正数时, P<s时,写入不了值,提示ora-01438。...当刻度s为负数时, P<|S|时, 如果输入的数值,其后小数点左边的位数不大于|S|,且最高位数字小于5,则存储的最终值都为0。... 当s(scale)为负数时,Oracle就对小数点左边的s个数字进行舍入。

1.9K20

将爬取的数据保存mysql

为了把数据保存mysql费了很多周折,早上再来折腾,终于折腾好了 安装数据库 1、pip install pymysql(根据版本来装) 2、创建数据       打开终端 键入mysql -u root...7、爬取数据保存mysql scrapy crawl xhwang 之前报错为2018-10-18 09:05:50 [scrapy.log] ERROR: (1241, 'Operand should...然后又查了下原因终于解决问题之所在 在图上可以看出,爬取的数据结果是没有错的,但是在保存数据的时候出错了,出现重复数据。那为什么会造成这种结果呢? ...其原因是由于spider的速率比较快,scrapy操作数据库相对较慢,导致pipeline中的方法调用较慢,当一个变量正在处理的时候 一个新的变量过来,之前的变量值就会被覆盖了,解决方法是对变量进行保存...,在保存的变量进行操作,通过互斥确保变量不被修改。

3.6K30

MySQL中的数据类型和schema优化

1.2 实数类型 实数类型的对比如下: 实数类型 空间大小(Byte) 取值范围 计算精度 FLOAT 4 负数:-3.4E+38~-1.17E-38;非负数:0、1.17E-38~3.4E+38 近似计算...DOUBLE 8 负数:-1.79E+308~-2.22E-308;非负数:0、2.22E-308~1.79E+308 近似计算 DECIMAL 与精度有关 同DOUBLE 精确计算 从上面可以看出...MySQL在存储DECIMAL类型时会作为二进制字符串存储,每4个字节存9个数字,当不足9位时,数字的占用空间如下: 数字个数 占用空间(Byte) 1、2 1 3、4 2 5、6 3 7、8 4 小数点前后将分别存储...,同时小数点也要占1个字节。...同时加上小数点1个字节,则总共占用9个字节。 DECIMAL(20, 9):整数部分长度为14,占用7(4+3)个字节。小数部分长度为9,占用4个字节。同时加上小数点1个字节,则总共占用12个字节。

1.1K10

保存mysql InnoDB的auto_increment值另类方案

mysql的上述行为说明在mysql运行过程中InnoDB存储引擎的表,其AUTO_INCREMENT值会随着插入操作持续增长的,但mysql重启之后,AUTO_INCREMENT值并没有持久保存下来,...列出数据库里每个表的表名 TABLES=`mysql --batch -u$MYSQL_USER -p$MYSQL_PWD -h$MYSQL_HOST mysql -e "SELECT t.table_name...针对有自增ID的表,为每个表在$AUTOINCR_INDEXES_TABLE_NAME表中创建对应记录以保存该表的auto_increment值 for T in ${TABLES[@]} ; do...= "NULL" ]]; then mysql --batch -u$MYSQL_USER -p$MYSQL_PWD -h$MYSQL_HOST $MYSQL_DBNAME -e "INSERT...值保存下来 利用插入后的触发器,在每次插入数据后更新保存的auto_increment值 利用init-file参数,在mysql服务启动时调用一个存储过程,该存储过程负责以保存的auto_increment

97350

小小的 float,藏着大大的学问

对于二进制小数转十进制时,需要注意一点,小数点后面的指数幂是负数,比如二进制 0.1 转成十进制就是 2^(-1),也就是十进制 0.5,二进制 0.01 转成十进制就是 2^-2,也就是十进制 0.25...这三个重要部分的意义如下: 符号位:表示数字是正数还是负数,为 0 表示正数,为 1 表示负数; 指数位:指定了小数点在数据中的位置,指数可以是负数,也可以是正数,指数位的长度越长则数值的表达范围就越大...所以,你会看到在计算机中 0.1 + 0.2 并不等于完整的 0.3,这主要是因为有的小数无法可以用「完整」的二进制来表示,所以计算机里只能采用近似数的方式来保存,那两个近似数相加,得到的必然也是一个近似数...计算机是以浮点数的形式存储小数的,大多数计算机都是 IEEE 754 标准定义的浮点数格式,包含三个部分: 符号位:表示数字是正数还是负数,为 0 表示正数,为 1 表示负数; 指数位:指定了小数点在数据中的位置...0.1 + 0.2 并不等于完整的 0.3,这主要是因为这两个小数无法用「完整」的二进制来表示,所以计算机里只能采用近似数的方式来保存,那两个近似数相加,得到的必然也是一个近似数。 ----

1.7K20
领券