python查询、处理、批量存入数据
1、安装数据库连接器
首先需要安装一个数据库连接器,比如pymysql、pyodbc等,用于连接MySQL、SQL Server等不同的数据库。
安装命令如下
pip install PyMySQL
2. 连接数据库
连接数据库需要先指定数据库的主机名、端口号、用户名和密码等信息。这些信息在连接数据库之前,应该先在数据库中进行配置。
以MySQL数据库为例,示例代码:
import pymysql
conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='123456', db='testdb')
cursor = conn.cursor()
上述代码中,使用pymysql模块连接MySQL数据库,需要指定主机名、端口号、用户名、密码和数据库名。connect()函数用于连接数据库,返回一个Connection对象。cursor()方法可以获得游标对象,用于执行SQL查询。
3. 执行SQL查询
一旦连接建立,执行SQL查询的方法是使用游标对象的execute()方法。
cursor.execute("SELECT * FROM mytable")
4、python将一张表里面字段为json格式的数据,按对应字段存到相应表中,代码如下:
1)mysql库
import pymysql
import json
# 连接数据库
conn = pymysql.connect(host='localhost', port=3336, user='root', passwd='BigData.2018v6', db='testdb')
cursor = conn.cursor()
# 执行SQL查询,content为
cursor.execute("SELECT `content` FROM mytable")
# 获取查询结果
rows = cursor.fetchall()
list_data = []
for row in rows:
json_obj = json.loads(row[0])
line = (json_obj['type'], json_obj['title'], json_obj['level'])
list_data.append(line)
print(list_data)
sql = "INSERT INTO dong (type, title,level) VALUES (%s, %s, %s)"
cursor.executemany(sql, list_data)
# 提交更改
conn.commit()
# 关闭连接
conn.close()
2)hive
from pyhive import hive
import json
# 连接Hive服务器
cursor = hive.connect(host='hive.server', port=10000, username='hiveuser').cursor()
# 执行SQL查询,content为
cursor.execute("SELECT `content` FROM mytable")
# 获取查询结果
rows = cursor.fetchall()
list_data = []
for row in rows:
json_obj = json.loads(row[0])
line = (json_obj['type'], json_obj['title'], json_obj['level'])
list_data.append(line)
print(list_data)
sql = "INSERT INTO dong (type, title,level) VALUES (%s, %s, %s)"
cursor.executemany(sql, list_data)
# 提交事务
cursor.execute('COMMIT')