汇总:SQL的采集与查询作业(教程与答案)
优采云 发布时间: 2022-11-23 23:31汇总:SQL的采集与查询作业(教程与答案)
免责声明:本文中的数据取自数据采集技术(初级)-------------------------------------------------------------------。
内容
1. 准备工具
我我
用的是Mariadb,在这个网站MariaDB基金会-,下载完成后,要安装,可以在本地设置一些基础,我在本地设置数据库密码,具体教程参考Windows安装mysql详细步骤_小白¥博客-CSDN博客_mysql Windows安装
2. 创建数据库和文档
设置完成后,打开软件并开始创建数据库代码:创建数据库数据库名称
create database mobileSale创建
数据库后,开始创建表
(调用数据库:打开创建表前使用数据库名称,创建3个表,股票,用户,订单tb库存
(库存表):
create table stock(
mobID varchar(50) primary key,
brand varchar(50) not null,
model varchar(30) not null,
color varchar(30) not null,
memSize varchar(10) not null,
price float not null,
stockNum int not null);
用户:
create table user
(
uID varchar(10) primary key,
uName varchar(50) not null,
passwd varchar(20) not null,
sex char(2) not null check(sex in('男','女')),
email varchar(30),
phone varchar(30),
<p>
" />
address varchar(50) default '地址不详'
);订单</p>
TB(订单表):
create table ordertb
(
orderID int(10)
uID varchar(10) not null,
mobID varchar(50) not null,
orderNum int not null,
orderTime date not null,
status tinyint(1),
deliveryTime date,
primary key(orderID)
);
代码地址或约束可能有问题,如果有问题可以参考
3. 添加数据
清单表添加数据
insert into stock values
('m00001','华为','P20','亮黑色','64GB',3288,2312),
('m00002','华为','P20','亮黑色','128GB',3488,1798),
('m00003','华为','P20','极光色','64GB',3388,2499),
('m00004','华为','P20','极光色','128GB',3488,1133),
('m00005','华为','P30','亮黑色','64GB',3988,580),
('m00006','华为','P30','亮黑色','128GB',4388,400),
('m00007','华为','P30','极光色','64GB',3988,340),
('m00008','华为','P30','极光色','128GB',4288,2010),
('m00009','小米','小米8','黑色','64GB',3499,1920),
('m00010','小米','小米8','白色','128GB',3699,2311);
用户表添加数据
" />
insert into user values
('u0001','n01','123456','男','34687653@qq.com','13896501267','天津市河东区'),
('u0002','n02','123456','男','56256781@qq.com','13689772233','山东省济南市'),
('u0003','n03','123456','女','20987122@qq.com','18590190717','四川省成都市');
订单表添加数据
insert into ordertb values
('E00001','u0001','m00001',200,'2019-06-22',1,'2019-06-30'),
('E00002','u0002','m00002',150,'2019-06-22',1,'2019-06-30'),
('E00003','u0002','m00003',50,'2019-07-05',1,'2019-07-15'),
('E00004','u0003','m00004',48,'2019-08-10',1,'2019-08-20'),
('E00005','u0003','m00005',135,'2019-09-26',1,'2019-09-29');
4. 筛选数据(标题)。
在回答问题之前还有一个问题,那就是可能存在中文不兼容,需要将编码更改为UTF8MB4格式
第一个问题------统计顺序数)。
SELECT orderID,orderNum FROM ordertb
第二个问题------(计算华为P20的库存)。
SELECT model,color,stockNum FROM stock WHERE model='P20'
第三个问题------(统计不同华为型号和颜色的库存,并按降序排序)。
SELECT model,color,stockNum FROM stock WHERE brand='华为' ORDER BY stockNum desc;
第四个问题---(提取华为手机亮黑色订单的以下数据:订单号、型号、颜色、内存大小、订单数量)。
SELECT o.orderID 订单号,s.brand,s.model 型号,s.color 颜色,s.memSize 内存大小,o.orderNum 订单数量 FROM stock AS s INNER JOIN ordertb AS o
ON s.mobID=o.mobID WHERE s.model='P20' AND s.color='亮黑色';
汇总:按键写入表格的应用(保存seo查关键词的排名)
本文讲两个知识点,一个是将数据写入表。二是通过API数据接口获取关键词在百度上的排名。
首先,如何将数据写入表中,使用过采集软件的朋友,可能接触过这样的文件格式(.csv),百度百科中描述的这种格式的名称是“逗号分隔值”,但从文件图标来看,它和Excel表一样,也就是说,它也支持办公办公软件打开。
通过它的名字“逗号分隔
值”,我们其实可以猜到它可以用逗号分隔,这也是它最大的特点。具体来说,当书面内容中英文状态有逗号时,会用逗号分隔,放在表格的不同“列”中。
例如,写入的内容是 qwe、sdf
你看到的效果是这样的~
当然,如果这个csv文件是用记事本打开的,它仍然显示qwe,sdf
这是干什么用的?
比较上述两个数字,记事本显示一行内容,而CSV显示一行和两列通过表格工具打开后。这样,如果写入多种类型的数据,则可以实现列显示。后期需要数据处理,直接转换成表格的XLS格式,非常方便。
第二个知识点是通过API接口获取关键词在百度搜索中的排名。
此处使用网站站长工具的 API 数据接口
该接口每天有500个免费查询量,对于普通网站的SEO查询来说已经足够了。对于做网站优化,网络推广的朋友还是有一定用处的。
先看看它的 API 文档:
对于 API 对接,常见的是 get 和 post 两种方式,在这个问题的情况下,这两种方式都是支持的,所以我们对这两种支持都使用相对简单的 get 方法。
让我们开始特定操作,创建一个新的 csv 文件,并直接使用 file.write 命令,就像创建新的 txt 一样。
暗淡路径=“/SD卡/图片/排名.csv”
文件。写入(路径,“”)。
" />
生成 CSV 后,下一步就是连接 API 接口,先去申请一个密钥,这个需要注册,这里如果你只是为了测试,直接用我的:
“C40FA0EE91ea4E2F8FBF3”
每天500的免费金额,很可能很多人都会用,而且一时半会儿不会存在。建议您自己申请,如果测试无法使用,这可能是原因。
我们以在百度上搜索“关键精灵安卓教程”关键词为例,看看我在建书上发布的页面排名。为了有数据,这里我特意找了一个排名页面来做一个案例。
暗淡路径=“/SD卡/图片/排名.csv”
暗淡路径 1=“/SD卡/图片/ 未排名.csv”
文件。写入(路径,“”)。
文件。写入(路径 1、“”)
*敏*感*词*“山海.lua”
暗键=“c40fa0ee91ea4e2f8fbf3”
暗淡域=“”
暗关键词=“关键精灵安卓教程”
Dim m=ShanHai.GetHttp(“&key&”&domainName=“&domainname&”&keyword=“&关键词)
TracePrint m
Dim a=Encode.JsonToTable(m)
如果 a[“原因”] = “成功”,则
如果 UBOUND(a[“结果”][“排名”]) > -1,则如果 InStr(1, a[“result”][“ranks”][1
][“RankStr”], “1-”)>0 则
Dim x=split(a[“Result”][“Ranks”][1][“RankStr”],“-”)Dim y=a[“结果”][“排名”][
1][“标题”]
跟踪打印关键词&“----”&y&y&“----”&”
" />
Home“&x(1)&”bit”
File.writeline (path, 1, 关键词&“, ”&y&“, ”&”
、“首页”&x(1)&“bits”)。
结束如果
还
文件.写行(路径 1,1,关键词)。
结束如果
结束如果
通过排名,您可以看到以下效果:关键词+网站标题+百度排名
当然,这里我也使用另一个CSV文件来存储未排名的关键词,并将其保存为备份后专注于优化的单词。
由于很多教程都谈到了 API 对接和返回值作为 json 的提取,这里就不改写了。
有几点需要注意:
首先,当我测试时,
url.get 命令在拼接 URL 时无法获取数据,所以我选择了具有相同功能的山海命令。
其次,在这种情况下,我只写了一个关键词测试,如果是多个关键词,可以循环获取。3. 使用脚本时,无法打开 CSV,
否则无法将数据写入 CSV,从而导致脚本错误。
第四,此API数据接口支持批量采集数据,自行研究。
好吧,这就是这个问题的全部内容
如果您觉得文章还不错,请点击右下角的“观看”,谢谢!