python连接mysql实例分享


Posted in Python onOctober 09, 2016

示例一

#coding=UTF-8

import sys
import MySQLdb
import time

reload(sys)
sys.setdefaultencoding('utf-8')

def connectDemo():
  return MySQLdb.Connection("127.0.0.1","root","root","demo",3306,charset="utf8")


if __name__ == '__main__':
  begin=time.time()

  conn=connectDemo()
  cursor = conn.cursor()
  sql="""
    show tables
    """
  count = cursor.execute(sql)
  rows = cursor.fetchall()
  cursor.close()
  conn.close()
  print "========demo库共:%s 张表============" % (count)

  print '耗时:%s 秒' % (time.time()-begin)

示例二

import MySQLdb
conn = MySQLdb.connect(host="localhost",
user="root",
passwd="123456",
db="test")
cursor = conn.cursor()
cursor.execute("select * from hard")
res = cursor.fetchall()
for x in res:
print x
cursor.close()
conn.close()

示例三

1 安装Python的Mysql包

root@10.1.1.45:~# apt-get install python-mysqldb 
root@10.1.1.45:~# python 
Python 2.5.2 (r252:60911, Jan 4 2009, 21:59:32)  
[GCC 4.3.2] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import MySQLdb 
>>>

  这里导入MySQLdb没有报错,就说明安装成功.

2 下面就可以连接数据库,可以进行增删改操作.

root@10.1.1.45:python# cat create.py  
#!/usr/bin/env python 
#coding=utf-8 
 
#导入相关模块 
import MySQLdb 
 
#建立和mysql数据库的连接 
conn = MySQLdb.connect(host='localhost',user='root',passwd='davehe') 
#获取游标 
curs = conn.cursor() 
#执行SQL,创建一个数据库 
curs.execute("create database pythondb") 
#选择连接哪个数据库 
conn.select_db('pythondb') 
#执行SQL,创建一个表 
curs.execute("create table test(id int,message varchar(50))") 
#插入一条记录 
value = [1,"davehe"] 
curs.execute("insert into test values(%s,%s)",value) 
#插入多条记录 
values = [] 
for i in range(20): 
  values.append((i,'hello mysqldb' + str(i))) 
curs.executemany("insert into test values(%s,%s)",values) 
#提交修改                 
conn.commit() 
#关闭游标连接,释放资源 
curs.close() 
#关闭连接 
conn.close() 
root@10.1.1.45:python# ./create.py

3 下面利用python查看mysql里刚添加的记录.

root@10.1.1.45:python# cat select.py  
#!/usr/bin/env python 
#coding=utf-8 
 
#导入相关模块 
import MySQLdb 
 
#建立和mysql数据库的连接 
conn = MySQLdb.connect(host='localhost',user='root',passwd='hc1226') 
#获取游标 
curs = conn.cursor() 
#选择连接哪个数据库 
conn.select_db('pythondb') 
#查看共有多少条记录 
count = curs.execute('select * from test') 
print "一共有%s条记录" % count 
#获取一条记录,以一个元组返回 
result = curs.fetchone() 
print "当前的一条记录 ID:%s message:%s" % result 
#获取后10条记录,由于之前执行了getchone(),所以游标已经指到第二条记录,下面也就从第二条记录开始返回 
results = curs.fetchmany(10) 
for r in results: 
  print r 
#重置游标位置,0,为偏移量,mode = relative(默认) 
curs.scroll(0,mode='absolute') 
#获取所有记录 
results = curs.fetchall() 
for r in results: 
  print r 
 
#提交修改 
conn.commit() 
#关闭游标连接,释放资源 
curs.close() 
#关闭连接 
conn.close()
root@10.1.1.45:python# ./select.py  
一共有21条记录 
当前的一条记录 ID:1 message:davehe 
(0L, 'hello mysqldb0') 
(1L, 'hello mysqldb1') 
(2L, 'hello mysqldb2') 
(3L, 'hello mysqldb3') 
(4L, 'hello mysqldb4') 
(5L, 'hello mysqldb5') 
(6L, 'hello mysqldb6') 
(7L, 'hello mysqldb7') 
(8L, 'hello mysqldb8') 
(9L, 'hello mysqldb9') 
(1L, 'davehe') 
(0L, 'hello mysqldb0') 
(1L, 'hello mysqldb1') 
(2L, 'hello mysqldb2') 
(3L, 'hello mysqldb3') 
(4L, 'hello mysqldb4') 
(5L, 'hello mysqldb5') 
(6L, 'hello mysqldb6') 
(7L, 'hello mysqldb7') 
(8L, 'hello mysqldb8') 
(9L, 'hello mysqldb9') 
(10L, 'hello mysqldb10') 
(11L, 'hello mysqldb11') 
(12L, 'hello mysqldb12') 
(13L, 'hello mysqldb13') 
(14L, 'hello mysqldb14') 
(15L, 'hello mysqldb15') 
(16L, 'hello mysqldb16') 
(17L, 'hello mysqldb17') 
(18L, 'hello mysqldb18') 
(19L, 'hello mysqldb19')
Python 相关文章推荐
Python 正则表达式实现计算器功能
Apr 29 Python
Python使用回溯法子集树模板获取最长公共子序列(LCS)的方法
Sep 08 Python
django用户登录和注销的实现方法
Jul 16 Python
python+opencv+caffe+摄像头做目标检测的实例代码
Aug 03 Python
Python django使用多进程连接mysql错误的解决方法
Oct 08 Python
python查找重复图片并删除(图片去重)
Jul 16 Python
Django模板Templates使用方法详解
Jul 19 Python
Python实现一个数组除以一个数的例子
Jul 20 Python
如何在mac环境中用python处理protobuf
Dec 25 Python
python爬虫模块URL管理器模块用法解析
Feb 03 Python
自定义实现 PyQt5 下拉复选框 ComboCheckBox的完整代码
Mar 30 Python
python如何支持并发方法详解
Jul 25 Python
Python中运算符"=="和"is"的详解
Oct 08 #Python
Python 爬虫多线程详解及实例代码
Oct 08 #Python
python字符串,数值计算
Oct 05 #Python
python制作企业邮箱的爆破脚本
Oct 05 #Python
python爬取NUS-WIDE数据库图片
Oct 05 #Python
python2.7的编码问题与解决方法
Oct 04 #Python
Python Sqlite3以字典形式返回查询结果的实现方法
Oct 03 #Python
You might like
一个简单计数器的源代码
2006/10/09 PHP
一个可以找出源代码中所有中文的工具
2006/10/25 PHP
php的memcached客户端memcached
2011/06/14 PHP
PHP错误和异长常处理总结
2014/03/06 PHP
php验证邮箱和ip地址最简单方法汇总
2015/10/30 PHP
PHP版本的选择5.2.17 5.3.27 5.3.28 5.4 5.5兼容性问题分析
2016/04/04 PHP
JavaScript this调用规则说明
2010/03/08 Javascript
jquery实现简单的拖拽效果实例兼容所有主流浏览器
2013/06/21 Javascript
解决用jquery load加载页面到div时,不执行页面js的问题
2014/02/22 Javascript
浅谈JavaScript Array对象
2014/12/29 Javascript
js计算德州扑克牌面值的方法
2015/03/04 Javascript
javascript中的3种继承实现方法
2016/01/27 Javascript
JavaScript实现简单Tip提示框效果
2016/04/20 Javascript
javascript实现下雪效果【实例代码】
2016/05/03 Javascript
jQuery增加和删除表格项目及实现表格项目排序的方法
2016/05/30 Javascript
JS给swf传参数的实现方法
2016/09/13 Javascript
jQuery弹出层插件popShow用法示例
2017/01/23 Javascript
BootStrap表单时间选择器详解
2017/05/09 Javascript
cocos2dx+lua实现橡皮擦功能
2018/12/20 Javascript
vue-cli的build的文件夹下没有dev-server.js文件配置mock数据的方法
2019/04/17 Javascript
Python 第一步 hello world
2009/09/25 Python
Python下的Mysql模块MySQLdb安装详解
2014/04/09 Python
Python的Flask框架中@app.route的用法教程
2015/03/31 Python
python的Crypto模块实现AES加密实例代码
2018/01/22 Python
使用Python的Turtle绘制哆啦A梦实例
2019/11/21 Python
解决python Jupyter不能导入外部包问题
2020/04/15 Python
Python 数据的累加与统计的示例代码
2020/08/03 Python
谷歌浏览器小字体处理方案即12px以下字体
2013/12/17 HTML / CSS
求职简历的自我评价怎样写好
2013/10/07 职场文书
网络工程师自荐书范文
2014/04/01 职场文书
学校安全工作汇报材料
2014/08/16 职场文书
2014法院四风问题对照检查材料思想汇报
2014/10/04 职场文书
安阳殷墟导游词
2015/02/10 职场文书
团员个人年度总结
2015/02/26 职场文书
怎样写辞职信
2015/02/27 职场文书
硕士论文致谢范文
2015/05/14 职场文书