序号 描述
1 去github上下载pymysql的安装包pymysql
2 解压到某个盘符下
3 打开cmd窗口(win环境下),进入pymysql的根目录下执行命令,python setup.py install
4 在程序里,导入pymysql
5 开始连接数据库
数据库操作的API文档连接:http://legacy.python.org/dev/peps/pep-0249/
代码如下:
Python代码
__author__ = 'qindongliang'
#导入pymysql的包
import pymysql
try:
#获取一个数据库连接,注意如果是UTF-8类型的,需要制定数据库
conn=pymysql.connect(host='localhost',user='root',passwd='qin',db='person',port=3306,charset='utf8')
cur=conn.cursor()#获取一个游标
cur.execute('select * from person')
data=cur.fetchall()
for d in data :
#注意int类型需要使用str函数转义
print("ID: "+str(d[0])+' 名字: '+d[1]+" 性别: "+d[2])
cur.close()#关闭游标
conn.close()#释放数据库资源
except Exception :print("发生异常")
结果如下:
Java代码
D:\python\python.exe D:/pythonide/pythonprojectworkspace/python/mysql.py
ID: 1 名字: 秦天 性别: 男
ID: 2 名字: 王晶 性别: 女
Process finished with exit code 0
原文 http://qindongliang1922.iteye.com/blog/2096512
补充说明:
mysqldb作为python连接mysql数据库的工具,但是mysqldb目前支撑的版本较低,安装失败。所以才尝试pymysql,这个比较简单易用
软件下载地址:
python3.2.5:https://www.python.org/ftp/python/3.2.5/python-3.2.5.msi
pymysql3.0.5:https://pypi.python.org/packages/source/P/PyMySQL3/PyMySQL3-0.5.tar.gz
mysql:http://www.phpstudy.net/phpstudy/phpStudyLite.zip(为了方便安装,我这里选择phpstudy)
1、python安装目录设定为d:/python32
2、pymysql安装方法为:解压下载的文件,在cmd中运行: python setup.py install。
检验安装安装是否成功的方法:import pymysql 。 如果不报错 说明安装成功。
3、mysql安装目录为D:/phpStudy/MySQL。为避免更多配置问题,可在启动phpstudy后,将其设为系统服务
4、基本操作:
(1)导入pymysql: import pymysql
(2)连接数据库: conn=pymysql.connect(host='localhost',user='root',passwd='root',db='ere',charset='utf8') 务必注意各等号前面的内容!charset参数可避免中文乱码
(3)获取操作游标:cur=conn.cursor()
(4)执行sql语句,插入记录:sta=cur.execute("insert 语句") 执行成功后sta值为1。更新、删除语句与此类似。
(5)执行sql语句,查询记录:cur.execute("select语句") 执行成功后cur变量中保存了查询结果记录集,然后再用循环打印结果:
for each in cur:
print(each[1].decode('utf-8')) # each[1] 表示当前游标所在行的的第2列值,如果是中文则需要处理编码
在python里面可以操作linux的命令有1,os.system("cmd")
2,os.open("cmd")
3,spawn*
4,subprocess
在最新的python里,推荐使用subprocess来与shell通信,它会生成一个子进程来连接输出,输入,错误等shell下3中标准的输入输出流,并返回执行结果的状态码0和1,来判断本次执行命令的成功与失败。
下面来看一个小例子,首先,确保你的linux环境支持python3.4,如果不支持,你可以参考散仙的上篇文章来安装python3.4
首先,在linux,执行python命令找到最新的python3.4的路径,然后再py文件里声明头部路径,如果不知道python的具体安装路径,可以使用which
python来查找路径
[root@master
~]#
py
pydoc
pydoc3.4
python2
python3
python3.4-config
python3.4m-config
pyvenv
pydoc3
python
python2.6
python3.4
python3.4m
python3-config
pyvenv-3.4
[root@master
~]#
which
python3.4
/usr/local/python3.4/bin/python3.4
[root@master
~]#
写完脚本之后,先给脚本赋值权限,再执行:
[root@master
rtt]#
chmod
+x
b.py
[root@master
rtt]#
cat
b.py
#!/usr/local/python3.4/bin/python3.4
import
subprocess
as
t
v=t.call("ls")
("返回值:
",v)
[root@master
rtt]#
b.py
a.py
b.py
b.txt
返回值:
0
[root@master
rtt]#
看下面的例子,注意python的shell执行,返回的是一个字符串,如果我们想逐行解析,需要使用如下方法:
[root@master
rtt]#
cat
b.txt
id
name
1
a
2
战三
3
b
[root@master
rtt]#
cat
a.py
#!/usr/local/python3.4/bin/python3.4
import
os
import
subprocess
as
t
#var=t.getoutput("df
-h")
#v=t.call("ls")
#var=t.getoutput("cat
b.txt
|
grep
a
")
var=t.getoutput("df
-h
|
cat
-n
")
for
line
in
var.split("\n"):
print("这一行:"
+line)
#print(var)
[root@master
rtt]#
a.py
这一行:
1
Filesystem
Size
Used
Avail
Use%
Mounted
on
这一行:
2
/dev/sda2
9.7G
2.9G
6.3G
32%
/
这一行:
3
tmpfs
495M
0
495M
0%
/dev/shm
这一行:
4
/dev/sda1
194M
28M
157M
15%
/boot
这一行:
5
/dev/sda3
9.9G
948M
8.5G
10%
/home
[root@master
rtt]#
最后看下python的两种,生成行号的方式:
tt="你好\n哈喽"
for
i,it
in
enumerate(tt.split("\n")):
print(i,it)
for
line
in
range(len(tt.split("\n"))):
print(line,"
",tt.split("\n")[line])
输出结果如下:
0
你好
1
哈喽
0
你好
1
哈喽