python连接sql引用的第三方库_python 连接 SQL Server 数据库(使用 pymssql 库)

importpymssql

host= '127.0.0.1'user= 'sa'password= '******'database= 'WMS'

#数据库连接

defdb_connect():#打开数据库连接

db =pymssql.connect(host, user, password, database)#使用 cursor()方法创建一个游标对象 cursor

cursor =db.cursor()#使用 execute()方法执行 SQL 查询

cursor.execute('select @@version')#使用 fetchone()方法获取单条数据

data =cursor.fetchone()print(f'Database version: {data[0]}')#关闭数据库连接,此时自动关闭多有游标对象

db.close()#创建数据库表

defcreate_table():#打开数据库连接

db =pymssql.connect(host, user, password, database)#使用 cursor()方法创建一个游标对象 cursor

cursor =db.cursor()#使用 execute()方法执行 SQL,如果表存在就删除

cursor.execute('drop table if exists teacher')#使用预处理语句创建表

sql = '''create table teacher(

id int primary key,

name varchar(20) not null,

sex varchar(2) not null,

age int not null)'''

try:

cursor.execute(sql)#提交到数据库执行

db.commit()print('CREATE TABLE SUCCESS.')#捕获与数据库相关的错误

exceptpymssql.Error as err:print(f'CREATE TABLE FAILED, CASE:{err}')#如果发生错误就回滚

db.rollback()finally:#关闭数据库连接

db.close()#删除数据库表

defdrop_table():#打开数据库连接

db =pymssql.connect(host, user, password, database)#使用 cursor()方法创建一个游标对象 cursor

cursor =db.cursor()#使用预处理语句删除表

sql = 'drop table teacher'

try:

cursor.execute(sql)#提交到数据库执行

db.commit()print('DROP TABLE SUCCESS.')#捕获与数据库相关的错误

exceptpymssql.Error as err:print(f'DROP TABLE FAILED, CASE:{err}')#如果发生错误就回滚

db.rollback()finally:#关闭数据库连接

db.close()#数据库插入

definsert_record():#打开数据库连接

db =pymssql.connect(host, user, password, database)#使用 cursor()方法创建一个游标对象 cursor

cursor =db.cursor()#SQL 插入语句

sql = "insert information values(1001, '小明', '男', 18)"

try:#执行 SQL 语句

cursor.execute(sql)#提交到数据库执行

db.commit()print('INSERT SUCCESS.')#捕获与数据库相关的错误

exceptpymssql.Error as err:print(f'INSERT FAILED, CASE:{err}')#如果发生错误就回滚

db.rollback()finally:#关闭数据库连接

db.close()#数据库删除

defdelete_record():#打开数据库连接

db =pymssql.connect(host, user, password, database)#使用 cursor()方法创建一个游标对象 cursor

cursor =db.cursor()#SQL 删除语句

sql = "delete from information where sex='女'"

try:#执行 SQL 语句

cursor.execute(sql)#提交到数据库执行

db.commit()print('DELETE SUCCESS.')#捕获与数据库相关的错误

exceptpymssql.Error as err:print(f'DELETE FAILED, CASE:{err}')#如果发生错误就回滚

db.rollback()finally:#关闭数据库连接

db.close()#数据库更新

defupdate_record():#打开数据库连接

db =pymssql.connect(host, user, password, database)#使用 cursor()方法创建一个游标对象 cursor

cursor =db.cursor()#SQL 更新语句

sql = "update information set age=25 where name='小明'"

try:#执行 SQL 语句

cursor.execute(sql)#提交到数据库执行

db.commit()print('UPDATE SUCCESS.')#捕获与数据库相关的错误

exceptpymssql.Error as err:print(f'UPDATE FAILED, CASE:{err}')#如果发生错误就回滚

db.rollback()finally:#关闭数据库连接

db.close()#数据库查询

defquery_record():#打开数据库连接

db = pymssql.connect(host, user, password, database, charset='utf8')#使用 cursor()方法创建一个游标对象 cursor

cursor =db.cursor()#SQL 查询语句

sql = 'select * from information'

try:#执行 SQL 语句

cursor.execute(sql)'''fetchone():该方法获取下一个查询结果集,结果集是一个对象。

fetchall():接收全部返回结果行。

rowcount:返回执行 execute()方法后影响的行数'''

#获取所有记录列表

results =cursor.fetchall()for row inresults:

num=row[0]#解决中文乱码问题

name = row[1].encode('latin-1').decode('gbk')

sex= row[2].encode('latin-1').decode('gbk')

age= row[3]#输出结果

print(f'id:{num}, name:{name}, sex:{sex}, age:{age}')#捕获与数据库相关的错误

exceptpymssql.Error as err:print(f'QUERY MySQL table FAILED, CASE:{err}')finally:#关闭数据库连接

db.close()if __name__ == '__main__':

db_connect()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值