Browse Source
Merge branch 'dev' of http://39.101.133.168:8807/donghanyang/Dbqb_Study into dev
liyanshuang
Merge branch 'dev' of http://39.101.133.168:8807/donghanyang/Dbqb_Study into dev
liyanshuang
13 changed files with 1265 additions and 0 deletions
-
91.idea/workspace.xml
-
BIN10.29孙维宁学习笔记.docx
-
7zhangbo/第三天技术学习笔记.txt
-
16zhangbo/第三天股票知识学习笔记.txt
-
0吴光慧学习笔记/10.28/10.28学习总结-吴光慧.docx
-
229吴光慧学习笔记/10.29/study1.html
-
85吴光慧学习笔记/10.29/study2.html
-
46吴光慧学习笔记/10.29/study3.html
-
41吴光慧学习笔记/10.29/study4.html
-
222尹顺宇10.28作业/尹顺宇10.27+10.28学习笔记.md
-
BIN尹顺宇10.29作业/尹顺宇10.29夺宝奇兵之超级云脑部分学习.docx
-
528尹顺宇10.29作业/尹顺宇10.29学习笔记.md
-
BIN尹顺宇10.29作业/尹顺宇第三天学习总结.docx
@ -0,0 +1,91 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<project version="4"> |
|||
<component name="AutoImportSettings"> |
|||
<option name="autoReloadType" value="SELECTIVE" /> |
|||
</component> |
|||
<component name="ChangeListManager"> |
|||
<list default="true" id="e9807c74-40e9-4058-a7fc-a1b7d5673ee9" name="Changes" comment="尹顺宇10.28第二次提交" /> |
|||
<option name="SHOW_DIALOG" value="false" /> |
|||
<option name="HIGHLIGHT_CONFLICTS" value="true" /> |
|||
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" /> |
|||
<option name="LAST_RESOLUTION" value="IGNORE" /> |
|||
</component> |
|||
<component name="Git.Settings"> |
|||
<option name="RECENT_BRANCH_BY_REPOSITORY"> |
|||
<map> |
|||
<entry key="$PROJECT_DIR$" value="dev" /> |
|||
</map> |
|||
</option> |
|||
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" /> |
|||
</component> |
|||
<component name="ProjectColorInfo">{ |
|||
"customColor": "", |
|||
"associatedIndex": 7 |
|||
}</component> |
|||
<component name="ProjectId" id="34gukrCQvX9IyqbGUVm223CRuDa" /> |
|||
<component name="ProjectViewState"> |
|||
<option name="hideEmptyMiddlePackages" value="true" /> |
|||
<option name="showLibraryContents" value="true" /> |
|||
</component> |
|||
<component name="PropertiesComponent"><![CDATA[{ |
|||
"keyToString": { |
|||
"ModuleVcsDetector.initialDetectionPerformed": "true", |
|||
"RunOnceActivity.ShowReadmeOnStart": "true", |
|||
"RunOnceActivity.git.unshallow": "true", |
|||
"git-widget-placeholder": "yinshunyu", |
|||
"kotlin-language-version-configured": "true", |
|||
"last_opened_file_path": "D:/ysy/projectTest/Dbqb_Study", |
|||
"node.js.detected.package.eslint": "true", |
|||
"node.js.detected.package.tslint": "true", |
|||
"node.js.selected.package.eslint": "(autodetect)", |
|||
"node.js.selected.package.tslint": "(autodetect)", |
|||
"nodejs_package_manager_path": "npm", |
|||
"vue.rearranger.settings.migration": "true" |
|||
} |
|||
}]]></component> |
|||
<component name="SharedIndexes"> |
|||
<attachedChunks> |
|||
<set> |
|||
<option value="bundled-jdk-9823dce3aa75-bf35d07a577b-intellij.indexing.shared.core-IU-252.27397.103" /> |
|||
<option value="bundled-js-predefined-d6986cc7102b-3aa1da707db6-JavaScript-IU-252.27397.103" /> |
|||
</set> |
|||
</attachedChunks> |
|||
</component> |
|||
<component name="TaskManager"> |
|||
<task active="true" id="Default" summary="Default task"> |
|||
<changelist id="e9807c74-40e9-4058-a7fc-a1b7d5673ee9" name="Changes" comment="" /> |
|||
<created>1761647682116</created> |
|||
<option name="number" value="Default" /> |
|||
<option name="presentableId" value="Default" /> |
|||
<updated>1761647682116</updated> |
|||
<workItem from="1761647683285" duration="1423000" /> |
|||
<workItem from="1761702635011" duration="19000" /> |
|||
<workItem from="1761702726155" duration="1693000" /> |
|||
</task> |
|||
<task id="LOCAL-00001" summary="尹顺宇10.28第二次提交"> |
|||
<option name="closed" value="true" /> |
|||
<created>1761647865510</created> |
|||
<option name="number" value="00001" /> |
|||
<option name="presentableId" value="LOCAL-00001" /> |
|||
<option name="project" value="LOCAL" /> |
|||
<updated>1761647865510</updated> |
|||
</task> |
|||
<task id="LOCAL-00002" summary="尹顺宇10.28第二次提交"> |
|||
<option name="closed" value="true" /> |
|||
<created>1761647873327</created> |
|||
<option name="number" value="00002" /> |
|||
<option name="presentableId" value="LOCAL-00002" /> |
|||
<option name="project" value="LOCAL" /> |
|||
<updated>1761647873327</updated> |
|||
</task> |
|||
<option name="localTasksCounter" value="3" /> |
|||
<servers /> |
|||
</component> |
|||
<component name="TypeScriptGeneratedFilesManager"> |
|||
<option name="version" value="3" /> |
|||
</component> |
|||
<component name="VcsManagerConfiguration"> |
|||
<MESSAGE value="尹顺宇10.28第二次提交" /> |
|||
<option name="LAST_COMMIT_MESSAGE" value="尹顺宇10.28第二次提交" /> |
|||
</component> |
|||
</project> |
|||
@ -0,0 +1,7 @@ |
|||
对java后端的知识进行了系统性的学习 |
|||
包括:Java基本数据类型,面向对象的相关知识,还有流程控制和异常处理 |
|||
对于集合框架方面,学习了Collection和Map以及他们的实现类,集合的底层原理和线程安全也进行了学习 |
|||
还学习了泛型,注解和反射,还了解了jvm的内存结构和垃圾回收机制,以及类加载机制。 |
|||
对昨天学习的数据库的相关知识进行了复习,sql语法增删改查,还有索引,索引失效的情况 |
|||
事务的隔离级别,锁机制以及存储引擎。 |
|||
明天计划学习Spring Boot3的相关知识,并且对昨天和今天学到的知识复习 |
|||
@ -0,0 +1,16 @@ |
|||
夺宝奇兵超级云脑「云脑探秘」学习笔记10月29日 |
|||
围绕股票术语与基础知识,系统学习了夺宝奇兵超级云脑的「云脑探秘」模块。 一、夺宝奇兵超级云脑以“服务散户”为核心,通过三层定位构建完整的智能投资辅助体系,解决散户“分析难、决策难、操作难”的痛点。 夺宝奇兵整体定位专为散户设计的智能投资辅助体系,以AI技术为核心,覆盖“价值判断-风险评估-趋势捕捉-资金跟踪-操作决策”全流程。核心价值是将复杂的市场数据(如财报、资金流向)转化为直观、可落地的投资依据,无需散户具备专业分析能力。超级云脑核心定位 整个体系的“智能分析中枢”,聚焦多维度数据拆解与决策支撑。不直接面向散户展示,而是通过计算输出股票估值、安全级别等核心指标,为「云脑探秘」模块提供数据支撑。云脑探秘窗口定位 超级云脑智慧决策的“可视化核心窗口”。对超级云脑的分析结果进行优化升级,将“股票估值、安全级别、压力支撑、趋势研判、庄家成本、情绪价值”六大维度以更醒目、有区分度的形式呈现,是散户直接获取决策信息的入口。 |
|||
二、超级云脑智慧决策:三大设计逻辑,直击散户痛点,降低投资门槛,覆盖决策全链路。 |
|||
全维度数据支撑 整合交易所实时行情、上市公司财报、主力资金流向、市场情绪数据四大类信息,确保分析依据“全面且精准”。避免散户因数据不全导致的片面判断(如仅看股价忽略资金流向)。专业术语通俗转化 将“市盈率(PE)、市净率(PB)、支撑线、压力线”等专业术语,转化为散户易懂的“值不值买”“安全不安全”“能不能进场”等结论。无需散户记忆繁杂术语,直接获取核心判断。 投资决策闭环覆盖 从“判断股票价值”到“评估投资风险”,再到“捕捉买卖时机”,完整覆盖散户投资决策的核心环节。提供“一站式辅助”,避免散户因环节缺失导致的决策漏洞(如只看价值忽略趋势)。 |
|||
三、云脑探秘五大核心模块:功能+术语+解决方案 「云脑探秘」的五大模块分别对应投资决策的不同维度。 |
|||
1.股票估值:用基本面指标判断“值不值买”。核心功能 基于基本面分析逻辑,AI自动计算市盈率(PE)、市净率(PB)、每股收益(EPS),对比行业均值与历史数据,直接输出“高估/合理/低估”结论。股票术语关联 - 核心指标:市盈率(股价÷每股盈利)、市净率(股价÷每股净资产),是基本面分析中判断股票内在价值的核心依据。 |
|||
2.安全级别+压力支撑:用风险与价位明确“能不能买、该在哪买” 核心功能 - 安全级别:通过“六色罗盘”划分“极高风险-较高风险-中等风险-较为安全-高安全”五级,明确股票风险敞口。 - 压力支撑:计算股价关键支撑位(下跌止跌价)与压力位(上涨受阻价),标注支撑/压力强度,提示“放量突破”条件。 #### 股票术语关联 - 安全级别:极高风险对应ST股、垃圾股(非系统风险高);高安全对应蓝筹股、绩优股(基本面稳定)。 - 支撑位:技术分析中的“支撑线”,如前期低点、均线位置,买盘集中导致股价止跌。 - 压力位:技术分析中的“压力线”,如前期高点、密集成交区,卖盘集中导致股价回落。 - 放量突破:股价突破压力位时需“成交量放大”(放量上涨),后续上涨趋势更稳固。问题解决方案 - 解决痛点:散户“不敢买(怕风险)、不会卖(怕被套)”,明确安全边界与买卖价位。 - 实操价值:较高安全+强支撑的标的可优先买;接近强压力位时提示止盈/观望,避免追高被套;突破压力位时明确持有条件。 |
|||
3.趋势研判:用趋势方向决定“该持有还是离场”核心功能 AI区分“中长期趋势”与“短期趋势”,标注“上升/下跌/横盘整理”状态,结合短期强弱(强势/弱势/震荡),提供持仓决策依据。股票术语关联 - 中长期趋势:对应道氏理论“基本运动”(周期1年以上),如牛市上升、熊市下跌。 - 短期趋势:对应道氏理论“次级运动”(3周至数月)或“日常运动”(6-10天),如牛市回调、熊市反弹。 - 趋势依据:均线多头排列(MA5/MA10/MA20向上)=中长期上升;均线空头排列=中长期下跌。 - 顺势而为:契合“趋势交易”理念,避免“逆势操作”(如熊市抄底、牛市割肉)。问题解决方案 - 解决痛点:散户易被日内波动误导,无法判断核心趋势,导致“拿不住牛股、抄底在山腰”。 - 实操价值:中长期上升+短期强势=坚定持有;中长期下跌+短期反弹=反弹后离场;适配价值投资(看长期)与技术派(看短期)需求。 |
|||
4.庄家成本:用主力筹码判断“自己有没有成本优势”核心功能 通过大数据筹码模型,测算庄家长短期“筹码成本”,标注筹码集中程度,帮助散户对比自身持仓成本与主力成本。股票术语关联 - 庄家:影响股价的机构大户,其吸筹、洗盘、拉升、出货行为直接决定股价走势。 - 筹码成本:庄家吸筹阶段的平均买入价(成本线),散户成本低于主力=具备成本优势。 - 筹码集中:主力吸筹充分,后续拉升概率大;筹码分散=主力可能已出货,风险高。 - 主力出货风险:股价远高于主力成本+筹码分散,对应“主力出货”,需规避回调。 |
|||
问题解决方案 - 解决痛点:散户难分析龙虎榜、资金流向,无法判断主力意图,导致“跟庄跟不上、被套在高位”。 - 实操价值:成本低于主力+筹码集中=坚定持有;成本高于主力+接近压力位=止盈离场,避免主力出货后深套。 |
|||
5.情绪价值:用市场情绪避免“追涨杀跌”核心功能 AI情绪大模型捕捉市场情绪,提示“情绪过热/低迷/拐点”,帮助散户克服人性弱点(贪婪、恐惧),理性决策。股票术语关联 - 情绪过热:对应“超买”,市场人气高涨,股价高位,散户易“高点接盘”(如牛市末期追涨)。 - 情绪低迷:对应“超卖”,市场恐慌,股价低位,散户易“割在地板上”(如熊市末期割肉)。 - 情绪拐点:对应“多空转换”,情绪从乐观转谨慎(多头转空头)或恐慌转企稳(空头转多头),是关键买卖信号。 - 情绪与成交量:过热伴“天量”(人气峰值成交量);低迷伴“地量”(市场冷清成交量)。问题解决方案 - 解决痛点:散户易被情绪裹挟,追涨在高点、割肉在低点,无法预判情绪拐点。 - 实操价值:情绪过热=减仓/观望;情绪低迷=持有/低吸;情绪拐点=提前布局(如恐慌转企稳时逢低买),契合“逆向投资”理念。 |
|||
四、超级云脑实操小手册:从选股到卖出的全流程指南 以“散户实操场景”为核心,将五大模块对应到“选股-买入-持有-卖出”四环节,提供 step-by-step 操作逻辑。 |
|||
1. 选股环节:锁定优质标的,核心是“选价值、避风险” 目标:排除高风险、高估值标的,筛选有主力支撑的优质股。用“股票估值”排除高估值陷阱,优先选择“低估”或“合理”标的。用“安全级别”划定风险边界,只选“较为安全”及以上等级的标的。用“庄家成本”判断主力态度,优先筹码集中、散户成本低于主力的标的。 |
|||
2.买入环节:找精准时机,核心是“不追高、买支撑” 目标:避免在情绪高点或高位买入,在安全价位进场。用“压力支撑”找安全买入价,在“强支撑位”附近进场(如股价回调至支撑线)。用“情绪价值”避情绪高点,避开“情绪过热”阶段,选择“情绪稳定”或“低迷企稳”时买入。 |
|||
3.持有环节:定持仓策略,核心是“顺趋势、跟主力” 目标:坚定持有优质标的,及时识别趋势反转信号。用“趋势研判”看长期方向,中长期上升趋势可坚定持有;中长期下跌趋势需警惕。用“庄家成本+主力资金”看短期动能,筹码持续集中、主力资金流入,可继续持有;筹码分散、资金流出,需减仓。 |
|||
4. 卖出环节:抓止盈止损点,核心是“不贪多、不扛跌” 目标:及时止盈落袋,避免亏损扩大。用“压力支撑”定止盈点 实操示例:某股票压力位3920.371,当前股价3918,压力强度“一般”。若当日成交量未放大,可在3920附近止盈;若成交量放大突破3920,可持有至下一个压力位。用“情绪价值+支撑位”定止损点 解读:若情绪从“稳定”转为“恐慌”且提示“极端恶化”,同时股价跌破“强支撑位”且支撑强度减弱,需立即止损,避免亏损扩大(如股价跌破支撑线后无反弹,果断离场)。 |
|||
@ -0,0 +1,229 @@ |
|||
<!DOCTYPE html> |
|||
<html lang="en"> |
|||
<head> |
|||
<meta charset="UTF-8"><!--定义字符集为UTF-8--> |
|||
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
|||
<!--设置自适应视口以确保响应式设计--> |
|||
<title>HTML学习1</title> |
|||
|
|||
<!--外部样式表--> |
|||
<link rel="stylesheet" type="text/css" href="mystyle.css"> |
|||
<!--内部样式表--> |
|||
<style type="text/css"> |
|||
h1 {color: red} |
|||
p {color: blue} |
|||
|
|||
.cities { |
|||
background-color:black; |
|||
color:white; |
|||
margin:20px; |
|||
padding:20px; |
|||
} |
|||
|
|||
#myHeader { |
|||
background-color: lightblue; |
|||
color: black; |
|||
padding: 40px; |
|||
text-align: center; |
|||
} |
|||
</style> |
|||
|
|||
</head> |
|||
<body><!--<body> 元素定义了 HTML 文档的主体-->> |
|||
<!--标题 h1(大)到h6--> |
|||
<h1>学习笔记</h1> |
|||
<!--段落--> |
|||
<p>今天学习了很多新的知识,感觉收获颇丰。</p> |
|||
|
|||
<!--水平线--> |
|||
<hr/> |
|||
<!--插入空行/换行--> |
|||
<p>This is<br />a para<br />graph with line breaks</p> |
|||
<br /> |
|||
<p>今天学习了很多新的知识,感觉收获颇丰。</p> |
|||
|
|||
|
|||
<!--链接--> |
|||
<a href="http://www.w3school.com.cn">这是web学习网站</a> |
|||
<br /> |
|||
<a name="label" href="http://www.w3school.com.cn/" target="_blank">Visit W3School!</a> |
|||
<br /> |
|||
<a href="#label">在同一个文档中创建指向该锚的链接</a> |
|||
<br /> |
|||
<a href="http://www.w3school.com.cn/#label">在其他页面中创建指向该锚的链接</a> |
|||
|
|||
<br /> |
|||
|
|||
<!--图片--> |
|||
<img src="http://www.w3school.com.cn/images/boat.gif" alt="Big Boat" width="104" height="142"/> |
|||
|
|||
|
|||
|
|||
<!--HTML元素:从开始标签(start tag)到结束标签(end tag)的所有代码--> |
|||
|
|||
<!--HTML属性:提供有关元素的附加信息 始终为属性值加引号 |
|||
class = "value":为元素指定类名 |
|||
id="value":为元素指定唯一的标识符 |
|||
style="property:value;":为元素添加内联样式 |
|||
title="text":为元素添加提示文本 |
|||
|
|||
<table border="1">:为表格添加边框 |
|||
--> |
|||
|
|||
<!--HTML样式--> |
|||
<h1 style="text-align:center;">水平居中对齐</h1> |
|||
<p style="font-family:arial; color:red; font-size:20px;">A paragraph.</p> |
|||
|
|||
<!--预格式文本,保留了空格和换行--> |
|||
<pre> |
|||
for i = 1 to 10 |
|||
print i |
|||
next i |
|||
</pre> |
|||
|
|||
<!--地址--> |
|||
<address> |
|||
Written by <a href="Wugh5200@163.com">Donald Duck</a>.<br> |
|||
Visit us at:<br> |
|||
Example.com<br> |
|||
Box 564, Disneyland<br> |
|||
USA |
|||
</address> |
|||
|
|||
<br /> |
|||
|
|||
<!--缩写和首字母缩写--> |
|||
<abbr title="etcetera">etc.</abbr> |
|||
<br /> |
|||
<acronym title="World Wide Web">WWW</acronym> |
|||
<p><dfn><abbr title="World Health Organization">WHO</abbr></dfn> 成立于 1948 年。</p> |
|||
|
|||
<br /> |
|||
<!--引用--> |
|||
<q>学习使我快乐。</q> |
|||
<br /> |
|||
<blockquote cite="http://www.w3school.com.cn"> |
|||
学习使我快乐。 |
|||
</blockquote> |
|||
|
|||
<!--表格 |
|||
<table>:定义表格 |
|||
<tr>:定义表格行 |
|||
<th>:定义表格头单元格 |
|||
<td>:定义表格数据单元格 |
|||
cellspacing:单元格间距 |
|||
cellpadding:单元格内边距 |
|||
--> |
|||
<table border="1" cellpadding="10" cellspacing="5" bgcolor="#FAEBD7"> |
|||
<caption>标题</caption> |
|||
|
|||
<tr> |
|||
<th colspan="2">Heading</th><!--横跨两列--> |
|||
<th rowspan="2">Another Heading</th><!--横跨两行--> |
|||
</tr> |
|||
|
|||
<tr> |
|||
<td>row 1, cell 1</td> |
|||
<td>row 1, cell 2</td> |
|||
</tr> |
|||
|
|||
<tr> |
|||
<td> </td> |
|||
<td>row 2, cell 2</td> |
|||
</tr> |
|||
|
|||
<tr> |
|||
<td>这个单元包含一个表格: |
|||
<table border="1"> |
|||
<tr> |
|||
<td align="left">A</td> |
|||
<td align="right">B</td> |
|||
</tr> |
|||
<tr> |
|||
<td>C</td> |
|||
<td>D</td> |
|||
</tr> |
|||
</table> |
|||
</td> |
|||
</tr> |
|||
|
|||
<tr> |
|||
<td>这个单元包含一个列表: |
|||
<ul> |
|||
<li>苹果</li> |
|||
<li>香蕉</li> |
|||
<li>菠萝</li> |
|||
</ul> |
|||
</td> |
|||
<td>HELLO</td> |
|||
</tr> |
|||
</table> |
|||
|
|||
<!--列表--> |
|||
<h2>无序列表</h2> |
|||
<!--type="disc" type="circle" type="square"--> |
|||
<ul type="disc"> |
|||
<li>Coffee</li> |
|||
<li>Milk</li> |
|||
</ul> |
|||
|
|||
<h2>有序列表</h2> |
|||
<ol type="A"> |
|||
<!--type="A" type="a" type="I" type="i"--> |
|||
<li>Coffee</li> |
|||
<li>Milk</li> |
|||
</ol> |
|||
|
|||
<h2>嵌套列表:</h2> |
|||
<ul> |
|||
<li>咖啡</li> |
|||
<li>茶 |
|||
<ul> |
|||
<li>红茶</li> |
|||
<li>绿茶</li> |
|||
</ul> |
|||
</li> |
|||
<li>牛奶</li> |
|||
</ul> |
|||
|
|||
<h2>定义列表:</h2> |
|||
<dl> <!--自定义列表以 <dl> 标签开始--> |
|||
<dt>计算机</dt> <!--每个自定义列表项以 <dt> 开始--> |
|||
<dd>用来计算的仪器 ... ...</dd> <!--每个自定义列表项的定义以 <dd> 开始--> |
|||
<dt>显示器</dt> |
|||
<dd>以视觉方式显示信息的装置 ... ...</dd> |
|||
</dl> |
|||
|
|||
<!--块级标签默认独占一行:<div>、<h1>-<h6>、<p>、<form>、<ul>、<dl>; |
|||
行内标签:<span>、<input>、<img>。--> |
|||
|
|||
|
|||
<!--同一个类名可以由多个 HTML 元素使用,而一个 id 名称只能由页面中的一个 HTML 元素使用:--> |
|||
<!--类--> |
|||
<div class="cities"> |
|||
<h2>London</h2> |
|||
<p> |
|||
London is the capital city of England. |
|||
It is the most populous city in the United Kingdom, |
|||
with a metropolitan area of over 13 million inhabitants. |
|||
</p> |
|||
</div> |
|||
|
|||
<!--id--> |
|||
<h1 id="myHeader">My Header</h1> |
|||
|
|||
<!--通过 ID 和链接实现 HTML 书签--> |
|||
<h2 id="C4">第四章</h2> |
|||
<a href="#C4">跳转到第四章</a> |
|||
<!--或者,在另一张页面中,添加指向这个书签的链接(“跳转到第四章”)--> |
|||
<a href="html_demo.html#C4">Jump to Chapter 4</a> |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
</body> |
|||
</html> |
|||
@ -0,0 +1,85 @@ |
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" |
|||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
|||
|
|||
<html xmlns="http://www.w3.org/1999/xhtml"> |
|||
<head> |
|||
<meta charset="UTF-8"> |
|||
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
|||
<title>HTML学习2</title> |
|||
</head> |
|||
<body> |
|||
|
|||
<!--iframe--> |
|||
<iframe src="http://127.0.0.1:5500/%E5%90%B4%E5%85%89%E6%85%A7%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/10.29/study1.html" |
|||
name="iframe_a"width="500" height="500" frameborder="0">study1</iframe> |
|||
<!--使用 iframe 作为链接的目标--> |
|||
<p><a href="http://www.w3school.com.cn" target="iframe_a">W3School.com.cn</a></p> |
|||
|
|||
<!--框架--> |
|||
|
|||
|
|||
|
|||
<h1>我的第一个 Emoji</h1> |
|||
<p style="font-size:48px">😀</p> |
|||
|
|||
<!--URL--> |
|||
<!-- |
|||
http 超文本传输协议 以 http:// 开头的普通网页。不加密。 |
|||
https 安全超文本传输协议 以 https:// 开头的安全网页。加密。 |
|||
ftp 文件传输协议 以 ftp:// 用于将文件下载或上传至网站。 |
|||
ftps 安全文件传输协议 以 ftps:// 开头的安全文件传输协议。加密。 |
|||
file 本地文件 以 file:// 开头的本地文件。 |
|||
--> |
|||
|
|||
<!--表单--> |
|||
<!--form--> |
|||
<form action="action_page.php" method="GET" target="_blank" accept-charset="UTF-8" |
|||
ectype="application/x-www-form-urlencoded" autocomplete="off" novalidate> |
|||
<fieldset><!--元素组合表单中的相关数据--> |
|||
<legend>Personal information:</legend><!--为 <fieldset> 元素定义标题--> |
|||
First name:<br> |
|||
<input type="text" name="firstname"> |
|||
<br> |
|||
Last name:<br> |
|||
<input type="text" name="lastname"> |
|||
<br><br> |
|||
<input type="submit" value="Submit"></fieldset> |
|||
</form> |
|||
|
|||
<!--单选按钮--> |
|||
<form> |
|||
<input type="radio" name="sex" value="male" checked>Male |
|||
<br> |
|||
<input type="radio" name="sex" value="female">Female |
|||
</form> |
|||
<!--复选框--> |
|||
<form> |
|||
<input type="checkbox" name="vehicle" value="Bike"> I have a bike |
|||
<br> |
|||
<input type="checkbox" name="vehicle" value="Car" checked> I have a car |
|||
</form> |
|||
|
|||
<!--Action--> |
|||
<form action="action_page.php" method="GET"></form> |
|||
<form action="action_page.php" method="POST"></form> |
|||
<!--POST 的安全性更好,因为在页面地址栏中被提交的数据是不可见的 |
|||
GET的URL 的长度受到限制(2048 个字符)--> |
|||
|
|||
|
|||
|
|||
<!--target属性--> |
|||
<form action="/action_page.php" target="_blank"></form> |
|||
<!--_blank:新的 _self:当前 _parent:父框架 |
|||
_top:在窗口的整个 body 中 framename:在命名的 iframe 中--> |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
</body> |
|||
</html> |
|||
@ -0,0 +1,46 @@ |
|||
<!DOCTYPE html> |
|||
<html lang="en"> |
|||
<head> |
|||
<meta charset="UTF-8"> |
|||
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
|||
<title>Document</title> |
|||
</head> |
|||
<body> |
|||
<!--<select> <option>下拉列表--> |
|||
|
|||
<form action="/demo/demo_form.asp"> |
|||
<input list="browsers" name="browser"> |
|||
<datalist id="browsers"> |
|||
<option value="Internet Explorer"> |
|||
<option value="Firefox"> |
|||
<option value="Chrome"> |
|||
<option value="Opera"> |
|||
<option value="Safari"> |
|||
</datalist> |
|||
<input type="submit"> |
|||
</form> |
|||
|
|||
<!--<textarea>多行输入字段(文本域)--> |
|||
<textarea name="message" rows="10" cols="30"> |
|||
The cat was playing in the garden. |
|||
</textarea> |
|||
|
|||
<!--<button>按钮--> |
|||
<input type="button" onclick="alert('Hello World!')" value="Click Me!"> |
|||
|
|||
<!--输入类型 |
|||
color date datetime datetime-local email month number range search tel time url week--> |
|||
|
|||
<!--只读属性 readonly--> |
|||
<input type="text" name="firstname" value="Bill" readonly> |
|||
|
|||
<!--禁用属性 disabled--> |
|||
<input type="text" name="firstname" value="Bill" disabled> |
|||
|
|||
<!--pattern 属性规定用于检查 <input> 元素值的正则表达式--> |
|||
<input type="text" name="country_code" pattern="[A-Za-z]{3}" title="Three letter country code"> |
|||
|
|||
|
|||
|
|||
</body> |
|||
</html> |
|||
@ -0,0 +1,41 @@ |
|||
<!DOCTYPE HTML> |
|||
<html> |
|||
<head> |
|||
<style type="text/css"> |
|||
body |
|||
{ |
|||
font-size:70%; |
|||
font-family:verdana,helvetica,arial,sans-serif; |
|||
} |
|||
</style> |
|||
|
|||
<script type="text/javascript"> |
|||
function cnvs_getCoordinates(e) |
|||
{ |
|||
x=e.clientX; |
|||
y=e.clientY; |
|||
document.getElementById("xycoordinates").innerHTML="Coordinates: (" + x + "," + y + ")"; |
|||
} |
|||
|
|||
function cnvs_clearCoordinates() |
|||
{ |
|||
document.getElementById("xycoordinates").innerHTML=""; |
|||
} |
|||
</script> |
|||
</head> |
|||
|
|||
<body style="margin:0px;"> |
|||
|
|||
<p>把鼠标悬停在下面的矩形上可以看到坐标:</p> |
|||
|
|||
<div id="coordiv" style="float:left;width:199px;height:99px;border:1px solid #c3c3c3" |
|||
onmousemove="cnvs_getCoordinates(event)" |
|||
onmouseout="cnvs_clearCoordinates()"></div> |
|||
<br /> |
|||
<br /> |
|||
<br /> |
|||
<div id="xycoordinates"></div> |
|||
|
|||
|
|||
</body> |
|||
</html> |
|||
@ -0,0 +1,222 @@ |
|||
# 尹顺宇10.27,10.28学习笔记 |
|||
## 1.环境配置记录: |
|||
JDK17 : |
|||
位置:D盘 |
|||
注意:环境变量的配置,Path里设置的变量优先级要高于Oracle的默认环境变量配置,否则可能导致版本不一致 |
|||
MySQL8.0.42 |
|||
Navicat17 |
|||
Redis7.0 |
|||
Apifox |
|||
git |
|||
## 2 git学习 |
|||
### 2.1 初始化配置 |
|||
--global全局配置,所有仓库都有效 |
|||
|
|||
--system 系统配置,对所有用户生效 |
|||
|
|||
一般来说是使用--global,如果省略不写,默认是local,也就是本地配置,只对本地仓库有效 |
|||
|
|||
配置用户名: git config --global user.name "yinshunyu" |
|||
|
|||
配置邮箱:git config --global user.email 1648067239@qq.com |
|||
|
|||
存储配置:(不用每次都重复配置)git config --global credential.helper store |
|||
|
|||
### 2.2 创建仓库 |
|||
#### 2.2.1 新建仓库 |
|||
git init 是在当前目录下新建仓库,新建之后,出现一个.git文件 |
|||
|
|||
git init 参数 是在当前目录下新建一个名为这个参数的文件夹,然后在这个文件夹下新建仓库 |
|||
 |
|||
#### 2.2.2 克隆仓库 |
|||
git clone 仓库地址 |
|||
|
|||
### 2.3 工作区域 |
|||
|
|||
大致分为工作区,暂存区,本地仓库 |
|||
|
|||
|
|||
工作区:.git所在的目录就是工作区 |
|||
|
|||
暂存区:.git/index 临时存放即将提交的修改内容 |
|||
|
|||
本地仓库.git/objects Git存储代码和版本信息的主要位置 |
|||
|
|||
远程仓库 远程服务器上的仓库 |
|||
工作区>git add>暂存区>git commit>本地仓库 |
|||
|
|||
### 2.4 文件状态 |
|||
git status就是查看文件的状态 |
|||
|
|||
### 2.5 添加和提交文件 |
|||
git add 把工作区无状态的代码添加到缓存区 |
|||
|
|||
git add . 添加所有 |
|||
git add *.txt 添加所有txt格式的文件 |
|||
|
|||
git commit 把缓存区代码提交到本地仓库 |
|||
git commit -m "" , -m" "是指定提交信息,如果不指定提交信息,输入git commit后会进入一个交互式页面 |
|||
注意: |
|||
没有进行git add添加到缓存区的文件,在git commit时不会被保存至本地仓库 |
|||
|
|||
### 2.6 回退版本 |
|||
git reset --soft 回退到缓存区(只取消commit操作,不取消add,不改变文件内容) |
|||
git rest --hard 即取消commit操作又取消add操作,会改变文件内容 |
|||
git rest --mixed 退回到工作区(取消commit操作和add操作,但不改变本地内容) |
|||
|
|||
### 2.7 git diffit比较差异 |
|||
|
|||
git diff 主要比较工作区和暂存区 |
|||
|
|||
git diff HEAD 比较工作区+暂存区和本地仓库的区别 |
|||
|
|||
git diff --cached比较暂存区和本地仓库的区别 |
|||
|
|||
比较两个特定版本之间的差距: |
|||
|
|||
git diff HEAD~HEAD |
|||
|
|||
git diff HEAD^HEAD |
|||
|
|||
git diff HEAD~2HEAD |
|||
|
|||
git diff HEAD~3HEAD |
|||
|
|||
还可以加上文件名,只比较文件之间的差异 |
|||
|
|||
git diff HEAD~3HEAD file3.txt |
|||
|
|||
### 2.8删除操作 |
|||
|
|||
git rm file1.txt把文件从工作区和暂存区同时删除 |
|||
|
|||
git rm --cached<file>把文件从暂存区删除,但保留在当前工作区中 |
|||
|
|||
## 2.9忽略文件 |
|||
|
|||
.gitignore |
|||
|
|||
一般自动生成的文件要被忽略 |
|||
|
|||
### 2.10关联本地仓库和远程仓库 |
|||
|
|||
关键点 |
|||
|
|||
添加远程仓库: |
|||
|
|||
git remote add <远程仓库别名><远程仓库地址> |
|||
|
|||
git push -u<远程仓库><分支名> |
|||
|
|||
查看远程仓库: |
|||
|
|||
git remote -v |
|||
|
|||
拉取远程仓库内容: |
|||
|
|||
git pull<远程仓库名><远程分支名>:<本地分支名>(分支名相同的话可以省略不写) |
|||
|
|||
git pull将远程仓库的代码拉取到本地仓库并合并 |
|||
|
|||
git pull origin main 意思是拉取仓库别名叫origin的main分支 |
|||
|
|||
git fetch 拉取远程仓库的修改,需要我们手动合并 |
|||
|
|||
### 2.11分支 |
|||
|
|||
git branch 查看分支 |
|||
|
|||
git branch dev 创建dev分支 |
|||
|
|||
git checkout dev切换到dev分支 |
|||
|
|||
git2.2之后切换分支命令为git switch |
|||
|
|||
如:git switch dev |
|||
|
|||
合并分支: |
|||
|
|||
假设当前分支为main分支 |
|||
|
|||
git merge dev,就是把dev分支的内容合并到main分支上 |
|||
|
|||
**git log 可以查看分支图** |
|||
|
|||
删除分支: |
|||
|
|||
git branch -d dev,意思是删除已经合并的分支dev |
|||
|
|||
如果要删除的分支没有合并,想要强制删除,那么,应该使用git branch -D dev枪战删除 |
|||
|
|||
### 2.12合并分支 |
|||
|
|||
两分支修改不同内容,自动合并 |
|||
|
|||
两分支修改相同内容,产生冲突 |
|||
|
|||
首先需要手动解决一下冲突,然后git add添加,然后git commit -m " "提交修改 |
|||
|
|||
如果想中止合并,使用git merge -abort |
|||
|
|||
 |
|||
|
|||
 |
|||
|
|||
其他合并方法:Rebase变基 |
|||
|
|||
## 2.13 分支管理 |
|||
|
|||
遵循git flow模型 |
|||
|
|||
或者 |
|||
|
|||
github fkow模型 |
|||
|
|||
|
|||
|
|||
## 3. IDEA+Git配置 |
|||
|
|||
-- 参考文章:https://blog.csdn.net/m0_62140641/article/details/139981486?fromshare=blogdetail&sharetype=blogdetail&sharerId=139981486&sharerefer=PC&sharesource=ysy1648067239&sharefrom=from_link -- |
|||
|
|||
#### 3.1在设置中输入本机git地址 |
|||
|
|||
 |
|||
|
|||
#### 3.2复制远程仓库的地址 |
|||
|
|||
 |
|||
|
|||
#### 3.3初始化本地仓库 |
|||
|
|||
 |
|||
|
|||
#### 3.4设置远程仓库地址 |
|||
|
|||
 |
|||
|
|||
 |
|||
|
|||
输入远程仓库地址 |
|||
|
|||
 |
|||
|
|||
之后可能还会让属于远程仓库网站的账号密码,输入验证成功后,基本配置完成。 |
|||
|
|||
#### 3.5从某一分支上切一个分支 |
|||
|
|||
 |
|||
|
|||
#### 3.6合并分支 |
|||
|
|||
 |
|||
|
|||
 |
|||
|
|||
意思是把下拉框选择的分支合并到当前分支 |
|||
|
|||
#### 注意: |
|||
|
|||
合并的时候要注意本地和远程 |
|||
|
|||
 |
|||
|
|||
@ -0,0 +1,528 @@ |
|||
# 10.29MySQL学习笔记 |
|||
|
|||
## 1.分类 |
|||
|
|||
- DDL: 数据定义语言,用来定义数据库对象(数据库、表、字段) |
|||
- DML: 数据操作语言,用来对数据库表中的数据进行增删改 |
|||
- DQL: 数据查询语言,用来查询数据库中表的记录 |
|||
- DCL: 数据控制语言,用来创建数据库用户、控制数据库的控制权限 |
|||
|
|||
## 2.数据库操作 |
|||
|
|||
### 2.1查看数据库 |
|||
|
|||
```java |
|||
# 查看所有的数据库 |
|||
mysql> SHOW DATABASES; |
|||
``` |
|||
|
|||
|
|||
|
|||
## 3.表操作(DDL) |
|||
|
|||
DDL是对表的结构进行操作 |
|||
|
|||
### 3.1数据类型 |
|||
|
|||
#### 3.1.1 数值 |
|||
|
|||
| 类型 | 大小 | 范围(有符号) | 范围(无符号) | 用途 | |
|||
| ------------ | --------------------------------- | --------------------------------------------- | --------------------------- | ---------------------------------------- | |
|||
| INT | 4 字节 | (-2 147 483 648,2 147 483 647) | (0,4 294 967 295) | 大整数值 | |
|||
| DOUBLE | 8 字节 | (-1.797E+308,-2.22E-308) | (0,2.22E-308,1.797E+308) | 双精度浮点数值 | |
|||
| DOUBLE(M,D) | 8个字节,M表示长度,D表示小数位数 | 同上,受M和D的约束 DOUBLE(5,2) -999.99-999.99 | 同上,受M和D的约束 | 双精度浮点数值 | |
|||
| DECIMAL(M,D) | DECIMAL(M,D) | 依赖于M和D的值,M最大值为65 | 依赖于M和D的值,M最大值为65 | 小数值,和钱相关,不会出现精度缺失的问题 | |
|||
|
|||
#### 3.1.2字符串 |
|||
|
|||
| 类型 | 大小 | 用途 | |
|||
| --------------------------- | ------------ | ----------------------------- | |
|||
| CHAR | 0-255字符 | 定长字符串CHAR(10)10个字符 | |
|||
| VARCHAR | 0-65535 字节 | 变长字符串VARCHAR(10)10个字符 | |
|||
| BLOB(binary large object) | 0-65535字节 | 二进制形式的长文本数据 | |
|||
| TEXT | 0-65535字节 | 长文本数据 | |
|||
|
|||
#### 3.1.3、日期时间类型 |
|||
|
|||
| 类型 | 大小 | 范围 | 格式 | 用途 | |
|||
| --------- | :--- | ------------------------------------------------------------ | ------------------- | ------------------------ | |
|||
| DATE | 3 | 1000-01-01/9999-12-31 | YYYY-MM-DD | 日期值 | |
|||
| TIME | 3 | '-838:59:59'/'838:59:59' | HH:MM:SS | 时间值或持续时间 | |
|||
| YEAR | 1 | 1901/2155 | YYYY | 年份值 | |
|||
| DATETIME | 8 | 1000-01-01 00:00:00/9999-12-31 23:59:59 | YYYY-MM-DD HH:MM:SS | 混合日期和时间值 | |
|||
| TIMESTAMP | 4 | 1970-01-01 00:00:00/2038 结束时间是第 **2147483647** 秒北京时间 **2038-1-19 11:14:07**,格林尼治时间 2038年1月19日 凌晨 03:14:07 | YYYYMMDD HHMMSS | 混合日期和时间值,时间戳 | |
|||
|
|||
|
|||
|
|||
### 3.2创建表 |
|||
|
|||
```sql |
|||
CREATE TABLE [IF NOT EXISTS] 表名( |
|||
列名 数据类型 [约束], |
|||
列名 数据类型 [约束], |
|||
列名 数据类型 [约束] //最后一列的末尾不加逗号 |
|||
)[CHARSET=utf8]; //可根据需要指定表的字符编码集 |
|||
``` |
|||
|
|||
### 3.3查看表 |
|||
|
|||
```sql |
|||
# 查看当前数据库中所有表名称 |
|||
SHOW TABLES; |
|||
# 查看指定表的创建语句 |
|||
SHOW CREATE TABLE 表名; |
|||
# 查看表结构 |
|||
DESC 表名; |
|||
``` |
|||
|
|||
### 3.4修改表 |
|||
|
|||
```sql |
|||
# 添加列 |
|||
ALTER TABLE 表名 ADD ( |
|||
列名 列类型, |
|||
列名 列类型 |
|||
) |
|||
|
|||
# 修改列类型(如果被修改的列已存在数据,那么新的类型可能会影响到已存在数据), 修改表中的某列时,也要写全列的名字,数据类型,约束 |
|||
ALTER TABLE 表名 MODIFY 列名 列类型; |
|||
|
|||
# 修改列名, 在给定列新名称时,要指定列的类型和约束 |
|||
ALTER TABLE 表名 CHANGE 原列名 新列名 列类型; |
|||
|
|||
# 删除列, 删除列时,每次只能删除一列 |
|||
ALTER TABLE 表名 DROP 列名; |
|||
|
|||
# 修改表名称 |
|||
ALTER TABLE 原表名 RENAME TO 新表名; |
|||
ALTER TABLE 原表名 RENAME 新表名; |
|||
``` |
|||
|
|||
### 3.5删除表 |
|||
|
|||
```sql |
|||
DROP TABLE 表名; |
|||
``` |
|||
|
|||
## 4.DML |
|||
|
|||
DML就是对表的内容进行操作 |
|||
|
|||
### 4.1插入 |
|||
|
|||
基本格式: |
|||
|
|||
```sql |
|||
INSERT INTO 表名(列名1, 列名2, ...) VALUES(列值1, 列值2, ...); |
|||
或者 |
|||
INSERT INTO 表名 VALUES(列值1, 列值2, ...); |
|||
``` |
|||
|
|||
### 4.2修改 |
|||
|
|||
```sql |
|||
# WHERE条件是可选的, 如果没有条件, 就修改所有记录, 多数时候我们都加上WHERE条件 |
|||
UPDATE 表名 SET 列名1=列值1, 列名2=列值2, ...[WHERE 条件] |
|||
``` |
|||
|
|||
### 4.3删除 |
|||
|
|||
```sql |
|||
# WHERE条件是可选的, 如果没有条件, 就删除所有记录, 多数时候我们都加上WHERE条件 |
|||
DELETE FROM 表名 [WHERE 条件]; |
|||
``` |
|||
|
|||
|
|||
|
|||
### 4.4约束 |
|||
|
|||
#### 4.4.1主键约束 |
|||
|
|||
```sql |
|||
# 创建表时指定主键 |
|||
CREATE TABLE 表名( |
|||
列名 数据类型 PRIMARY KEY, |
|||
列名 数据类型, |
|||
列名 数据类型 |
|||
); |
|||
|
|||
# 创建表时指定主键 |
|||
CREATE TABLE 表名( |
|||
列名 数据类型, |
|||
列名 数据类型, |
|||
列名 数据类型, |
|||
PRIMARY KEY(设置为主键的列名) |
|||
); |
|||
|
|||
# 修改表时指定主键 |
|||
ALTER TABLE 表名 ADD PRIMARY KEY(列名); |
|||
ALTER TABLE 表名 MODIFY 列名 列类型 PRIMARY KEY; |
|||
ALTER TABLE 表名 CHANGE 原列名 新列名 列类型 PRIMARY KEY; |
|||
|
|||
# 删除主键 |
|||
ALTER TABLE 表名 DROP PRIMARY KEY; |
|||
``` |
|||
|
|||
主键自增长: |
|||
|
|||
```sql |
|||
# 创建表时指定主键 |
|||
CREATE TABLE 表名( |
|||
列名 数据类型 PRIMARY KEY AUTO_INCREMENT, |
|||
列名 数据类型, |
|||
列名 数据类型 |
|||
); |
|||
|
|||
# 修改表时设置主键自增长 |
|||
ALTER TABLE 表名 CHANGE 原列名 新列名 列类型 PRIMARY KEY AUTO_INCREMENT; |
|||
ALTER TABLE 表名 MODIFY 列名 列类型 PRIMARY KEY AUTO_INCREMENT; |
|||
|
|||
# 修改表时删除主键自增长 |
|||
ALTER TABLE 表名 CHANGE 原列名 新列名 列类型; |
|||
``` |
|||
|
|||
|
|||
|
|||
#### 4.4.2唯一约束 |
|||
|
|||
```sql |
|||
# 创建表时指定唯一约束 |
|||
CREATE TABLE 表名( |
|||
列名 数据类型 UNIQUE, |
|||
列名 数据类型, |
|||
列名 数据类型 |
|||
); |
|||
|
|||
# 修改表时设置唯一约束 |
|||
ALTER TABLE 表名 MODIFY 列名 列类型 UNIQUE; |
|||
ALTER TABLE 表名 CHANGE 原列名 新列名 列类型 UNIQUE; |
|||
|
|||
# 删除唯一约束 |
|||
ALTER TABLE 表名 DROP INDEX name; |
|||
``` |
|||
|
|||
|
|||
|
|||
#### 4.4.3非空约束 |
|||
|
|||
```sql |
|||
# 创建表时指定非空约束 |
|||
CREATE TABLE 表名( |
|||
列名 数据类型 NOT NULL, |
|||
列名 数据类型, |
|||
列名 数据类型 |
|||
); |
|||
|
|||
# 修改表时设置非空约束 |
|||
ALTER TABLE 表名 MODIFY 列名 列类型 NOT NULL; |
|||
ALTER TABLE 表名 CHANGE 原列名 新列名 列类型 NOT NULL; |
|||
|
|||
# 删除非空约束 |
|||
ALTER TABLE 表名 MODIFY 列名 列类型; |
|||
ALTER TABLE 表名 CHANGE 原列名 新列名 列类型; |
|||
``` |
|||
|
|||
#### 4.4.4默认值 |
|||
|
|||
```sql |
|||
# 创建表时指定默认值 |
|||
CREATE TABLE 表名( |
|||
列名 数据类型 DEFAULT 默认值, |
|||
列名 数据类型, |
|||
列名 数据类型 |
|||
); |
|||
|
|||
# 修改表时设置默认值 |
|||
ALTER TABLE 表名 MODIFY 列名 列类型 DEFAULT 默认值; |
|||
ALTER TABLE 表名 CHANGE 原列名 新列名 列类型 DEFAULT 默认值; |
|||
|
|||
# 删除默认值 |
|||
ALTER TABLE 表名 MODIFY 列名 列类型; |
|||
ALTER TABLE 表名 CHANGE 原列名 新列名 列类型; |
|||
``` |
|||
|
|||
#### 4.4.5外键约束 |
|||
|
|||
## 5.DQL |
|||
|
|||
查询操作:所有操作中使用最频繁 |
|||
|
|||
### 5.1单表查询 |
|||
|
|||
```sql |
|||
# 查询指定列 |
|||
SELECT 列1 [, 列2, ...列N] FROM 表名; |
|||
#去重查询 |
|||
SELECT DISTINCT 列1 [, 列2, ...列N] FROM 表名; |
|||
``` |
|||
|
|||
### 5.2列运算 |
|||
|
|||
```sql |
|||
# 列可以进行加、减、乘、除运算 |
|||
如:SELECT ename, sal*1.5 FROM emp; |
|||
# 格式:列名 AS 别名 |
|||
# AS也可以省略,格式:列名 别名 |
|||
# 查询所有员工的姓名和总工资(工资加奖金, 如果奖金为NULL则按照奖金为0进行运算) |
|||
SELECT ename AS '姓名', sal+IFNULL(comm, 0) AS '总工资' FROM emp; |
|||
SELECT ename '姓名', sal+IFNULL(comm, 0) '总工资' FROM emp; |
|||
# 除了可以给列起别名,也可以给表起别名,在多表查询中会使用到为表起别名 |
|||
``` |
|||
|
|||
### 5.3条件查询 |
|||
|
|||
主要使用where连接 |
|||
|
|||
```sql |
|||
# 查询部门编号为20的所有员工的信息 |
|||
SELECT * FROM emp WHERE deptno=20 |
|||
|
|||
# 查询工种为工程师的所有员工的信息 |
|||
SELECT * FROM emp WHERE job='工程师' |
|||
|
|||
# 查询有奖金的所有员工的信息 |
|||
SELECT * FROM emp WHERE comm IS NOT NULL and comm <> 0; |
|||
SELECT * FROM emp WHERE comm IS NOT NULL and comm != 0; |
|||
``` |
|||
|
|||
### 5.4模糊查询 |
|||
|
|||
> "_"匹配一个任意字符,只匹配一个字符而不是多个 |
|||
> |
|||
> "%"匹配0~N个任意字符 |
|||
> |
|||
> 模糊查询需要使用运算符:LIKE |
|||
|
|||
```sql |
|||
# 查询姓“周”的所有员工的信息 |
|||
SELECT * FROM emp WHERE ename LIKE '周%'; |
|||
|
|||
# 查询姓名中包含“杰”的所有员工的信息 |
|||
SELECT * FROM emp WHERE ename LIKE '%杰%'; |
|||
|
|||
# 查询姓“周”并且姓名只有三个字的所有员工的信息 |
|||
SELECT * FROM emp WHERE ename LIKE '周__'; |
|||
``` |
|||
|
|||
### 5.5排序 |
|||
|
|||
> 对查询的结果进行排序 |
|||
> |
|||
> 排序分成升序(ASC)和降序(DESC),可以使用多列作为排序条件 |
|||
> |
|||
> 排序使用关键字ORDER BY |
|||
|
|||
```sql |
|||
# 排序 |
|||
# 规则:列名 升序/降序 |
|||
SELECT 列1, 列2, 列3 FROM 表名 WHERE 条件 ORDER BY 规则1, 规则2,....,规则n |
|||
|
|||
# 查询所有员工信息,按照工号升序排列 |
|||
SELECT * FROM emp ORDER BY empno ASC; |
|||
# 如果是升序,ASC可以省略 |
|||
SELECT * FROM emp ORDER BY empno; |
|||
多个排序规则就按顺序执行 |
|||
SELECT * FROM emp ORDER BY sal ASC, empno DESC; |
|||
``` |
|||
|
|||
### 5.6聚合函数 |
|||
|
|||
> | 函数 | 功能 | |
|||
> | ----- | -------- | |
|||
> | COUNT | 计算个数 | |
|||
> | MAX | 最大值 | |
|||
> | MIN | 最小值 | |
|||
> | AVG | 平均值 | |
|||
> | SUM | 和 | |
|||
|
|||
例如: |
|||
|
|||
```sql |
|||
# 查询公司员工个数 |
|||
SELECT count(1) FROM emp; |
|||
SELECT count(*) FROM emp; |
|||
|
|||
# 查询公司最高工资 |
|||
SELECT MAX(sal) FROM emp; |
|||
|
|||
# 查询公司最低工资 |
|||
SELECT MIN(sal) FROM emp; |
|||
|
|||
# 查询公司所有员工工资和 |
|||
SELECT SUM(sal) FROM emp; |
|||
|
|||
# 查询公司员工工资的平均值 |
|||
SELECT AVG(sal) FROM emp; |
|||
``` |
|||
|
|||
### 5.7分组查询 |
|||
|
|||
>主要使用GROUP BY关键字 |
|||
|
|||
|
|||
|
|||
例如: |
|||
|
|||
```sql |
|||
# 查询每个工种的平均工资 |
|||
SELECT job, AVG(sal) FROM emp GROUP BY job; |
|||
|
|||
# 查询每个工种的员工数量 |
|||
SELECT job, COUNT(1) FROM emp GROUP BY job; |
|||
``` |
|||
|
|||
分组查询设置条件的话,分组前的条件使用where,分组后的条件使用having |
|||
|
|||
```sql |
|||
# 查询工资大于15000的员工的工种,以及工种的平均工资 |
|||
SELECT job, AVG(sal) FROM emp WHERE sal>15000 GROUP BY job; |
|||
|
|||
# 查询工资大于15000的员工的工种,以及工种的平均工资,只显示超过两人的工种 |
|||
SELECT job, AVG(sal) FROM emp WHERE sal>15000 GROUP BY job HAVING COUNT(*)>=2; |
|||
``` |
|||
|
|||
### 5.8Limit子句 |
|||
|
|||
>主要用于分页查询 |
|||
|
|||
```sql |
|||
# 语法 |
|||
SELECT 列名 FROM 表名 LIMIT 起始行,查询行数; |
|||
|
|||
# 查询员工表中前五名员工的所有信息 |
|||
# 起始行是从 0 开始,代表了第一行 |
|||
SELECT * FROM emp LIMIT 0, 5; |
|||
|
|||
#查询员工表中从第4条开始,查询10行 |
|||
SELECT * FROM emp LIMIT 3,10; |
|||
``` |
|||
|
|||
### 5.9 多表查询 |
|||
|
|||
#### 5.9.1合并结果集 |
|||
|
|||
> 合并结果集就是把两个select语句的查询结果合并到一起,结果集就是一个表格。 |
|||
> |
|||
> 要求:被合并的两个结果:列数必须相同。 |
|||
|
|||
```sql |
|||
# UNION:去除重复记录 |
|||
SELECT * FROM t1 UNION SELECT * FROM t2; |
|||
# UNION ALL:不去除重复记录 |
|||
SELECT * FROM t1 UNION ALL SELECT * FROM t2; |
|||
``` |
|||
|
|||
#### 5.9.2内连接 |
|||
|
|||
```sql |
|||
# 方式1(MySQL特有,不符合SQL标准) |
|||
SELECT 列名 FROM 表1, 表2 WHERE 表1.列名 条件运算符 表2.列名 [AND 条件]; |
|||
# 方式2(符合SQL标准) |
|||
SELECT 列名 FROM 表1 INNER JOIN 表2 ON 表1.列名 条件运算符 表2.列名 [WHERE 条件]; |
|||
``` |
|||
|
|||
``` |
|||
# 列出员工的姓名和部门名称 |
|||
SELECT e.ename, d.dname FROM emp e, dept d WHERE e.deptno=d.deptno; |
|||
SELECT e.ename, d.dname FROM emp e INNER JOIN dept d ON e.deptno=d.deptno; |
|||
``` |
|||
|
|||
> 上面的查询只能查询出拥有部门的员工和拥有员工的部门,没有部门的员工和没有员工的部门是查询不到的。如果要将所有的员工和部门都查询出来需要使用外连接。 |
|||
|
|||
#### 5.9.3外连接 |
|||
|
|||
> 结果集中包含主表所有数据行,如果主表的某行在从表中没有匹配行时,则从表的选择列为NULL值。 |
|||
|
|||
##### 5.9.3.1左外链接 |
|||
|
|||
> 左外连接是以左表为主表,去关联右表(从表),**结果集中包含主表所有数据行**,如果主表的某行在从表中没有匹配行时,则从表的选择列为NULL值。 |
|||
|
|||
```sql |
|||
# 语法 |
|||
SELECT 列名 FROM 左表 LEFT [OUTER] JOIN 右表 ON 左表.列名 条件运算符 右表.列名 [WHERE 条件]; |
|||
|
|||
# 列出员工的姓名和部门名称, 包括没有部门的员工 |
|||
SELECT e.ename, d.dname FROM emp e LEFT JOIN dept d ON e.deptno=d.deptno; |
|||
|
|||
# 列出员工的姓名和部门名称, 包括没有员工的部门 |
|||
SELECT e.ename, d.dname FROM dept d LEFT JOIN emp e ON e.deptno=d.deptno; |
|||
``` |
|||
|
|||
##### 5.9.3.2右外连接 |
|||
|
|||
> 右外连接是以右表为主表,去关联左表(从表),**结果集中包含主表所有数据行**,如果主表的某行在从表中没有匹配行时,则从表的选择列为NULL值。 |
|||
|
|||
```sql |
|||
# 语法 |
|||
SELECT 列名 FROM 左表 RIGHT [OUTER] JOIN 右表 ON 左表.列名 条件运算符 右表.列名 [WHERE 条件]; |
|||
|
|||
# 列出员工的姓名和部门名称, 包括没有员工的部门 |
|||
SELECT e.ename, d.dname FROM emp e RIGHT JOIN dept d ON e.deptno=d.deptno; |
|||
|
|||
# 列出员工的姓名和部门名称, 包括没有部门的员工 |
|||
SELECT e.ename, d.dname FROM dept d RIGHT JOIN emp e ON e.deptno=d.deptno; |
|||
``` |
|||
|
|||
##### 5.9.3.3 全外连接 |
|||
|
|||
> 完全连接左表和右表中所有行,当某行数据在另一个表中没有匹配时,则另一个表的选择列值为NULL。 |
|||
|
|||
```sql |
|||
# 语法 |
|||
SELECT 列名 FROM 左表 FULL [OUTER] JOIN 右表 ON 左表.列名 条件运算符 右表.列名 [WHERE 条件] |
|||
``` |
|||
|
|||
> MySQL不支持这种语法,可以使用合并结果集进行模拟全外连接。 |
|||
|
|||
```sql |
|||
SELECT e.ename, d.dname FROM emp e LEFT JOIN dept d ON e.deptno=d.deptno |
|||
UNION |
|||
SELECT e.ename, d.dname FROM emp e RIGHT JOIN dept d ON e.deptno=d.deptno; |
|||
``` |
|||
|
|||
### 5.10子查询 |
|||
|
|||
> 子查询出现的位置: |
|||
> |
|||
> - WHERE后,作为条件的一部分; |
|||
> - FROM后,作为被查询的一条表。 |
|||
|
|||
#### 5.10.1列子查询 |
|||
|
|||
```sql |
|||
SELECT id,stu_id,`name`,(SELECT `class_name`FROM t_class WHERE id = class_id ) class_name,class_id,sex,birthday FROM t_student LIMIT 10; |
|||
``` |
|||
|
|||
#### 5.10.2表子查询 |
|||
|
|||
```sql |
|||
SELECT id,stu_id,`name`,pinyin,sex,birthday FROM (SELECT *FROM t_student WHERE sex = '女')t1; |
|||
``` |
|||
|
|||
#### 5.10.3where之后 |
|||
|
|||
```sql |
|||
-- 等号(不等号)子查询 要求子查询结果必须是一行一列 |
|||
SELECT id,stu_id,`name`,pinyin,sex,birthday FROM t_student |
|||
WHERE class_id = (SELECT id FROM t_class WHERE class_name = '080503-JAVA'); |
|||
SELECT id,stu_id,`name`,pinyin,sex,birthday FROM t_student |
|||
WHERE class_id != (SELECT id FROM t_class WHERE class_name = '080503-JAVA'); |
|||
-- 大于号子查询,小于号子查询 |
|||
SELECT id,stu_id,`name`,pinyin,sex,birthday,class_id FROM t_student |
|||
WHERE class_id > ALL(SELECT id FROM t_class WHERE class_name LIKE '%JAVA%'); |
|||
|
|||
SELECT id,stu_id,`name`,pinyin,sex,birthday,class_id FROM t_student |
|||
WHERE class_id > ANY(SELECT id FROM t_class WHERE class_name = '080503-JAVA'); |
|||
-- 4.in 和not in 子查询 |
|||
SELECT id,stu_id,`name`,pinyin,sex,birthday,class_id FROM t_student WHERE id in(1,2,3); |
|||
SELECT id,stu_id,`name`,pinyin,sex,birthday,class_id FROM t_student |
|||
WHERE id in(SELECT id FROM t_class WHERE class_name LIKE '%JAVA%'); |
|||
``` |
|||
|
|||
#### 5.10.4exists |
|||
|
|||
```sql |
|||
SELECT id,stu_id,`name`,pinyin,sex,birthday,class_id FROM t_student |
|||
WHERE EXISTS(SELECT id From t_class WHERE class_name LIKE '%JAVA%') |
|||
``` |
|||
|
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue