如何使用Python连接和操作SQL Server数据库?

在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``nameaddress是表的列名。

插入数据

在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技术站

(0)
上一篇 2023年5月12日
下一篇 2023年5月12日

相关文章

  • python3 sorted 如何实现自定义排序标准

    Python3中的sorted()函数可以按指定的规则对一个可迭代对象进行排序,默认是按照对象元素大小进行排序。但是,有时候我们需要按照自定义的规则进行排序,比如按照一个对象的某个属性进行排序。这时我们可以使用sorted()函数的key参数和cmp参数来实现自定义排序。 key参数实现自定义排序 key参数用来指定一个函数,此函数会在每个元素上执行,将元素…

    python 2023年5月14日
    00
  • 查看postgresql系统信息的常用命令操作

    下面是查看 PostgreSQL 系统信息的常用命令操作的完整攻略。 pg_controldata pg_controldata 命令用于查看 PostgreSQL 数据库集群控制文件的信息,包括该文件的位置、该集群的持久性实现方式和数据校验方式等。 使用示例: $ pg_controldata /path/to/postgresql/data 其中 /pa…

    database 2023年5月22日
    00
  • 解决win64 Python下安装PIL出错问题(图解)

    下面就来详细讲解“解决win64Python下安装PIL出错问题(图解)”的完整攻略。 问题描述 在windows64位系统下安装Python Imaging Library(PIL)时,可能会遇到以下错误提示: Unable to find vcvarsall.bat 或者 lipo: can’t open input file: /var/folders…

    python 2023年5月14日
    00
  • Python调整数组形状如何实现

    Python中可以使用NumPy库中的ndarray对象来实现数组和矩阵的操作。其中,调整数组形状是常见的操作之一。本文将介绍Python如何调整数组形状的方法。 1. reshape()函数 reshape()函数是NumPy库中常用的数组形状调整函数。该函数可以将一个数组转换为另一种形状,但是这两种形状所包含的元素数量必须相同。 reshape()函数的…

    python 2023年6月5日
    00
  • Python读取Excel数据并生成图表过程解析

    Python读取Excel数据并生成图表过程解析 在本文中,我们将详细讲解如何使用Python读取Excel数据并生成图表。具体来说,我们将使用Python中的pandas和matplotlib库来实现该过程。 步骤1:导入所需的库 首先,我们需要导入所需的库。 import pandas as pd import matplotlib.pyplot as …

    python 2023年5月13日
    00
  • 实战MySQL升级的最佳方法

    实战 MySQL 升级是一个比较复杂的过程,需要谨慎选择和使用不同的工具和技巧。本文将介绍如何进行 MySQL 升级,包括备份数据、选择合适的 MySQL 版本、升级前的准备工作、升级步骤和升级后的测试等内容。 备份数据 在升级 MySQL 前需要先备份数据库,以防数据丢失。可以通过以下两种方式进行备份: 1. 导出 SQL 文件 使用 MySQL 命令行工…

    database 2023年5月22日
    00
  • Python 通过调用接口获取公交信息的实例

    当我们需要获取公交信息时,我们可以通过调用公交公司提供的数据接口来获取。本文将为大家介绍如何使用Python调用接口获取公交信息。 步骤一:获取API接口 首先,我们需要从公交公司获取数据接口的URL和接口参数。以“杭州公共交通总公司”提供的实时公交线路信息为例,数据获取步骤如下: 打开“杭州公交总公司”官网(http://www.hzbus.cn),点击“…

    python 2023年6月3日
    00
  • 浅谈Python数学建模之固定费用问题

    浅谈Python数学建模之固定费用问题 在实际生产和经营中,企业需要考虑固定费用和变动费用的问题。固定费用是指不随产量变化而变化的费用,如租金、折旧、管理费用等;变动费用是指随产量变化而变化的费用,如原材料、人工、运输等。本文将详细讲解Python数学建模中固定费用问题的建模方法和实现过程,并提供两个示例。 示例1:固定费用问题的建模方法 假设某企业的固定费…

    python 2023年5月15日
    00
合作推广
合作推广
分享本页
返回顶部