使⽤SQL数据库在Python中进⾏CRUD操作
⽬录
介绍
该实际演⽰将帮助您了解如何在带有SQL数据库的Python中实现CRUD(创建、读取、更新和删除)操作功能。对于与数据库关联的任何应⽤程序,我们执⾏⼀些操作,以插⼊记录[C =创建],读取记录[R =读取],⽤新值[U = Update]更新现有记录或从数据库中删除记录[D = Delete]。因此,在谈论我们必须使⽤数据库的任何应⽤程序时,这四个操作是必不可少的。
第1天:
第2天:
背景
今天,我们将尝试通过⼀个简单的Python应⽤程序来实现此CRUD操作功能。我们将使⽤SQL Server进⾏此演⽰,并了解如何
与SQL Server建⽴连接。我们将逐步进⾏实际演⽰,并详细介绍每个步骤。步骤如下:
1. 在Visual Studio 2017中创建Python项⽬
2. 在SQL中创建数据库和表
3. 为数据库创建配置⽂件
4. 将Python软件包安装为“Pypyodbc”
5. 创建⼀个连接⽂件
6. 创建新纪录
7. 读取数据
8. 更新现有记录
9. 删除数据
我已经在上⾯为本⽂定义了⽬标。因此,在不浪费⼤量时间的情况下,让我们开始实际的实现。
在Visual Studio中创建⼀个Python项⽬
打开Visual Studio 2017,然后转到⽂件>新建>项⽬。它将打开New Project窗⼝,现在只需从左侧⾯板的已安装部分和中间部分中选择Python,只需单击“Python Application”并提供合适的名称“PythonCRUD”即可。如果愿意,还可以更改此应⽤程序的位置,然后单击确定。
这将需要⼀些时间,并且您的项⽬将准备就绪。您还可以阅读,以获取有关如何在Visual Studio中创建第⼀个Python应⽤程序的分步信息。
在SQL中创建数据库和表
我们已经准备好⼀个Python项⽬,并且已经准备好实现CRUD操作,但是在此之前,让我们在SQL Server中创建数据库和表。这样我们就可以对实时数据库执⾏CRUD操作。在这⾥,我们将创建⼀个简单的数据库“Test”,并创建⼀个简单的表“Employee”,如下所⽰。以下是⽤于创建数据库和表的SQL脚本。您可以直接执⾏它。成功执⾏后,您可以在SQL Server中到Test数据库以
及Employee表。
CREATE DATABASE Test
GO
USE Test
GO
CREATE TABLE Employee(Id int PRIMARY KEY IDENTITY(1,1), Name varchar(255) NULL, Age int NULL)
为数据库创建配置⽂件
现在,让我们在该项⽬中添加⼀个配置⽂件,在其中定义所有属性及其值。这些属性将在创建与SQL数据库的连接时进⼀步使⽤。因此,打开解决⽅案资源管理器并右键单击Project,然后选择Add> New Item。它将打开“添加新项 ”窗⼝,如下所⽰。在此窗⼝中,我们必须选择“Empty Python File”并提供有价值的名称“config.py ”,然后单击“添加”。单击添加后,它将在项⽬中添加⼀个新
的Python⽂件作为config.py。
现在,让我们修改“config.py ”并添加SQL数据库连接所需的必需属性及其值,如下所⽰。在这⾥,我们需要驱动程序名称、服务器名称、数据库名称以及凭据作为⽤户名和密码。这些属性位于对象内部,以便我们稍后使⽤。
# SQL Server Database Connection Properties
DATABASE_CONFIG ={
'Driver': 'SQL Server',
'Server': 'DESKTOP-QQ95JAD',
'Database': 'Test',
'UID': 'sa',
'Password': 'xxxxxxx'
}
将Python软件包安装为“Pypyodbc”
接下来,我们将安装⼀个Python软件包,该软件包是建⽴数据库连接和在数据库上执⾏命令所必需的。它是Pypyodbc,⽤于数据库操作的纯Python软件包。
要在项⽬环境中安装新软件包,请右键单击Python环境,然后选择“Install Python Package .. ”。
它将打开Python Environments窗⼝,您可以在其中到所有安装环境,在它的下⾯,我们有⼀个搜索框,从中可以搜索任何特定的软件包并进⾏安装。因此,只需如下图所⽰进⾏搜索pypyodbc,然后单击“ Install pypyodbc(1.3.5) ”。
⼀旦安装了pypyodbc,就可以在“输出”窗⼝中看到成功安装的消息,并在Python环境中也可以到该软件包。
创建⼀个连接⽂件
任何与数据库⼀起使⽤并执⾏数据库操作的应⽤程序都具有创建和管理与数据库的连接的机制。在此应
⽤程序中,我们将执⾏相同的操作并创建⼀个数据库连接⽂件,该⽂件将使⽤配置⽂件中定义的配置⽣成连接。让我们创建⼀个新的python⽂件“db_connection.py”,并在其中创建⼀个⽅法。此⽅法(getConnection())将根据config.py中定义的数据库配置返回数据库连接。
⾸先,让我们导⼊pypyodbc,以便我们可以使⽤它。为了访问config.py中定义的配置属性,我们⾸先必须使⽤“import
filename” 导⼊该⽂件,然后才能直接访问该对象。
import pypyodbc
import config
# Return the sql connection
def getConnection():
connection = t("Driver= {"+config.DATABASE_CONFIG["Driver"]+"} ;
Server=" + config.DATABASE_CONFIG["Server"] + ";
Database=" + config.DATABASE_CONFIG["Database"] + ";
uid=" + config.DATABASE_CONFIG["UID"] + ";pwd=" + config.DATABASE_CONFIG["Password"])
return connection
现在,让我们从开始执⾏的地⽅装饰main函数。如您所见,以下代码是PythonCRUD.py⽂件,当我们在Visual Studio中使⽤与项⽬名称相似的名称创建项⽬时,将⾃动创建该⽂件。在这⾥,⾸先,我们将导⼊所有必需的模块,如⽤于数据库连接的pypyodbc和使⽤SQL Server的操作、⽤于根据上⾯提供的配置获得连接的db_connection。以及另外四个⽂件,分别⽤于执⾏CRUD操作的读取、创建、更新和删除。
第⼀个屏幕将为⽤户提供可供选择的选项,例如C = Create,R = Read,U = Update和D = Delete。
import pypyodbc
import db_connection as dbConn
from read import Read
from create import Create
from update import Update
from delete import Delete
def main():
print('Available Options: C=Create, R=Read, U=Update, D=Delete ')
choice = input('Choose your option = ')
if choice == 'C':
createObj=Create()
createObj.func_CreateData()
elif choice == 'R':
readObj = Read()
readObj.func_ReadData()
elif choice == 'U':
updateObj = Update()
updateObj.func_UpdateData()
elif choice == 'D':
deleteObj = Delete()
deleteObj.func_DeleteData()
sql数据库用什么软件打开else:
print('Wrong choice, You are going exist.')
# Call the main function
main()
建⽴新记录
完成许多⼯作后,例如项⽬创建,数据库和表创建,为数据库创建配置⽂件,创建连接⽂件等。现在,让我们从python⽂件移动并创建新记录并将其保存到数据库中。
因此,⾸先要创建⼀个新的空python⽂件,如“create.py”,与我们在上述步骤中创建的⽂件相同。在此⽂件中,将类创建
为“Create”,将⽅法创建为“func_CreateData(self)”,该⽅法将负责在数据库中添加新记录。在这⾥,我们正在做以下事情。
1. ⾸先,从db_connection⽂件获取数据库连接。
2. 输⼊两个⽤于分别输⼊名称和年龄的值。
3. 使⽤输⼊值(名称,年龄)创建插⼊查询并执⾏。
4. 提交连接,以便将值提交到数据库表中。
5. 在finally块中,关闭连接。
6. 在执⾏try- except- finally块中维护。
7. 打印有价值的消息。
import db_connection as dbConn
class Create:
def func_CreateData(self):
# Get the sql connection
connection = Connection()
name = input('Enter Name = ')
age = input('Enter Age = ')
try:
query = "Insert Into Employee(Name, Age) Values(?,?)"
cursor = connection.cursor()
# Execute the sql query
# Commit the data
connectionmit()
print('Data Saved Successfully')
except:
print('Something wrong, please check')
finally:
# Close the connection
connection.close()
让我们运⾏项⽬,您将获得类似于下⾯的窗⼝。在这⾥,您将获得可供选择的选项[代码将在本⽂的底部提供]。因此,⾸先选择您的选项作为C。这意味着,您将创建⼀个新记录。
它将要求分别输⼊名称和年龄,数据将以适当的消息“数据已成功保存”进⾏保存。
读取数据
让我们再创建⼀个⽂件“read.py”来读取和打印数据。在这⾥,我们还将执⾏与创建时相同的操作。
1. ⾸先,从db_connection⽂件获取数据库连接。
2. 创建select查询并执⾏它。
3. 获取某个变量中的值,这⾥我们获取⼀个游标。
4. 在游标上循环并打印值。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论