Python操作MySQL数据库示例
日期:2015年10月14日,作者:雨水
基础准备
安装MySQL数据库
$sudo apt-get install mysql-server
备注:本文所有操作在ubuntu操作系统
安装MySQLdb库
$sudo apt-get install python-mysqldb
创建测试数据库testdb
mysql>create database testdb;
mysql> create table products( id int(11) not null auto_increment, name varchar(50) not null, price decimal(8,2) not null default '0.00', primary key (id) );
添加测试数据
mysql> insert products(name, price) values('WuLiangye', 618);
Query OK, 1 row affected (0.01 sec)
mysql> insert products(name, price) values('Maotai', 888);
Query OK, 1 row affected (0.01 sec)
mysql> insert products(name, price) values('Maotai', 888);
Query OK, 1 row affected (0.01 sec)
mysql> select * from products;
+----+-----------+--------+
| id | name | price |
+----+-----------+--------+
| 1 | WuLiangye | 618.00 |
| 2 | Maotai | 888.00 |
+----+-----------+--------+
+----+-----------+--------+
| id | name | price |
+----+-----------+--------+
| 1 | WuLiangye | 618.00 |
| 2 | Maotai | 888.00 |
+----+-----------+--------+
2 rows in set (0.00 sec)
编写Python程序pdb.py
#!/usr/bin/python
import MySQLdb as mdb
import sys
con = None
try:
con = mdb.connect('localhost', 'root', '123456', 'testdb')
curs = con.cursor()
curs.execute("select * from products")
data = curs.fetchall()
for row in data:
for col in row:
print col,
print
except mdb.Error, e:
print "Error %d: %s" % (e.args[0],e.args[1])
sys.exit(1)
finally:
if con:
con.close()
这段程序相当简单,就不作描述了,但需要
注意一点:第二个for语句下面的两个print的缩进一定代码中的来,否则执行结果就不一样了,这是Python语法的特色。第一个print相比第二个for缩进四个空格,后面的逗号表示不换行。第二个print与第二个for对齐,表示每打印完一行数据才换行。
执行pdb.py程序
dennis@ubuntu14:~$ python pdb.py
1 WuLiangye 618.00
1 WuLiangye 618.00
2 Maotai 888.00
可以看到,打印出刚才插入的两条数据。
参考资料: