欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python練習(xí)之操作MySQL數(shù)據(jù)庫

 更新時間:2022年06月13日 11:12:04   作者:??孤寒者????  
這篇文章主要介紹了Python練習(xí)之操作MySQL數(shù)據(jù)庫,文章通過如何創(chuàng)建MySQL數(shù)據(jù)表?如何向MySQL表中插入數(shù)據(jù)?如何查詢MySQL中的數(shù)據(jù)?的三個問題展開了詳細(xì)的內(nèi)容介紹

文章介紹內(nèi)容:

操作MySQL數(shù)據(jù)庫:

  • 創(chuàng)建MySQL數(shù)據(jù)表;
  • 向表中插入記錄;
  • 其他數(shù)據(jù)庫操作。

面試題:

  • 如何創(chuàng)建MySQL數(shù)據(jù)表?
  • 如何向MySQL表中插入數(shù)據(jù)?
  • 如何查詢MySQL中的數(shù)據(jù)?

一、創(chuàng)建MySQL數(shù)據(jù)表

# coding=utf-8
from pymysql import *
def connectDB():
    '''
    連接本地MySQL數(shù)據(jù)庫,指定連接的庫為test庫。
    :return:
    '''
    db = connect(host='localhost', user='root', password='123456', port=3306, db='test')
    return db
db = connectDB()
print(type(db))
def createTable(db):
    c = db.cursor()
    try:
        c.execute('''create table persons
                    (id int primary key not null,
                    name text not null,
                    age int not null,
                    address char(100),
                    salary real);''')
        db.commit()
        db.commit()
        return True
    except:
        db.rollback()
    return False
if createTable(db):
    print('create table success')
else:
    print('create table failed')

使用navicat工具查看: 

三、向MySQL表中插入數(shù)據(jù)

# coding=utf-8
from pymysql import *
def connectDB():
    '''
    連接本地MySQL數(shù)據(jù)庫,指定連接的庫為test庫。
    :return:
    '''
    db = connect(host='localhost', user='root', password='123456', port=3306, db='test')
    return db
db = connectDB()
print(type(db))
def insertRecords(db):
    cursor = db.cursor()
    try:
        cursor.execute("delete from persons")
        cursor.execute('''
        insert into persons(id,name,age,address,salary)
        values(1, 'GuHanZhe', 18, 'China', 9999)
        ''')
        cursor.execute('''
        insert into persons(id,name,age,address,salary)
        values(2, 'XiaoZhang', 55, 'China', 9)
        ''')
        db.commit()
        return True
    except Exception as e:
        print(e)
        db.rollback()
    return False
if insertRecords(db):
    print("成功插入記錄")
else:
    print("插入記錄失敗")

使用navicat工具查看:

三、查詢MySQL中的數(shù)據(jù)

# coding=utf-8
from pymysql import *
def connectDB():
    '''
    連接本地MySQL數(shù)據(jù)庫,指定連接的庫為test庫。
    :return:
    '''
    db = connect(host='localhost', user='root', password='123456', port=3306, db='test')
    return db
db = connectDB()


def selectRecords(db):
    cursor = db.cursor()
    sql = 'select name,age,salary from persons order by age desc'
    cursor.execute(sql)
    results = cursor.fetchall()
    print(results)
    print(type(results))    # 打印發(fā)現(xiàn)是元組類型

selectRecords(db)
db.close()

  • 我們發(fā)現(xiàn)查詢數(shù)據(jù)輸出類型是元組類型,如果我們想要將字段名和查詢出的數(shù)據(jù)一一對應(yīng)該怎么做呢?
  • 這里就需要用到兩個很常用的函數(shù)dict()和zip(),如下:
# coding=utf-8
import json
from pymysql import *
def connectDB():
    '''
    連接本地MySQL數(shù)據(jù)庫,指定連接的庫為test庫。
    :return:
    '''
    db = connect(host='localhost', user='root', password='123456', port=3306, db='test')
    return db
db = connectDB()


def selectRecords(db):
    cursor = db.cursor()
    sql = 'select name,age,salary from persons order by age desc'
    cursor.execute(sql)
    results = cursor.fetchall()
    print(results)
    print(type(results))    # 打印發(fā)現(xiàn)是元組類型

    # 將字段名和查詢結(jié)果整合在一起
    fields = ['name', 'age', 'salary']
    records = []
    for row in results:
        records.append(dict(zip(fields, row)))
    return json.dumps(records)      # 輸出類型為JSON字符串
endresults = selectRecords(db)
print(endresults)
db.close()

總結(jié)

注意:我們使用的是pymysql模塊中的API來操作MySQL數(shù)據(jù)庫,該模塊需要單獨(dú)安裝

到此這篇關(guān)于Python練習(xí)之操作MySQL數(shù)據(jù)庫的文章就介紹到這了,更多相關(guān)Python 操作MySQL內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python計算程序運(yùn)行時間的方法

    Python計算程序運(yùn)行時間的方法

    這篇文章主要介紹了Python計算程序運(yùn)行時間的方法,分別記錄起始時間與結(jié)束時間,計算兩者之間的差值來獲得程序的運(yùn)行時間,需要的朋友可以參考下
    2014-12-12
  • python之列表推導(dǎo)式的用法

    python之列表推導(dǎo)式的用法

    這篇文章主要介紹了python之列表推導(dǎo)式的用法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • python+appium實(shí)現(xiàn)自動化測試的示例代碼

    python+appium實(shí)現(xiàn)自動化測試的示例代碼

    appium是一個開源的測試自動化框架,可以與原生的、混合的和移動的web應(yīng)用程序使用,本文主要介紹了python+appium實(shí)現(xiàn)自動化測試的示例代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • python神經(jīng)網(wǎng)絡(luò)編程之手寫數(shù)字識別

    python神經(jīng)網(wǎng)絡(luò)編程之手寫數(shù)字識別

    這篇文章主要介紹了python神經(jīng)網(wǎng)絡(luò)編程之手寫數(shù)字識別,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)python神經(jīng)網(wǎng)絡(luò)編程的小伙伴們有很好地幫助,需要的朋友可以參考下
    2021-05-05
  • Python實(shí)現(xiàn)iOS自動化打包詳解步驟

    Python實(shí)現(xiàn)iOS自動化打包詳解步驟

    這篇文章主要介紹了Python實(shí)現(xiàn)iOS自動化打包詳解步驟,文中通過示例代碼以及圖文介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-10-10
  • 淺析Python中的縮進(jìn)錯誤

    淺析Python中的縮進(jìn)錯誤

    在編程中,我們經(jīng)常會遇到錯誤,縮進(jìn)錯誤是 Python 中最常見的錯誤之一,它會使我們的代碼難以理解,并且難以調(diào)試,下面小編就來和大家簡單聊聊Python中的縮進(jìn)錯誤吧
    2023-10-10
  • 提升?Python?代碼運(yùn)行速度的6個技巧

    提升?Python?代碼運(yùn)行速度的6個技巧

    本文分享了提升?Python?代碼運(yùn)行速度的6個技巧,Python?比我們想象的運(yùn)行的要快。我們之所以有先入為主的認(rèn)為Python運(yùn)行慢,可能是我們平常的誤用和缺乏使用技巧知識。接下來讓我們看看如何用一些簡單的Trick來提高我們程序的運(yùn)行性能,需要的朋友可以參考一下
    2022-01-01
  • Django之騰訊云短信的實(shí)現(xiàn)

    Django之騰訊云短信的實(shí)現(xiàn)

    這篇文章主要介紹了Django之騰訊云短信的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • 8個實(shí)用的Python程序你知道幾個

    8個實(shí)用的Python程序你知道幾個

    這篇文章主要為大家詳細(xì)介紹了8個實(shí)用的Python程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助<BR>
    2022-02-02
  • Python?庫?PySimpleGUI?制作自動化辦公小軟件的方法

    Python?庫?PySimpleGUI?制作自動化辦公小軟件的方法

    Python?在運(yùn)維和辦公自動化中扮演著重要的角色,PySimpleGUI?是一款很棒的自動化輔助模塊,讓你更輕松的實(shí)現(xiàn)日常任務(wù)的自動化,下面通過本文給大家介紹下Python?庫?PySimpleGUI?制作自動化辦公小軟件的過程,一起看看吧
    2021-12-12

最新評論