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中replace方法实例分析
Aug 20 Python
Python本地与全局命名空间用法实例
Jun 16 Python
python常用函数详解
Sep 13 Python
教你用Python创建微信聊天机器人
Mar 31 Python
python3.6.3+opencv3.3.0实现动态人脸捕获
May 25 Python
Python 文本文件内容批量抽取实例
Dec 10 Python
python基于pdfminer库提取pdf文字代码实例
Aug 15 Python
python实现复制大量文件功能
Aug 31 Python
Python使用内置函数setattr设置对象的属性值
Oct 16 Python
基于Python模拟浏览器发送http请求
Nov 06 Python
python小技巧——将变量保存在本地及读取
Nov 13 Python
基于django和dropzone.js实现上传文件
Nov 24 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
php中get_meta_tags()、CURL与user-agent用法分析
2014/12/16 PHP
浅谈php+phpStorm+xdebug配置方法
2015/09/17 PHP
通过PHP自带的服务器来查看正则匹配结果的方法
2015/12/24 PHP
php与c 实现按行读取文件实例代码
2017/01/03 PHP
HTML TO JavaScript 转换
2006/06/26 Javascript
jQuery Clone Bug解决代码
2010/12/22 Javascript
js页面滚动时层智能浮动定位实现(jQuery/MooTools)
2011/08/23 Javascript
Jquery实现瀑布流布局(备有详细注释)
2015/07/31 Javascript
前端开发之CSS原理详解
2017/03/11 Javascript
Javascript中Promise的四种常用方法总结
2017/07/14 Javascript
微信小程序实现城市列表选择
2018/06/05 Javascript
解决vue-cli单页面手机应用input点击手机端虚拟键盘弹出盖住input问题
2018/08/25 Javascript
bootstrap table合并行数据并居中对齐效果
2018/10/17 Javascript
JavaScript DOM常用操作代码汇总
2020/07/03 Javascript
vue props 一次传多个值实例
2020/07/22 Javascript
python实现带验证码网站的自动登陆实现代码
2015/01/12 Python
matplotlib设置legend图例代码示例
2017/12/19 Python
Python3非对称加密算法RSA实例详解
2018/12/06 Python
PyQt+socket实现远程操作服务器的方法示例
2019/08/22 Python
学Python 3的理由和必要性
2019/11/19 Python
PIL.Image.open和cv2.imread的比较与相互转换的方法
2020/06/03 Python
python要安装在哪个盘
2020/06/15 Python
Python中正则表达式对单个字符,多个字符和匹配边界等使用
2021/01/27 Python
整理HTML5中支持的URL编码与字符编码
2016/02/23 HTML / CSS
详解canvas绘制网络字体几种方法
2019/08/27 HTML / CSS
Reformation官网:美国女装品牌
2018/09/14 全球购物
上海天奕面试题笔试题
2015/04/19 面试题
机械设计及其自动化专业推荐信
2013/10/31 职场文书
个人优缺点自我评价
2014/01/27 职场文书
高三学习决心书
2014/03/11 职场文书
2014年外联部工作总结
2014/11/17 职场文书
工作检讨书怎么写
2015/01/23 职场文书
500字小学生检讨书
2015/02/19 职场文书
小学教师节活动总结
2015/03/20 职场文书
公司人事管理制度
2015/08/05 职场文书
SQL Server中交叉联接的用法详解
2021/04/22 SQL Server