爬虫之MySQL数据库使用规范

爬虫之MySQL数据库使用规范

一.定义规范


  • 1.库名、表名、字段名使用小写字母(最好是英文),用_做分割。
  • 2.库名、表名、字段名要有中文注释,方便理解。
  • 3.库名、表名、字段名见名知意,建议使用名词而不是动词。
  • 4.表必须要有主键,最好符合三范式建表。
  • 5.存储精确浮点数必须使用DECIMAL替代FLOAT和DOUBLE。
  • 6.临时表用tmp开头,线下表爬虫表用ods_crawl开头,比喻爬航班用ods_crawl_flight,爬阿里巴巴用ods_crawl_alibaba。
  • 7.整形定义中不添加长度,比如使用INT,而不是INT(4)。
  • 8.尽可能不使用TEXT、BLOB类型。
  • 9.建表三范式:
    1NF:一个table中的列是不可再分的(即列的原子性)
    2NF:一个table中的行是可以唯一标示的,(即table中的行是不可以有重复的)
    3NF:一个table中列不依赖以另一个table中的非主键的列!

二.存储规范


  • 1.VARCHAR(N),N表示的是字符数不是字节数,比如VARCHAR(255),可以最大可存储255个汉字,需要根据实际的宽度来选择N。

  • 2.VARCHAR(N),N尽可能小,因为MySQL一个表中所有的VARCHAR字段最大长度是65535个字节,进行排序和创建临时表一类的内存操作时,会使用N的长度申请内存。

  • 3.表字符集选择UTF8,防止数据乱码。

  • 4.存储年月使用int类型。

  • 5.存储日期使用DATE类型。

  • 6.存储时间(精确到秒)建议使用TIMESTAMP类型,因为TIMESTAMP使用4字节,DATETIME使用8个字节。

三.遇到的问题


1.timestamp

  • 从MySQL5.7开始使用严格模式,当一张表的定义有多个timestamp字段时,第二个字段会默认为 ’0000-00-00 00:00:00‘格式,但是该模式下不允许使用这种格式的时间,因此会出现以下报错:

    Invalid default value for 'timestamp'
    
  • 解决办法: 输入MySQL命令:

    SET GLOBAL sql_mode = ''; 
    
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 在Python中连接MySQL数据库可以使用MySQL Connector/Python模块。这是Oracle支持的官方驱动,用于通过Python连接MySQL。该连接器完全是Python语言编写的,不需要MySQL客户端库或标准库以外的任何Python模块。\[1\]另外,你也可以使用pymysql模块来连接MySQL数据库。在Anaconda Prompt中安装pymysql可以使用以下命令:pip install pymysql -i https://pypi.tuna.tsinghua.edu.cn/simple\[2\] Python语言是一种流行的开源编程语言,提供了高效的数据结构和简单有效的面向对象编程。在进行web开发、网络爬虫、数据挖掘、人工智能等研究时,我们经常需要连接数据库来存储或读取数据。Python DB-API是Python访问数据库的统一接口规范,可以方便地使用不同的数据库连接器来连接不同的数据库系统,包括MySQL。 #### 引用[.reference_title] - *1* [4 种 Python 连接 MySQL 数据库的方法](https://blog.csdn.net/BF02jgtRS00XKtCx/article/details/126964659)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Python连接MySQL数据库](https://blog.csdn.net/kejiayuan0806/article/details/124318464)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值