python操作数据库?
python3操作mysql数据库步骤:
1.
connect()方法创建数据库的连接;
2.
通过获取到的数据库连接conn下的cursor()方法来创建游标;
3.
通过游标cur操作execute()方法写入纯sql语句,操作数据库。Python是编程语言,MySQL是数据库,它们是两种不同的技术;要想使Python操作MySQL数据库需要使用驱动。
如何python读取mysql数据csdn?
主要问题在于Python与MySQL交互的问题。可以使用pymysql,可以兼容Python2.x与Python3.x。还可以选择torndb,最开始是用Tornado库一部分,后来功能分享出去,轻量,也好用。还可以使用peewee,最近的一个PythonORM,非常优雅。
怎么把mysql的运行代码保存成.py文件?
首先,需要在命令行或终端里进入mysql的交互式界面,输入需要运行的代码,执行相应的操作,操作完成后可以使用命令“save filename.py”将代码保存为.py文件。
另外,也可以在编辑器中新建一个Python文件,使用MySQL连接库(如pymysql或mysql-connector-python等),将需要运行的MySQL代码写入Python文件中,再通过Python执行该文件即可。
如何用Python3写一段将Excel数据导入SQL数据库?
这个实现起来很简单,就两步,先读取excel文件单元格的值,然后插入SQL数据库中。下面我介绍一下如何从excel文件读取数据,并插入到mysql数据库中,主要用到openpyxl和pymysql这两个包,实验环境win7+python3.6+pycharm5.0+mysql5.5,主要步骤如下:
1.下载安装openpyxl和pymysql这两个包,这里直接pip install+包名安装就行,如下图所示,我的环境都已经安装:
2.为了方便演示,我这里新建了一个test数据表,主要有id,university,和name这三个字段,如下图:
接着新建了一个test.xlsx文件,主要是把这个excel中的数据插入到test数据表中,样本数据如下:
3.数据准备完毕后,我们就可以读取excel数据了,主要代码如下,也就是一个读取函数,很简单,不到十行代码:
4.从excel文件中读取完数据后,我们就可以往mysql数据库中插入了,如下图所示,也就是一个插入函数,代码很简单,十来行代码左右:
程序运行结果如下,已经成功将excel读取的数据插入到mysql数据库中:
至此,一个完整的从excel文件读取数据并插入到mysql数据库的过程便完毕。就整个过程来看,其实不难,就是从excel读数据,然后插入到SQL数据库中,只要你熟悉xlrd,openpylx,pynysql等这些常用包,很快就能完成数据的读和写,这里需要注意的是,有一些特殊字符需要进行转义才能插入数据库,像"'"等,我这里就不做过多介绍,网上也有很多这方面的教程,你可以参考学习一下,对你的提升也有很大的帮助,希望以上分享的内容能对你有所帮助吧。
1, 数据例子:
2, 基于Python3的脚本:
import pandas
import pymysql
pymysql.install_as_MySQLdb()
from sqlalchemy import create_engine
#cnx = create_engine('mysql+mysqldb://{{username}}:{{password}}@{{hostname}}:{{ip}}/{{dbname}}', echo=False)
cnx = create_engine('mysql+mysqldb://root:root@127.0.0.1:3306/mysql', echo=False)
df = pandas.read_excel(open('D:/temp/Book1.xlsx','rb'), sheetname='Sheet1')
df.to_sql(name="table_name", con=cnx, if_exists='append', index=False)
3, 如果是其他数据库类型,如oracle或者postgresql.需要改动连接引擎:
from sqlalchemy import create_engine
engine = create_engine('postgresql://scott:tiger@localhost:5432/mydatabase')
engine = create_engine('mysql+mysqldb://scott:tiger@localhost/foo')
engine = create_engine('oracle://scott:tiger@127.0.0.1:1521/sidname')
engine = create_engine('mssql+pyodbc://mydsn')
# sqlite://<nohostname>/<path>
# where <path> is relative:
engine = create_engine('sqlite:/')
# or absolute, starting with a slash:
engine = create_engine('sqlite:////absolute/path/to/foo.db')