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

yizhihongxing

在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根据相邻关系还原数组的两种方式(单向构造和双向构造)”的完整攻略。以下是详细步骤和示例。 根据相邻关系还原数组的概述 在Python中,有时候我们需要根据相邻关系还原数组。例如,我们有一个长度为n的数组,其中每个元素都是1到n之间的整数,且每个元素都与相邻的元素有关系。现在,我们需要根据这些关系还原原始数组。这个问题可以使…

    python 2023年5月13日
    00
  • python 日志 logging模块详细解析

    Python日志logging模块详细解析 Python中的logging模块是一个非常强大的日志记录工具,它可以帮助我们记录应用程序的运行状态和错误信息,从而方便我们进行调试和排错。本文将详细绍Python中logging模块的使用方法和示例说明。 logging模块的基本使用 logging模块是Python中一个标准库,我们可以直使用它来记录日志信息。…

    python 2023年5月14日
    00
  • Python不规范的日期字符串处理类

    Python不规范的日期字符串处理类 在Python中,处理日期字符串是一个经常遇到的问题,特别是当你需要处理非标准化格式的日期字符串时。Python内置了许多模块和函数来处理日期,例如datetime、time、calendar、dateutil等,但是它们并不能完全处理所有的日期字符串。 在这篇文章中,我们将介绍如何处理Python中非规范化的日期字符串…

    python 2023年6月2日
    00
  • Redis中统计各种数据大小的方法

    转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/125.html?1455853369如果 MySQL 数据库比较大的话,我们很容易就能查出是哪些表占用的空间;不过如果 Redis 内存比较大的话,我们就不太容易查出是哪些(种)键占用的空间了。 有一些工具能够提供必要的帮助,比如 r…

    Redis 2023年4月13日
    00
  • 教你用 Python 发送告警通知到微信的操作过程

    在Python中,我们可以使用企业微信提供的API来发送告警通知到微信。下面是Python发送告警通知到微信的操作过程: 1. 获取企业微信的API密钥 在使用企业微信API发送消息之前,我们需要先获取企业微信的API密钥。我们可以在企业微信管理后台中创建一个应用,并获取应用的corpid、corpsecret和agentid。这些信息将用于后续的API调用…

    python 2023年5月14日
    00
  • Python list运算操作代码实例解析

    以下是详细讲解“Python列表运算操作代码实例解析”的完整攻略。 在Python中,列表是一种常用的数据类型,可以用来存储一组有序的数据。除了基本的增删改查操作,Python还提供了一些列表运算操作,可以更加方便地处理列表数据。本文将介绍Python中常用的列表运算操作,并提供两个示例说明。 运算操作一:列表拼接 列表拼接是将两个或多个列表合并成一个新的列…

    python 2023年5月13日
    00
  • Python 3.x 新特性及10大变化

    Python 3.x 新特性及10大变化 Python 3是Python语言的一个主要版本,它在语言基础、标准库以及各种工具和模块上都引入了许多新特性。以下是Python 3.x相对于Python 2.x的主要变化: 1. print函数 在Python 2.x中,print语句是一个语句,不是一个函数,它通常带有一个逗号分隔的参数列表,例如 print “…

    python 2023年5月13日
    00
  • oracle 11g的警告日志和监听日志的删除方法

    删除Oracle 11g的警告日志和监听日志的方法如下: 1. 删除警告日志 Oracle 11g的警告日志一般存储在$ORACLE_BASE/diag/rdbms/$ORACLE_SID/\$ORACLE_SID/trace/目录下,并且以alert_$(ORACLE_SID).log为文件名。 要删除警告日志,需要执行以下步骤: 停止数据库实例: SQL…

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