Python操作SQL Server(二)创建数据表并向数据表中添加数据
2021/4/15 2:30:44
本文主要是介绍Python操作SQL Server(二)创建数据表并向数据表中添加数据,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
目录
- 创建数据表
- 向数据表中添加数据
- 实例
创建数据表
首先创建连接对象
import pymssql #调入模块connect = pymssql.connect(host='localhost',server='服务器名称',port='端口号',user='用户名',password='用户密码',database='数据库名称') #服务器名,账户,密码,数据库名
创建游标对象(数据表的创建,查询等命令都要用游标对象执行)
db = connect.cursor() #创建游标对象
执行数据库的命令格式:
游标对象.execute(“数据库命令”)
创建数据表,创建的数据表将会添加到你所连接的数据库里面。
格式:
#首先判断是否有数据表,有的话就执行删除命令,然后创建数据表db.execute(""" IF OBJECT_ID('数据表名称','U') IS NOT NULL DROP TABLE 数据表名称 CREATE TABLE 数据表名称( 列名 数据类型 是否能为空 ) """)
例:
判断有无数据表number,有的话删除然后新建,在数据表中添加列名为 ID 数据类型为 整形 不能为空。添加列名为 Url 数据类型为 长字符串型 不能为空
db.execute(""" IF OBJECT_ID('number','U') IS NOT NULL DROP TABLE number CREATE TABLE number( ID INT NOT NULL, Url VARCHAR(30) NOT NULL ) """)
向数据表中添加数据
格式:
db.execute("INSERT INTO 数据表名称 VALUES ('添加的数据','添加的数据')")
这里要注意的是你所要添加数据的项数要和数据表的列数是相等的,即你所添加的数据和数据表的列名是一一对应的,有三列就一次添加三项数据。
还有就是你所添加的数据类型要和每列要求的数据类型是相同的。
例:
db.execute("INSERT INTO number VALUES ('第一列','第二列','第三列')"
执行后结果如图:
当我们直接执行这些命令时,他是不会产生变化的,因为我们的命令还没有被提交,接下来我们就要添加语句:
connect.commit() #提交数据
现在再去看我们的数据表就可以发现,我们所要添加的数据就成功被添加到了数据表中。
当执行完所有数据库命令后,要记得断开Python和数据库的连接,执行语句:
connect.close() #关闭连接
实例
下面就附一个爬取网页信息并存取到数据表中的实例。
import requestsfrom lxml import etreeimport pymssql #引入pymssql模块#创建连接对象connect = pymssql.connect(host='localhost',server='服务器名称',port='端口号',user='用户名',password='用户密码',database='数据库名称') #服务器名,账户,密码,数据库名# print(connect) 可以输出查看一下连接对象if connect:print("连接成功!")url = "http://www.tiantianxieye.com/"html = requests.get(url).text etree = etree.HTML(html)number = etree.xpath('//div[@class="ListLink2"]/ul/li/a/text()') #获取数据表中三个列名对应的三项数据number_url = etree.xpath('//div[@class="ListLink2"]/ul/li/a/@href')target = etree.xpath('//div[@class="ListLink2"]/ul/li/a/@target')# print(number_url)db = connect.cursor() #创建游标对象#用游标对象执行SQL命令,创建数据表,添加列。db.execute(""" IF OBJECT_ID('number','U') IS NOT NULL DROP TABLE number CREATE TABLE number( Name VARCHAR(20) NOT NULL, Url VARCHAR(30) NOT NULL, Bank VARCHAR(10) NOT NULL ) """)#循环爬取的数据,依次写入数据表中。for i in range(len(number)):num = str(number[i])href = str(number_url[i])bank = str(target[i])db.execute("INSERT INTO number VALUES ('%s','%s','%s')" % (num,href,bank)) #执行SQL命令 数据表名称不区分大小写 所以这里的number = Number添加的数据要放在括号内 添加的项数要和数据表中的列数相等 并且要对应相对列的类型connect.commit() #提交数据connect.close() #关闭连接
执行结果如图:
这篇关于Python操作SQL Server(二)创建数据表并向数据表中添加数据的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-01-08Docker下的SqlServer发布订阅启用
- 2023-06-05Docker安装MS SQL Server并使用Navicat远程连接
- 2023-05-25深入浅出 SQL Server CDC 数据同步
- 2023-05-12通过空间占用和执行计划了解SQL Server的行存储索引
- 2023-04-24以SQLserver为例的Dapper详细讲解
- 2022-11-30SQL server高级函数查询
- 2022-11-26SQL SERVER数据库服务器CPU不能全部利用原因分析
- 2022-11-21SQL Server 时间算差值/常用函数
- 2022-11-20调试Archery连接SQL Server提示驱动错误
- 2022-10-22SQL Server 完整、差异备份+完整、差异还原(详细讲解,规避错误)