添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
深沉的黄瓜  ·  GitHub Copilot ...·  3 年前    · 

根据每日生成的一个全网设备信息:设备名、厂商、设备型号、IP、版本、存活时间自动先生成一个.CSV文件,python通过pymysql库连接数据库将设备基础信息csv文件写入数据库。有两种方法进行数据库写入:逐条写入(适合小量)、一次性导入(适合大量的情况)。

1.1 逐条写入

import pymysql
def main():
		csv_file_path='/home/zhangli/sw_list.csv'
		file = open(csv_file_path, 'r',encoding='utf-8')
		reader = file.readline()
		b = reader.split(',')
		colum = ''
		for a in b:
    		colum = colum + a + ' varchar(255),'
		colum = colum[:-1]
		#定义table名字
		table_name = 'ETCD'
		#定义要插入的数据
		#ata = "LOAD DATA LOCAL INFILE '%s' INTO TABLE %s FIELDS TERMINATED BY ',' LINES TERMINATED BY '\\r\\n' IGNORE 1 LINES" % (csv_filename,table_name)
		#连接数据库
		conn = pymysql.connect(host='localhost',port=3306,user='root',passwd='admin123',db='NET',charset='utf8')
		#创建游标对象
		cursor = conn.cursor()
		#定义数据库
		database='NET'
		#创建table
		create_table = 'create table if not exists ' + table_name + ' ' + '(' + colum + ')' + ' DEFAULT CHARSET=utf8'
		cursor.execute('drop table %s' % table_name)
		cursor.execute('use %s' % database)
		cursor.execute(create_table)
		#创建sql语句
		for line in file:
			line=line.replace("\n","")
			f_read=line.split(',')
			if f_read[0] == 'sw_name':
        		continue
			else:
				sw_name=f_read[0]
				ip=f_read[1]
				data_info=' values('+"\""+sw_name+"\""','+"\""+ip+"\""')'
				sql = 'insert into '+table_name+data_info
				cursor.execute(sql)
		#提交事务
		conn.commit()
		cursor.close()
		conn.close()
	except Exception as err:
        print(err)
main()

1.2 通过LOAD DATA全量导入数据

import pymysql
def main():
                csv_file_path='/home/zhangli/sw_list.csv'
                file = open(csv_file_path, 'r',encoding='utf-8')
                reader = file.readline()
                b = reader.split(',')
                colum = ''
                for a in b:
                        colum = colum + a + ' varchar(255),'
                colum = colum[:-1]
                #定义table名字
                table_name = 'ETCD'
                #定义要插入的数据
                #data = "LOAD DATA LOCAL INFILE '%s' INTO TABLE %s FIELDS TERMINATED BY ',' LINES TERMINATED BY '\\r\\n' IGNORE 1 LINES" % (csv_filename,table_name)
                #连接数据库
                conn = pymysql.connect(host='localhost',port=3306,user='root',passwd='admin123',db='NET',charset='utf8',local_infile=True)
                #创建游标对象
                cursor = conn.cursor()
                #定义数据库
                database='NET'
                #创建table
                create_table = 'create table if not exists ' + table_name + ' ' + '(' + colum + ')' + ' DEFAULT CHARSET=utf8'
                cursor.execute('use %s' % database)
                #cursor.execute('drop table %s' % table_name)
                cursor.execute(create_table)
                #定义数据写入
                sql="LOAD DATA LOCAL INFILE '%s' INTO TABLE %s FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' IGNORE 1 LINES;" % (csv_file_path,table_name)
                cursor.execute(sql)
                #print('value1-->',value1)
                #print('value2-->',value2)
                #提交事务
                conn.commit()
                cursor.close()
                conn.close()
        except Exception as err:
                print(err)
main()

1.3 考虑日常数据库更新

在1.2基础上进行优化,考虑日常数据更新

import pymysql
def main():
                csv_file_path='/home/zhangli/sw_list.csv'
                file = open(csv_file_path, 'r',encoding='utf-8')
                reader = file.readline()
                b = reader.split(',')
                colum = ''
                for a in b:
                        colum = colum + a + ' varchar(255),'
                colum = colum[:-1]
                #定义table名字
                table_name = 'ETCD'
                #定义要插入的数据
                #data = "LOAD DATA LOCAL INFILE '%s' INTO TABLE %s FIELDS TERMINATED BY ',' LINES TERMINATED BY '\\r\\n' IGNORE 1 LINES" % (csv_filename,table_name)
                #连接数据库
                conn = pymysql.connect(host='localhost',port=3306,user='root',passwd='admin123',db='NET',charset='utf8',local_infile=True)
                #创建游标对象
                cursor = conn.cursor()
                #定义数据库
                database='NET'
                #创建table
                drop_table = 'drop table if exists ' + table_name
                create_table = 'create table if not exists ' + table_name + ' ' + '(' + colum + ')' + ' DEFAULT CHARSET=utf8'
                cursor.execute('use %s' % database)
                cursor.execute(drop_table)
                cursor.execute(create_table)
                #定义数据写入
                sql="LOAD DATA LOCAL INFILE '%s' INTO TABLE %s FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' IGNORE 1 LINES;" % (csv_file_path,table_name)
                cursor.execute(sql)
                #print('value1-->',value1)
                #print('value2-->',value2)
                #提交事务
                conn.commit()
                cursor.close()
                conn.close()
        except Exception as err:
                print(err)
main()
Python 连接 MariaDB 数据库 python 连接 数据库 是我们常见的操作,尤其我们在构造大批量 数据 的时候。 连接 mysql 数据库 ,可以使用pymysql库; 连接 oracle 数据库 ,可以使用cx_Oracle库; mariadb 除了使用pymysql库,还可以使用 mariadb 库。一、安装 mariadb 库pip安装 mariadb pip install mariadb 二、 连接 数据库 connect()函数 连接 数据库 。(user为账号,password为密码,host为主机,port为端口,database为 连接 的数 第五章 安装 MariaDB 本来打算在树莓派上部署一个MySQL本地 数据库 ,然后用 Python 对 数据库 操作。尝试的时候发现MySQL已经不能在树莓派上使用了(说是因为版权问题),不过系统推荐了 MariaDB 作为替代。问题不大, MariaDB 可以说是MySQL的分支,是同一个体系内的,基本没有太大的差别。 安装这个 数据库 也是依旧踩了无数的坑,下面记录在树莓派上安装 MariaDB 的详细步骤。 1. 确认系统 这里有必要说明一下, MariaDB 可能只兼容最近发布的Raspberry Pi OS 64 位版 接上一篇博客,RHEL7下实现 MariaDB 数据库 的安装以及增删改查操作https://blog.csdn.net/zZzZzZ__/article/details/103428433最终我们要在 python 下实现 数据库 的增删改查。 我的环境是 Python 3,首先使用pip来安装PyMySQL模块。 sudo python 3 -m pip install PyMySQL 创建 数据 表... yum search mariadb 2.安装 mariadb 的客户软件包和服务软件包 yum install mariadb mariadb -server.x86_64 -y 3.启动 mariadb 服务 systemctl start mariadb system... import pymongo myclient = pymongo.MongoClient('mongodb://localhost:27017/') dblist = myclient.list_database_names() if "runoobdb... python 操作mysql 插入 数据 首先安装pymysql这个库pycharm 连接 数据库 操作mysql语句 连接 数据库 插入 数据 由于有时候, 数据 存在excel表格中,需要借助 python 去读取 数据 然后再 插入 到 数据库 中 首先安装pymysql这个库 pycharm 连接 数据库 这一步可要可不要,虽然那个sql语句会报红,但是其实运行起来也不会报错, 连接 了过后,pycharm会 连接 到那个 数据库 ,可以识别 插入 语句,也就不会报红了 操作mysql语句 连接 数据库 def db_connect(): mysql 官方 连接 器(Connector/ Python ):pip install mysql-connector- python 下载链接地址:https://dev.mysql.com/downloads/connector/ python / mariadb 官方 连接 器(Conne