1.安裝pymysql庫: pip install pymysql / pip3 install pymysql -i https://pypi.douban.com/simple python
Pycharm IDE安裝:mysql
1.sql
2.數據庫
3.ide
使用此模塊須要在電腦上已經安裝並配置好mysql.fetch
如下實例連接Mysql的TESTDB數據庫:spa
1 #!/usr/bin/python3 2 3 import pymysql 4 5 # 打開數據庫鏈接 6 db = pymysql.connect("localhost","testuser","test123","TESTDB" ) 7 8 # 使用 cursor() 方法建立一個遊標對象 cursor 9 cursor = db.cursor() 10 11 # 使用 execute() 方法執行 SQL 查詢 12 cursor.execute("SELECT VERSION()") 13 14 # 使用 fetchone() 方法獲取單條數據. 15 data = cursor.fetchone() 16 17 print ("Database version : %s " % data) 18 19 # 關閉數據庫鏈接 20 db.close()
1 # 導入MySQL驅動: 2 >>> import mysql.connector 3 # 注意把password設爲你的root口令: 4 >>> conn = mysql.connector.connect(user='root', password='password', database='test') 5 >>> cursor = conn.cursor() 6 # 建立user表: 7 >>> cursor.execute('create table user (id varchar(20) primary key, name varchar(20))') 8 # 插入一行記錄,注意MySQL的佔位符是%s: 9 >>> cursor.execute('insert into user (id, name) values (%s, %s)', ['1', 'Michael']) 10 >>> cursor.rowcount 11 1 12 # 提交事務: 13 >>> conn.commit() 14 >>> cursor.close() 15 # 運行查詢: 16 >>> cursor = conn.cursor() 17 >>> cursor.execute('select * from user where id = %s', ('1',)) 18 >>> values = cursor.fetchall() 19 >>> values 20 [('1', 'Michael')] 21 # 關閉Cursor和Connection: 22 >>> cursor.close() 23 True 24 >>> conn.close()
使用鏈接模仿用戶登陸:code
1 import pymysql 2 3 user = input("username:") 4 pwd = input("password:") 5 6 conn = pymysql.connect(host="localhost",user='root',password='123',database="pysql") 7 cursor = conn.cursor() 8 sql = "select * from test where username=%s and password=%s" 9 #sql = "select * from test where username=%(u)s and password=%(p)s" 10 cursor.execute(sql,[user,pwd]) 11 # cursor.execute(sql,{'u':user,'p':pwd}) 12 result = cursor.fetchone() 13 cursor.close() 14 conn.close() 15 if result: 16 print('登陸成功') 17 else: 18 print('登陸失敗')
基本增刪改查操做:對象
1 import pymysql 2 3 # 增長,刪,該 4 conn = pymysql.connect(host="localhost",user='root',password='',database="db666") 5 cursor = conn.cursor() 6 sql = "insert into userinfo(username,password) values('root','123123')" 7 # 受影響的行數 8 r = cursor.execute(sql) 9 # ****** 10 conn.commit() #在執行增刪改操做時須要提交事物,查則不須要。 11 cursor.close() 12 conn.close() 13 14 conn = pymysql.connect(host="localhost",user='root',password='',database="db666") 15 cursor = conn.cursor() 16 sql = "insert into userinfo(username,password) values(%s,%s)" 17 cursor.execute(sql,(user,pwd,)) 18 19 sql = "insert into userinfo(username,password) values(%s,%s)" 20 # 受影響的行數 21 r = cursor.executemany(sql,[('egon','sb'),('laoyao','BS')]) #添加多行內容用executemany 22 # ****** 23 conn.commit() 24 cursor.close() 25 conn.close() 26 27 28 29 30 # 查 31 conn = pymysql.connect(host="localhost",user='root',password='',database="db666") 32 cursor = conn.cursor(cursor=pymysql.cursors.DictCursor) #查詢時顯示字典 33 sql = "select * from userinfo" 34 cursor.execute(sql) 35 36 cursor.scroll(1,mode='relative') # 相對當前位置移動 37 cursor.scroll(2,mode='absolute') # 相對絕對位置移動 38 result = cursor.fetchone() 39 print(result) 40 result = cursor.fetchone() #相似文件操做的seek會一直日後移動。 41 print(result) 42 result = cursor.fetchone() 43 print(result) 44 result = cursor.fetchall() 45 print(result) 46 47 48 result = cursor.fetchmany(4) #查看多條匹配數據 49 print(result) 50 cursor.close() 51 conn.close() 52 53 54 55 56 # 新插入數據的自增ID: cursor.lastrowid 57 import pymysql 58 59 conn = pymysql.connect(host="localhost",user='root',password='',database="db666") 60 cursor = conn.cursor() 61 sql = "insert into userinfo(username,password) values('asdfasdf','123123')" 62 cursor.execute(sql) 63 conn.commit() 64 print(cursor.lastrowid) #查看插入的最後數據的自增ID 65 cursor.close() 66 conn.close()