MariaDB簡介
MariaDB是mysql的一個分支,也是一個開源數據庫,它的存在防止mysql閉源,就是那麼奇葩。除了具有Mysql數據庫系統的特點外,還是具有自身的一些特性:
- 兼容性 : mysql能用的,mariadb也能用
- 速度更快:它在安全複製、索引、字符集轉換等方面具有更好的性能。
- 採用線程池連接查詢:併發防止高用戶量死機
- 安全性:有一套安全補丁.好用實在。
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()