当前位置:首页 » 编程软件 » pythonmysql预编译

pythonmysql预编译

发布时间: 2022-09-23 03:08:49

1. python操作Mysql的驱动有哪些

使用Python操作MySQL数据库的方式(驱动)有很多种,比如:PyMySQL、MySQLdb、mysqlclient、SQLAlchemy等等

MySQLdb
MySQLdb是 Python 连接 MySQL 最流行的一个驱动,很多框架都也是基于此库进行开发,遗憾的是它只支持 Python2.x,它是基于C开发的库,和Windows 平台的兼容性不友好,现在基本不推荐使用,取代的是它的衍生版本。

mysqlclient
由于 MySQLdb 年久失修,后来出现了它的 Fork 版本 mysqlclient,完全兼容 MySQLdb,同时支持 Python3.x,是 Django ORM的依赖工具,如果你想使用原生 SQL 来操作数据库,那么推荐此驱动。

PyMySQL
PyMySQL是纯 Python 实现的驱动,速度上比不上 MySQLdb,最大的特点可能就是它的安装方式没那么繁琐,同时也兼容 MySQLdb。

SQLAlchemy
SQLAlchemy是一种既支持原生 SQL,又支持 ORM 的工具,它非常接近 Java 中的 Hibernate 框架。
作为一个测试人员,数据库的操作也必须是要掌握的,如果想系统的学习接口测试相关的技术,可以了解一下黑马程序员的软件测试课程,里面讲的非常详细。

2. 关于python操作MySQL数据库的问题

这个问题相当好解决啊。你在插数据的时候,是不是定义了ID,让ID自动增加就可以实现添加而不是覆盖。

设计数据库表的时候,第一个字段ID让它自增方式。在python写insert语句时,勉强将你自己定义的ID值放进去。就是insert table () values() 前面那个括号里不要写ID,后面values也将ID值去掉

3. joson 、python和mysql的使用

用python内置的json模块;


importjson
json_obj=json.loads(json_str)


默认是是转换成python的基本类型,比如字典、列表


如果数据比较复杂,可以考虑为数据定义class,在loads时指定object_hook,可以解析成自定义的对象了


python文档和网上都有具体例子

4. 如何使用python连接数据库,插入并查询数据

你可以访问Python数据库接口及API查看详细的支持数据库列表。不同的数据库你需要下载不同的DB API模块,例如你需要访问Oracle数据库和Mysql数据,你需要下载Oracle和MySQL数据库模块。
DB-API 是一个规范. 它定义了一系列必须的对象和数据库存取方式, 以便为各种各样的底层数据库系统和多种多样的数据库接口程序提供一致的访问接口 。
Python的DB-API,为大多数的数据库实现了接口,使用它连接各数据库后,就可以用相同的方式操作各数据库。
Python DB-API使用流程:

引入 API 模块。
获取与数据库的连接。
执行SQL语句和存储过程。
关闭数据库连接。

什么是MySQLdb?

MySQLdb 是用于Python链接Mysql数据库的接口,它实现了 Python 数据库 API 规范 V2.0,基于 MySQL C API 上建立的。

如何安装MySQLdb?

为了用DB-API编写MySQL脚本,必须确保已经安装了MySQL。复制以下代码,并执行:
#!/usr/bin/python
# -*- coding: UTF-8 -*-

import MySQLdb

如果执行后的输出结果如下所示,意味着你没有安装 MySQLdb 模块:
Traceback (most recent call last):
File "test.py", line 3, in <mole>
import MySQLdb
ImportError: No mole named MySQLdb

安装MySQLdb,请访问 ,(Linux平台可以访问:)从这里可选择适合您的平台的安装包,分为预编译的二进制文件和源代码安装包。
如果您选择二进制文件发行版本的话,安装过程基本安装提示即可完成。如果从源代码进行安装的话,则需要切换到MySQLdb发行版本的顶级目录,并键入下列命令:
$ gunzip MySQL-python-1.2.2.tar.gz
$ tar -xvf MySQL-python-1.2.2.tar
$ cd MySQL-python-1.2.2
$ python setup.py build
$ python setup.py install

注意:请确保您有root权限来安装上述模块。

数据库连接

连接数据库前,请先确认以下事项:

您已经创建了数据库 TESTDB.
在TESTDB数据库中您已经创建了表 EMPLOYEE
EMPLOYEE表字段为 FIRST_NAME, LAST_NAME, AGE, SEX 和 INCOME。
连接数据库TESTDB使用的用户名为 "testuser" ,密码为 "test123",你可以可以自己设定或者直接使用root用户名及其密码,Mysql数据库用户授权请使用Grant命令。
在你的机子上已经安装了 Python MySQLdb 模块。
如果您对sql语句不熟悉,可以访问我们的 SQL基础教程

实例:

以下实例链接Mysql的TESTDB数据库:
#!/usr/bin/python
# -*- coding: UTF-8 -*-

import MySQLdb

# 打开数据库连接
db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )

# 使用cursor()方法获取操作游标
cursor = db.cursor()

# 使用execute方法执行SQL语句
cursor.execute("SELECT VERSION()")

# 使用 fetchone() 方法获取一条数据库。
data = cursor.fetchone()

print "Database version : %s " % data

# 关闭数据库连接
db.close()

执行以上脚本输出结果如下:
Database version : 5.0.45

创建数据库表

如果数据库连接存在我们可以使用execute()方法来为数据库创建表,如下所示创建表EMPLOYEE:
#!/usr/bin/python
# -*- coding: UTF-8 -*-

import MySQLdb

# 打开数据库连接
db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )

# 使用cursor()方法获取操作游标
cursor = db.cursor()

# 如果数据表已经存在使用 execute() 方法删除表。
cursor.execute("DROP TABLE IF EXISTS EMPLOYEE")

# 创建数据表SQL语句
sql = """CREATE TABLE EMPLOYEE (
FIRST_NAME CHAR(20) NOT NULL,
LAST_NAME CHAR(20),
AGE INT,
SEX CHAR(1),
INCOME FLOAT )"""

cursor.execute(sql)

# 关闭数据库连接
db.close()

数据库插入操作

以下实例使用执行 SQL INSERT 语句向表 EMPLOYEE 插入记录:
#!/usr/bin/python
# -*- coding: UTF-8 -*-

import MySQLdb

# 打开数据库连接
db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )

# 使用cursor()方法获取操作游标
cursor = db.cursor()

# SQL 插入语句
sql = """INSERT INTO EMPLOYEE(FIRST_NAME,
LAST_NAME, AGE, SEX, INCOME)
VALUES ('Mac', 'Mohan', 20, 'M', 2000)"""
try:
# 执行sql语句
cursor.execute(sql)
# 提交到数据库执行
db.commit()
except:
# Rollback in case there is any error
db.rollback()

# 关闭数据库连接
db.close()

以上例子也可以写成如下形式:
#!/usr/bin/python
# -*- coding: UTF-8 -*-

import MySQLdb

# 打开数据库连接
db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )

# 使用cursor()方法获取操作游标
cursor = db.cursor()

# SQL 插入语句
sql = "INSERT INTO EMPLOYEE(FIRST_NAME, \
LAST_NAME, AGE, SEX, INCOME) \
VALUES ('%s', '%s', '%d', '%c', '%d' )" % \
('Mac', 'Mohan', 20, 'M', 2000)
try:
# 执行sql语句
cursor.execute(sql)
# 提交到数据库执行
db.commit()
except:
# 发生错误时回滚
db.rollback()

# 关闭数据库连接
db.close()

实例:

以下代码使用变量向SQL语句中传递参数:
..................................
user_id = "test123"
password = "password"

con.execute('insert into Login values("%s", "%s")' % \
(user_id, password))
..................................

数据库查询操作

Python查询Mysql使用 fetchone() 方法获取单条数据, 使用fetchall() 方法获取多条数据。

fetchone(): 该方法获取下一个查询结果集。结果集是一个对象
fetchall():接收全部的返回结果行.
rowcount: 这是一个只读属性,并返回执行execute()方法后影响的行数。

实例:

查询EMPLOYEE表中salary(工资)字段大于1000的所有数据:
#!/usr/bin/python
# -*- coding: UTF-8 -*-

import MySQLdb

# 打开数据库连接
db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )

# 使用cursor()方法获取操作游标
cursor = db.cursor()

# SQL 查询语句
sql = "SELECT * FROM EMPLOYEE \
WHERE INCOME > '%d'" % (1000)
try:
# 执行SQL语句
cursor.execute(sql)
# 获取所有记录列表
results = cursor.fetchall()
for row in results:
fname = row[0]
lname = row[1]
age = row[2]
sex = row[3]
income = row[4]
# 打印结果
print "fname=%s,lname=%s,age=%d,sex=%s,income=%d" % \
(fname, lname, age, sex, income )
except:
print "Error: unable to fecth data"

# 关闭数据库连接
db.close()

以上脚本执行结果如下:
fname=Mac, lname=Mohan, age=20, sex=M, income=2000

数据库更新操作

更新操作用于更新数据表的的数据,以下实例将 TESTDB表中的 SEX 字段全部修改为 'M',AGE 字段递增1:
#!/usr/bin/python
# -*- coding: UTF-8 -*-

import MySQLdb

# 打开数据库连接
db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )

# 使用cursor()方法获取操作游标
cursor = db.cursor()

# SQL 更新语句
sql = "UPDATE EMPLOYEE SET AGE = AGE + 1
WHERE SEX = '%c'" % ('M')
try:
# 执行SQL语句
cursor.execute(sql)
# 提交到数据库执行
db.commit()
except:
# 发生错误时回滚
db.rollback()

# 关闭数据库连接
db.close()

删除操作

删除操作用于删除数据表中的数据,以下实例演示了删除数据表 EMPLOYEE 中 AGE 大于 20 的所有数据:
#!/usr/bin/python
# -*- coding: UTF-8 -*-

import MySQLdb

# 打开数据库连接
db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )

# 使用cursor()方法获取操作游标
cursor = db.cursor()

# SQL 删除语句
sql = "DELETE FROM EMPLOYEE WHERE AGE > '%d'" % (20)
try:
# 执行SQL语句
cursor.execute(sql)
# 提交修改
db.commit()
except:
# 发生错误时回滚
db.rollback()

# 关闭连接
db.close()

执行事务

事务机制可以确保数据一致性。

事务应该具有4个属性:原子性、一致性、隔离性、持久性。这四个属性通常称为ACID特性。

原子性(atomicity)。一个事务是一个不可分割的工作单位,事务中包括的诸操作要么都做,要么都不做。
一致性(consistency)。事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。
隔离性(isolation)。一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。
持久性(rability)。持续性也称永久性(permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其有任何影响。

Python DB API 2.0 的事务提供了两个方法 commit 或 rollback。

5. Python/php MySQL语句解析器解决业务分表

自己曾经做过一个网盘项目。刚开始由于需要快速地从0到1建设上线,所以没有对核心文档表进行分表。当然我的架构理念也是“按需架构设计”。产品需求在没有明确的长远计划的情况下以“小步快跑,赶超竞品”为主。后期由于产品功能触达目标用户群需求点、产品用户体验不断提升、产品多方位导流、加强产品推广文档表每天有百万数据增长量。不得不对文档表进行按用户id分表。当时产品功能已全覆盖文档的生命周期。产品功能已丰富多彩。修改所有关联文档表的业务代码为按用户id分表开发测试成本非常高。上线后线上问题不可控。经过考虑在业务代码最底层DB层进行SQL语句解析来进行用户id分表处理。这样的话开发测试成本都非常低。上线后有问题方便回滚和追查原因。

今天为大家介绍Python/PHP两种MySQL语句解析器。当时网盘项目用的是PHP编程语言开发。

Python的SQL语句解析器 。个人推荐使用moz_sql_parser库。经调研官方的sqlparse库解析出来的语句段无法满足需求也很难理解。

1、Python moz_sql_parser库安装

2、Python moz_sql_parser SQL语句解析

3、Python moz_sql_parser总结

PHP的SQL语句解析器。 个人推荐使用PhpMyAdmin的sql-parser组件。PhpMyAdmin是经过 历史 检验可信赖的。

1、PHP PhpMyAdmin/sql-parser安装

2、PHP PhpMyAdmin/sql-parser SQL语句解析

3、PHP PhpMyAdmin/sql-parser总结

大家有什么问题可以发评论沟通。

6. python mysql操作问题

dict1 = self.fuc1()
dict2 = self.fun2()
def newdict(self):
dict = {}
for k,v in dict1.items():
dict[k] = v
for k1,v1 in dict2.items():
dict[k1] = v1
return dict

7. 如何使用Python3.4连接MySQL

序号 描述

1 去github上下载pymysql的安装包pymysql

2 解压到某个盘符下

3 打开cmd窗口(win环境下),进入pymysql的根目录下执行命令,python setup.py install

4 在程序里,导入pymysql

5 开始连接数据库


数据库操作的API文档连接:http://legacy.python.org/dev/peps/pep-0249/

代码如下:

Python代码

  • __author__='qindongliang'

  • #导入pymysql的包

  • importpymysql

  • try:

  • #获取一个数据库连接,注意如果是UTF-8类型的,需要制定数据库

  • conn=pymysql.connect(host='localhost',user='root',passwd='qin',db='person',port=3306,charset='utf8')

  • cur=conn.cursor()#获取一个游标

  • cur.execute('select*fromperson')

  • data=cur.fetchall()

  • fordindata:

  • #注意int类型需要使用str函数转义

  • print("ID:"+str(d[0])+'名字:'+d[1]+"性别:"+d[2])

  • cur.close()#关闭游标

  • conn.close()#释放数据库资源

  • exceptException:print("发生异常")


  • 结果如下:

  • Java代码

  • D:pythonpython.exeD:/pythonide/pythonprojectworkspace/python/mysql.py

  • ID:1名字:秦天性别:男

  • ID:2名字:王晶性别:女

  • Processfinishedwithexitcode0

  • 原文http://qindongliang1922.iteye.com/blog/2096512

    补充说明:

    mysqldb作为python连接mysql数据库的工具,但是mysqldb目前支撑的版本较低,安装失败。所以才尝试pymysql,这个比较简单易用

    软件下载地址:

    python3.2.5:https://www.python.org/ftp/python/3.2.5/python-3.2.5.msi

    pymysql3.0.5:https://pypi.python.org/packages/source/P/PyMySQL3/PyMySQL3-0.5.tar.gz

    mysql:http://www.phpstudy.net/phpstudy/phpStudyLite.zip(为了方便安装,我这里选择phpstudy)

    1、python安装目录设定为d:/python32

    2、pymysql安装方法为:解压下载的文件,在cmd中运行: python setup.py install。

    检验安装安装是否成功的方法:import pymysql 。 如果不报错 说明安装成功。

    3、mysql安装目录为D:/phpStudy/MySQL。为避免更多配置问题,可在启动phpstudy后,将其设为系统服务

    4、基本操作:

    (1)导入pymysql: import pymysql

    (2)连接数据库: conn=pymysql.connect(host='localhost',user='root',passwd='root',db='ere',charset='utf8') 务必注意各等号前面的内容!charset参数可避免中文乱码

    (3)获取操作游标:cur=conn.cursor()

    (4)执行sql语句,插入记录:sta=cur.execute("insert 语句") 执行成功后sta值为1。更新、删除语句与此类似。

    (5)执行sql语句,查询记录:cur.execute("select语句") 执行成功后cur变量中保存了查询结果记录集,然后再用循环打印结果:

    for each in cur:

    print(each[1].decode('utf-8')) # each[1] 表示当前游标所在行的的第2列值,如果是中文则需要处理编码

8. Python 访问 MySQL 数据库可以使用哪些第三方实现

MySQLdbMySQLdb是 Python 连接 MySQL 最流行的一个驱动,很多框架都也是基于此库进行开发,遗憾的是它只支持 Python2.x,它是基于C开发的库,和Windows 平台的兼容性不友好,现在基本不推荐使用,取代的是它的衍生版本。mysqlclient由于 MySQLdb 年久失修,后来出现了它的 Fork 版本 mysqlclient,完全兼容 MySQLdb,同时支持 Python3.x,是 Django ORM的依赖工具,如果你想使用原生 SQL 来操作数据库,那么推荐此驱动。PyMySQLPyMySQL是纯 Python 实现的驱动,速度上比不上 MySQLdb,最大的特点可能就是它的安装方式没那么繁琐,同时也兼容 MySQLdb。SQLAlchemySQLAlchemy是一种既支持原生 SQL,又支持 ORM 的工具,它非常接近 Java 中的 Hibernate 框架。有关Python访问MySQL数据库全部内容的学习,我都是通过黑马程序员的视频学的。看完之后立马决定去培训了。你可以搜搜,都是免费资源。黑马视频库里面搜索一下,找不到的话官网弹出来的对话框问一下就不会迷路了。

9. 如何使用Python3.4连接MySQL

1、首先下载mysql 数据库,我安装的是mysql5.1版本,直接安装就行,但是如果以后你想在数据库里显示中文的话,要把字符集设置为gb2312
2、配置数据源odbc。 mysql-connector-odbc-3.51.20-win32.exe(这是mysql数据源dobc安装程序),配置odbc过程可以参考 http://jingyan..com/article/8065f87f38b31423312498e4.html
3、安装mysql管理工具,Navicat for MySQL,打开navicat 后要连接数据库,具体做法是:在navicat中新建连接,将常规设置填好,如果是访问本地数据库,主机名或iP地址可填写:localhost 或127.0.0.1 有时候只有填其中一个好使另一个则不好使,(笔者这里没仔细研究)注意!Navicat for MySQL数据库连接之前要开启mysql数据库(服务)...。
4、在navicat中新建的连接中就可以连接mysql数据库了
5、现在可以导入外部数据库表,或者自己建立表了,这里谈一下笔者在导入外部表时遇到的问题,首先是字符编码的问题,在mysql安装的过程中虽然字符编码设置为gb2312但是在navicat中带有中文的数据表表(比如excel表)还是无法导入进navicat的数据库表中,那是因为虽然在mysql里面设置了字符编码但是在navicat中没有设置字符编码为gb2312,需要在navicat中右键数据库,选择数据库属性把里面的字符编码设置成为gb2312方可!
6、至于导入表可以右键数据库中的表选择导入向导,很容易操作,导出的问题此处不介绍。
7、到现在为止数据的搭建已经结束。

这是我自己总结过的 很好用的 希望采纳

10. 如何使用Python3.4连接MySQL

1、去github上下载pymysql的安装包
2、解压到某个盘符下
3、打开cmd窗口(win环境下),进入pymysql的根目录下执行命令,python setup.py install
4、在程序里,导入pymysql
5、开始连接数据库

热点内容
ts代码编译成umd 发布:2024-05-06 13:13:38 浏览:722
粮库存储粮种类 发布:2024-05-06 13:11:26 浏览:51
一般网络的dns服务器是什么 发布:2024-05-06 13:02:43 浏览:152
压缩模具设计 发布:2024-05-06 13:02:04 浏览:561
逍遥模拟器如何配置网络 发布:2024-05-06 12:21:38 浏览:982
服务器如何检测硬件地址 发布:2024-05-06 12:12:35 浏览:738
服务器在线访问数由什么决定 发布:2024-05-06 11:39:15 浏览:678
途观21款哪个配置值得买 发布:2024-05-06 11:29:00 浏览:92
pythonspyder 发布:2024-05-06 11:15:53 浏览:167
线上服务器如何资源监控 发布:2024-05-06 11:15:07 浏览:299