python操控MariaDB(含增刪查改操作)

MariaDB簡介

MariaDB是mysql的一個分支,也是一個開源數據庫,它的存在防止mysql閉源,就是那麼奇葩。除了具有Mysql數據庫系統的特點外,還是具有自身的一些特性:

  1. 兼容性 : mysql能用的,mariadb也能用
  2. 速度更快:它在安全複製、索引、字符集轉換等方面具有更好的性能。
  3. 採用線程池連接查詢:併發防止高用戶量死機
  4. 安全性:有一套安全補丁.好用實在。

MariDB數據庫操作步驟

MariDB安裝路徑
詳細教大家如何安裝maridb,然後我們可以運用python的第三方庫mysql connector python來操作mariadb數據庫和本書前一節中操作SQLite3基本相同,其步驟相似。
mysql-connector-python模塊中的連接函數connect()的包路徑爲mysql.connector.connect,其函數原型如下:

connect(host,port,user,password,database,charset) 

各參數含義如下:

  • host 訪問數據庫的服務器主機(默認爲本機)
  • port 訪問數據庫的服務端口(默認爲3306)
  • user 訪問數據庫的用戶名
  • password 訪問數據庫用戶名的密碼
  • database 訪問數據庫名稱
  • charset 字符編碼

例子:用py操控mariadb進行增刪查改操作

效果
在這裏插入圖片描述
實驗代碼:

from mysql import connector
import random

src = 'abcdefghijklmnopqrstuvwxyz'


def get_data_list(n):
    res = []
    for i in range(n):
        res.append((get_str(2,4),get_str(8,12)))
    return res


def output():
    cur.execute('select * from mytab')
    for sid,name,ps in cur:
        print(sid,' ',name,' ',ps)


def output_all():
    cur.execute('select * from mytab')
    for item in cur.fetchall():
        print(item)

def get_str(param, param1):
    str_num = random.randint(param,param1)
    astr = ''
    for i in range(str_num):
        astr += random.choice(src)
    return astr






if __name__ == '__main__':
    print('建立連接...')
    con = connector.connect(user='root',password='123456',database = 'test')
    print('建立遊標...')
    cur = con.cursor()
    print('創建一張表mytab...')
    cur.execute('create table mytab(id int primary key auto_increment not null,name text,passwd text)')
    print('插入一條記錄...')
    cur.execute('insert into mytab (name,passwd) values(%s,%s)',(get_str(2,4),get_str(8,12),))
    print('顯示所有記錄...')
    output()
    print('批量插入多條記錄')
    cur.executemany('insert into mytab (name,passwd) values(%s,%s)',get_data_list(3))
    print('顯示所有記錄...')
    output_all()
    print('更新一條記錄...')
    cur.execute('update mytab set name=%s where id = %s',('aaa',1))
    print('顯示所有記錄....')
    output()
    print('刪除一條記錄...')
    cur.execute('delete from mytab where id=%s',(3,))
    print('顯示所有記錄:')
    output()
    cur.close()
    con.close()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章