講解Python操作資料庫,完成簡單的增刪改查工作,以MySQL資料庫為例。
Python的MySQL資料庫操作模組叫做MySQLdb,需要額外的安裝下。
透過pip工具安裝:pip install MySQLdb
MySQLdb模組,我們主要用到連接資料庫的方法MySQLdb.Connect(),連接上資料庫後,再用一些方法來做對應的操作。
MySQLdb.Connect(parameters...)方法提供了以下一些常用的參數:
連接物件回傳的connect()函數:
13.1 資料庫增刪除個元組對應著每筆記錄。當查詢多筆記錄時,使用此方法,可有效提高插入效率。
13.1.3 刪除使用者名稱xiaoming的記錄>>> conn = MySQLdb.Connect(host='192.168.1.244',user='root',passwd='QHyCTajI',db='test',charset='utf8') >>> cursor = conn.cursor() >>> sql = "create table user(id int,name varchar(30),password varchar(30))" >>> cursor.execute(sql) # 返回的数字是影响的行数 0L >>> sql = "insert into user(id,name,password) values('1','xiaoming','123456')" >>> cursor.execute(sql) 1L >>> conn.commit() # 提交事务,写入到数据库 >>> cursor.execute('show tables') # 查看创建的表 1L >>> cursor.fetchall() # 返回上一个游标执行的所有结果,默认是以元组形式返回 ((u'user',),) >>> cursor.execute('select * from user') 1L >>> cursor.fetchall() ((1L, u'xiaoming', u'123456'),)
>>> sql = 'insert into user(id,name,password) values(%s,%s,%s)' >>> args = [('2','zhangsan','123456'), ('3','lisi','123456'),('4','wangwu','123456')] >>> cursor.executemany(sql, args) 3L >>> conn.commit() >>> sql = 'select * from user' >>> cursor.execute(sql) 4L >>> cursor.fetchall() ((1L, u'xiaoming', u'123456'), (2L, u'zhangsan', u'123456'), (3L, u'lisi', u'123456'), (4L, u'wangwu', u'123456'))
>>> sql = 'delete from user where name="xiaoming"' >>> cursor.execute(sql) 1L >>> conn.commit() >>> sql = 'select * from user' >>> cursor.execute(sql) 3L >>> cursor.fetchall() ((2L, u'zhangsan', u'123456'), (3L, u'lisi', u'123456'), (4L, u'wangwu', u'123456'))