python+mysql:简单的数据库控制脚本
前两天想写一个查看高考分数段及所对应的大学的网站,因为用的django框架写的所以数据库用的是django自带的数据库sqlite3,然而高考分数段以大学太多(高考过的同学可以理解,出成绩后对着分数线填志愿的苦恼)而sqlite3的批量处理又不知道该如何入手,所以就想到了用mysql,只要写一个python脚本不就可以批量处理了?
所需的环境mysql+python2.7+MySQLdb
首先的MySQLdb,这是一个python的库如果没有的话只需要在Terminal中输入下面的指令即可安装
sudo pip install MySQLdb
mysql的安装就不需要多说了,无论是window还是linux安装都很简单,网上的教程也很多
接着是就是关键的python脚本
#-*- coding:utf-8 -*-
import MySQLdb
conn = MySQLdb.connect(
host = 'localhost',
user = 'root',
passwd = '',#root密码
db = '',#数据库名
charset = 'utf8',#制定编码
)
cur = conn.cursor()
f = open('数据存在的txt文档的地址 ','r')
while True:
line = f.readline()
if line:
line = line.strip()#去掉每行前后的空格
line = line.split('/d')#在每行内以空格切割
name = line[1]
# wenplan = line[2]
# wenmax = line[5]
# wenmin = line[6]
liplan = line[2]
limax = line[5]
limin = line[6]
if liplan==' ':
liplan = 0
if limax==' ':
limax = 0
if limin==' ':
limin = 0#若有空则用0代替
sql = "insert into college_201(name,liplan,limax,limin) values(%s,%s,%s,%s)"
%(name,liplan,limax,limin)#要执行的sql语句
cur.execute(sql)#执行sql指令
else:
break
f.close()
cur.close()
conn.commit()
conn.close()
如果有人不清楚导入数据时使用的文档是什么格式可以参考下面的图片
以上就是脚本的代码,这个脚本基本上适应于对mysql的增删改指令。
至于查的指令可以使用下面的脚本
#-*- coding:utf-8 -*-
import MySQLdb
import uniout
conn = MySQLdb.connect(
host = 'localhost',
user = 'root',
passwd = '',
db = 'score',
charset = 'utf8',
)
cur = conn.cursor()
sql = "select * from college_2013;"
cur.execute(sql)
result = cur.fetchall()
for i in result:
print i
cur.close()
conn.commit()
conn.close()
以上就是最简单的python脚本对mysql的操作。