1. 程式人生 > >Python3.x:使用PyMysql連接Mysql數據庫

Python3.x:使用PyMysql連接Mysql數據庫

efault 數據庫連接 cursor 提交 user pos null clas swd

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)
    cur=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)
# 提交到數據庫執行 db.commit() except: # 如果發生錯誤則回滾 db.rollback() #更新 id=1 sql="update user set age=100 where id=‘%s‘" % (id) try: cursor.execute(sql) db.commit() except: db.rollback() #刪除 id=2 sql="delete from user where id=‘%s‘" % (id) try: cursor.execute(sql) db.commit() except: db.rollback() #查詢 cur.execute(select * from user) results=cursor.fetchall() for row in results: name=row[0] age=row[1] #print(type(row[1])) #打印變量類型 print ("name=%s,age=%s" %(age, name)) cur.close()#關閉遊標 conn.close()#釋放數據庫資源 except Exception :print("失敗")

Python3.x:使用PyMysql連接Mysql數據庫