python下用mysqldb連接使用數據庫

第一步:連接

import MySQLdb #首先需要引入mysqldb即Python 連接 MySQL 的模塊。
conn=MySQLdb.connect(host="localhost",user="root",passwd="")#此處等價於缺省值時即conn=MySQLdb.connect()
cur = conn.cursor() #創建遊標,用於發送sql指令 
這樣就可以用遊標cur發送sql指令給mysql了。


第二步:操作

1.創建數據庫

cur.execute('create database adams')

再在mysql下查看一下,當然也可以直接在python中查看,但這裏寫一下如何在mysql下查看,便於兩種環境的轉換。


2.創建表

cur.execute('use adams') #表示接下來要使用數據庫adams同mysql下的用法
cur.execute('create table test(ID int,name varchar(8),sex varchar(1))')
cur.execute('show tables')#在這裏不能直接打印出tables,而要用如下命令查看
cur.fetchone()

得到如下結果:


3.表操作

只介紹添加記錄和查找記錄,因爲刪除和修改mysqldb所設計的操作比較少,基本只和sql語句有關。

3.1.增

sqlim = "insert into test(ID,name,sex) values(%s,%s,%s)"#先把sql語句寫下來,用格式化方法方便操作時傳入可變的值,注意這裏無論什麼數據類型都用%s
m1 = (1,'aaa','f')
m2 = (2,'bbb','m')
m3 = (3,'ccc','m')
m4 = (4,'ddd','f')
m5 = (5,'eee','m')
cur.executemany(sqlim,[m1,m2,m3,m4,m5])#用列表把5個值和sql命令通過executemany命令執行。如果只有一個值的話把executemany改爲execute把sqlim中values改爲value,傳入一個m參數就可以了。

3.2.查

cur.execute('select  * from test')
cur.fetchall()

得到如下結果


在這裏,指針移動到了最後面,在執行cur.fetchone()就無法得到任何結果,所以需要移動指針

cur.scroll(offset,mode)#這scroll的用法和python中的文件操作所用的seek函數只有第一個參數是一樣的,mode=absolute | relative,默認爲relative。

我們把cur移到最前面

cur.scroll(0,‘absolute’)
cur.catchmany(2) #查到前兩條數據

因爲前面我們由cur.execute('select * from test')得到的是test中記錄的條數,所以可以直接這樣使用輸出所有條目

cur.catchmany(cur.execute('select * from test'))

第三步:退出

先退出遊標

cur.close()

在退出連接

conn.close()

申明

本文是在聽網易雲課堂瘋狂的Python:快速入門精講第37課時所做的筆記

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章