IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 周报5>>> -> 正文阅读

[大数据]周报5>>>

外键约束:

效果:1.子表的id必须取自主表的id

? ? ? ? ? ?2.想删除主表的数据必须先删除子表相关的

外键:通过特殊字段(外键)描述了两张表的关系

语法格式:foreign key(当前表的主键)? references 对方表(对方表的主键)

索引:

好处:最大的作用就是提高查询效率

坏处:索引本身也是一张表,不适合大量的添加

实现过程:1.设置索引 2.使用索引

分类:单值索引、唯一索引、复合索引

查看索引 : show index from 表名

创建索引(给常用来作为查询条件的的字段加)

#语法:create index 索引名 on 表名(字段名)

使用索引(背后的手段)

explain #观察SQL的性能/执行计划(找possible-key的值)

select * from 表名 where 字段名=‘值’

创建唯一索引(索引列的值不能重复):

create unique index 索引名 on 表名(字段名)

创建复合索引(最左特性,否则复合索引失效):

create index 索引名 on 表名(字段1,字段2)

删除索引:

alter table 表名 drop index 索引名

多表联查:用来完成联合多张表的查询

? ? ? ? ? ? ? ? ? 产生了大量的冗余数据

笛卡尔积:把多张表用逗号隔开

描述两张表的关系:表名.字段名

连接查询:Join on?

三种连接查询:

内连接inner join:取两个表的交集

左外连接left join:左表的所有和右表满足条件的,不满足的是null

右外连接right join:右表的所有和左表满足条件的,不满足的是null

子查询:把上次的查询结果,用来作为下次查询的条件

视图:

可视化的表,视图当做是一个特殊的表,是指把SQL执行的结果,直接缓存到了视图中,下次还要发起相同的SQL,直接查视图。

语法:create view 视图名 as SQL语句;

? ? ? ? ?select * from 视图名

SQL优化

SQL的执行顺序:

1.FROM [left_table] 选择表

2.ON <join_condition> 连接条件

3.<join_type> JOIN <right_table> 连接

4.WHERE <where_condition> 条件过滤

5.GROUP BY <group_by_list> 分组

6.AGG_FUNC(coumn or expression),... 聚合

7.HAVING <having_condition> 分组过滤

8.SELECT (9) DISTINCT colum,... 选择字段、去重

9.ORDER BY <order_by_list> 排序

优化总结

1.用字段名代替*

2.where里能用and就不用or

3.设置字段类型时,能用varchar就不用char

4.字段值尽量用数字代替字符串

5.给常用来作为查询条件的字段设计索引,但是单表的索引控制在5个以内

6.观察SQL的性能,使用explain关键字,本质上就是看有没有用到索引

7.模糊查询,where name like '张%',是高效的写法甚至可以让索引生效

8.where name = 123 会导致索引失效

? where name = '123' 会让name字段的索引生效

JDBC:

全称是Java database connectivity,专门用来通过Java程序操作数据库,JDBC还是一套标准,支持对各种数据库产品的操作。

Mysql数据库使用JDBC:提供了一个jar包(很多的工具类)

使用步骤:

1.创建工程,导入MySQL提供的jar包并编译:把jar包复制到工程里,编译jar包(选中jar包右键 add as library...)

2.通过Java连接数据库,需要指定一些连接数据库的参数:用户名、密码、端口号、IP地址、指定库名。

3.发起SQL并执行

4.处理结果集

测试JDBC思路:

1.注册驱动

2.获取数据库的连接

3.获取传输器

4.利用传输器执行SQL,返回结果

5.处理结果? ? while(r.next())

6.释放资源

SQL攻击:出现了特殊的符号#,改变了SQL语义。

解决方案:利用全新的传输器:PreparedStatement

本质上把SQL骨架和SQL的参数分开执行的,遇到了#只是当做一个普通的文本而不是注释符号了

优点:省去了拼接SQL语句的麻烦,防止了SQL攻击,高效

给SQL设置参数;

s.setString(1,a) //给第一个?的位置,设置a

web前端知识

HTML

是超文本标记语言,用来完成一个静态网页

结构:由大量的标签组成的,标签都是成对儿出现的

<!DOCTYDE thml> 文档声明

<html>....</html> 根元素,标记这是一个网页文件

<head>....</head> 头部分

<meta charset = "utf-8"> 设置编码

<title>....</title> 设置标题

<body>....</body> 体部分,指定网页要展示的内容

标题标签:加粗,会自动换行? h1大~h6小? ? <h1>..</h1>

列表标签:有序orderlist列表 ol? ?li

? ? ? ? ? ? ? ? ? 无序unorderlist列表 ul? ?li

图片标签? img? ?scr属性用来指定图片的位置

height属性用来指定图片的高度,width指定宽度,单位是像素

锚定? a

<a name="top">我是顶部</a>

<a href="#top">点我,回到顶部</a>

--------------------------------------------------------------------------------------------------------------------------------

Git:是一个开源的分布式的版本控制产品

可以上传开源项目,上传到Gitee服务器上,很方便的管理代码,还可以下载

上传:

工作空间:用来保存资源的一个文件夹

本地索引:给即将上传的资源设置索引,提高传输效率

本地仓库:是指你自己电脑里的一个文件夹,保存了你提交的资源

远程仓库:是指在Gitee的服务器里,创建了一个文件夹,保存了你提交的资源

下载

指从远程仓库下载资源到自己的电脑里

常用命令:
add:从工作空间把要上传的资源添加到本地索引

commit:从本地索提交到本地仓库

push:从本地仓库把资源推送到远程仓库

colne/pull:从远程仓库下载到本地

执行一些自动生成的Git命令

在本地仓库,执行命令(在本地仓库的路径处直接输入cmd)

1.git config --global user.name"..."? 配置注册的账号

2.git config --global user.email"..." 配置注册的邮箱

3.git config --list 检查配置信息

4.git init 初始化了git(产生了一个隐藏文件.git)

5.git add .? 提交本地仓库的所有资源

6.git commit -m"first commit"? 把本地索引的文件提交到本地仓库

7.git remote add origin https://getee.com /注册名/本地仓库文件夹.git? 建立本地仓库和远程仓库的关系

8.git push -u origin master 把本地仓库的资源提交给git服务器

#第一次上传文件,需要输入用户名和密码

---------------------------------------------------------------------------------------------------------------------------------

表格标签: input标签,输入框

密码输入框:<input type="password"/>

普通输入框:<input type="text"/>

单选框:<input type="radio"/>男

多选框:<input type="checkbox"/>迪丽热巴

日历:<input type="week"/>

? ? ? ? ? ?<input type="date"/>

数字:<input type="number"/>

邮箱:<input type="email"/>

普通按钮:<input type="button" value="点我"/>

? ? ? ? ? ? ? ? ? ?<button>点我</button>

提交按钮:<input type="submit" value="注册">

? ? ? ? ? ? ? ? ?<button type="submit">注册</button>

下拉框:<select>

? ? ? ? ? ? ? ? ? ? ? ? ? ? ?<option value="...">....</option>

? ? ? ? ? ? ? ? ?</select>

上传文件:<input type="file"/>

重置按钮:<button type="reset">重置</button>

table 表格标签 tr是行,th是表头(加粗居中),td是列

border 设置边框, width 设置宽度, bgcolor 设置背景颜色, cellspacing 单元格间距

rowspan 行合并(合并多个行)? ?colspan 列合并(合并多个列)

align="center" 居中?

表单标签:

最大的作用就是可以提交数据

把表格里想要收集的数据提交给服务器

1.表单标签form:用来提交数据,默认数据是在地址栏中拼接的

提交的数据有两种方式:get? ?post

区别:

get方式提交数据是在地址栏,默认方式,安全性低,长度受限。

post方式提交数据不在地址栏,安全性高,长度没有上限。

method属性用来设置数据的提交方式,默认是get

action属性用来指定数据即将提交给哪个程序去处理

<总结>

*form标签用来把页面填写的数据提交给后台的Java程序

*table标签用来向网页中添加表格

*tr标签用来表示表格里的一行

*td标签用来表示表格里的列元素

*input标签用来实现输入框

*select标签用来定义一个下拉框,option标签用来定义选项

*textarea标签用来表示一个大的文本框(文本域)

*img标签用来向网页中加入图片

*button标签用来表示一个按钮

*src属性用来指定图片的位置

*type属性用来指定输入框的类型

*width属性用来指定宽度,height属性用来指定高度

*bgcolor属性用来设置北京颜色

*cellspacing属性用来设置单元格的间距

提交数据

1.必须用form标签

2.必须有提交submit按钮

3.必须设置name属性

--出现的问题

性别可以多选:让性别的输入框name属性的值相同

单选框和多选框提交的数据时on:设置value属性

添加音频 controls 使用控制组件

<autio controls="controls">

指定资源位置:<source src ="1.mp3"></source>

</autio>

添加视频 controls 使用控制组件

<video controls="controls" loop="loop">

?<source src="2.mp4"></source>

</video>

?CSS

CSS全称是:层叠样式表 stylesheet,用来修饰HTML的

CSS语法:元素的选择器{属性名:属性值....}

CSS使用的位置:

1.行内CSS(给标签加了一个style属性)

2.内部CSS(shiyong HTML提供的标签,把CSS代码包起来)

3.外部CSS(在网页里,引入一个外部的CSS文件)

CSS常用选择器:标签选择器,类选择器,id选择器,复合选择器,属性选择器,并行选择器

<CSS常用属性>

color:设置字体颜色

background-color:设置背景颜色

border-style:dashed 设置虚线边框

border-radius 设置圆角边框

fond-family:设置字体

fond-style-oblique 设置字体倾斜

fond-size:设置字号(大小)

text-shadow:2px(水平)? 2px(垂直)? 5px(模糊程度)? red(颜色)? ?设置文字阴影

opacity:0.5 设置不透明度,0~1,越小越透明

text-indent:? 首行缩进

padding:内边距

margin:外边距

text-align:center? 文字居中

盒子模型

CSS把网页里的每个元素都当做一个盒子来看

外边距:盒子间的距离margin

内边距:一个盒子里,内容和边框的距离padding

宽width/高heigth/边框border? 一个盒子里的

JavaScript

是弱类型的语言,是基于对象和事件驱动的脚本语言

基于对象:JS和Java一样,也有对象的概念,也提供也一些内置的对象,也可以自定义对象

事件驱动:JS里有很多的事件,当事件被触发时才执行JS代码

常用的事件:鼠标滑过/单击/双击/鼠标悬停

脚本语言:JS是一个弱类型,被浏览器执行的语言,只要有浏览器的地方都可以执行JS

好处:是直译式的语言,增强了用户和浏览器之间的交互性

使用位置:

1.行内JS:只能作用在一行

2.内部JS:通常在head标签里,使用script标签,把JS的代码包起来

3.外部JS:松耦合,单独创建一个JS文件,可以被引入到各种网页中

单击事件,单击时弹出内容

<div οnclick="alert(....)">....</div>

双击事件,双击时弹出内容

<div οndblclick="alert(....)">....</div>

鼠标进入事件,鼠标进入是弹出内容

<div οnmοuseenter="alert(....)">....</div>

JS的数据类型:number,String,boolean,null

alert(2.4+3.6); //number类型的运算,会自动进行类型转换

alert('hello js'); //String类型

alert("hello js"); //String类型

alert(true); //boolean类型

alert(false); //boolean类型

alert(null); //null类型

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-09-05 11:05:11  更:2021-09-05 11:06:09 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 16:53:28-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码