在Python中,可以使用pyodbc
模块连接和操作SQL Server数据库。以下是Python使用pyodbc
模块连接和操作SQL Server数据库的完整攻略,包括连接SQL Server数据库、表、插入数据、查询数据更新数据、删除数据等操作。
连接SQL Server数据库
在Python中,可以使用pyodbc
模块连接SQL Server数据库。以下是连接SQL Server数据库的基本语法:
import pyodbc
server = 'your_server_name'
database = 'your_database_name'
username = 'your_username'
password = 'your_password'
driver = '{ODBC Driver 17 for SQL Server}'
cnxn = pyodbc.connect('DRIVER=' + driver + ';SERVER=' + server + ';DATABASE=' + database + ';UID=' + username + ';PWD=' + password)
在上面的语法中,your_server_name
是SQL Server服务器的名称,your_database_name
是要连接的数据库名称,your_username
是数据库的用户名,your_password
是连接数据库的密码,{ODBC Driver 17 for SQL Server}
是ODBC驱动程序的名称。
创建表
在SQL Server中,可以使用CREATE TABLE
语句创建表。以下是创建表的基本语法:
import pyodbc
server = 'your_server_name'
database = 'your_database_name'
username = 'your_username'
password = 'your_password'
driver = '{ODBC Driver 17 for SQL Server}'
cnxn = pyodbc.connect('DRIVER=' + driver + ';SERVER=' + server + ';DATABASE=' + database + ';UID=' + username + ';PWD=' + password)
cursor = cnxn.cursor()
cursor.execute("CREATE TABLE customers (id INT IDENTITY(1,1) PRIMARY KEY, name VARCHAR(255), address VARCHAR(255))")
在上面的语法中,cursor.execute()
方法用于执行SQL语句,customers
是要创建的表名,id``name
和address
是表的列名。
插入数据
在SQL Server中,使用INSERT INTO
语句插入数据。以下是插入数据的基本语法:
import pyodbc
server = 'your_server_name'
database = 'your_database_name'
username = 'your_username'
password = 'your_password'
driver = '{ODBC Driver 17 for SQL Server}'
cnxn = pyodbc.connect('DRIVER=' + driver + ';SERVER=' + server + ';DATABASE=' + database + ';UID=' + username + ';PWD=' + password)
cursor = cnxn.cursor()
# 插入一条数据
sql = "INSERT INTO customers (name, address) VALUES (?, ?)"
val = ("John", "Highway 21")
cursor.execute(sql, val)
# 插入多条数据
sql = "INSERT INTO customers (name, address) VALUES (?, ?)"
val = [
("Peter", "Lowstreet 4"),
("Amy", "Apple st 652"),
("Hannah", "Mountain 21"),
("Michael", "Valley 345")
]
cursor.executemany(sql, val)
# 提交更改
cnxn.commit()
在上面的语法中,cursor.execute()
方法用于插入一条数据,cursor.executemany()
方法用于插多条数据,cnxn.commit()
方法于提交更改。
查询数据
在SQL Server中,可以使用SELECT
语句查询数据。以下是查询数据的基本语法:
import pyodbc
server = 'your_server_name'
database = 'your_database_name'
username = 'your_username'
password = 'your_password'
driver = '{ODBC Driver 17 for SQL Server}'
cnxn = pyodbc.connect('DRIVER=' + driver + ';SERVER=' + server + ';DATABASE=' + database + ';UID=' + username + ';PWD=' + password)
cursor = cnxn.cursor()
# 查询所有数据
cursor.execute("SELECT * FROM customers")
myresult = cursor.fetchall()
# 查询指定条件的数据
sql = "SELECT * FROM customers WHERE address = ?"
adr = ("Highway 21", )
cursor.execute(sql, adr)
myresult = cursor.fetchall()
在上面的语法中,cursor.execute()
方法用于执行查询,cursor.fetchall()
方法用于获取查询结果。
更新数据
在SQL Server中,可以使用UPDATE
语句更新数据以下是更新数据的基本语法:
import pyodbc
server = 'your_server_name'
database = 'your_database_name'
username = 'your_username'
password = 'your_password'
driver = '{ODBC Driver 17 for SQL Server}'
cnxn = pyodbc.connect('DRIVER=' + driver + ';SERVER=' + server + ';DATABASE=' + database + ';UID=' + username + ';PWD=' + password)
cursor = cnxn.cursor()
# 更新数据
sql = "UPDATE customers SET address = ? WHERE name = ?"
val = ("Valley 345", "Michael")
cursor.execute(sql, val)
# 提交更改
cnxn.commit()
在上面的语法中,cursor.execute()
方法用于更新数据,cnxn.commit()
方法用于提交更改。
删除数据
在SQL Server中,可以使用DELETE
语删除。以下是删除数据的基本语法:
import pyodbc
server = 'your_server_name'
database = 'your_database_name'
username = 'your_username'
password = 'your_password'
driver = '{ODBC Driver 17 for SQL Server}'
cnxn = pyodbc.connect('DRIVER=' + driver + ';SERVER=' + server + ';DATABASE=' + database + ';UID=' + username + ';PWD=' + password)
cursor = cnxn.cursor()
# 删除数据
sql = "DELETE FROM customers WHERE address = ?"
adr = ("Mountain 21", )
cursor.execute(sql, adr)
# 提交更改
cnxn.commit()
在上面的语法中,cursor.execute()
方法用于删除数据,cnxn.commit()
方法用于提交改。
示例1
这个示例中,我们将使用Python连接到SQL Server数据库,并创建一个表,然后插入一些数据查询所有数据并打印结果。
以下是Python代码:
import pyodbc
server = 'your_server_name'
database = 'your_database_name'
username = 'your_username'
password = 'your_password'
driver = '{ODBC Driver 17 for SQL Server}'
cnxn = pyodbc.connect('DRIVER=' + driver + ';SERVER=' + server + ';DATABASE=' + database + ';UID=' + username + ';PWD=' + password)
cursor = cnxn.cursor()
# 创建表
cursor.execute("CREATE TABLE customers (id INT IDENTITY(1,1) PRIMARY KEY, name VARCHAR(255), address VARCHAR(255))")
# 插入数据
sql = "INSERT INTO customers (name, address) VALUES (?, ?)"
val = ("John", "Highway 21")
cursor.execute(sql, val)
# 查询所有数据
cursor.execute("SELECT * FROM customers")
myresult = cursor.fetchall()
# 打印查询结果
for x in myresult:
print(x)
在上面的代码中,我们使用pyodbc
模块连接到SQL Server数据库。然后,我们使用cursor.execute()
方法创建一个表,使用cursor.execute方法插入一条数据。最后,我们使用
cursor.fetchall()方法获取查询结果,使用
for循环遍每一行,并使用
print()`函数打印每一行。
示例2
在这个示例中,我们将使用Python连接到SQL Server数据库,并更新一些数据,然后查询指定条件的数据并打印结果。
以下是Python代码:
import pyodbc
server = 'your_server_name'
database = 'your_database_name'
username = 'your_username'
password = 'your_password'
driver = '{ODBC Driver 17 for SQL Server}'
cnxn = pyodbc.connect('DRIVER=' + driver + ';SERVER=' + server + ';DATABASE=' + database + ';UID=' + username + ';PWD=' + password)
cursor = cnxn.cursor()
# 更新数据
sql = "UPDATE customers SET address = ? WHERE name = ?"
val = ("Valley 345", "Michael")
cursor.execute(sql, val)
# 查询指定条件的数据
sql = "SELECT * FROM customers WHERE address = ?"
adr = ("Valley 345", )
cursor.execute(sql, adr)
myresult = cursor.fetchall()
# 打印查询结果
for x in myresult:
print(x)
在上面的代码中,我们使用pyodbc
模块连接到SQL Server数据库。然后,我们使用cursor.execute()
方法更新一条数据。最后,我们使用cursor.fetchall()
方法获取查询结果,使用for
循环遍历每一行,并使用print()
函数打印每一行。
以上是使用连接和操作SQL Server数据库的完整攻略,包括连接SQL Server数据库、创建表、插入数据查询数据、更新数据和数据等操作。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何使用Python连接和操作SQL Server数据库? - Python技术站