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 requests
from lxml import etree
import 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()  #关闭连接

执行结果如图:
在这里插入图片描述

可以使用pyodbc库来连接SQL Server数据库并进行数据导入。 首先需要安装pyodbc库,可以通过以下命令进行安装: ``` pip install pyodbc ``` 接着,需要创建一个ODBC数据源来连接SQL Server数据库。可以按照以下步骤进行设置: 1. 打开“控制面板”并选择“管理工具”。 2. 打开“ODBC数据源(64位)”或“ODBC数据源(32位)”(根据你的Python安装版本选择)。 3. 在“数据源”选项卡下选择“添加”。 4. 选择“SQL Server Native Client xx.x”作为驱动程序(xx.x示你安装的版本)。 5. 在“服务器”框输入SQL Server的名称或IP地址。 6. 在“身份验证”框选择相应的身份验证方式(Windows身份验证或SQL Server身份验证)。 7. 完成设置并测试连接。 一旦ODBC数据源设置完毕,可以使用以下Python代码将数据导入SQL Server数据库: ```python import pyodbc import pandas as pd # 连接SQL Server数据库 conn = pyodbc.connect('DSN=SQL Server;UID=user;PWD=password') # 读取数据 df = pd.read_csv('data.csv') # 将数据导入SQL Server数据库 df.to_sql('table_name', conn, if_exists='replace', index=False) # 关闭连接 conn.close() ``` 需要将代码的“SQL Server”替换为你创建的ODBC数据源名称,并替换“user”和“password”为你的SQL Server数据库的用户名和密码。同时,需要将“data.csv”替换为你要导入的数据文件路径,将“table_name”替换为你要导入的名。 这段代码将使用pandas库读取CSV文件数据,并使用to_sql方法将数据导入到SQL Server数据库。如果使用的名已存在,则使用“replace”参数替换原有数据。如果要将数据添加到现有,则使用“append”参数。如果要创建,则使用“fail”参数。 最后,需要通过conn.close()方法关闭连接。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值