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实现人人网登录示例分享
Jan 19 Python
python基础教程之简单入门说明(变量和控制语言使用方法)
Mar 25 Python
Python中实现从目录中过滤出指定文件类型的文件
Feb 02 Python
使用pdb模块调试Python程序实例
Jun 02 Python
Windows上配置Emacs来开发Python及用Python扩展Emacs
Nov 20 Python
python的random模块及加权随机算法的python实现方法
Jan 04 Python
用python 批量更改图像尺寸到统一大小的方法
Mar 31 Python
浅谈Python的条件判断语句if/else语句
Mar 21 Python
Python控制台输出时刷新当前行内容而不是输出新行的实现
Feb 21 Python
opencv python 图片读取与显示图片窗口未响应问题的解决
Apr 24 Python
python实现excel公式格式化的示例代码
Dec 23 Python
教你使用pyinstaller打包Python教程
May 27 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
eWebEditor v3.8 商业完整版 (PHP)
2006/12/06 PHP
将博客园(cnblogs.com)数据导入到wordpress的代码
2013/01/06 PHP
Zend Studio 实用快捷键一览表(精心整理)
2013/08/10 PHP
php 利用socket发送HTTP请求(GET,POST)
2015/08/24 PHP
thinkPHP5框架自定义验证器实现方法分析
2018/06/11 PHP
用 JSON 处理缓存
2007/04/27 Javascript
各种效果的jquery ui(接口)介绍
2008/09/17 Javascript
jquery中focus()函数实现当对象获得焦点后自动把光标移到内容最后
2013/09/29 Javascript
js中继承的几种用法总结(apply,call,prototype)
2013/12/26 Javascript
JavaScript中数据结构与算法(二):队列
2015/06/19 Javascript
jQuery实现自定义右键菜单的树状菜单效果
2015/09/02 Javascript
JavaScript实现带播放列表的音乐播放器实例分享
2016/03/07 Javascript
Nodejs Stream 数据流使用手册
2016/04/17 NodeJs
JS触摸与手势事件详解
2017/05/09 Javascript
详解HTML5 使用video标签实现选择摄像头功能
2017/10/25 Javascript
Vue自定义过滤器格式化数字三位加一逗号实现代码
2018/03/23 Javascript
JS删除数组指定值常用方法详解
2020/06/04 Javascript
JS forEach跳出循环2种实现方法
2020/06/24 Javascript
js实现带积分弹球小游戏
2020/07/21 Javascript
原生js实现点击按钮复制内容到剪切板
2020/11/19 Javascript
[02:23]2016国际邀请赛中国区预选赛wings晋级之路
2016/06/29 DOTA
Python使用redis pool的一种单例实现方式
2016/04/16 Python
Python爬取京东的商品分类与链接
2016/08/26 Python
Python抓取框架Scrapy爬虫入门:页面提取
2017/12/01 Python
python给图像加上mask,并提取mask区域实例
2020/01/19 Python
Win10下安装并使用tensorflow-gpu1.8.0+python3.6全过程分析(显卡MX250+CUDA9.0+cudnn)
2020/02/17 Python
Python实现ATM系统
2020/02/17 Python
Python模块相关知识点小结
2020/03/09 Python
Python 如何对文件目录操作
2020/07/10 Python
cookies应对python反爬虫知识点详解
2020/11/25 Python
HOTEL INFO英国:搜索全球酒店
2019/08/08 全球购物
迪士尼西班牙官方网上商店:ShopDisney西班牙
2020/02/02 全球购物
如何向接受结构参数的函数传入常数值
2016/02/17 面试题
2014国培学习感言
2014/03/05 职场文书
2014年党课学习材料
2014/05/11 职场文书
2015年教师见习期工作总结
2015/05/20 职场文书