python3與MySQL互動
一 、簡述
python3 與MySQL 進行互動程式設計需要安裝 pymysql 庫,故首先使用如下命令安裝pymysql 。
pip install PyMySQL
那什麼是pymysql呢?
- PyMySQL 是在 Python3.x 版本中用於連線 MySQL 伺服器的一個庫。
- 如果安裝過程出現
"ImportError: No module named setuptools"
的錯誤提示,意思是你沒有安裝setuptools
,你可以訪問這裡寫連結內容 找到各個系統的安裝方法。 - 然後確保你的裝置上面滿足如下條件:
- 建立了資料庫 TESTDB.
- 在TESTDB資料庫中您已經建立了表 EMPLOYEE
- EMPLOYEE表字段為 FirstName, LastName, Age, Sex 和 Income。
- 連線資料庫TESTDB使用的使用者名稱為 “root” ,密碼為 “123”(這是我的資料庫密碼,你的需要改成相應的), Mysql資料庫使用者授權請使用Grant命令。
- 如果你對Mysql資料庫相關不太熟悉,你可以訪問我的這篇文章Mysql教程,熟悉後在進行相關的操作。
二、demo 實戰
注意:由於可能因為操作過程中會發生各種錯誤,於是,這裡將相關錯誤放置在前面,以示提醒。
1 、資料庫連線
#!/usr/bin/python3
import pymysql
# 開啟資料庫連線
db = pymysql.connect("localhost","root","123","TESTDB")
# 使用 cursor() 方法建立一個遊標物件 cursor
cursor = db.cursor()
# 使用 execute() 方法執行SQL 查詢
cursor.execute("SELECT VERSION()")
# 使用 fetchone() 方法獲取單條資料
data = cursor.fetchone()
print ("\n Database version : %s \n" % data)
# 關閉資料庫連線
db.close()
輸出結果為: Database version : 5.7.20-0ubuntu0.16.04.1
2 、建立資料庫表
#!/usr/bin/pyhton3
import pymysql
# 開啟資料庫連線
db = pymysql.connect("localhost","root","123","TESTDB")
# 使用 cursor() 方法建立一個遊標物件 cursor
cursor = db.cursor()
# 使用 execute() 方法執行 SQL,如果表存在則刪除
cursor.execute("drop table if exists EMPLOYEE")
# 使用預處理語句建立表
sql = """create table EMPLOYEE (
FirstName char(20) not null,
LastName char(20),
Age int,
Sex char(1),
Income float ) """
cursor.execute(sql)
print ("\n creat table successd ! \n")
# 關閉資料庫連線
db.close()
3 、插入操作
#!/usr/bin/python3
import pymysql
db = pymysql.connect("localhost","root","123","TESTDB")
cursor = db.cursor()
# sql 插入語句
sql = """insert into EMPLOYEE(FirstName,
LastName,Age,Sex,Income)
values('Mac','Mohan',20,'M',2000);"""
try:
# 執行 sql 語句
cursor.execute(sql)
# 提交到資料庫執行
db.commit()
print ('提交完畢')
except:
# 如果發生錯誤則進行回滾
db.rollback()
print ('\n Some Error happend ! \n')
# 關閉資料庫連線
db.close()
4 、查詢操作
Python查詢Mysql使用 fetchone() 方法獲取單條資料, 使用fetchall() 方法獲取多條資料。
- fetchone(): 該方法獲取下一個查詢結果集。結果集是一個物件
- fetchall(): 接收全部的返回結果行. rowcount:
- 這是一個只讀屬性,並返回執行execute()方法後影響的行數。
#!/usr/bin/python3
import pymysql
db = pymysql.connect("localhost",'root','123','TESTDB')
cursor = db.cursor()
sql = "select * from EMPLOYEE \
where Income > %d" % (1000)
try:
cursor.execute(sql)
results = cursor.fetchall()
for row in results:
fname = row[0]
lname = row[1]
age = row[2]
sex = row[3]
income = row[4]
# 列印結果
print ("\n fname =%s,lname =%s,age = %d, sex=%s,income=%d \n "%(fname,lname,age,sex,income))
except:
print ("Error: unable to fetch data")
# 關閉資料庫連線
db.close()
5 、更新操作
!/usr/bin/python3
import pymysql
db = pymysql.connect('localhost','root','123','TESTDB')
cursor = db.cursor()
# SQL 更新語句
sql = "update EMPLOYEE set Age = Age + 1 where sex = '%c'"%('M')
try:
cursor.execute(sql)
db.commit()
except:
db.rollback()
db.close()
6 、刪除操作
#!/usr/bin/python3
import pymysql
db = pymysql.connect('localhost','root','123','TESTDB')
cursor = db.cursor()
sql = "delete from EMPLOYEE where Age > '%d' "%(20)
try:
cursor.execute(sql)
db.commit()
except:
db.rollback()
print ('發生錯誤,回滾中!')
db.close()
相關推薦
python3與MySQL互動
一 簡述 二demo 實戰 資料庫連線 插入操作 查詢操作 更新操作 刪除操作 一 、簡述 python3 與MySQL 進行互動程式設計需要安裝 pymysql 庫,故首先使用如下命令安裝pymysql 。 pip instal
python與mysql互動詳解二
主要實現從mysql資料庫中取出想要的資料進行平均值計算,然後將取出的資料按特定欄位分組後重新插入資料庫中。複雜的問題可以先從簡單點一步一步實現,拆解完成。 import pymysql from pymysql import * import pandas as pd def sel
Nodejs學習筆記(四)與MySQL互動(felixge/node-mysql)
目錄簡介和安裝 測試MySQL 認識一下Connection Opti
python3與mysql交互
exce passwd object val user bin pip err res 1.安裝pymysql模塊 pip3 install pymysql3 2.pymysql的簡單使用: # /usr/bin/env python3 import pymysql
PHP與MySQL互動——插入資料
向資料表裡插入如下資料: ‘test’, ‘12345678’,’man’,’2016-3-3’,’[email protected]’ SQL語句如下: INSERT INTO User (name,password,sex,dob,e
PHP與MySQL互動——建立資料表
建立一個名User的資料表 SQL語句為: CREATE TABLE User (id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, name VARCHAR(20) NOT NULL, password VARCHAR(20) NO
Nodejs學習筆記(四)--- 與MySQL互動(felixge/node-mysql)
目錄 簡介和安裝 我選擇了felixge/node-mysql,用的人比較多,先隨大溜看看它的使用,暫時沒有太過糾結於各庫之間的執行效能問題,對其它庫有研究的筒子也可以分享一下效能要求較高時的選擇^_^! This is a node.js driver for mys
四十八、mysql資料庫7:Mysql與python的互動、引數化(重點python與mysql互動傳參)
一、使用python命令連線資料庫流程 二、python3 安裝pymysql包 建立py檔案,進行插入資料:通過python檔案來連線資料庫實現互動(前提需要安裝pymysql包) 1、Li
NodeJs與MySQL互動資料
// mysqlTest.js //載入mysql Module var Client = require('mysql').Client, client = new Client(), //要建立的資料庫名 TEST_DATABASE = 'nodejs_mysql_test',
Qt與MySQL互動出現亂碼
The gibberish of interaction Qt and mysql 定位問題 出現亂碼問題,首先確保Qt和mysql兩邊編碼方式一樣,全部改為UTF-8. 這裡檢視mysql端編碼的方式。至於如何修改mysql字符集,請看“MyS
python3.6 與MYSQL的安裝與連接
環境變量path cli .exe net 建立 數據表 錯誤 auto title 因為要做文本相似性對比,所以需要大量資料,也需要把這些資料進行存儲,進行比對時可以直接提取文本的id 首先對MYSQL進行安裝,我是從百度軟件庫中下載的MYSQL, 安裝 然後進行安裝
node.js與mysql資料庫的互動
我們已經建好了資料庫也建好了表,現在我們想查詢資料庫表中的內容,應該怎麼做呢? 程式碼如下: var mysql = require('mysql'); //匯入mysql包模組 var connection = mysql.createConnection({ h
mysql005--mysql與python互動
一、安裝相關包 ubuntu下安裝命令: sudo apt-get install python-mysqldb pycharm安裝依賴包: 二、程式碼示例 測試表的結構: #encoding=utf-8 impor
MySql資料庫與python互動型別(十)
與python互動簡介 在熟練使用sql語句的基礎上,開始使用python語言提供的模組與mysql進行互動 這是我們在工作中大事要做的事 先學會sql是基礎,一定要熟練編寫sql語句 安裝引入模
MySql資料庫與python互動使用者登入(十三)
例項:使用者登入 建立使用者表userinfos 表結構如下 id uname upwd isdelete 注意:需要對密碼進行加密 如果使用md5加密,則密碼包含32個字元
MySQL資料庫5:Go與MySQL的互動
下載第三方依賴 go get github.com/jmoiron/sqlx go get github.com/go-sql-driver/mysql 引入依賴 import ( "github
nodejs與mysql資料庫的互動操作
首先通過npm命令安裝mysql模組 mysql資料庫版本:mysql-5.7.16-winx64,在官網下載zip包,修改一下配置,即可通過命令安裝到電腦上。 如何連線 連線流程程式碼如下: var mysql = require('my
python與MySQL基礎的互動(增刪改查)
import pymysql # 開啟資料庫連線(ip/資料庫使用者名稱/登入密碼/資料庫名) db = pymysql.connect(host='localhost',user='root',pa
python tkinter與Mysql資料庫互動實現賬號登陸_code
本例已經實現的資料庫password,資料庫的表以及表結構如下: 表中已經插入的資訊: 程式碼實現 # -*- coding: utf-8 -*- """ Created on Tue Nov 6 14:29:54 2018 Description:實現tk
Python3 安裝 mysql-python 與ImportError: No module named 'ConfigParser'報錯解決方法
其實有一個比較尷尬的地方就是,python3不再支援mysqldb!! 而替代它的模組是PyMySQL , https://github.com/PyMySQL/PyMySQL(github) htt