回覆列表
  • 1 # 會說科技

    1.安裝mysql-server

    2.配置資料庫資訊

    3.下載mysql的python驅動

    4.透過驅動連結mysql

    5.操作資料庫

  • 2 # 快樂生活你我

    1、連線資料庫;

    2、建立遊標物件;

    3、對資料庫進行操作;

    4、關閉遊標;

    5、關閉連線。

  • 3 # 程式設計Cow

    Python有很多框架,其中有的框架本身就有資料庫,比如django。但是python也可以和Mysql資料庫連線,下面我來說一下。

    兩種方法進行資料庫的連線分別是PyMySQL和mysql.connector

    1、PyMSQL

    PyMySQL : 是封裝了MySQL驅動的Python驅動,一個能使Python連線到MySQL的庫

    環境要求:Python version >= 3.4

    PyMySQL安裝

    安裝

    Win鍵+X鍵再按I鍵,調出Windows PowerShell視窗,輸入

    pip install PyMySQL

    回車

    2、利用PyMySQL連線資料庫

    首先我們的MySQL資料庫已安裝,且已建好名為test的資料庫,其中有名為student的表import pymysql#連線資料庫conn=pymysql.connect(host = "127.0.0.1" # 連線名稱,預設127.0.0.1,user = "root" # 使用者名稱,passwd="password" # 密碼,port= 3306 # 埠,預設為3306,db="test" # 資料庫名稱,charset="utf8" # 字元編碼)cur = conn.cursor() # 生成遊標物件sql="select from student " # SQL語句cur.execute(sql) # 執行SQL語句data = cur.fetchall() # 透過fetchall方法獲得資料for i in data[:2]: # 列印輸出前2條資料print (i)cur.close() # 關閉遊標conn.close() # 關閉連線

    上述程式碼中,實現了透過Python連線MySQL查詢所有的資料,並輸出前2條資料的功能。執行結果如下:

    ("a", "趙大", "16")("b", "錢二", "16")

    mysql.connector

    mysql-connector-python:是MySQL官方的純Python驅動;

    mysql.connector安裝

    安裝

    pip install mysql

    pip version ===19.0.3

    檢視版本

    檢視PyMySQL的版本,輸入

    pip show PyMySQL

    回車

    利用 mysql.connector連線資料庫

    首先我們的MySQL資料庫已安裝,且已建好名為test的資料庫,其中有名為student的表

    import mysql.connectorconn=mysql.connector.connect(host = "127.0.0.1" # 連線名稱,預設127.0.0.1,user = "root" # 使用者名稱,passwd="password" # 密碼,port= 3306 # 埠,預設為3306,db="test" # 資料庫名稱,charset="utf8" # 字元編碼)cur = conn.cursor() # 生成遊標物件sql="select from student " # SQL語句cur.execute(sql) # 執行SQL語句data = cur.fetchall() # 透過fetchall方法獲得資料for i in data[:2]: # 列印輸出前2條資料print (i)cur.close() # 關閉遊標conn.close() # 關閉連線

    上述程式碼中,實現了透過Python連線MySQL查詢所有的資料,並輸出前2條資料的功能。執行結果如下:

    ("a", "趙大", "16")("b", "錢二", "16")

    Python對MySql資料庫實現增刪改查

    接下來我們以用pymysql包為例,介紹一下如何用Python對資料庫中的資料進行增刪改查 。

    import pymysql#連線資料庫conn=pymysql.connect(host = "127.0.0.1" # 連線名稱,預設127.0.0.1,user = "root" # 使用者名稱,passwd="password" # 密碼,port= 3306 # 埠,預設為3306,db="test" # 資料庫名稱,charset="utf8" # 字元編碼)cur = conn.cursor() # 生成遊標物件#=============插入語句===============================sql= "INSERT INTO student VALUES ("p","魏六","17")"#===================================================try:cur.execute(sql1) # 執行插入的sql語句conn.commit() # 提交到資料庫執行except:coon.rollback()# 如果發生錯誤則回滾

    conn.close() # 關閉資料庫連線

    然後我們再執行查詢語句

    import mysql.connectorconn=mysql.connector.connect(host = "127.0.0.1" # 連線名稱,預設127.0.0.1,user = "root" # 使用者名稱,passwd="password" # 密碼,port= 3306 # 埠,預設為3306,db="test" # 資料庫名稱,charset="utf8" # 字元編碼)cur = conn.cursor() # 生成遊標物件sql="select from student " # SQL語句cur.execute(sql) # 執行SQL語句data = cur.fetchall() # 透過fetchall方法獲得資料for i in data[:]: # 列印輸出所有資料print (i)cur.close() # 關閉遊標conn.close() # 關閉連線

    執行結果就是

    ("b", "錢二", "16")("c", "張三", "17")("d", "李四", "17")("e", "王五", "16")("a", "趙大", "16")("p", "魏六", "17")

    import pymysql#連線資料庫conn=pymysql.connect(host = "127.0.0.1" # 連線名稱,預設127.0.0.1,user = "root" # 使用者名稱,passwd="password" # 密碼,port= 3306 # 埠,預設為3306,db="test" # 資料庫名稱,charset="utf8" # 字元編碼)cur = conn.cursor() # 生成遊標物件#=============刪除語句===============================sql = "DELETE FROM student WHERE 學號 = "a"#===================================================try:cur.execute(sql) # 執行插入的sql語句conn.commit() # 提交到資料庫執行except:coon.rollback()# 如果發生錯誤則回滾

    conn.close() # 關閉資料庫連線

    import pymysql#連線資料庫conn=pymysql.connect(host = "127.0.0.1" # 連線名稱,預設127.0.0.1,user = "root" # 使用者名稱,passwd="password" # 密碼,port= 3306 # 埠,預設為3306,db="test" # 資料庫名稱,charset="utf8" # 字元編碼)cur = conn.cursor() # 生成遊標物件#=============刪除語句===============================sql ="UPDATE student SET 學員姓名 = "歐陽" WHERE 學號 = "b" "#===================================================try:cur.execute(sql) # 執行插入的sql語句conn.commit() # 提交到資料庫執行except:coon.rollback()# 如果發生錯誤則回滾

    conn.close() # 關閉資料庫連線

    import pymysql#連線資料庫conn=pymysql.connect(host = "127.0.0.1" # 連線名稱,預設127.0.0.1,user = "root" # 使用者名稱,passwd="password" # 密碼,port= 3306 # 埠,預設為3306,db="test" # 資料庫名稱,charset="utf8" # 字元編碼)cur = conn.cursor() # 生成遊標物件#=============刪除語句===============================sql="select from student " # SQL語句#====================================================try:cur.execute(sql) # 執行插入的sql語句data = cur.fetchall()

    for i in data[:]:print (i)

    conn.commit() # 提交到資料庫執行except:coon.rollback()# 如果發生錯誤則回滾

    conn.close() # 關閉資料庫連線

    小型案例

    import pymysql

    config = {"host": "127.0.0.1","port": 3306,"user": "root","passwd": "password","charset":"utf8",

    }conn = pymysql.connect(config)

    cursor = conn.cursor()

    try:

    建立資料庫

    DB_NAME = "test_3"cursor.execute("DROP DATABASE IF EXISTS %s" %DB_NAME)cursor.execute("CREATE DATABASE IF NOT EXISTS %s" %DB_NAME)conn.select_db(DB_NAME)

    #建立表TABLE_NAME = "bankData"cursor.execute("CREATE TABLE %s(id int primary key,money int(30))" %TABLE_NAME)

    批次插入紀錄

    values = []for i in range(20):values.append((int(i),int(156i)))cursor.executemany("INSERT INTO bankData values(%s,%s)",values)conn.commit()

    查詢資料條目

    count = cursor.execute("SELECT FROM %s" %TABLE_NAME)print ("total records:{}".format(cursor.rowcount))

    獲取表名資訊

    desc = cursor.descriptionprint ("%s %3s" % (desc[0][0], desc[1][0]))

    cursor.scroll(10,mode="absolute")results = cursor.fetchall()for result in results:print (result)

    except:import tracebacktraceback.print_exc()

    發生錯誤時會滾

    conn.rollback()finally:

    關閉遊標連線

    cursor.close()

    關閉資料庫連線

    conn.close()

    綜合案例

    FIFA球員資訊系統

    from pymysql importclass Mysqlpython:def init(self, database="test", host="127.0.0.1", user="root",password="password", port=3306, charset="utf8"):self.host = hostself.user = userself.password = passwordself.port = portself.database = databaseself.charset = charset

    資料庫連線方法:

    def open(self):self.db = connect(host=self.host, user=self.user,password=self.password, port=self.port,database=self.database,charset=self.charset)

    遊標物件

    self.cur = self.db.cursor()

    資料庫關閉方法:

    def close(self):self.cur.close()self.db.close()

    資料庫執行操作方法:

    def Operation(self, sql):try:self.open()self.cur.execute(sql)self.db.commit()print("ok")except Exception as e:self.db.rollback()print("Failed", e)self.close()

    資料庫查詢所有操作方法:

    def Search(self, sql):try:self.open()self.cur.execute(sql)result = self.cur.fetchall()return resultexcept Exception as e:print("Failed", e)self.close()

    def Insert():#如何從外面將資料錄入到sql語句中ID = int(input("請輸入球員編號:"))people_name = input("請輸入球員名字:")PAC = int(input("請輸入速度))

    步驟:

    1. 連線資料庫

    2. 生成遊標物件

    3. 執行SQL語句

    4. 關閉遊標

    5. 關閉連線

  • 4 # 小小猿愛嘻嘻

    python怎麼和mysql連線?目前來說,有3種基本方法,分別是pymysql、sqlalchemy和pandas,下面我分別簡單介紹一下,感興趣的朋友可以嘗試一下:

    01、pymysql

    這是最基礎、也是最基本的python操作mysql的第三方包,相信許多朋友都接觸過,封裝了對mysql的基本操作,包括增刪改查等,只需幾行程式碼即可輕鬆完成對mysql讀寫,簡單易用、非常容易學習,安裝的話,直接在cmd視窗輸入命令“pip install pymysql”即可:

    安裝完成後,我們就可以直接對mysql進行操作了,如下,先建立連線,然後獲取遊標,最後直接執行sql語句即可,這裡需要注意的是,增刪改後不要忘記commit提交更新資料庫,否則資料不會更新:

    02、sqlalchemy

    這是基於物件關係對映模型ORM開發的一個開源資料庫框架,將python類和資料表關聯起來,摒棄了底層繁瑣的資料庫操作,只需編寫一套程式碼即可在主流的資料庫之間來回切換,操作簡單、便於移植,安裝的話,直接在cmd視窗輸入命令“pip install sqlalchemy”即可,程式會自動檢測相關依賴並安裝:

    安裝完成後,我們就可以直接開始資料庫操作了,如下,先建立資料庫連線,然後定義物件類(對應於具體資料表),最後直接進行增刪改查即可,需要注意的是,更新操作也需要commit提交資料庫,否則資料不會更新:

    03、pandas

    這是python一個非常著名的資料分析包,相信許多朋友都聽說或使用過,功能強大、易於操作,可輕鬆處理日常各種檔案,包括txt、excel、csv、json等,對應於mysql,也提供了現成的函式,可直接對mysql進行讀寫,程式碼量更少,也更易於掌握,安裝的話,直接在cmd視窗輸入命令“pip install pandas”即可,程式會自動檢測相關依賴並安裝:

    安裝完成後,我們就可以直接呼叫現成函式來對mysql進行操作了,這裡依賴於sqlalchemy框架,因此需要先安裝才行,如下,讀取的話,先建立資料庫連線,然後輸入需要執行的sql語句,最後直接獲取資料即可,這裡會將資料封裝為DataFrame型別,方便後期處理和篩選,插入的話,先將資料封裝為DataFrame型別,接著直接呼叫to_sql函式即可:

    至此,我們就完成了python連線操作mysql資料庫。總的來說,這3種方法都非常簡單,只要你有一定python基礎,熟悉一下相關程式碼和示例,很快就能掌握的,網上也有相關教程和資料,介紹的非常詳細,感興趣的話,可以搜一下,希望以上分享的內容能對你有所幫助吧,也歡迎大家評論、留言進行補充。

  • 中秋節和大豐收的關聯?
  • 關於春天的英語句子大全?