一疗垛、基本操作
import mysql.connector #導(dǎo)入MySQL驅(qū)動(dòng)
#打開(kāi)數(shù)據(jù)庫(kù) first
conn = mysql.connector.connect(user='root', password='password', database='first')
cursor = conn.cursor() #創(chuàng)建一個(gè)浮標(biāo)
cursor.execute('create table user (id varchar(20) primary key, name varchar(20))') #創(chuàng)建user表
cursor.execute('insert into user (id,name) values (%s, %s)',['1', 'Guoguo']) #插入一行數(shù)據(jù)
#注意MySQL的占位符是%s
cursor.rowcount #返回操作的行數(shù)
#1
cursor.execute('update user set name = %s where id = 1',('LinYun',)) #更改表中數(shù)據(jù)
cursor.execute('delete from user where id = 1') #刪除表中數(shù)據(jù)
conn.commit() #將操作提交到數(shù)據(jù)庫(kù)
cursor.close() #關(guān)閉連接
cursor = conn.cursor() #重新建立連接
cursor.execute('select * from user where id = %s',('1',)) #運(yùn)行查詢
values = cursor.fetchall() #取出所查詢到的
values #輸出所查詢到的
cursor.close() #關(guān)閉cursor
conn.close() #關(guān)閉connection
二、多線程存取Mysql數(shù)據(jù)
創(chuàng)建表
>>> import mysql.connector
>>> conn = mysql.connector.connect(user='root', password='password', database='thread') # 打開(kāi)數(shù)據(jù)庫(kù) thread
>>> cursor = conn.cursor()
>>> cursor.execute('create table threading (operation varchar(100) primary key, name varchar(500))') # 創(chuàng)建 threading 表
>>> conn.commit()
>>> cursor.close()
True
(一)多線程存入數(shù)據(jù)
import mysql.connector
import datetime
import time
import threading
def insert(io):
time_now = datetime.datetime.now()
print(io, time_now)
conn = mysql.connector.connect(user='root', password='password', database='thread')
cursor = conn.cursor()
cursor.execute("insert into threading values (%s, %s)",[io ,time_now])
cursor.close()
conn.commit()
time.sleep(5)
if __name__ == "__main__":
t = threading.Thread(target=insert, args=('in',))
t.start()
t = threading.Thread(target=insert, args=('out',))
t.start()
t.join()
這是在一個(gè)表中多線程插入數(shù)據(jù)
最好是多線程建表和插入 數(shù)據(jù)