数据库——简单查询复杂查询
1.实验内容及原理
1. 在 Windows 系统中安装 VMWare 虚拟机,在 VMWare 中安装 Ubuntu 系统,并在
Ubuntu 中搭建 LAMP 实验环境。
2. 使用 MySQL 进行一些基本操作:
(1)登录 MySQL,在 MySQL 中创建用户,并对新建的用户赋予权限。
(2)创建并跳转到新的数据库,显示所有数据库和当前数据库。
(3)显示所有的表和查看表的属性。
(4)导入 emp loyees 和 sakila 两个样例数据库,对这两个数据库进行完整性检查,
对这两个数据库进行备份、导入与导出。
3. SQL DDL 使用
(1) 创建 DDL 脚本,包括创建、删除表,指定主键、候选键和外键;
(2)修改并展示表结构;
(3)创建、删除索引。
4. SQL DDL & DML 使用
(1)数据的增、删、查、改等操作
(2)掌握视图的创建、删除和更新
5. 简单查询
(1)使用 order by、group by、having 等子句;
(2)使用各种谓词;
(3)使用集合函数;
(4)在时间字段上查询。
6. 复杂查询
(1)嵌套子查询;
(2)多表连接查询,包括左连接、右连接、外连接、 自连接。
7. 创建存储过程、函数和触发器,调用创建的存储过程、函数,触动触发器。
8. 安装并使用 phpmyadmin。
2.实验步骤与分析
1. 自行在 Windows 系统中安装 VMWare 虚拟机,在 VMWare 中安装 Ubuntu 系统,在
Ubuntu 中安装 LAMP 步骤如下(也可使用安装菜单):
sudo apt-get install updatesudo apt-get install apache2sudo apt-get install mysq l-serversudo apt-get install php
2. 熟悉 MySQL 的基本操作步骤如下:
(1)进入 MySQL:mysq l -u root -p
(2)创建新用户:CREATE USER 'newuser'@' localhost' IDENTIFIED BY 'password';
(3)赋予权限:GRANT ALL PRIVILEGES ON * . * TO 'newuser'@' localhost';
(4)创建新的数据库:CREATE DATABASE newdbname;
(5)跳转到新创建的数据库:USE newdbname;3
(6)显示所有数据库和当前数据库:SHOW DATABASES; SELECT DATABASE();
(7)显示所有的表并查看表的属性:SHOW TABLES; DESCRIBE tabname;
(8)导入两个样例数据库
① 解压数据包:unzip test_db_master.zip
② 进入数据包目录:cd test_db_master
③ 导入 emp loyee 数据库:sudo sudo mysql -t < emp loyees.sql
④ 解压数据包:unzip sakila-db.zip
⑤ 进入数据包目录:cd sakila-db
⑥ 进入 MySQL,导入 sakila schema 数据:SOURCE /path/to/sakila-schema.sq l
⑦ 导入 sakila 数据:SOURCE /path/to/sakila-data.sq l
(9)对导入的两个数据库进行完整性检查
① 查看外键检查状态:show variables like ‘%foreign_key_checks% ’;
② 查看主键检查状态:show variables like ‘%unique_checks% ’;
③ 查看外键检查结果:select @@foreign_key_checks;
④ 查看主键检查结果:select @@unique_checks;
(10)数据库备份(以 employee 为例)
① 不导出任何数据,只导出数据库表结构:
mysqldump -u test_02 -p --no-data emp loyees> employees_bak1.sq l
② 只导出数据,而不添加 CREATE TABLE 语句:
mysqldump -u test_02 -p --no-create-info employees> emp loyees_bak2.sq l
③ 导出全部数据库:
mysqldump -u test_02 -p emp loyees> emp loyees_bak3.sq l
(11)导出和导入(以 sakila 为例)
① 导出为 TXT 文件:
select * from country into outfile '/your/file/path/country';
② 导入 TXT 文件:
load data infile '/your/file/path/country' into table country;
③ 导出为 CSV 文件:4
select * from country into outfile '/your/file/path/country.csv';
④ 导入 CSV 文件:
load data infile '/your/file/path/country.csv' into table country;
⑤ 导出为 xml 文件:
mysql -u test_02 -p --xml -e 'select * from sakila.country' >
/your/file/path/country.xml
3. SQL DDL 使用
(1)使用 create 语句创建项目所有的表;
(2)使用 alter 命令修改表结构,删除某个表中的“xxx ”字段;修改某个表中
的“xxx ”字段的类型为 char(2),该字段不能为空,默认值为“m”;
(3)添加类型为 char(2)的‘xxx ’字段数据,添加是否成功,如果失败分析
失败的原因并进行必要的操作使字段添加成功;
(4)修改某个表,添加类型为 varchar2(18)的字段,并添加 check 约束,要求该
字段的长度为 18,并且只能由数字组成,并且指定该字段为候选键;
(5)设置某个表中某个字段的 check 约束为大于 0;设置某个字段默认值为“未
审核 ”,设置某个 ”字段的 check 约束为“未审核 ”、“ 审核已通过 ”、“ 审核不通
过”;
(6)在某个表中创建索引;
(7)使用 describe 命令展示表结构。
4. SQL DDL & DML 使用
(1) 使用 insert 语句将数据插入到相应的表中;
(2) 使用 delete 语句删除表中有关联表外建对应的记录,能否成功删除,如
果不能请分析原因;
(3) 使用 update 语句更新外键数据,能否成功修改,如果不能请分析原因。;
(4) 创建视图;
(5) 对视图进行查询操作;
(6) 对表进行联合查询操作;
(7) 更新视图,分析更新操作可以执行成功或失败的原因。5
5. 简单查询
(1) 查询性别为“ 男 ”的所有学生的学号、姓名和班级号;(单表简单查询)
(2) 查询 xxx 表,获得性别为“女 ”的记录,结果按照班级 ID 降序排列;(order
by)
(3) 查询 xxx 表,按照年龄从小到大排序;(获取子串函数、order by)
(4) 查询学号以“2002 ”开头的学生信息,字段包括学号、姓名、班级号;(使用子
串函数)
(5) 查询学号中包含“01 ”的学生信息,字段包括学号、姓名、班级号;(like)
(6) 查询状态为“未审核 ”,且申请时间在 2013 年 9 月 4 日之后的请假申请
单的信息,包含申请时间为 9 月 4 日的申请单;(单表多条件查询)
(7) 查询审核状态为“未审核 ”和“ 审批已通过 ”两种类型的申请单 ID;(in)
(8) 查询时间在 2013 年 8 月 31 日和 2013 年 9 月 2 日之间所提交的申请单 ID,
请假原因; (between、时间)
(9) 查询 XXX 老师所教课程的的选课人次(一人选两门课程,算两人次);
(10) 查询 XXX 老师所教课程的的选课人数(一人选两门课程,算一人);(distinct)
(11) 查询 XX 老师对请假单审核不通过的请假原因与学生姓名;
(12) 统计每门课的学生的个数(集合函数);
(13) 查询选课人数超 过 3 人 的课程 号 , 并按课程 号 降序排列( group by,
having,order by …desc)。
6. 复杂查询
(1)查询审批通过人数最多的课程名称和教师姓名;
(2)查询选课人数最多和第二多的课程名称和任课老师姓名; (选做)
(3)查询只选了课程《算法设计》的学生姓名;
(4)查询选修了全部课程的学生姓名;
(5)查询选修了课程 3 的学生学号、姓名、身份证号;
(6)据学生学号将 xxx 表与 xxx 表做自然连接查询;
(7)据学号将 xxx 表与 xxx 表进行左连接查询,并解释这样做所具有的业务含 6
义;
(8)据学号将 xxx 表与 xxx 表进行右连接查询,并解释这样做所具有的业务含
义;
(9)总结自然连接、左连接、右连接查询在产生的结果上面有什么区别。
7. 创建并调用存储过程、函数和触发器
(1)创建并调用存储查询过程(以 emp loyee 为例)
① 创建一个查询存储过程:
> delimiter##> create procedure select_manager(in fname varchar(20), in lname varchar(20))-> begin->select * from dept_manager natural join emp loyees where first_name = fnameandlast_name = lname;->end> ##
② 调用这个存储查询过程:call select_manager('Xiaobin','Spinelli');
(2)创建并调用函数(以 emp loyee 为例)
① 创建函数:
> delimiter ##> create function title_num(title_name varchar(50)) returns int> begin> declare num int;> select count(title) from titles where to_date > curdate() and title =title_name groupby title into num;> return num;> end> ##set g lobal log_bin_trust_function_creators=1;
② 调用函数:select title_num("manager");7
(3)创建并调用触发器(以 emp loyee 为例)
① 查看表 dept_manager:select * from dept_manager;
② 创建新表 quit:create table quit (emp_no int, depr_no char(4), quit_date
date);
③ 创建触发器:
mysql> delimiter ##mysql> create trigger after_ insert_ quit after insert on quit for each row-> begin-> update dept_ manager set to_ date = curdate( ) where emp_ no = 110039;-> end-> ##
④ 触发触发器: insert into quit values (110039, 'd001', curdate());
⑤ 查看新表 quit:select * from quit;
⑥ 再次查看表 dept_manager:select * from dept_manager;
8. 安装 phpmyadmin 步骤如下:
(1)安装 phpmyadmin:sudo apt-get install phpmyadmin
(2)安装 php-mbstring:sudo apt-get install php-mbstring
(3)安装 php-gettext:sudo apt-get install php-gettext
(4)编辑 php.ini: vim /path/to/php. ini 修改;extension=php-mbstring.so
(5)重启 Apache2:sudo /path/to/apache2 restart
(6)查看 IP 地址: ifconfig
(7)登录 phpmyadmin:从浏览器地址 your. ip.4.address/phpmyadmin
3.实验结果与总结
5. 简单查询
在进行简单查询和复杂查询实验前,我新建了一个名为 school 的数据库。内含 4 个表,
各表内容如图所示:
s 表, 内容为学生的个人信息
l 表, 内容为学生的请假申请和审批状态
c 表, 内容为开设课程与授课老师信息
s_c 表, 内容为学生选课与成绩信息
基于以上四个表,我进行了下面两个部分的实验。首先是简单查询的实验:
(1) 查询性别为“ 男 ”的所有学生的学号、姓名和班级号;(单表简单查询)
(2) 查询 xxx 表,获得性别为“女 ”的记录,结果按照班级 ID 降序排列;(order by)
(3) 查询 xxx 表,按照年龄从小到大排序;(获取子串函数、order by)
(前三题查询结果)
(4) 查询学号以“2002 ”开头的学生信息,字段包括学号、姓名、班级号;(使用子串函数)
(5) 查询学号中包含“01 ”的学生信息,字段包括学号、姓名、班级号;(like)
(第四题与第五题均与字串相关,查询结果如上)
(6) 查询状态为“未审核 ”,且申请时间在 2013 年 9 月 4 日之后的请假申请单的信息,包含申请时间为 9 月 4 日的申请单;(单表多条件查询)
(7)查询审核状态为“未审核 ”和“ 审批已通过”两种类型的申请单 ID;(in)
(8) 查询时间在 2013 年 8 月 31 日和 2013 年 9 月 2 日之间所提交的申请单 ID,请假原因; (between、时间)
(9) 查询 XXX 老师所教课程的的选课人次(一人选两门课程,算两人次);
(10) 查询 XXX 老师所教课程的的选课人数(一人选两门课程,算一人);(distinct)
(第九题与第十题的区别为计算重复与否。第十题需排除重复项,所以需要使用 distinct)
(11) 查询 XX 老师对请假单审核不通过的请假原因与学生姓名;
(12) 统计每门课的学生的个数(集合函数);
(使用 group by 语句即可)
(13) 查询选课人数超过 3 人 的课程号 , 并按课程号降序排列( group by, having,order by …desc)。
6. 复杂查询
进行该复杂查询实验时,使用的数据库也为以上创建的 school 数据库
(1)查询审批通过人数最多的课程名称和教师姓名:需要涉及计数、子查询等
(2)查询选课人数最多和第二多的课程名称和任课老师姓名; (选做)
(3)查询只选了课程《算法设计》的学生姓名;
(4) 查询选修了全部课程的学生姓名;
此处若知道课程数量,可以直接使用分组计数的方式。若一名学生选课数量等于课程数(无重复),则可以认为其选修了全部课程。如下图所示:
(5) 查询选修了课程 3 的学生学号、姓名、身份证号;
(6) 据学生学号将 xxx 表与 xxx 表做自然连接查询;
将学生信息表(s)与选课信息表(s_c)做连接查询
(7) 据学号将 xxx 表与 xxx 表进行左连接查询,并解释这样做所具有的业务含义;
将学生信息表(s)与选课信息表(s_c)做连接查询
含义:根据课程名单查询完全确定的选课信息
(8) 据学号将 xxx 表与 xxx 表进行右连接查询,并解释这样做所具有的业务含义;
将学生信息表(s)与选课信息表(s_c)做连接查询
含义:根据学生信息查询所有的选课信息
(9) 总结自然连接、左连接、右连接查询在产生的结果上面有什么区别。
三种连接查询的区别在于:自然连接查询的信息完全确定,左连接与右连接查询得到的信息分别在左侧与右侧的表上完全确定,在另一侧的表上的信息无法完全确定。
相关文章:
数据库——简单查询复杂查询
1.实验内容及原理 1. 在 Windows 系统中安装 VMWare 虚拟机,在 VMWare 中安装 Ubuntu 系统,并在 Ubuntu 中搭建 LAMP 实验环境。 2. 使用 MySQL 进行一些基本操作: (1)登录 MySQL,在 MySQL 中创建用户,…...
java虚拟机内存管理
文章目录 概要一、jdk7与jdk8内存结构的差异二、程序计数器三、虚拟机栈3.1 什么是虚拟机栈3.2 什么是栈帧3.3 栈帧的组成 四、本地方法栈五、堆5.1 堆的特点5.2 堆的结构5.3 堆的参数配置 六、方法区6.1 方法区结构6.2 运行时常量池 七、元空间 概要 根据 JVM 规范࿰…...
Hive实战:词频统计
文章目录 一、实战概述二、提出任务三、完成任务(一)准备数据文件1、在虚拟机上创建文本文件2、将文本文件上传到HDFS指定目录 (二)实现步骤1、启动Hive Metastore服务2、启动Hive客户端3、基于HDFS文件创建外部表4、查询单词表&a…...
FairyGUI-Cocos Creator官方Demo源码解读
博主在学习Cocos Creator的时候,发现了一款免费的UI编辑器FairyGUI。这款编辑器的能力十分强大,但是网上的学习资源比较少,坑比较多,主要学习方式就是阅读官方文档和练习官方Demo。这里博主进行官方Demo的解读。 从gitee上克隆项目…...
LabVIEW利用视觉引导机开发器人精准抓取
LabVIEW利用视觉引导机开发器人精准抓取 本项目利用单目视觉技术指导多关节机器人精确抓取三维物体的技术。通过改进传统的相机标定方法,结合LabVIEW平台的Vision Development和Vision Builder forAutomated Inspection组件,优化了摄像系统的标定过程&a…...
【Linux】指令(本人使用比较少的)——笔记(持续更新)
文章目录 ps -axj:查看进程ps -aL:查看线程echo $?:查看最近程序的退出码jobs:查看后台运行的线程组fd 任务号:将后台任务提到前台bg 任务号:将暂停的后台程序重启netstat -nltp:查看服务及监听…...
032 - STM32学习笔记 - TIM基本定时器(一) - 定时器基本知识
032 - STM32学习笔记 - TIM定时器(一) - 基本定时器知识 这节开始学习一下TIM定时器功能,从字面意思上理解,定时器的基本功能就是用来定时,与定时器相结合,可以实现一些周期性的数据发送、采集等功能&#…...
轮廓检测与处理
轮廓检测 先将图像转换成二值 gray cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 灰度图 ret, thresh cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY) # 变为二值,大于127置为255,小于100置为0.使用cv2.findContours(thresh, cv2.RETR_TREE, cv2.…...
跟着LearnOpenGL学习11--材质
文章目录 一、材质二、设置材质三、光的属性四、不同的光源颜色 一、材质 在现实世界里,每个物体会对光产生不同的反应。 比如,钢制物体看起来通常会比陶土花瓶更闪闪发光,一个木头箱子也不会与一个钢制箱子反射同样程度的光。 有些物体反…...
Java guava partition方法拆分集合自定义集合拆分方法
日常开发中,经常遇到拆分集合处理的场景,现在记录2中拆分集合的方法。 1. 使用Guava包提供的集合操作工具栏 Lists.partition()方法拆分 首先,引入maven依赖 <dependency><groupId>com.google.guava</groupId><artifa…...
GLTF编辑器-位移贴图实现破碎的路面
在线工具推荐: 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 位移贴图是一种可以用于增加模型细节和形状的贴图。它能够在渲染时针…...
多维时序 | MATLAB实现SSA-BiLSTM麻雀算法优化双向长短期记忆神经网络多变量时间序列预测
多维时序 | MATLAB实现SSA-BiLSTM麻雀算法优化双向长短期记忆神经网络多变量时间序列预测 目录 多维时序 | MATLAB实现SSA-BiLSTM麻雀算法优化双向长短期记忆神经网络多变量时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.MATLAB实现SSA-BiLSTM麻雀算法优化…...
docker安装Nacos和Rabbitmq
一、安装Nacos 首先需要拉取对应的镜像文件:(切换版本加上对应版本号即可,默认最新版) docker pull nacos/nacos-server 接着挂载目录: mkdir -p /mydata/nacos/logs/ #新建logs目录 mkdir -p …...
Android MVC 写法
前言 Model:负责数据逻辑 View:负责视图逻辑 Controller:负责业务逻辑 持有关系: 1、View 持有 Controller 2、Controller 持有 Model 3、Model 持有 View 辅助工具:ViewBinding 执行流程:View >…...
网络层解读
基本介绍 概述 当两台主机之间的距离较远(如相隔几十或几百公里,甚至几千公里)时,就需要另一种结构的网络,即广域网。广域网尚无严格的定义。通常是指覆盖范围很广(远超过一个城市的范围)的长距离的单个网络。它由一些结点交换机以及连接这些…...
js for和forEach 跳出循环 替代方案
1 for循环跳出 for(let i0;i<10;i){if(i5){break;}console.log(i) }在函数中也可以return跳出循环 function fn(){for(let i0;i<10;i){if(i5){return;}console.log(i)} } fn()for ... of效果同上 2 forEach循环跳出 break会报错 [1,2,3,4,5,6,7,8,9,10].forEach(i>…...
如何使用ArcGIS Pro自动矢量化建筑
相信你在使用ArcGIS Pro的时候已经发现了一个问题,那就是ArcGIS Pro没有ArcScan,在ArcGIS Pro中,Esri确实已经移除了ArcScan,没有了ArcScan我们如何自动矢量化地图,从地图中提取建筑等要素呢,这里为大家介绍…...
交互式笔记Jupyter Notebook本地部署并实现公网远程访问内网服务器
最近,我发现了一个超级强大的人工智能学习网站。它以通俗易懂的方式呈现复杂的概念,而且内容风趣幽默。我觉得它对大家可能会有所帮助,所以我在此分享。点击这里跳转到网站。 文章目录 1.前言2.Jupyter Notebook的安装2.1 Jupyter Notebook下…...
41.坑王驾到第七期:uniapp开发微信小程序引用组件时报错!
一、错误再现 页面login引用了一个组件register,运行至小程序开发工具报错。 xxx.js 已被代码依赖分析忽略,无法被其他模块引用。 二、解决办法 在微信小程序的配置文件中找到setting节点,增加两个配置项。 “ignoreDevUnusedFiles”: fa…...
挂载与解挂载
一. 挂载 1.什么是挂载 将系统中的文件夹和磁盘做上关联,使用文件夹等于使用磁盘 2.mount 2.1 格式 mount [ -t 类型 ] 存储设备 挂载点目录 mount -o loop ISO镜像文件 挂载点目录 注意:指明要挂载的设备 设备文件:例如:/dev/sda5 卷…...
UGUI Panel的显示和隐藏优化
unity UI如何开启(显示)或者关闭(隐藏)Panel界面,相信大家都是知道的,但是如何做最好呢? 可能大家一般开启/关闭界面的方法就是直接SetActive吧。这样做通常是可以的,简答快速地解决…...
Linux:多文件编辑
多文件编辑 1.使用vim编辑多个文件 编辑多个文件有两种形式,一种是在进入vim前使用的参数就是多个文件。另一种就是进入vim后再编辑其他的文件。 同时创建两个新文件并编辑 $ vim 1.txt 2.txt默认进入1.txt文件的编辑界面 命令行模式下输入:n编辑2.txt文件&…...
模式识别与机器学习-概率图模型
模式识别与机器学习-概率图模型 概率图模型三大基本问题表示推断学习 有向概率图模型例子三种经典的图 HMMViterbi 算法 谨以此博客作为复习期间的记录 概率图模型三大基本问题 概率图模型通常涉及三个基本问题,即表示(Representation)、推…...
RK3566 ANDROID 11 平台上适配移远EC200A
适配前理清楚一下调试的流程: 1.该模块为LGA封装,需要控制上电时序模块才能正常上电工作: 2.模块供电正常后,读取模组的PID 和VID 并将其ID添加到内核里面,确保USB转Serial端口能够正常生成: 3.生成ttyUSB0~ttyUSB2端口后,确保rild进程正常启动,能够正常加载ril库; …...
存算分离降本增效,StarRocks 助力聚水潭 SaaS 业务服务化升级
作者:聚水潭数据研发负责人 溪竹 聚水潭是中国领先的 SaaS 软件服务商,核心产品是电商 ERP,协同350余家电商平台,为商家提供综合的信息化、数字化解决方案。公司是偏线下商家侧的 toB 服务商,员工人数超过3500…...
Linux 内核学习笔记: hlist 的理解
前言 最近阅读 Linux 内核时,遇到了 hlist,这个 hlist 用起来像是普通的链表,但是为何使用 hlist,hlist 是怎么工作的? 相关代码 hlist_add_head(&clk->clks_node, &core->clks); /*** clk_core_link_…...
几种设计模式介绍
前言 设计模式是一种用于解决软件开发中常见问题的通用解决方案,它可以提高代码的可读性、可维护性和可复用性。前端开发中也有很多应用设计模式的场景,比如处理异步操作、优化性能、封装复杂逻辑等。 前端开发中常见的设计模式有以下几种: …...
拓展操作(三) jenkins迁移到另一个机器
让清单成为一种习惯 互联网时代的变革,不再是简单的开发部署上线,持续,正确,安全地把事情做好尤其重要;把事情做好的前提是做一个可量化可执行的清单,让工程师就可以操作的清单而不是专家才能操作: 设定检查点 根据节点执行检查程序操作确认或边读边做 二者选其一不要太…...
重定向和转发的区别
重定向 1、定义 用户通过浏览器发送一个请求,Tomcat服务器接收这个请求,会给浏览器发送一个状态码302,并设置一个重定向的路径,浏览器如果接收到了这个302的状态码以后,就会去自动加载服务器设置的路径 一个页面跳转…...
基于ElementUI二次封装弹窗组件
效果: 一、自定义内容类型弹窗 <!-- title:对话框的标题confirmLoading:当前是否处于提交中titleCenter:对话框标题居中方式footerCenter:底部按钮的对其方式visible:是否显示弹窗width:设置…...
电子商务网站建设的问题/百度推广的渠道有哪些
点击蓝字关注我们今天给大家分享一个临床指南查询下载网站网站预览共有17790份中英文指南的原文4407份中英文指南的解读还会不断更新网站链接http://guidelines.mikecrm.com/NsOywVt也可点击最下方的阅读原文进入网站简易教程01点击“中英文原文指南”或“中英文指南解读”02输…...
简约风格网站设计/广州网站运营专业乐云seo
question: 开平方用 sqrt(), 开三次方用什么啊? answer: 开立方也就是求 1/3 次方, 所以可以用pow()函数 example: #include <stdio.h> #include <math.h>int main() {double a pow(8, 1.0 / 3);printf("%f\n", a);return 0; }程序运行结…...
想给公司做个网站/网站设计培训
本文内容:1.僵尸进程,孤儿进程的定义,区别,产生原因,处理方法2.wait函数,waitpid函数的分析,以及比较背景:由于子进程的结束和父进程的运行是一个异步的过程,即父进程永远…...
网站百度收录秒收方法/手机免费建网站
看到有面试题里会有问到如何用css画出三角形 众所周知好多图形都可以拆分成三角形,所以说会了画三角形就可以画出很多有意思的形状 画出三角形的原理是调整border(边框)的四个方向的宽度,线条样式以及颜色。 如果你将宽度调的足够…...
美国一级a做爰片免费网站/音乐接单推广app平台
这几天修真院又又又迎来了一位退伍的兵哥哥,所以在征得兵哥哥的允许后,我们决定把他的转行历程分享出来,供大家参考参考。 这位兵哥哥呢姓王,我们就暂时称呼他为王大锤同学吧。 大锤同学在来到修真院之前呢,已经在家颓…...
做网站源代码/成都seo论坛
通过kmeans分析出租车数据并进行可视化(1)数据准备(2)创建dataframe(3)kmeans聚类分析(4)调用百度API进行数据可视化(1)数据准备 采用数据为出租车载客时的G…...