python操作sql数据库
查询数据库,把数据写入csv文件
import pymysql
import csv
if __name__ == "__main__":
QUERY = 'SELECT id, image_path, label FROM tabel_name WHERE version in(select version from tlabel_name where version=3) and plate_status=1'
conn = pymysql.connect(host="192.168.2.XX", port=13306, user="XXX", password="XXX", database="XXX")
cursor = conn.cursor()
#cursor.execute('SELECT VERSION()')
try:
cursor.execute(query)
rows = cursor.fetchall()
print(rows)
finally:
cursor.close()
conn.close()
#version, image_path, label
# c = csv.writer(open('/path/xx.csv', 'w', encoding='utf-8', newline=''))
# c.writerows(rows)
插入数据库
import pymysql
import csv
import os
if __name__ == "__main__":
image_dir = "/path/dir/"
version = 4
plate_status = 0
conn = pymysql.connect(host="192.168.2.xxx", port=13306, user="xxx", password="xxx", database="xxx")
cursor = conn.cursor()
#cursor.execute('SELECT VERSION()')
files = os.listdir(image_dir)
li = []
for file in files:
path = image_dir + file
li.append((path, version, plate_status))
print(li)
stmt = "insert into lpr_label(image_path, version, plate_status) values(%s, %s, %s)"
cursor.executemany(stmt, li)
conn.commit()
print('ok')
cursor.close()
conn.close()
查看数据库字典类型
import pymysql
import csv
import os
if __name__ == "__main__":
#查看字段类型
query = "select column_name,data_type from information_schema.columns where table_name = 'xxx'"
conn = pymysql.connect(host="192.168.2.xxx", port=13306, user="xxx", password="xxx", database="xxx")
cursor = conn.cursor()
cursor.execute(query)
for field in cursor.fetchall():
print(field)
cursor.close()
conn.close()