Python操作SQLServer数据库(创建库&连接库&创建数据表

Python处理数据库(sql)

操作步骤:

  1. 导入包               import pymssql
  2. 创建和sql服务端的连接对象     pymssql.connect( 参数列表 )
  3. 获取游标对象(cursor).游标对象是数据库和python之间的桥梁,是打工人。

Cursor=connect.cursor( )

  1. 执行sql语句

Row_count=cursor.execute(sql语句)

  1. 获取查询结果集

Result=cursor.fetchall()

  1. 将增加或者修改(对数据库数据有影响的操作)提交到数据库当中,如果不进行提交是看不到结果的。

Connect.commit( )

  1. 关闭游标对象           cursor.close( )
  2. 关闭连接                  connect.close( )

如果不关闭,python会一直占用数据库。

  1. Ps:如果数据操作失败,需要进行数据回滚:connect.rollback( )

  1. Python建库操作:

import pymssql
connect=pymssql.connect(
host='127.0.0.1',user='sa',password='123456')
cursor=connect.cursor()
sql=
"create database Test1"
cursor.execute(sql)
connect.commit()
cursor.close()
connect.close()

常规思路建库是这样的,但是运行时系统会报错。原因:pymssql库规定对database 的操作必须是在autocommit为Ture时进行。也就是在execute时就会立即向数据库发出操作请求,而不是等待运行到commit()时再一起执行。

这样做的目的是为了保证对Table的新建/删除/插入数据等操作,其位置定位是准确的,也就是说在执行Table操作时整个数据库系统里的所有database名称都是固定的,不存在不确定的情况。

解决方案:python使用pymssql库创建sql serve数据库_人生苦短,我用python-CSDN博客

import pymssql
conn = pymssql.connect(
host='127.0.0.1', user='sa', password='123456')
cursor = conn.cursor() 
# 创建游标
conn.autocommit(True)   #指令立即执行,无需等待conn.commit()
sql = "CREATE DATABASE DataBase_test "
cursor.execute(sql)
if sql:
   
print("数据库创建成功!!")
conn.autocommit(
False) #指令关闭立即执行,以后还是等待conn.commit()时再统一执行
conn.close()

  1. Python连接数据库

import pymssql
#con=pymssql.connect()
host='127.0.0.1'
user='sa'
password='123456'
database='test'
"""
if con:
    print("
连接成功")
"""

try:
    con=pymssql.connect(host,user,password,database)
   
print("连接成功")
except pymssql.Error as e:
   
print("连接失败"+str(e))

第一种方式直接进行导包,使用connect方法连接,然后输入参数对象,用if语句判断是否连接成功。

第二种则是导包之后,输入参数以后使用异常处理语句来判断是否连接成功,不成功输出错误原因。需要注意的是第二种的host需要输入主机ip地址,输入localhost无法运行,第一种可以直接输入localhost来进行连接。

Python连接数据库的时候参数列表需要输入主机名或ip地址,用户名,密码和连接数据库的名称。

  1. Python建库建表连接全部操作:

import pymssql
conn = pymssql.connect(
host='127.0.0.1', user='sa', password='123456',database='DataBase_test')
if conn:
   
print("数据库连接成功")
cursor = conn.cursor() 
# 创建游标
# #数据库的创建操作:
# conn.autocommit(True)   #指令立即执行,无需等待conn.commit()
# sql = "CREATE DATABASE DataBase_test "
# cursor.execute(sql)
# if sql:
#     print("
数据库创建成功!!")
# conn.autocommit(False) #
指令关闭立即执行,以后还是等待conn.commit()时再统一执行
#数据库中数据表的创建操作:
cursor.execute("drop table if exists table_test "#先判断是否存在这个表,如果存在删除
sql="""                                            
    create table table_test(
    id int primary key not null,
    name varchar(100),
    salesrep varchar(100)
     )
    """

#上面编写的sql语句用游标执行。
cursor.execute(sql)
if sql:
   
print("数据表创建成功")
conn.commit()
cursor.close()
conn.close()

上述就是Python连接SQLserver的基本操作流程

  • 4
    点赞
  • 58
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值