Python操作Mysql实例教程手册(带书签)
- 格式:pdf
- 大小:277.04 KB
- 文档页数:10
Python3操作MySQL数据库在Python3中操作MySQL数据库在Python3中使⽤mysql数据库需要安装pymysql库pip install pymysql操作MySQL导包import pymysql第⼀步:打开数据库连接db = pymysql.connect(host="数据库地址",user="⽤户名",password="密码",port=3306,# 端⼝database="数据库名",charset='utf8')第⼆步:创建游标cursor = db.cursor()第三步:操作数据库1、创建表# 如果数据表已经存在使⽤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)2、查询数据1. Python查询Mysql使⽤ fetchone() ⽅法获取单条数据, 使⽤fetchall() ⽅法获取多条数据。
2. fetchone(): 该收全部的返回结果⾏.3. rowcount: 这是⽅法获取下⼀个查询结果集。
结果集是⼀个对象4. fetchall():接⼀个只读属性,并返回执⾏execute()⽅法后影响的⾏数。
# SQL 查询语句sql = "SELECT * FROM EMPLOYEE WHERE INCOME > {}".format(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={},lname={},age={},sex={},income={}".format(fname, lname, age, sex, income))except:print("Error: unable to fecth data")3、添加数据# SQL 插⼊语句sql = """INSERT INTO EMPLOYEE(FIRST_NAME,LAST_NAME, AGE, SEX, INCOME)VALUES ('Mac', 'Mohan', 20, 'M', 2000)"""try:cursor.execute(sql)# 提交到数据库执⾏mit()except:# 发⽣错误时回滚db.rollback()4、修改数据# SQL 更新语句sql = "UPDATE EMPLOYEE SET AGE = AGE + 1 WHERE SEX = '{}'".format('M') try:cursor.execute(sql)# 提交到数据库执⾏mit()except:# 发⽣错误时回滚db.rollback()5、删除数据# SQL 刪除语句sql = "DELETE FROM EMPLOYEE WHERE AGE > {}".format(20)try:cursor.execute(sql)# 提交到数据库执⾏mit()except:# 发⽣错误时回滚db.rollback()第四步:关闭游标,数据库连接cursor.close()db.close()。
Python使⽤MySQL数据库的⽅法以及⼀个实例使⽤环境:Windows+python3.4+MySQL5.5+Navicat⼀、创建连接1.准备⼯作,想要使⽤Python操作MySQL,⾸先需要安装MySQL-Python的包,在Python 3.x下,该包已经改名为MySQLClient。
可以使⽤pip⽅式安装:pip install MySQLClient或者下载包⽂件,进⾏安装也可以。
2.Python使⽤MySQL的流程:3.启动MySQL服务器:以管理员⾝份启动“cmd”,输⼊命令:’net start mysql‘Python中使⽤MySQL导⼊⽅法:import MySQLdb4.创建Connection Connection:创建了Python客户端与数据库之间的⽹络通路。
他的参数如下参数名类型说明host String MySQL的服务器地址port int MySQL的端⼝号user String⽤户名passwd String密码db String使⽤的数据库charset String连接字符集 Connection⽀持的⽅法:⽅法名说明cursor()创建并且返回游标commit()提交当前事物rollback()回滚当前事物r()close()关闭Connection5.获取Cursor.Cursor:游标对象,⽤于执⾏查询和获取结果,它⽀持的⽅法如下:⽅法名说明execute()⽤于执⾏⼀个数据库的查询命令fetchone()获取结果集中的下⼀⾏fetchmany(size)获取结果集中的下(size)⾏fetchall()获取结果集中剩下的所有⾏rowcount最近⼀次execute返回数据/影响的⾏数close()关闭游标下⾯我们在Python中创建⼀个实例:import MySQLdbconn=MySQLdb.connect(host='127.0.0.1',port=3306,user='root',passwd='199331',db='test',charset='utf8')cursor=conn.cursor()print(conn)print(cursor)cursor.close()conn.close()运⾏程序结果如下:从结果中我们可以看见成功创建了⼀个Connection和Cursor对象。
python操作mysql实例python操作mysql实例使⽤ORM模型SQLAlchemy模式⾸先安装所需模块pip install SQLAlchemypip install pymysql本实例使⽤了名为test的数据库,所以在运⾏本例之前,要确保test数据库已经存在2、完整增、删、改、查实例from sqlalchemy import create_engine,MetaData,Table,Column,Integer,String,Float,exc,ormfrom sqlalchemy.ext.declarative import declarative_base#定义⽤于mysql连接字符串,通过pymysql指定sqlalchemy底层⽤的pymysql模块#操作mysql,root是⽤户名,jenkins@123是密码db5是数据库名mysql='mysql+pymysql://root:jenkins@123@192.168.0.93:3306/tb5?charset=utf8'#定义要操作的表名tableName='tb5'#创建数据库引擎(sqlalchemy.engine.base.Engine 对象)engine=create_engine(mysql,encoding='utf-8')#开始连接数据库engine.connect()#创建MetaData对象metadata=MetaData(engine)#创建⽤于定义表元数据的Table对象,该表⼀共5个字段,字段id是主键person=Table(tableName,metadata,Column('id',Integer,primary_key=True),Column('name',String(30)), #长度30的字符串类型Column('age',Integer),Column('address',String(100)), #长度为100的字符串类型Column('salary',Float))#创建表metadata.create_all(engine)Base=declarative_base()#定义与tb1表对应的Person类class Person(Base):#指定表名__tablename__=tableNameid=Column(Integer,primary_key=True)name=Column(String(30))age=Column(Integer)address=Column(String(100))salary=Column(Float)Session=orm.sessionmaker(bind=engine)# 创建会话(Session)session=Session()#(增)#先删除person1表中所有的记录,以免在插⼊记录时造成主键冲突session.query(Person).delete()#提交后对数据库的修改才⽣效mit()# 下⾯创建3个Person对象person1=Person(id=10,name='Bill',age=30,address='地球',salary='1111')person2=Person(id=20,name='Mike',age=40,address='⽕星',salary='2222')person3=Person(id=30,name='John',age=50,address='⽉球',salary='3333')# 下⾯向tb1表中插⼊3条记录session.add(person1)session.add(person2)session.add(person3)#提交后对数据库的修改才⽣效mit()print("成功插⼊记录")#(改)#先查询name=Mike的记录,然后将所有记录的address字段替换成“千星之城”session.query(Person).filter( == 'Mike').update({'address': '千星之城'})#提交修改mit()#(查+改)#查询所有name等于John的记录query=session.query(Person).filter( == 'John')#输出了⽤于查询的SQL语句(由SQLAlchemy字段⽣成)print(query)#将查新的结果集转为单⼀的对象(Person对象),使⽤scalar⽅法时必须要保证查询结果集只有⼀条记录,person=query.scalar()#修改person对象的属性值person.age=12person.salary=5000#提交修改mit()print('成功更新了记录')#使⽤组合条件查询tb1表中的记录persons=session.query(Person).filter((Person.age>=10) & (Person.salary>=2000))#通过对查询结果进⾏迭代,输出所有查询结果,for person in persons:print('name','=',,end='')print('age','=',person.age,end='')print('salary','=',person.salary,end='')#输出查询结果中的第1条记录的name字段值print(persons.first().name) #试过不管⽤#输出查询结果中第2条记录的name字段值print(persons.offset(1).scalar().name) #⼀共2⾏记录,查询最后⼀⾏记录。
使⽤python操作mysql数据库前⾔:以下内容主要介绍python使⽤pymysql 操作mysql的查询和插⼊、使⽤的编译⼯具为pycharm (pymysql属于第三⽅库、需要我们⾃⼰安装)我要操作的数据库表(表名为student)如下、其中sno是⾃增:⼀、查询该表的数据:import pymysql #导库#1-打开数据库连接前提是⾃⼰本地的mysql服务是打开的db=pymysql.connect(host="localhost",user="root",password="123456",db="yhrtest",port=3306)cursor=db.cursor() #2-使⽤cursor()⽅法获取操作游标sql="select * from student"#3-添加查询语句try:cursor.execute(sql) #4-执⾏sql语句result=cursor.fetchall() #5-获取查询的结果结果为元组类型print("sno","sname","age","sdept") #先输出表头字段for one in result:sno,sname,age,sdept=oneprint(sno,sname,age,sdept)except Exception as error:print("错误提⽰:",error) #打印错误信息finally:db.close() #6-关闭连接查询结果如下:⼆、插⼊⼀条数据:import pymysql #导库#1-打开数据库连接前提是⾃⼰本地的mysql服务是打开的db=pymysql.connect(host="localhost",user="root",password="123456",db="yhrtest",port=3306)cursor=db.cursor() #2-新建游标sql='insert into student(sname,age,sdept) values("测试","21","测试")'#3-编写sql语句try:cursor.execute(sql) #4-执⾏sql语句mit() #5-记得提交、否则不⽣效except Exception as error:print(error) #查看报错信息db.rollback() #执⾏中如果报错则回滚finally:db.close() #6-关闭数据库最终执⾏结果:总结:以上只写了查询和插⼊语句、因为修改以及删除语句的操作步骤跟插⼊的是类似的、直接替换sql语句就可以了。
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方法连接数据库,其中传入的参数分别为主机名、用户名、密码和数据库名。
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 模块建立了一个连接,并使用游标遍历了数据库中的数据。
Python中使用MySQLdb库连接和操作MySQL数据库Python是一种功能强大的编程语言,它在数据库操作方面也有很多优势。
在Python中,我们可以使用MySQLdb库来连接和操作MySQL数据库。
本文将介绍MySQLdb库的基本用法,并展示如何使用Python连接和操作MySQL数据库。
一、安装MySQLdb库在开始之前,我们需要先安装MySQLdb库。
可以通过以下命令使用pip来安装MySQLdb库:```pip install MySQL-python```二、连接MySQL数据库在使用MySQLdb库之前,我们首先需要连接MySQL数据库。
可以通过以下代码来连接数据库:```pythonimport MySQLdb# 连接数据库db = MySQLdb.connect(host='localhost', user='root', password='root', db='test')# 获取数据库游标cursor = db.cursor()```在上述代码中,我们使用MySQLdb模块的connect函数来建立与MySQL数据库的连接。
需要传入主机地址、用户名、密码和数据库名称等参数。
连接成功之后,我们可以使用cursor函数来获取数据库游标。
三、执行SQL语句连接成功后,我们可以使用游标来执行SQL语句。
MySQLdb库提供了execute 函数来执行SQL语句,可以通过以下代码来执行查询语句:```python# 执行SQL语句cursor.execute("SELECT * FROM students")# 获取查询结果results = cursor.fetchall()# 遍历结果for row in results:name = row[0]age = row[1]print("Name: %s, Age: %d" % (name, age))```在上述代码中,我们执行了一条查询语句并获取了查询结果。
python中操作mysql简单实例安装pymysql库在CMD终端中安装:pip install pymysql也可以在PyCharm⾥安装。
连接数据库注意事项:有⼀个MySQL数据库,并且已经启动;拥有可以连接数据库的⽤户名和密码;有⼀个有权限操作的database基本使⽤:# 导⼊pymysql模块import pymysql# 连接databaseconn = pymysql.connect(host=“你的数据库地址”,port=端⼝号user=“⽤户名”,password=“密码”,database=“数据库名”,charset=“utf8”)# 得到⼀个可以执⾏SQL语句的光标对象cursor = conn.cursor()# 定义要执⾏的SQL语句sql = """CREATE TABLE USER1 (id INT auto_increment PRIMARY KEY ,name CHAR(10) NOT NULL UNIQUE,age TINYINT NOT NULL)ENGINE=innodb DEFAULT CHARSET=utf8;"""# 执⾏SQL语句cursor.execute(sql)# 关闭光标对象cursor.close()# 关闭数据库连接conn.close()返回字典格式数据:# 导⼊pymysql模块import pymysql# 连接databaseconn = pymysql.connect(host=“你的数据库地址”, port=端⼝号user=“⽤户名”,password=“密码”,database=“数据库名”,charset=“utf8”)# 得到⼀个可以执⾏SQL语句并且将结果作为字典返回的游标cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)# 定义要执⾏的SQL语句sql = """CREATE TABLE USER1 (id INT auto_increment PRIMARY KEY ,name CHAR(10) NOT NULL UNIQUE,age TINYINT NOT NULL)ENGINE=innodb DEFAULT CHARSET=utf8;"""# 执⾏SQL语句cursor.execute(sql)# 关闭光标对象cursor.close()# 关闭数据库连接conn.close()注意事项:⼀定要注意连接 database 的时候,书写格式,⽐如端⼝号是数字型的,密码是字符串型的,charset="utf8" 不是“utf-8”。
python操作MySQL数据库坚持每天学一点,每天积累一点点,作为自己每天的业余收获,这个文章是我在吃饭的期间写的,利用自己零散的时间学了一下python操作MYSQL,所以整理一下。
我采用的是MySQLdb操作的MYSQL数据库。
先来一个简单的例子吧:?1 2 3 4 5 6 7 8 9 1 0 import MySQLdbtry:conn=MySQLdb.connect(host='localhost',user='root',passwd='root',db= 'test',port=3306)cur=conn.cursor()cur.execute('select * from user')cur.close()conn.close()except MySQLdb.Error,e:print"Mysql Error %d: %s"%(e.args[0], e.args[1])请注意修改你的数据库,主机名,用户名,密码。
下面来大致演示一下插入数据,批量插入数据,更新数据的例子吧:?1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1import MySQLdbtry:conn=MySQLdb.connect(host='localhost',user='root',passwd='root',por t=3306)cur=conn.cursor()cur.execute('create database if not exists python')conn.select_db('python')cur.execute('create table test(id int,info varchar(20))')value=[1,'hi rollen']cur.execute('insert into test values(%s,%s)',value)values=[]for i in range(20):values.append((i,'hi rollen'+str(i)))cur.executemany('insert into test values(%s,%s)',values)cur.execute('update test set info="I am rollen" where id=3') mit()3 14 15 16 17 18 19 2 0 2 1 2 2 2 3 2 4 2 5 2 6 2 7 cur.close()conn.close()except MySQLdb.Error,e:print"Mysql Error %d: %s"%(e.args[0], e.args[1])请注意一定要有mit()这句来提交事务,要不然不能真正的插入数据。
python操作mysql数据库菜鸟教程python操作mysql数据库Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口。
Python 数据库接口支持非常多的数据库,你可以选择适合你项目的数据库:•GadFly•mSQL•MySQL•PostgreSQL•Microsoft SQL Server 2000•Informix•Interbase•Oracle•Sybase你可以访问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 <module>import MySQLdbImportError: No module named MySQLdb安装MySQLdb,请访问,(Linux平台可以访问:)从这里可选择适合您的平台的安装包,分为预编译的二进制文件和源代码安装包。