中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python數據庫編程之pymysql怎么安裝和使用

發布時間:2023-05-05 11:34:13 來源:億速云 閱讀:155 作者:zzz 欄目:開發技術

這篇文章主要介紹了Python數據庫編程之pymysql怎么安裝和使用的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇Python數據庫編程之pymysql怎么安裝和使用文章都會有所收獲,下面我們一起來看看吧。

Python數據庫編程之pymysql

學習之前務必安裝MySQL并已啟動相關服務。

一、pymsql的安裝

在python3的環境中直接使用以下命令即可:

pip install pymysql
#或者
pip3 install pymysql

安裝完畢后可使用以下命令查看:

pip list | grep PyMySQL 
#注意大小寫

結果如下:

Python數據庫編程之pymysql怎么安裝和使用

二、連接數據庫

pymysql連接數據庫使用的是 pymsql.connect() 函數,其常用參數如下:

參數說明
dsn數據源名稱,給出該參數表示數據庫依賴
host=None數據庫連接地址
user=None數據庫用戶名
password=‘’數據庫用戶密碼
database=None要連接的數據庫名稱
port=3306端口號,默認為3306
charset=‘’要連接的數據庫的字符編碼(可以在終端登陸mysql后使用 \s 查看,如下圖)
connect_timeout=10連接數據庫的超時時間,默認為10
port=3306端口號,默認為3306

Python數據庫編程之pymysql怎么安裝和使用

連接完數據庫后,需要創建一個游標對象,模塊會通過游標對象來執行sql語句以及獲取查詢結果,接下來直接通過代碼展示各方法。
示例:

import pymysql

db = pymysql.connect(
    host="localhost", 
    port=3306,
    user='root',    #在這里輸入用戶名
    password='888888',     #在這里輸入密碼
    charset='utf8mb4' 
    ) #連接數據庫

cursor = db.cursor() #創建游標對象

sql = 'show databases' #sql語句

cursor.execute(sql)  #執行sql語句

one = cursor.fetchone()  #獲取一條數據
print('one:',one)

many = cursor.fetchmany(3) #獲取指定條數的數據,不寫默認為1
print('many:',many)

all = cursor.fetchall() #獲取全部數據
print('all:',all)

cursor.close()  
db.close()  #關閉數據庫的連接

運行結果:

one: ('coldbox',)
many: (('coldboxtest',), ('db_student',), ('information_schema',))
all: (('mysql',), ('performance_schema',), ('sys',), ('test',), ('wan',))

從結果可以看出,fetchone(),fetchmany(size),fetchall() 三個函數返回值都是元組,但是fetchone()返回的是單個元組,另外兩個返回的都是元組的嵌套。

三、創建和管理數據庫

使用游標對象來執行創建和刪除數據庫的sql語句示例:

import pymysql

db = pymysql.connect(
    host="localhost", 
    port=3306,
    user='root',    #在這里輸入用戶名
    password='888888',     #在這里輸入密碼
    charset='utf8mb4' 
    )

cursor = db.cursor() #創建游標對象

try:

    sql = 'show databases' 
    cursor.execute(sql)
    print('未創建數據庫前:',cursor.fetchall()) #獲取創建數據庫前全部數據庫

    dbname = 'justtest'
    sql = 'create database if not exists %s'%(dbname) #創建數據庫
    cursor.execute(sql)
    sql = 'show databases' 
    cursor.execute(sql)
    print('創建新的數據庫后:',cursor.fetchall()) #獲取創建數據庫后全部數據庫

    sql = 'drop database if exists %s'%(dbname) #刪除數據庫
    cursor.execute(sql)
    sql = 'show databases' 
    cursor.execute(sql)
    print('刪除新的數據庫后:',cursor.fetchall()) #獲取刪除數據庫后全部數據庫

except Exception as e:
    print(e)
    db.rollback()  #回滾事務

finally:
    cursor.close() 
    db.close()  #關閉數據庫連接

運行結果:

未創建數據庫前: (('coldbox',), ('coldboxtest',), ('db_student',), ('information_schema',), ('mysql',), ('performance_schema',), ('sys',), ('test',), ('wan',))
創建新的數據庫后: (('coldbox',), ('coldboxtest',), ('db_student',), ('information_schema',), ('justtest',), ('mysql',), ('performance_schema',), ('sys',), ('test',), ('wan',))
刪除新的數據庫后: (('coldbox',), ('coldboxtest',), ('db_student',), ('information_schema',), ('mysql',), ('performance_schema',), ('sys',), ('test',), ('wan',))

四、創建和管理表

使用游標對象來執行創建和管理表的sql語句示例:

import pymysql

db = pymysql.connect(
    host="localhost", 
    port=3306,
    user='root',    #在這里輸入用戶名
    password='888888',     #在這里輸入密碼
    charset='utf8mb4',
    database='justtest'     #指定操作的數據庫
    )

cursor = db.cursor() #創建游標對象

try:

    tableName = 'user'
    sql = 'create table  %s (id varchar(20) not null, name varchar(20) not null, primary key(id))'%(tableName) 
    cursor.execute(sql)     #執行sql語句,創建表

    sql = 'show tables'
    cursor.execute(sql)
    print('顯示創建的表:',cursor.fetchall())  #顯示創建的表


    sql = 'desc %s'%(tableName) 
    cursor.execute(sql)
    print('顯示表結構:',cursor.fetchall())  #顯示表結構

except Exception as e:
    print(e)
    db.rollback()  #回滾事務

finally:
    cursor.close() 
    db.close()  #關閉數據庫連接

運行結果:

顯示創建的表: (('user',),)
顯示表結構: (('id', 'varchar(20)', 'NO', 'PRI', None, ''), ('name', 'varchar(20)', 'NO', '', None, ''))

總結

對于修改表結構,插入,查詢,刪除數據等操作,與上面的操作大體一樣,主要是對 sql 語句的編寫,此處不做贅述。
整體過程:
連接數據庫 -> 創建游標對象 -> 編寫sql語句 -> 執行sql語句 -> 獲取結果 -> 關閉數據庫連接

connect() 函數常用參數:

參數說明
dsn數據源名稱,給出該參數表示數據庫依賴
host=None數據庫連接地址
user=None數據庫用戶名
password=‘’數據庫用戶密碼
database=None要連接的數據庫名稱
port=3306端口號,默認為3306
charset=‘’要連接的數據庫的字符編碼(可以在終端登陸mysql后使用 \s 查看,如下圖)
connect_timeout=10連接數據庫的超時時間,默認為10
port=3306端口號,默認為3306

 connect() 函數返回的連接對象的方法總結:

方法名說明
close()關閉數據庫的連接
commit()提交事務
rollback()回滾事務
cursor()獲取游標對象,操作數據庫,如執行DML操作,調用存儲過程等

 游標對象的方法:

方法名說明
callproc(procname,[,parameters])調用存儲過程,需要數據庫支持
close()關閉當前游標
execute(operation,[,parameters])執行數據庫操作,sql語句或者數據庫命令
executemany(operation, seq_of_params)用于批量操作
fetchone()獲取查詢結果集合中的下一條記錄
fetchmany(size)獲取指定數量的記錄
fetchall()獲取查詢結果集合所有記錄
nextset()跳至下一個可用的數據集
arraysize指定使用fetchmany()獲取的行數,默認為1
setinputsizes(size)設置調用execute*()方法時分配的內存區域大小
setoutputsizes(size)設置列緩沖區大小,對大數據列尤其有用

關于“Python數據庫編程之pymysql怎么安裝和使用”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“Python數據庫編程之pymysql怎么安裝和使用”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

盐城市| 新邵县| 邵阳市| 若尔盖县| 肇庆市| 偃师市| 奉化市| 班玛县| 仙桃市| 安达市| 西乡县| 新河县| 桐梓县| 外汇| 嘉黎县| 彩票| 精河县| 普兰店市| 衡阳市| 错那县| 民丰县| 嘉善县| 平顺县| 新建县| 贵港市| 黄梅县| 田东县| 宁德市| 武平县| 高尔夫| 清水县| 洛宁县| 交城县| 上饶市| 玉田县| 梧州市| 揭东县| 富裕县| 福贡县| 诸暨市| 高陵县|