如何使用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日

相关文章

  • 如何在Python中进行二次回归

    在Python中进行二次回归可以使用scikit-learn库中的PolynomialFeatures类和LinearRegression类。 下面是进行二次回归的完整步骤: 1. 导入所需库 import numpy as np import matplotlib.pyplot as plt from sklearn.preprocessing impor…

    python-answer 2023年3月25日
    00
  • python语言中有算法吗

    Python语言本身并没有算法,但是Python作为一种高级编程语言,提供了丰富的数据结构和算法库,可以方便地实现各种算法。在本攻略中,我们将介绍Python中常用的算法库和数据结构,并提供两个示例说明。 Python中常用的算法库和数据结构 算法库 Python中常用的算法库包括: NumPy:用于数值计算和科学计算的库,包括矩阵运算、线性代数、傅里叶变换…

    python 2023年5月14日
    00
  • Python办公自动化解决world文件批量转换

    由于本题目的内容较为复杂,我们需要进行较为详细的讲解。为了方便阅读,将整理出目录: 前置条件 安装Python-docx模块 解析word文件 转换word文件 实战一:word批量转txt 实战二:word批量转pdf 总结 1. 前置条件 在进行Python办公自动化的编写之前,需要具备以下条件: Python3.x环境 用于编写代码的编辑器或IDE 安…

    python 2023年6月3日
    00
  • Linux系统中有效用户组和初始用户组有什么作用于区别?

    在Linux系统中,一个用户可以属于多个用户组,每个用户组可以有不同的权限和访问控制规则。有效用户组和初始用户组都是用户关联的用户组,但它们的作用有所不同。 有效用户组是指用户当前操作的用户组,对于一个用户来说,它可以属于多个用户组,但是在任意时刻,只有一个用户组是有效用户组。有效用户组通常由用户在登录时指定的,也可以在登录后通过使用newgrp命令来更改。…

    database 2023年5月22日
    00
  • Python里字典的基本用法(包括嵌套字典)

    现在我将为你详细讲解Python中字典的基本用法,包括嵌套字典,以下是详细攻略。 字典的基本用法 字典(dictionary)是 python3 中的一个重要数据类型,在字典中,每个数据都是由一个键和对应的值所组成的键值对。 创建字典 我们可以使用一对大括号来创建一个空字典,也可以在大括号中使用键值对的形式来创建字典。 # 创建空字典 dict1 = {} …

    python 2023年5月13日
    00
  • 解读python正则表达式括号问题

    解读Python正则表达式括号问题 正则表达式是一种强大的文本处理工具,可以用于各种文本处理任务,如数据清洗、文本分析、信息提取等。Python中,我们可以使用模块来操作正则表达式。本攻略将详细讲解Python正则表达式中括号的使用,包括捕获组、非获组、正向前瞻、反向前瞻等概念,以及如何使用括号进行文本匹配。 捕组 捕获组正则表达式中用括号()括来的部分,可…

    python 2023年5月14日
    00
  • Python爬虫包 BeautifulSoup  递归抓取实例详解

    下面开始详细讲解“Python爬虫包 BeautifulSoup 递归抓取实例详解”。 1. 前言 为了更好的理解本文内容,你需要有一定的 Python 编程基础和 HTML 基础。如果你还不了解,可以先去了解一下。 在本文中,我们将使用 BeautifulSoup 这个 Python 爬虫包来实现递归抓取目标数据的功能。递归抓取的含义是:不断的按照某一规律…

    python 2023年5月14日
    00
  • Django实现将一个字典传到前端显示出来

    下面是详细的攻略: 1. 在后端定义数据 首先,你需要在后端定义一个字典变量来存储数据。例如,以下为一个简单的字典: my_dict = {‘name’: ‘alice’, ‘age’: 20, ‘gender’: ‘female’} 2. 在视图函数中传递数据 接下来,在你的视图函数中传递这个字典变量。你可以使用Django中的render函数来渲染模板并…

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