简介:今天,首席CTO Note将与您分享Python的相关内容,甚至加载了数据库。如果您可以解决您现在面临的问题,请不要忘记注意此网站。让我们现在开始!
我猜您问如何从文件导入到数据库。从本质上讲,每个数据库都有一个直接数据从文件到数据库的命令或工具。
例如,SQLServer具有BCP.MYSQL是负载。
搜索您的详细帮助。查看链接。以下是一种简单的使用方法:
基本用法:
mysql使用db1;
MySQL加载数据流动“ https://www.shouxicto.com/article/data.txt”到表DB2.My_Table;
指定行,字段分割:
mysql加载数据infile'data.txt'到表Tbl_name
由''“”终止的字段终止
终止的线
';
本文Python操作MySQL数据库用于使用PymySQL驱动程序
Python操作MySQL前提来安装MySQL数据库,并能够正常使用。有关详细信息,请参见以下步骤。
注意:在安装过程中,我们需要通过打开管理员授权来安装,否则由于权限不足而不会安装。
首先,您需要下载MySQL安装程序包,下载官方网站下载地址的相应版本,或直接将其拉动并在线安装:
许可设置:
初始化mysql:
启动mysql:
查看MySQL运行状态:
成功安装MySQL后,默认的根用户密码为空。您可以使用以下命令来创建root用户的密码:
登录:
创建一个数据库:
查看数据库:
PymySQL模块使用PIP命令进行安装:
如果系统不支持PIP命令,则可以使用以下方式安装:
pymysql .connect函数:连接到数据库
输出结果如下:表面数据库连接成功
使用pymysql的Connect()方法连接数据库。连接参数如下:
conn.cursor():获取光标
如果要操作数据库,则光连接数据还不够。我们必须让操作数据库的光标执行后续操作。光标的主要功能是在数据库操作之后接收返回结果,例如读取数据并添加数据。通过在获得的数据库连接实例Conn中获得光标()方法来创建光标。
输出结果是:
光标返回光标实例对象,其中包含许多用于操作数据的方法,例如执行SQL语句,SQL Execute命令:execute()和executemany()()
执行(查询,args = none):
执行人员(查询,args = none):
其他光标对象如下:下面:
完整的数据库连接操作如下:下面:
以上结果是输出:
创建表代码如下:
如下所示,数据库表已成功创建:
插入数据实现代码:
插入数据结果:
Python查询MySQL使用fetchone()方法获取单个数据,并使用fetchall()方法获得多个数据。
查询数据代码如下:
输出结果:
DB API定义了某些数据库操作的一些错误和异常。下表列出了这些错误和异常:
本文介绍了Python如何连接到MySQL以进行数据添加,删除,删除和检查操作。本文为使用Python的工程师提供了支持,可以通过简单的代码操作MySQL。
添加一个数据
导入pymysql
#返回连接对象
#host =“ localhost”
con = pymysql.connect(host =“ 192.168.31.28”,
端口= 3306,用户=“ atguigu”,
密码=“ atguigu”,
db =“ atguigudb”,
charset =“ utf8”)
#返回到光标对象
光标= con.cursor()
#SQL语言-SQL语句
sql =“插入学生(名称)值('li si”“”
#insert数据
cursor.execute(SQL)
#submit数据,没有提交就没有数据
con.commit()
#Close发布资源
光标。close()
#Close资源
con.close()
更改数据
导入pymysql
#Modify任何数据
#返回连接对象
conn = pymysql.connect(
主机=“ 192.168.31.28”,
db =“ atguigudb”,
端口= 3306,
用户=“ atguigu”,
密码=“ atguigu”,
charset =“ utf8”
治愈
光标= conn.cursor()
sql =“更新学生设置名称='guo jing'其中id = 1”
count = cursor.execute(sql)
打印(“ count =”,count)
#submitting普通数据物理修改
conn.commit()
光标。close()
conn.close()
删除数据
导入pymysql
#Modify任何数据
#返回连接对象
conn = pymysql.connect(
主机=“ 192.168.31.28”,
db =“ atguigudb”,
端口= 3306,
用户=“ atguigu”,
密码=“ atguigu”,
charset =“ utf8”
治愈
光标= conn.cursor()
sql =“从deters delete delete d = 20”
count = cursor.execute(sql)
打印(“ count =”,count)
conn.commit()
光标。close()
conn.close()
查询数据
导入pymysql
尝试:
conn = pymysql.connect(
主机='192.168.31.28',
端口= 3306,
db ='atguigudb',
用户='atguigu',
passwd ='atguigu',
charset ='utf8'
治愈
光标= conn.cursor()
cursor.execute('select*从studers where id = 3')
#Return符合此条件的数据。
结果= cursor.fetchone()
打印(结果)
因为我结果:
打印(i)
光标。close()
conn.close()
除了E:
印刷(E.Message)
查询多个数据
导入pymysql
尝试:
conn = pymysql.connect(
主机='192.168.31.28',
端口= 3306,
db ='atguigudb',
用户='atguigu',
passwd ='atguigu',
charset ='utf8'
治愈
光标= conn.cursor()
cursor.execute(“从学生中选择**)
#返回到元组,如果多个数据,则元组中的元组
结果= cursor.fetchall()
打印(结果)
因为我结果:
打印(i)
conn.commit()
光标。close()
conn.close()
除了E:
印刷(E.Message)
读取MySQL数据,填写以脱颖而出的数据
来自pyexcel_xls导入save_data
来自pyexcel_xls import get_data
从收集订购的收藏
导入mysql.connector
#
cnx = mysql.connector.connect(user ='root',password ='',
主机='127.0.0.1',
数据库='test')))
#检查短语
sql =“从tbl_members中选择my_name,my_value”
#执执
cursor.execute(SQL)
#获获
结果= cursor.fetchall()
光标。close()
cnx.close()
#
xls_header = get_data(“ d:/xh.xls”))
#数据获获获
XH = XLS_HEADER.POP(“ Sheet1”)
#
xd = ordreddict()
xd.update({“表1”:XH+结果})
#save到另一个文件
save_data(“ d:/xd.xls”,xd)
我们在Python语言环境中将数据库连接起来。
在[1]中:来自MySQL导入连接器
在[2]中:cnx = connector.connect(host =“ 172.16.192.100”,port = 3306,user =“ appuser”,password =“ xxxxxx”)
但是数据库后面发生了什么?
回答
当我们通过驱动程序(MySQL-Connector-Python,pymysql)连接MySQL Server时,它是将连接参数传递给驱动程序,并且驱动程序将根据参数开发MySQL Server的TCP连接。建立了连接,驱动程序和服务器将以特定格式和顺序交换数据包,并且应通过mySQL协议指定数据包的格式和发送顺序。MYSQL协议:在整个连接过程中,MySQL Server期间驱动程序程序按以下顺序发送。
MySQL Server将握手袋发送给客户端,该袋子记录了MySQL-Server版本的版本,默认的授权插件和密码盐值(AUTH-DATA)。
2. MySQL客户端排放SSL连接请求软件包(如有必要)。
3. MySQL客户端发出握手袋的响应包。此软件包记录了用户名,密码加密的字符串,客户端属性和其他信息。
4. MySQL Server发出响应软件包。该包记录登录是否成功。如果不成功,它将提供错误消息。
1.背景:
Python提供了许多数据库接口,常用数据库包括MS SQL Server /MySQL /Oracle等。
打开链接
这是Python数据库接口的摘要。您可以看到Python支持的数据库系统。
2.模块:
Python主要通过模块和数据库连接。
2.1安装模块:
如果您使用ANCONDA,则在没有手动安装的情况下会收集许多模块。如果使用Pycharm,则必须手动安装模块。
安装模块流程:
在路径-CMD下下载模块扩展程序包,找到相应的路径-PIP安装 +扩展程序包名称
这是一些通常用于连接到数据库的模块:pymsssql/sqlite3/pymysql/pyodbc/odbc/adodbapi
连接到不同模块的数据库是不同的,并且受支持的版本系统不同。但是一般使用方法相似,因为有DB-API
相关建议:“ Python教程”
3.Python db-api
3.1背景:
在DB-API之前,不同的数据库界面程序具有不同的数据库接口,这会导致Python访问数据库接口程序非常混乱。如果我们学习Python对MySQL接口程序的访问,然后切换到另一个数据库,我们正在学习另一个数据库,interface program.python db-api生成以解决接口程序的混淆。在DB-API中,不同数据库上的移植代码变得更加简单。
3.2Python db-appi:
Python定义了一组DB-API接口操作数据库。这是一个规范,定义了一系列必要的对象和数据库集合方法,以为不同的基础数据库系统提供一致的访问接口
此链接是Python给出的官方DB-API的解释
3.3 Python DB-API内容:
连接对象:
?connect()创建连接:host/server/user/password/db connect方法要生成连接对象,我们通过此对象访问数据库。满足标准的模块将实现连接方法。
?关闭():关闭连接
?提交():提交当前的交易。进行一些更改后,请确保您已提交,以便可以将这些修改真正保存在数据库中
?滚动()回滚数据库的更改以来
?光标():创建一个光标。一个数据缓冲区,该数据缓冲区用于用户打开系统,用于存储SQL语句执行结果。光标光标处于状态,它可以记录当前结果的记录。因此,通常您只能遍历结果一次。在上述情况下,如果执行fetchone(),它将返回为空。您在测试时需要注意
铸造对象:
?execute()执行数据库查询或命令。执行后,执行SQL语句,结果运行将不会直接输出。相反,它放置在缓存区域。您必须使用fetch语句+打印来查询SQL运行结果的结果
?fetchone()获取结果集的下一行
?fetchmany(size)获取结果集的接下来的几行
?fetchall()返回其余结果的所有剩余行
?RowCount返回影响的行数
?关闭()关闭光标对象
3.4Python DB-API工作原理和过程:
如图所示,如果将Python和数据库与两个不同的位置进行比较,则可以将Python和数据库连接连接。Cursor就像是在道路上驾驶的一辆小型卡车,可以用来执行SQL语句,并且存储SQL操作的结果。
过程:
4. MS SQL Server示例:
4.1导入模块,创建连接:
4.2创建光标:创建光标后,您可以查询数据库并更改它!
4.3执行数据(创建表,插入线,更新数据,添加列,删除行,列,表):
4.4查询采集线:
5.其他:
使用光标时,您应该注意每个连接只能在活动状态中具有一个光标查询。代码演示:
execute()周期和执行人员()插入100,000个数据测量速度:
将200W数据保存到数据库中需要474秒,因为正常的38,000个数据仅需9秒,这需要200万个时间才能启动。
【Python存储数据库速度】
1.您需要将30,000个数据从文本读取到MySQL数据库。该文件用于@1 SQL语句,但发现在阅读过程中速度太慢。38,000个数据需要220秒。
2.测试后,影响力的主要原因是commit(),因为它可以每隔几秒钟提交一次,但是由于提交的字符的长度受到限制,因此应设置合理的时间。
3.更改后,编写38,000个数据只需要9秒
结论:以上是有关Python甚至数据库的主要CTO注释的所有内容。感谢您阅读本网站的内容。我希望这对您有帮助。关于与Python数据库相关的更多信息,请不要忘记在此站点上找到它。