python 连接 SQL Server 数据库
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python 连接 SQL Server 数据库,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含6044字,纯文字阅读大概需要9分钟。
内容图文
!/usr/bin/python # -*- coding:utf-8 -*- import pymssql import pyodbc host = ‘127.0.0.1:1433‘ user = ‘sa‘ password = ‘*****‘ database = ‘student‘ # SERVER是服务器名称,DATABASE是数据库名称,UID是用户名,PWD是密码 odbc = ‘DRIVER={SQL Server};SERVER=DESKTOP-MC70Q1A;DATABASE=student;UID=sa;PWD=******‘ # 数据库pymssql连接 def db_connect(): # 打开数据库连接 db = pymssql.connect(host, user, password, database) # 使用cursor()方法创建一个游标对象cursor cursor = db.cursor() # 使用execute()方法执行SQL查询 cursor.execute(‘SELECT @@VERSION‘) # 使用fetchone()方法获取单条数据 data = cursor.fetchone() print(‘数据库版本为:%s‘ % data) # 关闭数据库连接 db.close() # 数据库pyodbc连接 def db_connect1(): # 打开数据库连接 db = pyodbc.connect(odbc) # 使用cursor()方法创建一个游标对象cursor cursor = db.cursor() # 使用execute()方法执行SQL查询 cursor.execute(‘SELECT @@VERSION‘) # 使用fetchone()方法获取单条数据 data = cursor.fetchone() print(‘数据库版本为:%s‘ % ‘‘.join(data)) # 关闭数据库连接 db.close() # 数据库pymssql插入 def insert_record(): db = pymssql.connect(host, user, password, database) cursor = db.cursor() # 插入语句 sql = """ INSERT Course VALUES(‘10021‘,‘插入课程1‘,NULL) INSERT Course VALUES(‘10022‘,‘插入课程2‘,NULL) INSERT Course VALUES(‘10023‘,‘插入课程3‘,NULL) """ try: # 执行sql语句 cursor.execute(sql) # 提交到数据库执行 db.commit() print(‘插入成功‘) except Exception as e: print(‘插入失败:%s‘ % e) # 如果发生错误就回滚 db.rollback() finally: # 关闭数据库连接 db.close() # 数据库pyodbc插入 def insert_record1(): db = pyodbc.connect(odbc) cursor = db.cursor() # 插入语句 sql = """ INSERT Course VALUES(‘10024‘,‘插入课程4‘,NULL) INSERT Course VALUES(‘10025‘,‘插入课程5‘,NULL) INSERT Course VALUES(‘10026‘,‘插入课程6‘,NULL) """ try: # 执行sql语句 cursor.execute(sql) # 提交到数据库执行 db.commit() print(‘插入成功‘) except Exception as e: print(‘插入失败:%s‘ % e) # 如果发生错误就回滚 db.rollback() finally: # 关闭数据库连接 db.close() # 数据库pymssql删除 def delete_record(): db = pymssql.connect(host, user, password, database) cursor = db.cursor() # 删除语句 sql = " DELETE FROM Course WHERE cno IN(‘10021‘,‘10022‘,‘10023‘)" try: # 执行sql语句 cursor.execute(sql) # 提交到数据库执行 db.commit() print(‘删除成功‘) except Exception as e: print(‘删除失败:%s‘ % e) # 如果发生错误就回滚 db.rollback() finally: # 关闭数据库连接 db.close() # 数据库pyodbc删除 def delete_record1(): db = pyodbc.connect(odbc) cursor = db.cursor() # 删除语句 sql = "DELETE FROM Course WHERE cno IN(‘10024‘,‘10025‘,‘10026‘)" try: # 执行sql语句 cursor.execute(sql) # 提交到数据库执行 db.commit() print(‘删除成功‘) except Exception as e: print(‘删除失败:%s‘ % e) # 如果发生错误就回滚 db.rollback() finally: # 关闭数据库连接 db.close() # pymssql创建数据库表 def create_table(): db = pymssql.connect(host, user, password, database) cursor = db.cursor() # 创建表语句 sql = """ DROP TABLE IF EXISTS New_table CREATE TABLE New_table( name CHAR(20) NULL, age INT, sex CHAR(2)) """ try: # 执行sql语句 cursor.execute(sql) # 提交到数据库执行 db.commit() print(‘创建表成功‘) except Exception as e: print(‘创建表失败:%s‘ % e) # 如果发生错误就回滚 db.rollback() finally: # 关闭数据库连接 db.close() # pyodbc创建数据库表 def create_table1(): db = pyodbc.connect(odbc) cursor = db.cursor() # 创建表语句 sql = """ DROP TABLE IF EXISTS New_table1 CREATE TABLE New_table1( name CHAR(20) NULL, age INT, sex CHAR(2)) """ try: # 执行sql语句 cursor.execute(sql) # 提交到数据库执行 db.commit() print(‘创建表成功‘) except Exception as e: print(‘创建表失败:%s‘ % e) # 如果发生错误就回滚 db.rollback() finally: # 关闭数据库连接 db.close() # 数据库pymssql查询 def query_data(): db = pymssql.connect(host, user, password, database) cursor = db.cursor() # 查询语句 sql = "SELECT * FROM Course WHERE cbefore=‘高等数学‘" try: # 执行sql语句 cursor.execute(sql) # 获取所有记录列表 results = cursor.fetchall() for row in results: cno = row[0] cname = row[1] cbefore = row[2] # 输出结果 print(‘课程号:{0}\t课程名:{1}\t\t先行课:{2}‘.format(cno, cname, cbefore)) except Exception as e: print(‘查询失败:%s‘ % e) finally: # 关闭数据库连接 db.close() # 数据库pyodbc查询 def query_data1(): db = pyodbc.connect(odbc) cursor = db.cursor() # 查询语句 sql = "SELECT * FROM Course WHERE cbefore=‘高等数学‘" try: # 执行sql语句 cursor.execute(sql) # 获取所有记录列表 results = cursor.fetchall() for row in results: cno = row[0] cname = row[1] cbefore = row[2] # 输出结果 print(‘课程号:{0}\t课程名:{1}\t\t先行课:{2}‘.format(cno, cname, cbefore)) except Exception as e: print(‘查询失败:%s‘ % e) finally: # 关闭数据库连接 db.close() # 数据库pymssql修改 def alter_table(): db = pymssql.connect(host, user, password, database) cursor = db.cursor() # 创建表语句 sql = """ ALTER TABLE New_table ALTER COLUMN sex CHAR(3) ALTER TABLE New_table DROP COLUMN age """ try: # 执行sql语句 cursor.execute(sql) # 提交到数据库执行 db.commit() print(‘修改表成功‘) except Exception as e: print(‘修改表失败:%s‘ % e) # 如果发生错误就回滚 db.rollback() finally: # 关闭数据库连接 db.close() # 数据库pyodbc修改 def alter_table1(): db = pymssql.connect(host, user, password, database) cursor = db.cursor() # 创建表语句 sql = """ ALTER TABLE New_table1 ALTER COLUMN sex CHAR(3) ALTER TABLE New_table1 DROP COLUMN age """ try: # 执行sql语句 cursor.execute(sql) # 提交到数据库执行 db.commit() print(‘修改表成功‘) except Exception as e: print(‘修改表失败:%s‘ % e) # 如果发生错误就回滚 db.rollback() finally: # 关闭数据库连接 db.close()在进行python连接数据库的时候,是通过百度搜索一步步尝试的。刚开始用的是pymssql模块,写到进行数据库查询的函数时这个模块输出来的结果总是出现乱码,网上也提供了几种解决办法,‘utf8’、‘gbk’编码都尝试过了,都没能解决问题。后来想着java连接sql server是通过jdbc连接的,就搜了一下python的,在后来的验证中成功解决了出现的乱码问题。这次实现还学到了使用sql修改表数据时,每次只能进行一次修改,如果还要继续进行修改,需要重新写‘alter table 表名’。
python 连接 SQL Server 数据库
标签:efi sql coding arc copy pass 函数 exception 数据库版本
本文系统来源:https://www.cnblogs.com/liumengsong/p/10127438.html
内容总结
以上是互联网集市为您收集整理的python 连接 SQL Server 数据库全部内容,希望文章能够帮你解决python 连接 SQL Server 数据库所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。