我因为懒,就想写个批量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. selenium 分布式 [WinError 10061] 由于目标计算机积极拒绝

    selenium grid分布式,老是出现[WinError 10061] 由于目标计算机积极拒绝的问题 网上查了一圈,出现积极拒绝大概是代理问题, 捣鼓了一圈,还是不行 想到fiddler自动侦听了 ...

  2. java基础知识—变量、数据类型和运算符

    1.变量:存储数据的一个基本单元.2.变量的声明和赋值: 1)声明并赋值;数据类型 变量名=值 例如:int prince=10; 2) 声明.赋值分为两步: 数据类型 变量名: 例如:int=pri ...

  3. [.NET] 使用ValidationContext快速进行模型资料的验证

    在进行WebAPI功能开发的时候,一般传统的验证资料是否合法的方式,都是透过if/else的方式进行判断若是使用ValidationContext,就可以省去很多自行撰写程式码的工作 要使用Valid ...

  4. Vue源码之----为什么Vue中Array的pop,push等方法可以reactive,而Array[0]='a'这样的方法不会reactive?

    这就要从reactive开始讲起了,粗略的说,js的操作能引起页面上显示的改变,是因为该操作引起了组件的重新渲染,渲染会生成新的虚拟节点,新节点和旧节点会对比,操作浏览器的node进行改变. vue实 ...

  5. Swing学习1——总体概述

    以下来自于JDK1.6 一.Swing学习我划分为两个方面: 一方面Swing的界面设计部分,包括相关组件类的继承关系,组件的功能用途,布局管理: 1.首先继承关系上自上而下为 java.lang.O ...

  6. php:数组与json数据相互转换

    1.数组转json $json=json_encode(数组名) 数组转json字符串 2,json转数组 $arr=json_decode(json字符串,[true]) 不加true第一次转直接转 ...

  7. Ubuntu + Nginx 配置全站https访问

    最近跟室友要一起搞一个个人公众号,提前想把生态想清楚了,所以准备部署一个网站 正好公司有Microsoft Visual Studio Professional订阅,每个月有50刀免费额度,对于Azu ...

  8. Django项目的创建的基本流程---基本配置

    一.项目分析: 二.需求分析 三.Git管理代码: 1.创建仓库 2.克隆仓库 3.设置虚拟环境 4.复制前端font代码 在font中打开终端,运行live-server 5.测试前端代码是否可以运 ...

  9. servlet之servlet容器(一)

    1.servlet容器 ·servlet容器为javaweb应用提供运行时环境,负责管理servlet和jsp的生命周期以及管理它们的共享数据 ·servlet容器中的文件目录结构 ·tomcat是一 ...

  10. CSS组合设计输入框和按钮生成自定义关键字查询栏

    效果图: html代码: <!DOCTYPE html> <head> <title></title> </head> <body&g ...