| |
|
开发:
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的服务器里,创建了一个文件夹,保存了你提交的资源 下载 指从远程仓库下载资源到自己的电脑里 常用命令: 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类型 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |