Python3.x:使用PyMysql连接Mysql数据库

Posted 整合侠

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python3.x:使用PyMysql连接Mysql数据库相关的知识,希望对你有一定的参考价值。

Python3.x:使用PyMysql连接Mysql数据库

Python3.x完全不向前兼容,导致Python2.x中可以正常使用的库,到了Python3就用不了;

比如说mysqldb,目前MySQLdb并不支持Python3.x , Python3.x连接MySQL的方案有:oursql, PyMySQL, myconnpy 等

PyMsql链接Mysql数据库步骤:

1,PyMysql安装

 PyMysql就是作为Python3环境下mysqldb的替代物,进入命令行,使用pip安装pymysql:

pip install pymysql3

 安装结果:

2,PyMysql连接数据库(增、删、改、查)示例

#导入pymysql的包
import pymysql
try:
    #获取一个数据库连接,注意如果是UTF-8类型的,需要制定数据库
    conn=pymysql.connect(host=\'localhost\',user=\'pythondb\',passwd=\'pythondb\',db=\'pythondb\',port=3306,charset=\'utf8\')
    cursor=conn.cursor()#获取一个游标

    #创建user表  
    cursor.execute("drop table if exists user")  
    sql="""CREATE TABLE IF NOT EXISTS `user` ( 
          `id` int(11) NOT NULL AUTO_INCREMENT, 
          `name` varchar(255) NOT NULL, 
          `age` int(11) NOT NULL, 
          PRIMARY KEY (`id`) 
        ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=0"""  
      
    cursor.execute(sql)  

    #user插入数据  
    sql="""INSERT INTO `user` (`name`, `age`) VALUES 
    (\'test1\', 1), 
    (\'test2\', 2), 
    (\'test3\', 3), 
    (\'test4\', 4), 
    (\'test5\', 5), 
    (\'test6\', 6);"""  
      
    try:  
       # 执行sql语句  
       cursor.execute(sql)  
       # 提交到数据库执行  
       conn.commit()  
    except:  
       # 如果发生错误则回滚  
       conn.rollback()

    #更新  
    id=1  
    sql="update user set age=100 where id=\'%s\'" % (id)  
    try:  
        cursor.execute(sql)  
        conn.commit()  
    except:  
        conn.rollback()  

    #删除  
    id=2  
    sql="delete from user where id=\'%s\'" % (id)  
    try:  
        cursor.execute(sql)  
        conn.commit()  
    except:  
        conn.rollback()  

    #查询 
    cursor.execute(\'select * from user\')
    results=cursor.fetchall()  
    # 判断是否有记录数
    if len(results) == 0:
        check_code = 0
    else:
        check_code = 1
    #取出数据 
    for row in results:  
        name=row[0]  
        age=row[1]  
        #print(type(row[1])) #打印变量类型
        print ("name=%s,age=%s" %(age, name))  

    cursor.close()#关闭游标
    conn.close()#释放数据库资源
except  Exception :print("失败")

 

 

 

 

 

以上是关于Python3.x:使用PyMysql连接Mysql数据库的主要内容,如果未能解决你的问题,请参考以下文章

Django连接数据库及数据操作

pymysql

pymysql

Python 3.x 连接数据库(pymysql 方式)

Python3连接MySQL

Python3 MySQL 数据库连接 -PyMySQL