`
宇宙浪子
  • 浏览: 47747 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Python连接MySql数据库

阅读更多

本文引自 http://blog.csdn.net/yelbosh/article/details/7498641

 

安装MySQLdb模块

Ubuntu下使用apt-get install python-mysqldb 安装MySQLdb模块,之后便可进行数据库相关操作

 

Eclipse中配置MySQLdb模块

Window ——> Preferences ——> PyDev ——> Interpreter-Python ——> Forced Builtins ——> New... —— > 输入MySQLdb ——> OK

 

 

数据库的连接

模块引入之后我们就需要和数据库进行连接了,实例代码如下:

db = MySQLdb.connect ("localhost","root","123456","myciti" )

这三个关键参数的含义一目了然:第一个为服务器的地址,第二个为用户名,第三个为dbms密码,第四个为要访问的数据库,其实该connect函数的参数不止这些,不过由于其有默认值而且大多数情况下不用修改,因而省略了。这里做如下列表:

  • host,连接的数据库服务器主机名,默认为本地主机(localhost)。

  • user,连接数据库的用户名,默认为当前用户。

  • passwd,连接密码,没有默认值。

  • db,连接的数据库名,没有默认值。

  • conv,将文字映射到Python类型的字典。默认为MySQLdb.converters.conversions

  • cursorclass,cursor()使用的种类,默认值为MySQLdb.cursors.Cursor。

  • compress,启用协议压缩功能。

  • named_pipe,在windows中,与一个命名管道相连接。

  • init_command,一旦连接建立,就为数据库服务器指定一条语句来运行。

  • read_default_file,使用指定的MySQL配置文件。

  • read_default_group,读取的默认组。

  • unix_socket,在unix中,连接使用的套接字,默认使用TCP。

  • port,指定数据库服务器的连接端口,默认是3306

 

执行sql语句

连接上之后便是执行sql语句了,源代码如下:

import MySQLdb


db = MySQLdb.connect("localhost","root","123456","myciti" )
cursor = db.cursor()
sql = """insert into article values (0,"woainimahah","http://www.aa.com","2012-9-8","wo","qq","skjfasklfj","2019","up")"""
try:
    cursor.execute(sql)
    db.commit()
except:
    db.rollback()
db.close


这里需要注意的是一定要记得commit,如果不提交那么数据库是不会有变化的

将sql语句改变成其他,便可以实现其他静态的操作,如“delete from article where id > 3”


选择和打印

连接数据库最重要的目的便是读取数据库中的信息,那么如何获取数据库中的数据呢?如何提取有效的信息呢?见如下代码:

下面的程序可以实现打印数据库中article表中所有行的第二列的数据:

import MySQLdb


db = MySQLdb.connect("localhost","root","123456","myciti" )
cursor = db.cursor()
cursor.execute("select * from article")
data = cursor.fetchone()
while data!=None:
    print data[1]
    data = cursor.fetchone()
db.close

我们也可以使用如下代码:

import MySQLdb


db = MySQLdb.connect("localhost","root","123456","myciti" )
cursor = db.cursor()
cursor.execute("select * from article")
datas = cursor.fetchall()
for data in datas:
    print data[1]
print cursor.rowcount,"rows in tatal"
db.close


我们可以从代码中看出上面的各个函数的区别:

fetchone是从数据库表中取出一行记录,第二次调用便取出next行,不断向下走

fetchall取出数据库表中所有行的数据

rowcount读出数据库表中的行数


和java中的占位符一样,python中也需要这些占位符来实现动态的选择。见如下代码:

import MySQLdb

a = "down"
b = 4
db = MySQLdb.connect("localhost","root","123456","myciti" )
cursor = db.cursor()
cursor.execute("select * from article where trend = '%s' and id < '%d'"%(a,b))
datas = cursor.fetchall()
for data in datas:
    print data[1]
print cursor.rowcount,"rows in tatal"
db.close

这里的占位符和java中的?占位符还有一点区别,那就是它声明了类型,和C中的格式输出是一样的。注意后面的%

那么返回的data也是一个列表,通过使用[]操作符来访问特定列的数据。


静态插入和动态插入

静态插入上面我们已经讲了,那么下面我们再讲一下动态插入

动态插入也是用占位符来实现的

import MySQLdb

title = "wangxinmeiwo"
url = "henxiangni "
db = MySQLdb.connect("localhost","root","123456","myciti" )
cursor = db.cursor()
sql = """insert into article values (0,"%s","%s","2012-9-8","wo","qq","skjfasklfj","2019","up")"""
try:
    cursor.execute(sql%(title,url))
    db.commit()
except:
    db.rollback()
db.close

可以看到这里的占位符和上面的使用方式是一样的



update操作

占位符的使用和上面是一样的

import MySQLdb

title = "haoxiangni"
id=11
db = MySQLdb.connect("localhost","root","123456","myciti" )
cursor = db.cursor()
sql = """update article set title = "%s" where id = "%d" """
try:
    cursor.execute(sql%(title,id))
    db.commit()
except:
    db.rollback()
db.close

分享到:
评论

相关推荐

    python连接MySQL数据库问题.docx

    ### Python 连接 MySQL 数据库详解 在进行数据分析或 Web 开发时,经常需要使用 Python 操作 MySQL 数据库。本文将详细介绍如何使用 Python 连接到 MySQL 数据库,并解释 `cursor()`、`execute()` 和 `fetchall()` ...

    python连接mysql数据库脚本工具

    在本场景中,我们关注的是使用Python连接MySQL数据库的脚本工具。MySQL是一个广泛使用的开源关系型数据库管理系统,它提供了高效的存储和查询数据的能力。接下来,我们将深入探讨如何使用Python连接到MySQL数据库并...

    python连接mysql数据库示例代码

    Python 连接 MySQL 数据库示例代码 内容概要 本资源提供了通过 Python 连接 MySQL 数据库的完整示例代码,旨在帮助读者理解如何在 Python 中使用 MySQL 数据库。代码示例包括数据库连接、创建表、插入数据、查询数据...

    Python连接Mysql数据库1

    Python 连接 Mysql 数据库 Python 连接 Mysql 数据库是 Python 语言连接 Mysql 数据库的方法。在连接 Mysql 数据库之前,需要安装 MySQLdb, MySQLdb 是用于 Python 链接 Mysql 数据库的接口。有两种安装方法:一是...

    python连接mysql数据库

    python连接mysql数据库python读取mysql数据dataframe写入mysql

    Python 连接MySQL数据库时自动开启服务器 Python源码

    Python 连接MySQL数据库时自动开启服务器 Python源码Python 连接MySQL数据库时自动开启服务器 Python源码Python 连接MySQL数据库时自动开启服务器 Python源码Python 连接MySQL数据库时自动开启服务器 Python源码...

    python连接MySQL数据库

    python连接MySQL数据库的操作代码

    python连接mysql数据库测试案例

    python连接mysql数据库,简单的例子,需要先安装pythone3.0、pymysql模块、mysql数据库才能运行

    python数据库(mysql)连接代码

    python连接mysql数据库代码。必须先下载安装mysql数据库,并启动数据库

    Windows上Python连接MySQL数据库

    在Windows操作系统中,使用Python连接MySQL数据库是一项常见的任务,尤其对于数据处理和Web开发来说。Python提供了多种库来实现这一功能,其中最常用的是`pymysql`和`mysql-connector-python`。这篇博文(虽然链接...

    python连接mysql插件

    总之,`mysql-connector-python`是Python连接MySQL数据库的重要工具,它提供了丰富的功能,使得Python程序员能够轻松地在应用程序中集成数据库操作。无论你是初学者还是经验丰富的开发者,掌握这个库的使用都将对你...

    pymysql python连接mysql数据库

    **PyMySQL:Python连接MySQL数据库** 在Python编程中,与MySQL数据库进行交互是常见的需求,而PyMySQL就是这样一个用于Python连接MySQL的库。PyMySQL是一个纯Python实现的MySQL客户端,它提供了与MySQL通信的接口,...

    python连接mysql数据库的源代码

    使用python连接mysql数据库的源代码文件,很好的代码实现资料

    如何用python连接mysql数据库

    如何用python连接mysql数据库

    python连接mysql数据库导出url字段小程序

    首先,我们需要安装`pymysql`库,它是Python连接MySQL数据库的标准库。如果尚未安装,可以使用以下命令进行安装: ```bash pip install pymysql ``` 接下来,我们需要了解如何使用`pymysql`库来建立与MySQL服务器...

    python实现连接MySQL数据库

    通过python编写代码连接MySQL数据库,包括数据库和数据表的创建。

    Python连接mysql数据库的连接器代码集.rar

    Python连接各个版本的mysql数据库,python-mysql-connector MySQL连接python的连接器,可以用于Python2、Python3包括最新的python3,使用起来挺方便的,用python进行数据库编程的朋友,可参考本源码。

    python操作mysql数据库.pdf

    安装 MySQLdb 后,可以使用 Python 连接 MySQL 数据库,执行 SQL 语句和存储过程。例如,以下代码连接到 MySQL 数据库,执行 SELECT 语句: ``` # encoding: utf-8 #!/usr/bin/python import MySQLdb # 打开数据库...

Global site tag (gtag.js) - Google Analytics