我因为懒,就想写个批量insert数据的小代码 这里是代码

# _*_ encoding:utf-8 _*_
import os
import MySQLdb
import numpy as np dbname = 'spj'
db = MySQLdb.connect(host="localhost", port=3306, user="root", passwd="", db=dbname,charset="utf8") # 进行插入操作时需要声明编码类型
cursor = db.cursor() def dp_insert(file_name,putin):
file = open(file_name, "r")
for line in file.readlines():#插入
arr = line.split()
sql = putin+' values '+'('+"'"+arr[0]+"'"+','+"'"+arr[1]+"'"+','+"'"+arr[2]+"'"+','+"'"+arr[3]+"'"')'+';'
try:
cursor.execute(sql)
db.commit()
except:
print("Error")
file.close() def select(putin):
sql = putin
try:
cursor.execute(sql)
results = cursor.fetchall()
for row in results:
print(row)
db.commit()
except:
print("Error: unable to fecth data") def describe(putin):
sql = putin
try:
cursor.execute(sql)
results = cursor.fetchall()
for row in results:
print(row)
db.commit()
except:
print("Error: unable to fecth data") def delete_line(infile,outfile):
infopen = open(infile,'r')
outfopen = open(outfile,'w')
lines = infopen.readlines()
for line in lines:
if line.split():
outfopen.writelines(line)
else:
outfopen.writelines("")
infopen.close()
outfopen.close()
os.remove(infile)
os.rename(outfile,infile) def main():
file_name = 'p.txt'
print("please input sql:")
putin = input()
delete_line(file_name, 'new.txt') # test pass
if putin.startswith('insert'): # +','+"'"+arr[2]+"'"
print("数据的path")
file_name = input()
dp_insert(file_name, putin)
elif putin.startswith('select'):
select(putin)
elif putin.startswith('describe'):
describe(putin)
else:
db.close()
os._exit() if __name__ == '__main__':
main()
print("next?")
if input()=='Y':
main()
else:
db.close()
os._exit()
db.close() #insert 模板
#insert into p(pno, sname, color, weight)

(insert语句:insert into j(jno,jname,city))

这里是一些文件处理的代码,之前放在代码里,看着难受,放在这里

# 读取path目录下的文件名,返回文件名list列表
def readFileName(path):
lists = []
for root, dirs, files in os.walk(path):
for file in files:
lists.append(os.path.join(root, file))
return lists # 删除路径为filepath的文件
def delFile(filepath):
os.remove(filepath)
print
"ok"
''' '''
#转化为数组
for line in open("p.txt","r"):
arr =line.split()
print(arr) #转化为列表
file = open("p.txt", "r")
list_arr = file.readlines()
for i in range(len(list_arr)):
list_arr[i] = list_arr[i].strip()
a = np.array(list_arr)
print(a)
file.close()
'''
#sql=''+''+''+'' 加号连接 sql=‘%s%s%s’ % ('','','')

python的mysql小代码的更多相关文章

  1. Python操作Mysql实例代码教程在线版(查询手册)_python

    实例1.取得MYSQL的版本 在windows环境下安装mysql模块用于python开发 MySQL-python Windows下EXE安装文件下载 复制代码 代码如下: # -*- coding ...

  2. Python操作Mysql实例代码教程在线版(查询手册)

    本文介绍了Python操作MYSQL.执行SQL语句.获取结果集.遍历结果集.取得某个字段.获取表字段名.将图片插入数据库.执行事务等各种代码实例和详细介绍,代码居多,是一桌丰盛唯美的代码大餐   实 ...

  3. Python之字符串小代码解析

    本篇只是拿一段代码来对python中的字符串的一些使用做解释,来让大家更加了解python Python 3.4.0 (v3.4.0:04f714765c13, Mar 16 2014, 19:25: ...

  4. Python装饰器小代码

    # coding=utf-8import timedef outer(fun): def inner(): start = time.time() fun() runtime = time.time( ...

  5. 解决Python往MySQL插入中文时报错的问题

    今天遇到一个问题,用Python往MySQL插入数据时,若数据中包含中文会报类似下面的错误: ERROR 1366: Incorrect string value: '\xE4\xB8\xAD\xE5 ...

  6. 利用Python操作MySQL数据库

    前言 在工作中,我们需要经常对数据库进行操作,比如 Oracle.MySQL.SQL Sever 等,今天我们就学习如何利用Python来操作 MySQL 数据库. 本人环境:Python 3.7.0 ...

  7. 使用Python编程语言连接MySQL数据库代码

    使用Python编程语言连接MySQL数据库代码,跟大家分享一下: 前几天我用python操作了mysql的数据库,发现非常的有趣,而且python操作mysql的方法非常的简单和快速,所以我把代码分 ...

  8. Python小代码_2_格式化输出

    Python小代码_2_格式化输出 name = input("name:") age = input("age:") job = input("jo ...

  9. Python小代码_1_九九乘法表

    Python小代码_1_九九乘法表 max_num = 9 row = 1 while row <= max_num: col = 1 while col <= row: print(st ...

随机推荐

  1. js中的一些简单问题

    1.JavaScript的组成: ECMAScript标准--基本的语法和对象 DOM:Document Object Model 文档对象模型 BOM:Broswer Object Model 浏览 ...

  2. SQL-58 获取有奖金的员工相关信息。

    题目描述 获取有奖金的员工相关信息.CREATE TABLE `employees` (`emp_no` int(11) NOT NULL,`birth_date` date NOT NULL,`fi ...

  3. AJAX 解决什么问题?如何使用AJAX?AJAX 有什么问题需要注意?项目中哪里用到了AJAX?

    ajax 解决的问题就是“无刷新更新页面”,用传统的HTML 表单方式进行页面的更新时,每次都要将请求提交到服务器,服务器返回后再重绘界面,这样界面就会经历:提交→变白→重新显示这样一个过程,用户体验 ...

  4. Python列表的增删改查和元祖

    一.定义列表 1.names = ['mike','mark','candice','laular'] #定义列表 2.num_list = list(range(1,10)) #range生成1-1 ...

  5. java的重写

    重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变.即外壳不变,核心重写! 重写的好处在于子类可以根据需要,定义特定于自己的行为. 也就是说子类能够根据需要实现父类的方法 ...

  6. DeepCTR专题:Neural Factorization Machines 论文学习和实现及感悟

    papers地址:https://arxiv.org/pdf/1708.05027.pdf 借用论文开头,目前很多的算法任务都是需要使用category feature,而一般对于category f ...

  7. Django在根据models生成数据库表时报错: __init__() missing 1 required positional argument: 'on_delete'

    原因: 在django2.0后,定义外键和一对一关系的时候需要加on_delete选项,此参数为了避免两个表里的数据不一致问题,不然会报错:TypeError: __init__() missing ...

  8. 微信小程序自定义TabBar

    项目中需要根据用户角色控制TabBar中各Item的显示和隐藏,然而小程序自带TabBar没有提供隐藏某个item的功能,只好自己动手写了一个. 1.wxml文件 <view class=&qu ...

  9. VMSTAT监控CPU使用率,内存使用,虚拟内存交换情况

    Linux性能监控分析命令(一)—vmstat命令详解 一.vmstat介绍 语法格式: vmstat [-V] [-n] [-S unit] [delay [count]] -V prints ve ...

  10. axios学习 - 数据获取及渲染

    在app.vue和main.js中引入axios(import axios from 'axios') 基本代码: axios.get('/axios.json') .then(function(re ...