python3.2.5 + PyMySQL3 0.5 基本使用方法

在网上看到不少文章都选用mysqldb作为python连接mysql数据库的工具,但是mysqldb目前支撑的python版本较低,安装失败。所以才尝试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值为所处理记录的条数。更新、删除语句与此类似。

(5)执行sql语句,查询记录:cur.execute("select语句") 执行成功后cur变量中保存了查询结果记录集,然后再用循环打印结果:

for each in cur:

      print(each[1].decode('utf-8'))     # each[1] 表示当前游标所在行的的第2列值,如果是中文则需要处理编码

另:

获取第一条数据:cur.fetchone(); #执行结束后 游标下移至下一条

获取全部数据:cur.fetchall(); #执行结束后 游标下移至下一条

获取查询结果的记录条数:cur.rowcount;

游标移至首位:cur.scroll(0,absolute) #移动游标到0的位置

scroll(self, value, mode='relative'):  #移动指针到某一行.如果mode='relative',则表示从当前所在行移动value条,如果 mode='absolute',则表示从结果集的第一行移动value条.

conn.commit()  #使得对数据库的更改立即生效

(6)关闭数据库连接: cur.close(); conn.close();

一个完整的案例:

import pymysql 
from builtins import int

def connDB(): #连接数据库函数
    conn=pymysql.connect(host='localhost',user='root',passwd='123',db='ere',charset='utf8')
    cur=conn.cursor();
    return (conn,cur);

def exeUpdate(cur,sql):#更新语句,可执行update,insert语句
    sta=cur.execute(sql)<pre name="code" class="python">    conn.commit()
    return(sta);

def exeDelete(cur,IDs): #删除语句,可批量删除
    for eachID in IDs.split(' '):
        sta=cur.execute('delete from relationTriple where tID =%d'% int(eachID));
<pre name="code" class="python"><pre name="code" class="python">    conn.commit()

<pre name="code" class="python"><pre name="code" class="python"><pre name="code" class="python">    return (sta);

def exeQuery(cur,sql):#查询语句
    cur.execute(sql);
    return (cur);

def connClose(conn,cur):#关闭所有连接
    cur.close();
    conn.close();
    
#调用连接数据库的函数        
conn,cur=connDB();

#调用更新记录的函数
sta=exeUpdate(cur, "insert into relationTriple values(null,'A','B','昵称','无')");
if(sta==1):
    print('插入成功');
else:
    print('插入失败');
    
#查询现有数据,并打印    
exeQuery(cur, "select * from relationTriple")  ;
for each in cur:
    print(each[0],each[1].decode('utf-8'));
    
# 批量删除记录,用户输入要删除的记录id号    
tempID=input('请输入要删除的编号 编号之间用空格分开:');
sta=exeDelete(cur, tempID);
if(sta>=1):
    print('删除成功');
else:
    print('删除失败');

connClose(conn, cur);
    







你可能感兴趣的:(python3.2.5 + PyMySQL3 0.5 基本使用方法)