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 功能和特点(新手必学)
Dec 30 Python
Python调用C++程序的方法详解
Jan 24 Python
python使用fork实现守护进程的方法
Nov 16 Python
详解Python Matplot中文显示完美解决方案
Mar 07 Python
为什么从Python 3.6开始字典有序并效率更高
Jul 15 Python
python实现操作文件(文件夹)
Oct 31 Python
python如何通过twisted搭建socket服务
Feb 03 Python
Spring Boot中使用IntelliJ IDEA插件EasyCode一键生成代码详细方法
Mar 20 Python
python 画条形图(柱状图)实例
Apr 24 Python
python将logging模块封装成单独模块并实现动态切换Level方式
May 12 Python
Python使用matplotlib绘制圆形代码实例
May 27 Python
解决python3.6用cx_Oracle库连接Oracle的问题
Dec 07 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
世界上第一台立体声收音机
2021/03/01 无线电
PHP获取用户的浏览器与操作系统信息的代码
2012/09/04 PHP
无需重新编译php加入ftp扩展的解决方法
2013/02/07 PHP
PHP实现取得HTTP请求的原文
2014/08/18 PHP
php中fgetcsv()函数用法实例
2014/11/28 PHP
php魔术函数__call()用法实例分析
2015/02/13 PHP
基于jQuery实现点击同时更改两个iframe的网址
2010/07/01 Javascript
利用js实现选项卡的特别效果的实例
2013/03/03 Javascript
jQuery获取节点和子节点文本的方法
2014/07/22 Javascript
node.js中的fs.unlinkSync方法使用说明
2014/12/15 Javascript
javascript另类方法实现htmlencode()与htmldecode()函数实例分析
2016/11/17 Javascript
详解Javascript几种跨域方式总结
2017/02/27 Javascript
angularjs数组判断是否含有某个元素的实例
2018/02/27 Javascript
jQuery实现的简单拖拽功能示例【测试可用】
2018/08/14 jQuery
微信运维交互机器人的示例代码
2018/11/12 Javascript
vue element-ui table组件动态生成表头和数据并修改单元格格式 父子组件通信
2019/08/15 Javascript
基于JavaScript 实现拖放功能
2019/09/12 Javascript
Python中最常用的操作列表的几种方法归纳
2015/04/24 Python
解决python有时候import不了当前的包问题
2019/08/28 Python
canvas实现圆形进度条动画的示例代码
2017/12/26 HTML / CSS
德国婴儿推车和儿童安全座椅商店:BABYSHOP
2016/09/01 全球购物
Spongelle官网:美国的创意护肤洗护品牌
2019/05/15 全球购物
C#如何允许一个类被继承但是避免这个类的方法被重载?
2015/02/24 面试题
如何在Shell脚本中使用函数
2015/09/06 面试题
上班迟到检讨书
2014/01/10 职场文书
《只有一个地球》教学反思
2014/02/14 职场文书
报告会主持词
2014/04/02 职场文书
2014年十一国庆向国旗敬礼寄语
2014/04/11 职场文书
企业文化口号
2014/06/12 职场文书
幸福终点站观后感
2015/06/04 职场文书
医院岗前培训心得体会
2016/01/08 职场文书
2020年个人安全保证书参考模板
2020/01/08 职场文书
超详细Python解释器新手安装教程
2021/05/10 Python
html5调用摄像头截图功能
2022/01/18 Javascript
Python用any()函数检查字符串中的字母以及如何使用all()函数
2022/04/14 Python
Win11 Build 25179预览版发布(附更新内容+ISO官方镜像下载)
2022/08/14 数码科技