一文教会你用python连接并简单操作SQLserver数据库

作者:鲨鱼啵啵霸 时间:2024-01-17 14:11:34 

实验环境:

python版本3.9

Python 3.9.7 (tags/v3.9.7:1016ef3, Aug 30 2021, 20:19:38) [MSC v.1929 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

SQLserver版本2019

exec xp_msver

一文教会你用python连接并简单操作SQLserver数据库

基本步骤:

安装pymssql模块

#pip 安装pymssql (python3.6以上直接安装不上)
pip install pymssql
#在官网下载pymssql对应版本,在当前文件夹下
https://pypi.org/project/pymssql/
pip install pymssql-2.2.4-cp39-cp39-win_amd64.whl

编写代码

sqlserver.py

#coding=utf-8  #settng设置全局为utf—8格式
#导包
import pymssql
#创建连接字符串  (sqlserver默认端口为1433)
conn =pymssql.connect(host='localhost', #这里的host='_'可以用本机ip或ip+端口号
                        server="******",#本地服务器
                        port="1433",#TCP端口
                        user="sa",password="******",
                        database="******",
                        charset="GBK"
#这里设置全局的GBK,如果设置的是UTF—8需要将数据库默认的GBK转化成UTF-8    
   )
if conn:
  print('连接数据库成功!')#测试是否连接上

查询

#查询语句
cursor =conn.cursor()  #使用cursor()方法获取操作游标
sql_select="SELECT * FROM STUDENT"  #数据库查询语句
cursor.execute(sql_select) #执行语句
results =cursor.fetchall() #获取所有记录列表
#print('原始:',end="")
#print(result)   #后边有空格

for result in results:
   result= list(result) #元组转化为列表
   for res in range (len(result)):
       if isinstance(result[res],str):
           result[res]=result[res].replace(' ','')解决空格问题
   result=tuple(result) #列表再转换为元组
   print("处理后:",end="")
   print(result)
#
conn.commit()
#关闭数据库
conn.close()

原始:

一文教会你用python连接并简单操作SQLserver数据库

处理后:

一文教会你用python连接并简单操作SQLserver数据库

插入

#插入语句
cursor =conn.cursor()
sql_insert="insert into student values(990031,'wang',20,'男','bb','aa')"
cursor.execute(sql_insert)
conn.commit()
conn.close()

更新

#更新语句
cursor =conn.cursor()
sql_update="update student set AGE=21 where SNO='990031' "
cursor.execute(sql_update)
conn.commit()
conn.close()

删除语句

#删除语句
cursor =conn.cursor()
sql_delete="delete from student where sno='990031'"
cursor.execute(sql_delete)
conn.commit()
conn.close()

增加表

#新建表
cursor =conn.cursor()
sql_create="""create table table_student(SNO int primary key not null,SNAME varchar(100),SDEPT varchar(100),BPLACE varchar(100))"""
cursor.execute(sql_create)
conn.commit()
conn.close()

错误1:

报错

一文教会你用python连接并简单操作SQLserver数据库

原因

没有把TCP/IP协议打开

查看TCP端口位置:

一文教会你用python连接并简单操作SQLserver数据库

保证TCP/IP开启:

开启之后,服务,重新启动服务

一文教会你用python连接并简单操作SQLserver数据库

一文教会你用python连接并简单操作SQLserver数据库

错误2:

出现查询结果乱码:

解决办法:

查看sqlserver的编码:

select COLLATIONPROPERTY('chinese_PRC_Stroke_CI_AI_KS_WS','CodePage')

一文教会你用python连接并简单操作SQLserver数据库

查询结果:

936 简体中文gbk

950 繁体中文BIG5

437 加拿大/美国 英语

932 日文

949 韩文

866 俄文

来源:https://blog.csdn.net/weixin_55945121/article/details/125617085

标签:python,连接,sqlserver数据库
0
投稿

猜你喜欢

  • python实现弹窗祝福效果

    2021-09-08 04:22:15
  • python2.7 安装pip的方法步骤(管用)

    2022-02-11 06:28:43
  • Python图像阈值化处理及算法比对实例解析

    2022-08-14 19:32:33
  • vue中子组件调用兄弟组件方法

    2024-04-30 10:24:44
  • php+lottery.js实现九宫格抽奖功能

    2024-04-17 10:34:28
  • Python实现一键抠图的示例代码

    2022-01-31 10:15:49
  • python Pexpect模块的使用

    2023-01-23 20:54:58
  • python交易记录整合交易类详解

    2022-09-15 20:18:37
  • Pycharm操作Git及GitHub的步骤详解

    2023-02-19 04:34:59
  • 用css实现透视效果

    2009-09-05 16:33:00
  • Python asyncio的一个坑

    2022-04-06 20:58:28
  • 除Console.log()外更多的Javascript调试命令

    2023-08-12 23:31:17
  • python安装pillow的三种方法

    2023-07-20 02:36:53
  • 解决Pyinstaller打包为可执行文件编码错误的问题

    2021-06-30 20:47:46
  • jquery eval解析JSON中的注意点介绍

    2024-04-19 10:01:07
  • 怎样设计"帮助"最有效?

    2008-04-12 14:18:00
  • .NET中书写XML的一种简单方法

    2007-08-23 12:55:00
  • 手把手教你使用Python解决简单的zip文件解压密码

    2021-01-20 10:08:41
  • Python多重继承的方法解析执行顺序实例分析

    2021-06-08 04:34:51
  • golang编程入门之http请求天气实例

    2024-05-09 09:32:00
  • asp之家 网络编程 m.aspxhome.com