例子1:建立乙個資料庫
# -*- coding: utf-8 -* 中文注釋
import mysqldb
#建立和資料庫系統的連線
conn=mysqldb.connect(host='localhost',user='root',passwd='')
#獲取操作游標
cursor=conn.cursor()
#執行sql,建立乙個資料庫
cursor.execute('create database pythonwp')
#關閉連線,釋放資源
例子2:建立乙個資料庫,並向其中新增資料,再利用命令更新資料
# -*- coding: utf-8 -* 中文注釋
import mysqldb
try:
conn=mysqldb.connect(host='localhost',user='root',passwd='')#連線資料庫
cur=conn.cursor()#獲得游標
cur.execute('create database if not exists hahaha')#建立名為hahaha的資料庫
conn.select_db('hahaha')#選擇hahaha資料庫
cur.execute('create table enenen(id int,info varchar(20))')#在hahaha資料庫中建立名字為enenen的表,表中有兩列,其一是型別為int的id列,另一是型別為varchar(20)的info列
value=[1,'hi rollen']#準備乙個資料
cur.execute('insert into enenen values(%s,%s)',value)#將剛才那組資料插入到表中
values=
for i in range(20):
cur.executemany('insert into enenen values(%s,%s)',values)#一次性將values陣列中的全部內容插入到表enenen中
cur.execute('update enenen set info="i am lee yanxi" where id=3')#執行update命令,將第3條訊息更改為i am lee yanxi
conn.commit()#python 操作mysql是用事物的方式來實現的,所以在update的時候必須有commit提交的過程,否則資料表不會生效
cur.close()#關閉游標
conn.close()#關閉資料庫連線
例子3:向資料庫中插入中文資料
向資料庫中插入中文時如果按照與英文一樣的操作,那麼在資料庫中會導致亂碼,正確應該是connect資料庫系統時加上charset屬性。這個charset在建立資料庫的時候設定。
--
-- 資料庫**式: 'chinesemusic'
-- create table `chinesemusic` (
`id` int(11) not null auto_increment,
`name` varchar(60) not null default '',
primary key (`id`)
在phpmyadmin中先建立資料庫musicdb,然後執行上面的sql語句,建立了資料表chinesemusic,並且定義了相應的列。# -*- coding: utf-8 -* 中文注釋
import mysqldb
try:
conn=mysqldb.connect(host='localhost',user='root',passwd='',charset='gb2312')#連線資料庫
cur=conn.cursor()#獲得游標
conn.select_db('musicdb')#選擇hahaha資料庫
value=[1,'《歌唱祖國》']#準備乙個資料
cur.execute('insert into chinesemusic values(%s,%s)',value)#將剛才那組資料插入到表中
conn.commit()#python 操作mysql是用事物的方式來實現的,所以在update的時候必須有commit提交的過程,否則資料表不會生效
cur.close()#關閉游標
conn.close()#關閉資料庫連線
可見中文被成功插入進入資料庫。
例子4:從資料庫中得到資料
資料庫中有如下資料:
**如下:
# -*- coding: utf-8 -* 中文注釋
import mysqldb
try:
conn=mysqldb.connect(host='localhost',user='root',passwd='',charset='gb2312')
cur=conn.cursor()
conn.select_db('musicdb')
count=cur.execute('select * from chinesemusic')#獲得條目的總數
print 'there has %s rows record' % count
result=cur.fetchone()#獲得第乙個條目
print result
print 'id:%s info %s' % result
results=cur.fetchmany(2)#獲得接下來的兩個條目
for r in results:
print r
print '=='*10
cur.scroll(0,mode='absolute')#把游標移動到資料表開頭
results=cur.fetchall()#獲得所有條目
for r in results:
print r[0],':',r[1]
conn.commit()
cur.close()
conn.close()
except mysqldb.error,e:
print "mysql error %d:%s" % (e.args[0],e.args[1])
**的執行結果為:
Python資料庫操作
我們之前接觸過的儲存資料的方式都是 1.字串 2.列表 3.元組 4.字典 以上方式其實是屬於同一種方式,即將資料儲存在記憶體中 實際在開發過程中,資料儲存主要有三種形式 1.將資料儲存到記憶體中 優點 使用方便,讀寫速度快 缺點 程式關閉的時候,記憶體會釋放,資料會消失 2.將資料寫入到檔案中 優...
Python資料庫操作
定義 資料庫是儲存資料的倉庫,按照一定的資料模型進行組織 描述和儲存。可以以最大的程度減少冗餘度。資料庫管理系統的分類 常用的資料庫模型 支援的型別 null integer real text blob py對應的型別 none int float str bytes sqlite3模組 該模組定...
Python資料庫操作
查詢employee表中salary 工資 字段大於1000的所有資料 usr bin python coding utf 8 import mysqldb 開啟資料庫連線 db mysqldb.connect localhost testuser test123 testdb charset ut...