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记录详细调用堆栈日志的方法
May 05 Python
Python使用minidom读写xml的方法
Jun 03 Python
基于python select.select模块通信的实例讲解
Sep 21 Python
python中requests和https使用简单示例
Jan 18 Python
Python切片操作实例分析
Mar 16 Python
Python动态生成多维数组的方法示例
Aug 09 Python
详解Python中is和==的区别
Mar 21 Python
使用python进行广告点击率的预测的实现
Jul 04 Python
Django 对IP访问频率进行限制的例子
Aug 30 Python
Tensorflow中的dropout的使用方法
Mar 13 Python
pycharm部署、配置anaconda环境的教程
Mar 24 Python
Python 如何调试程序崩溃错误
Aug 03 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
WINXP下apache+php4+mysql
2006/11/25 PHP
显示程序执行时间php函数代码
2013/08/29 PHP
php+mysql数据库实现无限分类的方法
2014/12/12 PHP
Symfony数据校验方法实例分析
2015/01/26 PHP
zend框架实现支持sql server的操作方法
2016/12/08 PHP
360搜索引擎自动收录php改写方案
2018/04/28 PHP
PHP+MySQL高并发加锁事务处理问题解决方法
2018/04/30 PHP
workerman结合laravel开发在线聊天应用的示例代码
2018/10/30 PHP
Jquery 类网页微信二维码图块滚动效果具体实现
2013/10/14 Javascript
javascript搜索框点击文字消失失焦时文本出现
2014/09/18 Javascript
将 vue 生成的 js 上传到七牛的实例
2017/07/28 Javascript
详解webpack2+React 实例demo
2017/09/11 Javascript
jQuery实现获取table中鼠标click点击位置行号与列号的方法
2017/10/09 jQuery
js防抖和节流的深入讲解
2018/12/06 Javascript
详解超简单的react服务器渲染(ssr)入坑指南
2019/02/28 Javascript
详解jQuery如何实现模糊搜索
2019/05/10 jQuery
微信小程序iOS下拉白屏晃动问题解决方案
2019/10/12 Javascript
更改Ubuntu默认python版本的两种方法python-> Anaconda
2016/12/18 Python
python实现折半查找和归并排序算法
2017/04/14 Python
python实现单线程多任务非阻塞TCP服务端
2017/06/13 Python
python基础while循环及if判断的实例讲解
2017/08/25 Python
python实现汉诺塔算法
2021/03/01 Python
基于Django框架的权限组件rbac实例讲解
2019/08/31 Python
使用Python 自动生成 Word 文档的教程
2020/02/13 Python
Selenium关闭INFO:CONSOLE提示的解决
2020/12/07 Python
使用Html5、CSS实现文字阴影效果
2018/01/17 HTML / CSS
设计毕业生简历中的自我评价
2013/10/01 职场文书
函授药学自我鉴定
2014/02/07 职场文书
幼儿园中班评语大全
2014/04/17 职场文书
2014年大学班长工作总结
2014/11/14 职场文书
暑期社会实践证明书
2014/11/17 职场文书
仓库保管员岗位职责
2015/02/09 职场文书
承诺书模板大全
2015/05/04 职场文书
导游词之香港-太平山顶
2019/10/18 职场文书
如何用Node.js编写内存效率高的应用程序
2021/04/30 Javascript
js基于div丝滑实现贝塞尔曲线
2022/09/23 Javascript