使用Python操作MySQL

2021-09-10 17:43:52 字數 3225 閱讀 8085

目錄

一:pymysql

二:使用操作

1.執行sql

2.獲取新建立資料自增id

3.獲取查詢資料

4.fetch資料型別

三:總結

pip2和pip3設定

python 安裝包需要用到包管理工具pip,但是當同時安裝python2和python3的時候,pip只是其中乙個版本,以下將提供乙個修改方式,即重新安裝兩個版本的pip,使得兩個python版本的pip能夠共存。

在dos命令框輸入命令,python3 -m pip install --upgrade pip --force-reinstall,顯示重新安裝成功。

在dos命令框輸入命令,python2 -m pip install --upgrade pip --force-reinstall,顯示重新安裝成功

現在可以通過pip2 -v 和 pip3-v 檢視兩個版本的pip資訊,以後只需執行pip2install ***和pip3 install ***即可安裝各自的python包。

如若只有乙個python3環境,那麼pip自帶使用如下命令即可

pip3 install pymysql

import pymysql

# 建立連線

conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='123', db='t1',charset=utf8)

# 建立游標

cursor = conn.cursor()

# 執行sql,並返**影響行數

effect_row = cursor.execute("update hosts set host = '1.1.1.2'")

# 執行sql,並返回受影響行數

#effect_row = cursor.execute("update hosts set host = '1.1.1.2' where nid > %s", (1,))

# 執行sql,並返回受影響行數

#effect_row = cursor.executemany("insert into hosts(host,color_id)values(%s,%s)", [("1.1.1.11",1),("1.1.1.11",2)])

# 提交,不然無法儲存新建或者修改的資料

conn.commit()

# 關閉游標

cursor.close()

# 關閉連線

conn.close()

import pymysql

conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='123', db='t1')

cursor = conn.cursor()

cursor.executemany("insert into hosts(host,color_id)values(%s,%s)", [("1.1.1.11",1),("1.1.1.11",2)])

conn.commit()

cursor.close()

conn.close()

# 獲取最新自增id,插入一條返回那條的id,插入多條返回第一條id

new_id = cursor.lastrowid

import pymysql

conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='123', db='t1')

cursor = conn.cursor()

cursor.execute("select * from hosts")

# 獲取第一行資料

row_1 = cursor.fetchone()

# 獲取前n行資料

# row_2 = cursor.fetchmany(3)

# 獲取所有資料

# row_3 = cursor.fetchall()

conn.commit()

cursor.close()

conn.close(

注:在fetch資料時按照順序進行,可以使用cursor.scroll(num,mode)來移動游標位置,如:

關於預設獲取的資料是元祖型別,如果想要或者字典型別的資料

import pymysql

conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='123', db='t1')

# 游標設定為字典型別

cursor = conn.cursor(cursor=pymysql.cursors.dictcursor)

r = cursor.execute("call p1()")

result = cursor.fetchone()

#返回資料:[, ] 字典型別

#之前的資料 (('123', '123'), ('456', '456'))

conn.commit()

cursor.close()

conn.close()

1.在查詢資料的時候,不能使用字串的拼接方法,會造成sql注入

2. 增加:

execute(sq,())

executemany(sq,[(),()])

3.刪除:

execute(sq,())

4.修改:

execute(sq,())

以上的三種增 刪 改 都需要 連線.commit(),資料庫才能生效

5.查詢:

execute(sq,())

fetchone()

fetchall()

python 使用mysql進行操作

使用pyclarm直接在file deflaut setting中找到mysql connector python模組匯入。在mysql資料庫中建立資料python 在資料庫中建立資料表people import mysql.connector db mysql.connector.connect ...

08 使用python操作mysql

使用步驟1.匯入模組 import pymysql dbconfig 2.建立連線 conn pymysql.connect dbconfig 連線是不能運算元據庫的,需要用到連線生成游標來操作 3.建立獲取游標 cur conn.cursor 4.執行sql語句 cur.execute sql s...

python使用變數操作mysql語句

python操作mysql和其他語言一樣,都是很簡單的,只需要匯入mysqldb模組,然後再連線就可以操作了。在這裡說說怎麼樣在裡面使用變數值來查詢,例如 username liang result cur.execute select password from user where nickna...