python的Mysql数据库连接
- 格式:docx
- 大小:18.24 KB
- 文档页数:4
Python连接mysql数据库出错解决⽅案最近在学习python使⽤connector连接MySQL时遇到错误:问题重现(以下讨论范围仅限Windows环境):C:\AppServ\MySQL> mysql -u root -p Enter password: ERROR 1045 (28000): Access denied for user (using password: YES)编辑mysql配置⽂件my.ini(在MySQLServer的安装⽬录),在[mysqld]这个条⽬下加⼊ skip-grant-tables保存退出后重启mysql1.点击“开始”->“运⾏”(快捷键Win+R)。
2.启动:输⼊ net stop mysql 3.停⽌:输⼊ net start mysql这时候在cmd⾥⾯输⼊mysql -u root -p就可以不⽤密码登录了,出现password:的时候直接回车可以进⼊,不会出现ERROR 1045 (28000),但很多操作都会受限制,因为我们不能grant(没有权限)。
按下⾯的流程⾛(红⾊部分为输⼊部分,绿⾊的是执⾏后显⽰的代码不⽤输⼊):1.进⼊mysql数据库:mysql> use mysql; Database changed2.给root⽤户设置新密码,蓝⾊部分⾃⼰输⼊:mysql> update user set password=password("新密码")where user="root"; Query OK, 1 rows affected (0.01 sec) Rows matched: 1 Changed: 1 Warnings: 03.刷新数据库mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)4.退出mysql:mysql> quit Bye改好之后,再修改⼀下my.ini这个⽂件,把我们刚才加⼊的"skip-grant-tables"这⾏删除,保存退出再重启mysql就可以了。
在 Python 中,可以使用 MySQL 官方提供的mysql-connector-python库进行 MySQL 数据库的连接、断开和重连。
以下是一个简单的示例,演示如何在 Python 中实现MySQL 数据库的断开重连:
首先,确保已经安装了mysql-connector-python库:
然后,可以使用以下代码实现断开和重连:
在这个例子中,create_connection函数用于创建 MySQL 连接,close_connection函数
用于断开连接。
可以根据需要调用这两个函数,例如在开始和结束某个操作时调用。
请注意,数据库连接是一种资源,需要在使用完毕后进行适当的断开。
在某些情况下,数据库连接可能由于连接空闲时间过长而被服务器断开,这时可以通过重新连接来恢复连接。
Python中使用pymysql库连接和操作MySQL数据库Python语言在数据处理和分析方面具有广泛的应用,而MySQL数据库则是许多项目中常用的数据存储工具之一。
在Python中,我们可以使用pymysql库来连接和操作MySQL数据库,它是一个基于Python的库,用于连接和操作MySQL服务器。
本文将介绍如何使用pymysql库在Python中连接和操作MySQL数据库。
1. 安装pymysql库在使用pymysql库之前,我们需要先安装它。
可以使用pip命令来安装pymysql库:```pip install pymysql```安装完成后,我们可以在Python脚本中导入pymysql库,并开始连接和操作MySQL数据库。
2. 连接MySQL数据库在使用pymysql库连接MySQL数据库之前,我们需要先准备好数据库的连接信息,包括主机名、用户名、密码和数据库名。
以下是一个连接MySQL数据库的示例代码:```pythonimport pymysql# 连接数据库conn = pymysql.connect(host='localhost', # 主机名user='root', # 用户名password='password', # 密码database='test' # 数据库名)# 创建游标对象cursor = conn.cursor()# 执行SQL查询cursor.execute('SELECT * FROM users') # 获取查询结果result = cursor.fetchall()# 输出查询结果for row in result:print(row)# 关闭游标和连接cursor.close()conn.close()```在示例代码中,首先使用pymysql库的connect方法连接数据库,其中传入的参数分别为主机名、用户名、密码和数据库名。
python模块之mysql数据库连接和hasllib加密mysql数据库连接其中对于数据库连主要使⽤mysql数据库,安装了navicat对数据库进⾏管理。
在python中使⽤内置模块mysql.connector。
⼤概流程是:1. 建⽴数据库连接;2. 引⽤游标cursor;3. 使⽤游标execute数据库操作,如果是查询语句可以使⽤fetchall(),fetchone()等⽅法操作,如果是插⼊语句和创建表语句等则需要commit()。
4. 关闭游标;5. 关闭数据库连接然后通过navicat查看我数据库操作是否成功。
import mysql.connectorconn = mysql.connector.connect(host='127.0.0.1', port=3306, user='root', passwd='****', db='library', charset='utf8')cur = conn.cursor()##创建数据表cur.execute("""create table if not EXISTS account(accid int(10) PRIMARY KEY ,money int(10))""")###插⼊两⾏数据cur.execute('insert into account(accid,money) VALUES (1,110)')cur.execute('insert into account(accid,money) VALUES (2,10)')mit()cur.close()conn.close()hashlib模块实现⽤户密码加密:对于这个模块主要实现功能加密,可以对⽤户输⼊信息等进⾏加密。
PythonMySQLClient是一个Python的MySQL数据库客户端,用于连接和操作MySQL数据库。
下面是PythonMySQLClient的基本使用方法:1. 安装PythonMySQLClient可以通过pip安装PythonMySQLClient:```shellpip install pymysql```2. 导入PythonMySQLClient模块```pythonimport pymysql```3. 建立数据库连接使用pymysql.connect()函数建立与MySQL数据库的连接,需要提供主机名、用户名、密码和数据库名称等参数。
```pythonconn = pymysql.connect(host='localhost', user='root', password='password', database='mydatabase')```4. 创建游标对象使用conn.cursor()方法创建游标对象,用于执行SQL语句并获取结果。
```pythoncursor = conn.cursor()```5. 执行SQL语句使用游标对象的execute()方法执行SQL语句。
```pythoncursor.execute("SELECT * FROM mytable")6. 获取查询结果使用fetchall()或fetchone()方法获取查询结果。
```pythonresults = cursor.fetchall() # 获取所有查询结果result = cursor.fetchone() # 获取单个查询结果```7. 关闭连接和游标对象使用conn.close()方法关闭数据库连接,使用cursor.close()方法关闭游标对象。
```pythonconn.close()cursor.close()```完整的PythonMySQLClient使用示例:```pythonimport pymysql# 建立数据库连接conn = pymysql.connect(host='localhost', user='root', password='password', database='mydatabase')# 创建游标对象cursor = conn.cursor()# 执行SQL语句cursor.execute("SELECT * FROM mytable")# 获取查询结果results = cursor.fetchall() # 获取所有查询结果for row in results: # 遍历查询结果并输出每行数据print(row) # 输出每行数据,每个元素是一个元组,包含该行的所有列值。
一、介绍Python连接数据库的重要性在如今的大数据时代,数据库已经成为了各行各业重要的数据存储和管理工具。
Python作为一种流行的编程语言,其连接数据库并进行数据查询的能力显得尤为重要。
Python连接数据库的流程通常可以分为四个步骤:首先是建立与数据库的连接,然后执行SQL语句,接着获取查询结果,最后关闭数据库连接。
本文将着重介绍Python连接数据库后,对数据库进行多条数据查询的方法。
二、Python连接数据库的基本步骤1. 导入必要的库在Python中,连接数据库需要使用到对应的数据库库,常见的有MySQL,PostgreSQL,SQLite等。
要连接MySQL数据库,可以使用MySQL冠方提供的Python库`pymysql`,首先要导入该库。
```pythonimport pymysql```2. 建立数据库连接在导入相关库之后,就需要建立与数据库的连接。
连接数据库通常需要指定主机名、用户名、密码、数据库名等信息。
对于MySQL数据库,可以使用如下代码建立连接:```pythondb = pymysql.connect(host='localhost', user='root', password='xxx', database='testdb', charset='utf8mb4')```3. 创建游标对象连接成功之后,接下来需要创建游标对象,通过游标对象执行SQL语句并获取查询结果。
```pythoncursor = db.cursor()```4. 执行SQL语句创建游标对象后,就可以执行SQL语句,比如查询数据。
```pythonsql = "SELECT * FROM table_name"cursor.execute(sql)```5. 获取查询结果执行SQL语句后,就可以通过游标对象获取查询结果。
pymysql使用方法pymysql 是一款用于 Python 操作 MySQL 数据库的模块。
下面是一个简单的使用示例:1. 安装 pymysql使用 pip 命令安装 pymysql:```pip install pymysql```2. 导入 pymysql 模块导入 pymysql 模块,并建立一个连接:```import pymysqlconn = pymysql.connect(host="localhost", user="username", passwd="password", db="database_name", charset="utf8mb4")```其中,host 表示数据库连接地址,user 表示用户名,passwd 表示密码,db 表示数据库名,charset 表示字符集。
3. 生成游标使用游标可以进行数据的增删改查操作。
在生成游标后,可以通过游标遍历数据库中的数据,并进行相应的操作。
```cur = conn.cursor()```4. 执行 SQL 语句使用游标执行 SQL 语句。
在执行 SQL 语句前,需要先连接数据库,并设置字符集。
```cur.execute("SELECT * FROM table_name")```5. 提交语句提交语句并关闭游标和连接。
```cur.close()conn.close()```6. 完整代码示例```import pymysqlconn = pymysql.connect(host="localhost", user="username", passwd="password", db="database_name", charset="utf8mb4")cur = conn.cursor()sql = "SELECT * FROM table_name"cur.execute(sql)for row in cur:print(row)cur.close()conn.close()```上述示例代码中,我们通过 pymysql 模块建立了一个连接,并使用游标遍历了数据库中的数据。
mysql连接方法要连接到MySQL数据库,您需要使用MySQL客户端或编程语言中的数据库连接库。
以下是使用几种常见方法连接到MySQL数据库的说明:1. 使用MySQL命令行客户端:打开终端或命令提示符。
输入以下命令格式:`mysql -u [用户名] -p`按Enter键后,系统会提示您输入密码。
输入密码并按Enter键。
如果输入的用户名和密码正确,您将成功连接到MySQL数据库。
2. 使用MySQL Workbench:打开MySQL Workbench应用程序。
在主界面上,点击“+”图标以创建一个新的连接。
在连接配置中,输入连接名称、主机名、端口、用户名和密码。
点击“Test Connection”按钮以验证连接设置是否正确。
如果测试成功,点击“OK”按钮保存连接。
之后,您可以从MySQL Workbench的连接面板连接到该数据库。
3. 使用编程语言中的数据库连接库:以下是使用Python中的`mysql-connector-python`库连接到MySQL数据库的示例:首先,确保已安装`mysql-connector-python`库。
您可以使用以下命令通过pip进行安装:```shellpip install mysql-connector-python```然后,您可以使用以下代码连接到MySQL数据库:```pythonimport创建数据库连接cnx = (user='[用户名]', password='[密码]', host='[主机名]', port='[端口]')创建游标对象,用于执行SQL查询cursor = ()```在此示例中,您需要将`[用户名]`、`[密码]`、`[主机名]`和`[端口]`替换为您自己的MySQL数据库凭据和连接参数。
Python中的MySQL Connector接口库MySQL Connector是Python与MySQL之间进行交互的接口库,是一个开源的、纯Python编写的接口库。
MySQL Connector的主要功能是连接MySQL数据库,使Python程序能够操作MySQL数据库并将数据从数据库中检索出来。
MySQL Connector与其他Python库相比,主要的优点在于它的速度和可靠性。
本文将对MySQL Connector的功能、使用方法和优点进行介绍。
一、MySQL Connector的安装在使用MySQL Connector之前,需要先在Python环境中安装MySQL Connector库,可以通过以下命令进行安装:```pip install mysql-connector-python```安装完成后,使用以下命令将MySQL Connector库引入Python程序中:```Pythonimport mysql.connector```二、MySQL Connector的基本用法连接MySQL数据库是MySQL Connector库的主要功能之一。
在Python环境中连接MySQL数据库的代码如下:```Pythonimport mysql.connectormydb = mysql.connector.connect(host="127.0.0.1",user="yourusername",passwd="yourpassword")print(mydb)```这段代码会创建一个mydb对象,该对象代表与MySQL服务器的连接。
在实际使用中,需要将“yourusername”和“yourpassword”替换为MySQL服务器中的用户名和密码。
创建好连接之后,可以利用MySQL Connector库向数据库中插入、检索、更新和删除数据。
Python连接MySQL数据库获取数据绘制柱状图⼀、Python通过pymysql包获取MySQL数据库中的数据(没有对应包的可以通过pip install pymysql 安装对应的包) import matplotlib.pyplot as pltfrom pylab import mplmpl.rcParams['font.sans-serif'] = ['STZhongsong'] # 指定默认字体:解决plot不能显⽰中⽂问题mpl.rcParams['axes.unicode_minus'] = False# 引⼊pymysql包import pymysql# 连接数据库并打开library数据库conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='123456', db='qskh_091')# 获取游标对象cur = conn.cursor(cursor=pymysql.cursors.DictCursor)# 执⾏SQL语句cur.execute("SELECT * FROM xiaoliang t1 ORDER BY t1.销售数量+'0';")# 获取执⾏结果rows = cur.fetchall()print(rows)print("number of records: ", len(rows))lists=[[],[]]for row in rows:lists[0].append(row["产品代码"])lists[1].append(row["销售数量"])# 关闭游标对象print(lists)x=lists[0]y=lists[1]plt.bar(x,y,width=0.5,align="center",label="销售数量",color="coral")plt.title("各产品销售状况")for a,b in zip(x,y):plt.text(a,b,b,ha='center',va="bottom",fontsize=12)plt.xlabel('产品名称')plt.ylabel('销售数量')plt.legend()plt.show()cur.close()# 关闭数据库连接conn.close()⼆、从数据库中获取的数据的数据结构如下所⽰三、最终结果如下所⽰。
Python中的数据库连接和ORM模型在软件开发过程中,数据库连接和ORM(对象关系映射)模型是非常重要的一部分。
数据库连接是指程序通过特定的方式连接到数据库,以便对数据库进行操作。
ORM模型则是一种将数据库中的表和记录转换成程序中的对象和属性的方式,让开发者能够更方便地操作数据库。
本文将着重介绍Python中常用的数据库连接方式和ORM模型,以及它们的使用方法和注意事项。
一、Python中的数据库连接1.1直接连接方式Python中最常用的数据库连接方式是直接连接,即通过数据库的驱动程序来连接数据库。
Python本身并未提供直接对数据库进行操作的接口,而是依赖于第三方库来实现。
常用的数据库驱动程序有pymysql、psycopg2、cx_Oracle等。
这些库提供了Python与不同类型数据库的连接方式,并且向开发者提供了一系列的API来操作数据库。
以pymysql为例,它可以连接到MySQL数据库,并且提供了一系列的接口来执行SQL语句、读取数据等操作。
下面是一个使用pymysql 连接MySQL数据库的例子:```pythonimport pymysql#连接到数据库conn = pymysql.connect(host='localhost',user="root",password="password",database="test")#创建游标cur = conn.cursor()#执行SQL语句cur.execute("SELECT * FROM users")#读取数据result = cur.fetchall()#关闭游标和连接cur.close()conn.close()```1.2使用ORM方式除了直接连接数据库,Python中还有另一种常用的数据库连接方式,即使用ORM(对象关系映射)模型。
python连接mysql数据库(⽤with关键字)#import mysql.connectorimport pymysql#mydb = mysql.connector.connect(# host = "localhost",# user = "root",# passwd = "123456",# database = "mysql")##mycursor = mydb.cursor()#mycursor.execute("show tables")#for i in mycursor:# print(i)class DB(object):def__init__(self, host="localhost", port=3306, db="", user="root", passwd="123456", charset="utf8"):# 创建数据库连接self.dbconn = pymysql.connect(host=host, port=port, db=db, user=user, passwd=passwd, charset=charset) # 创建字典型游标(返回的数据是字典类型)self.dbcur = self.dbconn.cursor(cursor = pymysql.cursors.DictCursor)# __enter__() 和 __exit__() 是with关键字调⽤的必须⽅法# with本质上就是调⽤对象的enter和exit⽅法def__enter__(self):# 返回游标return self.dbcurdef__exit__(self, exc_type, exc_value, exc_trace):# 提交事务mit()# 关闭游标self.dbcur.close()# 关闭数据库连接self.dbconn.close()if__name__ == "__main__":with DB(db="test") as db:# db.execute("show databases")db.execute("select count(*) from test1")print(db)for i in db:print(i)。
python连接数据库查询多条数据的方法-回复Python连接数据库查询多条数据的方法在实际的开发工作中,我们经常需要通过Python与数据库进行交互,并查询多条数据。
Python提供了多种数据库连接库和查询方法,本文将一步一步详细回答如何使用Python连接数据库查询多条数据的方法。
1. 安装数据库驱动首先,我们需要根据使用的数据库类型安装相应的数据库驱动。
Python提供了许多数据库连接库,如pymysql、psycopg2、cx_Oracle 等。
以下是一些常用数据库驱动的安装方法:- 安装pymysql:使用pip安装即可,命令为`pip install pymysql`。
- 安装psycopg2:使用pip安装即可,命令为`pip install psycopg2`。
- 安装cx_Oracle:使用pip安装即可,命令为`pip install cx_Oracle`。
根据实际使用的数据库类型,安装相应的数据库驱动。
2. 导入数据库驱动安装完数据库驱动后,我们需要在Python脚本中导入相应的库。
以下是一些常见数据库驱动的导入方法示例:- 导入pymysql:`import pymysql`。
- 导入psycopg2:`import psycopg2`。
- 导入cx_Oracle:`import cx_Oracle`。
根据实际使用的数据库类型,导入相应的数据库驱动。
3. 建立数据库连接在进行数据库查询之前,我们需要先建立与数据库的连接。
以下是一些常见数据库连接的示例代码:- 使用pymysql建立MySQL连接:pythonconn = pymysql.connect(host='localhost', port=3306,user='root', password='password', db='database_name') 其中,`host`为数据库所在的主机地址,`port`为数据库的端口号,`user`为登录数据库的用户名,`password`为登录数据库的密码,`db`为要连接的数据库名称。
pymysql的用法摘要:1.pymysql 的安装2.连接数据库3.创建数据库4.插入数据5.查询数据6.更新数据7.删除数据8.关闭数据库连接正文:pymysql 是一个用于操作MySQL 数据库的Python 模块,它提供了丰富的数据库操作方法,包括连接数据库、创建数据库、插入数据、查询数据、更新数据和删除数据等。
下面将详细介绍pymysql 的用法。
首先,需要安装pymysql 模块。
通过在命令行中输入“pip install pymysql”即可完成安装。
安装完成后,即可开始使用pymysql 操作数据库。
1.连接数据库在使用pymysql 之前,需要先连接到数据库。
使用pymysql.connect() 方法可以实现数据库连接。
该方法需要三个参数:数据库的主机地址、数据库用户名和数据库密码。
例如:```import pymysqldb = pymysql.connect(host="localhost", user="user",password="password")```2.创建数据库如果需要创建一个新的数据库,可以使用pymysql.create_database() 方法。
该方法需要提供一个数据库名字作为参数。
例如:```db.create_database("new_database")```3.插入数据向数据库中插入数据时,需要先使用pymysql.cursors() 方法创建一个游标对象,然后使用游标对象的execute() 方法执行SQL 插入语句。
例如:```cursor = db.cursor()sql = "INSERT INTO table_name (column1, column2) VALUES(%s, %s)"cursor.execute(sql, ("value1", "value2"))```4.查询数据查询数据库中的数据时,同样需要先创建一个游标对象,然后使用游标对象的execute() 方法执行SQL 查询语句。
在Python中使用MySQL连接池进行数据库操作随着大数据和云计算的发展,数据库成为了各个企业和组织中不可或缺的一部分。
而对于开发人员来说,如何高效地操作数据库成为了一项重要的技能。
在Python中,我们可以使用MySQL连接池来实现数据库操作的高效性和可复用性。
### 1. 什么是MySQL连接池MySQL连接池是一个用于管理数据库连接的工具。
它通过建立一组数据库连接对象,并对这些连接进行统一的管理和分配,以解决频繁连接和断开数据库的开销问题。
当我们需要进行数据库操作时,可以从连接池中获取一个连接,使用完毕后再将连接归还给连接池,以便其他线程或者进程使用。
使用连接池的好处有以下几点:首先,连接池可以减少连接和断开数据库的开销。
每次连接和断开数据库都需要进行一些额外的工作,例如建立网络连接、认证身份等。
使用连接池可以重复利用已经建立好的连接,避免了这些额外开销。
其次,连接池可以提高数据库操作的效率。
连接池中的连接是已经连接成功的,可以直接使用的,不需要再进行握手和认证等操作。
这样可以减少数据库的负担,提高操作的效率。
最后,连接池可以提高代码的可复用性。
开发人员可以将数据库连接的管理交给连接池,而不需要关心具体的连接和断开操作。
这样可以减少代码的重复性,提高代码的可读性和可维护性。
### 2. 如何在Python中使用MySQL连接池在Python中,我们可以使用第三方库`pymysql`来进行MySQL的连接池操作。
`pymysql`提供了一个叫做`pool`的模块,可以轻松地实现MySQL连接池的功能。
下面是使用`pymysql`连接池进行数据库操作的示例代码:```pythonimport pymysqlfrom pymysql import pool# 创建连接池db_pool = pool.SimpleConnectionPool(host='localhost',port=3306,user='root',password='123456',database='test',charset='utf8mb4',autocommit=True,cursorclass=pymysql.cursors.DictCursor,minconn=1,maxconn=10)# 获取连接对象conn = db_pool.get_conn()# 获取游标对象cursor = conn.cursor()# 执行SQL语句cursor.execute('SELECT * FROM users')# 获取查询结果results = cursor.fetchall()# 打印查询结果for row in results:print(row)# 关闭游标和连接cursor.close()conn.close()```在上述代码中,我们首先创建了一个连接池对象`db_pool`,并设置了连接的相关参数,例如数据库地址、端口号、用户名、密码等。
Python中的MySQL Connector Python接口库MySQL Connector Python是Python编程语言与MySQL之间交互通信的桥梁,可以帮助Python程序实现对MySQL数据库的读取、写入、更新、删除等操作。
MySQL Connector Python是Python语言的标准接口库之一,具有轻量级、易用、高度兼容等特点,深受Python程序员的喜爱。
本文从MySQL Connector Python的基本原理、安装与配置、常用的数据操作、优缺点等方面进行介绍和探讨。
一、MySQL Connector Python的基本原理MySQL Connector Python是Python语言的一个标准接口库,用于连接MySQL数据库,它的主要功能是实现对MySQL数据库的操作。
MySQL Connector Python通过Python语言与MySQL数据库进行交互,通过Python代码实现与MySQL数据库的数据交互。
MySQL Connector Python提供了对MySQL服务器的通信协议和数据格式的直接访问。
当Python程序需要连接到MySQL数据库时,可以通过MySQL Connector Python提供的接口,实现与MySQL服务器的通信。
二、安装与配置安装MySQL Connector Python前,需要先安装Python。
安装的Python版本必须与MySQL Connector Python的版本相匹配,否则将会出现兼容性问题。
安装MySQL Connector Python的步骤如下:1.下载MySQL Connector Python的安装文件,从官方网站上下载稳定版的MySQL Connector Python安装文件。
2.执行安装程序,双击下载的MySQL Connector Python安装文件,按照提示的步骤进行安装。
Windows用户需要注意,在安装过程中需要选择包括Python安装在内的全部组件。
pythonpymysql链接数据库查询结果转为Dataframe实例我就废话不多说了,⼤家还是直接看代码吧!import pymysqlimport pandas as pddef con_sql(db,sql):# 创建连接db = pymysql.connect(host='127.0.0.1', port=3308, user='name', passwd='password', db=db, charset='utf8')# 创建游标cursor = db.cursor()cursor.execute(sql)result = cursor.fetchall()#执⾏结果转化为dataframedf = pd.DataFrame(list(result))# 关闭连接db.close()#返回dataframereturn dfdb = 'database'sql = 'select * from table'result = con_sql(db,sql)print(result.loc[2,2])#打印(3,3)位置的值)其中,遍历dataframe元素import pandas as pddict=[[1,2,3,4,5,6],[2,3,4,5,6,7],[3,4,5,6,7,8],[4,5,6,7,8,9],[5,6,7,8,9,10]]data=pd.DataFrame(dict)print(data)for indexs in data.index:print(data.loc[indexs].values[0:-1])补充知识:python 使⽤ pymssql 调⽤存储过程并让他返回值众所周知, pymssql 库并不⽀持(暂时?)调⽤存储过程,只能使⽤原⽣的sql 语句让其调⽤。
#!/ usr/ bin/ env python
#-*- encoding: UTF- 8-*-
"""
测试MySQL的连接及操作
"""
import MySQLdb
connstring=
"host='localhost',port=3306,user='root',passwd='*****',db='python'" #连接字符串
try:
conn= MySQLdb. connect( connstring)
except Exception, e:
print e
break
mycursor= conn. cursor()
#获取游标,用游标操作数据库
#创建表
ctable="""CREATE TABLE test if not exists(name VARCHAR(30),uid INT(10) primary key)"""
mycursor. execute( ctable)
#插入数据
insert1="""INSERT INTO test(name='aaa',uid=111)"""
insert2="""INSERT INTO test(name='bbb',uid=222)"""
insert3="""INSERT INTO test(name='ccc',uid=333)"""
inserts=[]
inserts[ 0]. append( insert1)
inserts[ 1]. append( insert2)
inserts[ 2]. append( insert3)
for insert in inserts:
try:
mycursor. execute( insert)
except Exception, e:
print e
#删除数据
#注释掉,下边查询要用到数据,只记录操作
#mycursor. execute("""DELETE FROM test WHERE name='aaa'""") #多表删除
#delmany="""" DELETE FROM table1, table2, table3 WHERE table1. uid= XXX AND table2. uid= table3. uid"""
#mycursor.execute(delmany)
继续......
以上是基本操作,补充几个对象的方法和属性:
1.connection(连接)对象:
方法名作用
close() 关闭数据库
commit() 提交当前事务
rollback() 取消当前事务
cursor() 获取当前连接的游标对象
errorhandler(cxn,cur,errcls,errval) 作为已给游标的句柄
2.cursor游标对象属性及方法:
属性方法描述
arraysize 使用fetchmany()方法时一次取出的记录数,默认为1
connection 创建此游标的连接(可选)
discription 返回游标的活动状态,包括(7元素):
(name,type_code,display_size,internal_size,precision,scale,null_ok)其中name,type_code是必须的。
lastrowid 返回最后更新行的ID(可选),如果数据库不支持,返回None
rowcount 最后一次execute()返回或影响的行数
callproc(func[,args]) 调用一个存储过程
close() 关闭游标
execute(op[,args]) 执行sql语句或数据库命令
executemany(op,args) 一次执行多条sql语句,执行的条数由arraysize给出fetchone() 匹配结果的下一行
fetchall() 匹配所有剩余结果
fetchmany(size-cursor,arraysize) 匹配结果的下几行
__iter__() 创建迭代对象(可选,参考next())
messages 游标执行好数据库返回的信息列表(元组集合)
next() 使用迭代对象得到结果的下一行
nextset() 移动到下一个结果集(如果支持的话)
rownumber 当前结果集中游标的索引(从0行开始)
setinput-size(sizes) 设置输入最大值
setoutput-size(sizes[,col]) 设置列输出的缓冲值
python连接MySQL数据库讲解
模块功能:connect()方法
* connect()方法用于连接数据库,返回一个数据库连接对象。
如果要连接一个位于服务器上名为fourm的MySQL数据库,连接串可以这样写:
db = MySQLdb.connect(host="",user="user",passwd="xxx",db="fourm" ) 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。
* 连接对象的db.close()方法可关闭数据库连接,并释放相关资源。
* 连接对象的db.cursor([cursorClass])方法返回一个指针对象,用于访问和操作数据库中的数据。
* 连接对象的db.begin()方法用于开始一个事务,如果数据库的AUTOCOMMIT已经开启就关闭它,直到事务调用commit()和rollback()结束。
*连接对象的mit()和db.rollback()方法分别表示事务提交和回退。
*指针对象的cursor.close()方法关闭指针并释放相关资源。
*指针对象的cursor.execute(query[,parameters])方法执行数据库查询。
*指针对象的cursor.fetchall()可取出指针结果集中的所有行,返回的结果集一个元组(tuples)。
*指针对象的cursor.fetchmany([size=cursor.arraysize])从查询结果集中取出多行,我们可利用可选的参数指定取出的行数。
*指针对象的cursor.fetchone()从查询结果集中返回下一行。
*指针对象的cursor.arraysize属性指定由cursor.fetchmany()方法返回行的数目,影响fetchall()的性能,默认值为1。
*指针对象的cursor.rowcount属性指出上次查询或更新所发生行数。
-1表示还没开始查询或没有查询到数据。
模块功能演示
#!/usr/bin/python
import MySQLdb
try:
connection = MySQLdb.connect(user="user",passwd="password",host="xxx",db="test") except:
print "Could not connect to MySQL server."
exit( 0 )
try:
cursor = connection.cursor()
cursor.execute( "SELECT note_id,note_detail FROM note where note_id = 1" ) print "Rows selected:", cursor.rowcount
for row in cursor.fetchall():
print "note : ", row[0], row[1]
cursor.close()。