问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

linux环境下python怎样操作mysql数据库

发布网友 发布时间:2022-04-22 06:45

我来回答

2个回答

热心网友 时间:2022-04-07 18:58

linux环境下python怎样操作mysql数据库呢?方法如下:

首先在Linux环境下安装mysql-python

1、下载mysql-python

打开终端:

cd /usr/local

sudo wget http://nchc.dl.sourceforge.net/sourceforge/mysql-python/MySQL-python-1.2.2.tar.gz

官网地址:http://sourceforge.net/projects/mysql-python/

2、解压

sudo tar -zxvf MySQL-python-1.2.2.tar.gz

cd MySQL-python-1.2.2

3、在安装前需进行配置

a、修改setup_posix.py中的mysql_config.path为你mysql安装目录的mysql_config路径

b、修改site.cfg中的threadsafe = False,去掉mysql_config前的注释,并改为mysql_config = /usr/local/mysql/bin/mysql_config

c、执行命令:

export LD_LIBRARY_PATH=/usr/local/mysql/lib/mysql

sudo ln -s /usr/local/mysql/lib/mysql/libmysqlclient.so /usr/lib/libmysqlclient.so.14

sudo ldconfig (这个很重要,否则后面会报错ImportError: libmysqlclient.so.14: cannot open shared object file)

4、编译安装

1)python setup.py build

若未成功的话,需手动安装setuptools:

sudo apt-get install python-setuptools
2)sudo python setup.py install

5、测试

python

>>> import MySQLdb

没有错误,则表示安装成功了。

使用python操作MySQL

使用python连接MySQL,创建数据库,创建表格,插入/查询数据。python_mysql.py代码如下:

效果如图:

若出现类似于此的警告:

/usr/local/lib/python2.6/dist-packages/MySQL_python-1.2.2-py2.6-linux-i686.egg/MySQLdb/__init__.py:34: DeprecationWarning: the sets mole is deprecated from sets import ImmutableSet

解决办法如下:
找到上面路径MySQLdb下的__init__.py文件
1) 在文件中 "__init__.py"中, 注释掉:
from sets import ImmutableSet
class DBAPISet(ImmutableSet):
新增:
class DBAPISet(frozenset):


2) 在文件"converters.py"中,注释掉 from sets import BaseSet, Set 这一句话。

3) 在文件"converters.py"中, 修改 其中的"Set" 成为 "set" ( 只有两个地方需要修改,即大写改小写)

大概 line 45: return Set([ i for i in s.split(',') if i ]) 改为 return set([ i for i in s.split(',') if i ])

大概 line 129: Set: Set2Str, 改为 set: Set2Str,

1.引入MySQLdb库

import MySQLdb

2.和数据库建立连接

conn=MySQLdb.connect(host="localhost",user="root",passwd="sa",db="mytable",charset="utf8")

提供的connect方法用来和数据库建立连接,接收数个参数,返回连接对象.

比较常用的参数包括

host:数据库主机名.默认是用本地主机.

user:数据库登陆名.默认是当前用户.

passwd:数据库登陆的秘密.默认为空.

db:要使用的数据库名.没有默认值.

port:MySQL服务使用的TCP端口.默认是3306.

charset:数据库编码.

然后,这个连接对象也提供了对事务操作的支持,标准的方法

commit() 提交

rollback() 回滚

3.执行sql语句和接收返回值

cursor=conn.cursor()

n=cursor.execute(sql,param)

首先,我们用使用连接对象获得一个cursor对象,接下来,我们会使用cursor提供的方法来进行工作.这些方法包括两大类:1.执行命令,2.接收返回值

cursor用来执行命令的方法:

callproc(self, procname, args):用来执行存储过程,接收的参数为存储过程名和参数列表,返回值为受影响的行数

execute(self, query, args):执行单条sql语句,接收的参数为sql语句本身和使用的参数列表,返回值为受影响的行数

executemany(self, query, args):执行单条sql语句,但是重复执行参数列表里的参数,返回值为受影响的行数

nextset(self):移动到下一个结果集

cursor用来接收返回值的方法:

fetchall(self):接收全部的返回结果行.

fetchmany(self, size=None):接收size条返回结果行.如果size的值大于返回的结果行的数量,则会返回cursor.arraysize条数据.

fetchone(self):返回一条结果行.

scroll(self, value, mode='relative'):移动指针到某一行.如果mode='relative',则表示从当前所在行移动value条,如果mode='absolute',则表示从结果集的第一行移动value条.

下面的代码是一个完整的例子.

#使用sql语句,这里要接收的参数都用%s占位符.要注意的是,无论你要插入的数据是什么类型,占位符永远都要用%s

sql="insert into cdinfo values(%s,%s,%s,%s,%s)"

#param应该为tuple或者list

param=(title,singer,imgurl,url,alpha)

#执行,如果成功,n的值为1

n=cursor.execute(sql,param)

#再来执行一个查询的操作

cursor.execute("select * from cdinfo")

#我们使用了fetchall这个方法.这样,cds里保存的将会是查询返回的全部结果.每条结果都是一个tuple类型的数据,这些tuple组成了一个tuple

cds=cursor.fetchall()

#因为是tuple,所以可以这样使用结果集

print cds[0][3]

#或者直接显示出来,看看结果集的真实样子

print cds

#如果需要批量的插入数据,就这样做

sql="insert into cdinfo values(0,%s,%s,%s,%s,%s)"

#每个值的集合为一个tuple,整个参数集组成一个tuple,或者list

param=((title,singer,imgurl,url,alpha),(title2,singer2,imgurl2,url2,alpha2))

#使用executemany方法来批量的插入数据.这真是一个很酷的方法!

n=cursor.executemany(sql,param)

4.关闭数据库连接

需要分别的关闭指针对象和连接对象.他们有名字相同的方法

cursor.close()

conn.close()

以上方法就可以了。

另外,附MySQLdb的相关资料

更多关于MySQLdb的信息可以查这里:http://mysql-python.sourceforge.net/MySQLdb.html

热心网友 时间:2022-04-07 20:16

mysqldb
我一直用这个
linux环境下python怎样操作mysql数据库

使用python连接MySQL,创建数据库,创建表格,插入/查询数据。python_mysql.py代码如下:效果如图:若出现类似于此的警告:/usr/local/lib/python2.6/dist-packages/MySQL_python-1.2.2-py2.6-linux-i686.egg/MySQLdb/__init__.py:34: DeprecationWarning: the sets module is deprecated from sets ...

Python 操作 MySQL 数据库详解

在 Windows 系统中,安装过程相对简单。首先下载并解压 MySQL 安装包,建议将文件夹放置在自定义目录,如 D:\Software\MySQL\mysql-5.7.28。接着配置 my.ini 文件,设置初始化数据目录,并执行初始化和启动命令。创建数据库是操作 MySQL 的基础。使用 PyMySQL 模块安装与数据 CURD操作,具体包括模块安...

python接口自动化-python操作mysql数据库(详解)

以流程图的方式展示Python操作MySQL数据库的流程:首先创建Connection对象(数据库连接对象),用于打开数据库连接;然后创建Cursor对象(游标对象)用于执行查询和获取结果;接着执行SQL语句对数据库进行增删改查等操作并提交事务,此过程如果出现异常则使用回滚技术使数据库恢复到执行SQL语句之前的状态;最后,销...

如何使用Python连接MySQL数据库mysqlconnet

一,使用Python连接MySQL数据库 为了开始连接MySQL数据库,我们首先需要具备操作MySQL的credential(凭据)。在MySQL Connector中,这些凭据指的是主机名、用户名、密码等信息。以下是连接MySQL数据库的示例代码:import mysql.connector mydb = mysql.connector.connect(host=”localhost”,user=...

Python读取MySQL数据库基本操作

Python通过pymysql库进行MySQL数据库的基本操作实例演示如下:首先,确保已安装必要的库,如pymysql。使用以下语法创建数据库连接:engine = create_engine('mysql+pymysql://用户名:密码@服务器地址:3306/数据库名')接下来,我们进行数据表查询和操作。例如,查询"期权的基本信息"和"期权的风险指标"两个...

利用python连接MySQL数据库并执行相关sql操作

1. 启动MySQL服务与创建数据库 在phpstudy中启动MySQL,若启动失败,可通过任务管理器关闭并重启mysqld服务。新建数据库,填写名称、用户名和密码,即可完成。2. 提升数据库用户权限 复制root用户信息,下载并安装phpMyAdmin。登录后,修改新建数据库的用户权限,如将python用户的权限提升至ALL PRIVILEGES。3....

Python连接mysql数据库及python使用mysqldb连接数据库教程

[GCC 4.7.3] on linux2 Type "help", "copyright", "credits" or "license" for more information. import MySQLdb 没有报错提示MySQLdb模块找不到,说明安装OK ,下面开始使用python 操作数据库之前,我们有必要来回顾一下mysql的基本操作: 四,mysql 的基本操作 $ mysql -u root -p (有密码时) $ mysql -...

python怎么连接mysql数据库

在Python 语言环境下我们这样连接数据库。 In [1]: from mysql import connector In [2]: cnx = connector.connect(host="172.16.192.100",port=3306,user="appuser",password="xxxxxx") 但是连接数据库的背后发生了什么呢? 答案 当我们通过驱动程序(mysql-connector-python,pymysql)连接 MySQL 服务端的时候,...

如何使用python连接mysql数据库

在 Python 语言环境下我们这样连接数据库。In [1]: from mysql import connector In [2]: cnx = connector.connect(host="172.16.192.100",port=3306,user="appuser",password="xxxxxx")但是连接数据库的背后发生了什么呢?答案 当我们通过驱动程序(mysql-connector-python,pymysql)连接 MySQL ...

pycharm 如何导入pymysql

在 PyCharm 中导入 pymysql库,实质上是在你的 Python 项目中安装这个库。下面是详细的步骤:使用 PyCharm 的内置包管理器 1. 打开 PyCharm并加载你的项目。2. 在 PyCharm 界面的右上角,找到并点击 `Terminal`选项卡,这将打开项目的命令行终端。3. 在命令行终端中,输入以下命令来安装 pymysql...

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
邯郸哪些酒店有浴缸 关于选择快递公司 问一下,不到1公斤的东西寄到1500公里外要多少钱。什么快递便宜点。 家电科普 电热水器安全使用那些事儿 教你如何安全使用家电? 水果有农药残留怎么办 荣耀之光手游下载如何下载 自考问答:心理障碍常见的判别标准有几种 王者荣耀荣耀之光头像框获得方法一览[图]-手游攻略-游戏鸟手游网_百度... ...七八次体检就是最近两个月做了两次 明天又要体检入职 做那个胸... linux安装python开发环境 linux新安装python怎么配置文件 Linux下用anaconda来装python,编译出错 linux安装pycharm需要配置环境吗 LINUX下要在C中嵌入Python,编译的时候怎样解决库... 如何在linux下运行python Linux下怎么配置python和opencv ps怎么做浮雕效果 PS这种浮雕效果怎么做 PS中给图片局部制作浮雕效果怎么弄? Adobe Photoshop CS5如何做出浮雕效果? 箭头指的描边浮雕效果Ps怎么做? 怎么把图片在PS里处理成浮雕效果 比较真实的那种 ... 怎样用ps制作浮雕效果 Ps中怎样做出同底色相同的浮雕效果? ps怎么做巧克力浮雕效果 PS里怎么把图像做成浮雕 ps怎么做彩色浮雕 在PS中如何制作浮雕效果? ps浮雕效果怎么做 纸上的蓝墨水如何去掉 纸上的蓝墨水如何才能去掉 不小心弄到纸上的蓝墨水迹怎么弄干净 怎样去除纸上的蓝字? 谁能告诉我要把纸上的蓝墨水洗掉,用什么方法较好! 怎样去除纸上的蓝中性笔墨 裱画纸上有蓝色的怎么洗掉 白纸上的蓝字,在红色光的照射下;蓝字呈______(... 怎样去除纸上的纯蓝钢笔水 怎么去除纸上的蓝墨水,想改下以前的文字 打印纸上有大量蓝点 红色条纹 蓝色片状物是怎回事? 怎样去除纸上的纯蓝钢笔水? 这纸上的蓝色的字怎样能消掉啊 问了很多家打印点都... 如何擦掉塑料纸上的蓝色油珠笔划痕? 白纸上的蓝字在红灯下是什么颜色 蓝色眼镜看白纸上的蓝字,红字,黄字,则白纸和白... 如何消除用水笔写在纸上的蓝色字迹? 联通流量被限速怎么办? 手机怎么调整休眠时间? 脑电图能测智力吗