概述
Python处理数据库(sql)
操作步骤:
- 导入包 import pymssql
- 创建和sql服务端的连接对象 pymssql.connect( 参数列表 )
- 获取游标对象(cursor).游标对象是数据库和python之间的桥梁,是打工人。
Cursor=connect.cursor( )
- 执行sql语句
Row_count=cursor.execute(sql语句)
- 获取查询结果集
Result=cursor.fetchall()
- 将增加或者修改(对数据库数据有影响的操作)提交到数据库当中,如果不进行提交是看不到结果的。
Connect.commit( )
- 关闭游标对象 cursor.close( )
- 关闭连接 connect.close( )
如果不关闭,python会一直占用数据库。
- Ps:如果数据操作失败,需要进行数据回滚:connect.rollback( )
- 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()
- 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地址,用户名,密码和连接数据库的名称。
- 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的基本操作流程
最后
以上就是重要乐曲为你收集整理的Python操作SQLServer数据库(创建库&连接库&创建数据表的全部内容,希望文章能够帮你解决Python操作SQLServer数据库(创建库&连接库&创建数据表所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复