数据库操作
Python 操作 Mysql 模块的安装
1
2
3
4
5
|
linux: yum install MySQL - python
window: http: / / files.cnblogs.com / files / wupeiqi / py - mysql - win. zip
|
SQL基本使用
1、数据库操作
1
2
3
|
show databases; use [databasename]; create database [name]; |
2、数据表操作
1
2
3
4
5
6
7
8
9
10
|
show tables; create table students (
id int not null auto_increment primary key,
name char( 8 ) not null,
sex char( 4 ) not null,
age tinyint unsigned not null,
tel char( 13 ) null default "-"
);
|
CREATE TABLE `wb_blog` ( `id` smallint(8) unsigned NOT NULL, `catid` smallint(5) unsigned NOT NULL DEFAULT ', `title` varchar(80) NOT NULL DEFAULT '', `content` text NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `catename` (`catid`) ) ;
创建表wb_blog
3、数据操作
1
2
3
4
5
6
7
|
insert into students(name,sex,age,tel) values( 'alex' , 'man' , 18 , '151515151' )
delete from students where id = 2 ;
update students set name = 'sb' where id = 1 ;
select * from students
|
4、其他
1
2
3
|
主键 外键 左右连接 |
Python MySQL API
一、插入数据
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
import MySQLdb
conn = MySQLdb.connect(host = '127.0.0.1' ,user = 'root' ,passwd = '1234' ,db = 'mydb' )
cur = conn.cursor()
reCount = cur.execute( 'insert into UserInfo(Name,Address) values(%s,%s)' ,( 'alex' , 'usa' ))
# reCount = cur.execute('insert into UserInfo(Name,Address) values(%(id)s, %(name)s)',{'id':12345,'name':'wupeiqi'}) conn.commit() cur.close() conn.close() print reCount
|
import MySQLdb conn = MySQLdb.connect(host=',db='mydb') cur = conn.cursor() li =[ ('alex','usa'), ('sb','usa'), ] reCount = cur.executemany('insert into UserInfo(Name,Address) values(%s,%s)',li) conn.commit() cur.close() conn.close() print reCount
MySQLdb
注意:cur.lastrowid
二、删除数据
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
import MySQLdb
conn = MySQLdb.connect(host = '127.0.0.1' ,user = 'root' ,passwd = '1234' ,db = 'mydb' )
cur = conn.cursor()
reCount = cur.execute( 'delete from UserInfo' )
conn.commit() cur.close() conn.close() print reCount
|
三、修改数据
1
2
3
4
5
6
7
8
9
10
11
12
13
|
import MySQLdb
conn = MySQLdb.connect(host = '127.0.0.1' ,user = 'root' ,passwd = '1234' ,db = 'mydb' )
cur = conn.cursor()
reCount = cur.execute( 'update UserInfo set Name = %s' ,( 'alin' ,))
conn.commit() cur.close() conn.close() print reCount
|
四、查数据
# ############################## fetchone/fetchmany(num) ############################## import MySQLdb conn = MySQLdb.connect(host='127.0.0.1',user='root',passwd='1234',db='mydb') cur = conn.cursor() reCount = cur.execute('select * from UserInfo') print cur.fetchone() print cur.fetchone() cur.scroll(-1,mode='relative') print cur.fetchone() print cur.fetchone() cur.scroll(0,mode='absolute') print cur.fetchone() print cur.fetchone() cur.close() conn.close() print reCount # ############################## fetchall ############################## import MySQLdb conn = MySQLdb.connect(host='127.0.0.1',user='root',passwd='1234',db='mydb') #cur = conn.cursor(cursorclass = MySQLdb.cursors.DictCursor) cur = conn.cursor() reCount = cur.execute('select Name,Address from UserInfo') nRet = cur.fetchall() cur.close() conn.close() print reCount print nRet for i in nRet: print i[0],i[1]