Python3.x:使用PyMysql連接Mysql數據庫
阿新 • • 發佈:2017-12-31
efault 數據庫連接 cursor 提交 user pos null clas swd 2,PyMysql連接數據庫(增、刪、改、查)示例
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數據庫