Linux下利用 Python连接mysql数据库一个很好的例子

原文转载自:http://my.oschina.net/davehe/blog/128361

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')

4 附录

   1 connect函数的常用参数

   user             #用户名

   password     #用户密码 

   host             #主机名

   database     #数据库名

    2 connect函数会返回连接对象,连接对象方法

    close()        #关闭连接之后,连接对象和它的游标均不可用

    commit()     #如果支持的话就提交挂起的事务,否则不做任何事

    rollback()    #回滚挂起的事务(可能不可用)

    cursor()      #返回连接的游标对象

    3 游标对象方法

    close()                               #关闭游标

    execute(oper[,params])     #执行SQL操作,可能使用参数

    executemany(oper,pseq)   #对序列中的每个参数执行SQL操作

    fetchone()                         #把查询的结果集中的下一行保存为序列,或者None

    fetchmany([size])              #获取查询结果集中的多行,默认为1

    fetchall()                           #将所有(剩余)的行作为序列的序列

时间: 2024-10-29 22:54:00

Linux下利用 Python连接mysql数据库一个很好的例子的相关文章

ubuntu下使用Python连接Mysql数据库和Mongodb数据库

连接Mysql        如果要在ubuntu下使用Python连接Mysql只要两个步骤就ok              第一步: 在终端下输入sudo apt-get install python-mysqldb                第二步: 在终端下测试                 如果可以导入MySQLdb的包说明,可以成功的使用MySQL                第三步:可以写个代码测试一下,这里不做演示 连接mongodb        第一步:在终端下输入s

ubuntu linux下使用Qt连接MySQL数据库的方法_Mysql

环境说明: ubuntu 10.04.2 QtSDK (1.5G安装包的那个) mysql5.1 1.安装MySQL Linux下完整的MySQL开发需要安装服务器端,如果安装客户端也没什么不好.直接在软件中心搜mysql,把client和server选上. server在安装时会提示为root用户设置密码,设一个好了. 我使用的是mysql5.1版本,用户名密码存储在一个叫mysql的数据库里,只有管理员级别才能看到. 如果直接在终端中输入 mysql,可能会提示ERROR 1045 (280

python连接mysql数据库出错,已经试了网上的几种方法,,求助

问题描述 python连接mysql数据库出错,已经试了网上的几种方法,,求助 http://blog.csdn.net/lishan9133/article/details/7024989 之前是按照上面的教程安装了mysqldb模块,可是在实际操作过程中,找不到对应行的代码,所以并没有按照上面的改. 打开数据库连接 db = MySQLdb.connect( host='192.188.80.41', port=3306, user='root', passwd='123456', db='

python连接MySQL数据库方法详解

python连接mysql教程数据库教程方法详解 host,连接的数据库服务器主机名,默认为本地主机(localhost).           user,连接数据库的用户名,默认为当前用户.         passwd,连接密码,没有默认值.         db,连接的数据库名,没有默认值.         conv,将文字映射到python类型的字典.默认为 mysqldb.converters.conversions         cursorclass,cursor()使用的种类,

python连接MySQL数据库实例分析

  本文实例讲述了python连接MySQL数据库的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 import MySQLdb conn = MySQLdb.connect(host="localhost", user="root", passwd="123456", db="test") cursor = conn.cursor() cursor.execute(&

Python连接mysql数据库

 首先你要做的还是下载相应的模块并且安装啦,下载地址自己搜,网上有很多,安装的话也很好办,安装之后python的安装目录下的Lib文件夹下的site-packages文件夹下的MySQLdb文件夹,这之中存放的便是该模块的定义.准备工作做好之后我们需要在源码中import MySQLdb 数据库的连接: 模块引入之后我们就需要和数据库进行连接了,实例代码如下: db = MySQLdb.connect("localhost","root","123456&

windows下用Python连接mysql报错问题“MySQLdb in Python: “Can't connect to MySQL server on 'localhost'””

        这几天在windows用Python连接mysql,报出了"MySQLdb in Python: "Can't connect to MySQL server on 'localhost'"", 写了一个以下的挫代码,然后出错了,各种"屌丝百科"没有果   """ __author__ = 'chenguolin' __date__=2014-02-17 """ impo

RedHat Linux下通过JDBC连接MySQL出现的一个问题

环境 RedHat Linux 9 + VWWare 8.0 + SSH 3.2.9 + Putty 0.62 + MySQL 3.2 问题 通过JDBC连接MySQL出现 com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link fa

linux下如何备份还原mysql数据库

本文介绍了linux下如何备份与恢复mysql数据库. 数据库备份是非常重要的.如果定期做好备份,这样就可以在发生系统崩溃时恢复数据到最后一次正常的状态,把损失减小到最少. 一. 用命令实现备份 MySQLl提供了一个mysqldump命令,我们可以用它进行数据备份. 按提示输入密码,这就把tm数据库所有的表结构和# mysqldump -u root -p tm > tm_050519.sql数据备份到tm_050519.sql了,因为要总进行备份工作,如果数据量大会占用很大空间,这时可以利用