diff --git a/.idea/workspace.xml b/.idea/workspace.xml
new file mode 100644
index 0000000..9e422c7
--- /dev/null
+++ b/.idea/workspace.xml
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {
+ "customColor": "",
+ "associatedIndex": 7
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1761647682116
+
+
+ 1761647682116
+
+
+
+
+
+
+ 1761647865510
+
+
+
+ 1761647865510
+
+
+
+ 1761647873327
+
+
+
+ 1761647873327
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/10.29孙维宁学习笔记.docx b/10.29孙维宁学习笔记.docx
new file mode 100644
index 0000000..a76d685
Binary files /dev/null and b/10.29孙维宁学习笔记.docx differ
diff --git a/zhangbo/第一天笔记.txt b/zhangbo/第一天笔记.txt
new file mode 100644
index 0000000..c0d8fbe
--- /dev/null
+++ b/zhangbo/第一天笔记.txt
@@ -0,0 +1,56 @@
+1.学习了配置开发环境,后端:JDK17、JDK8、MySQL8.0、Redis7.0、Apipost
+2.学习到git的一些指令,例如
+初始化仓库
+git init
+
+克隆远程仓库
+git clone
+
+查看当前状态
+git status
+
+添加全部修改到暂存区
+git add
+
+提交到本地仓库
+git commit -m ""
+
+查看提交历史(精简版)
+git log --oneline
+
+查看文件修改差异
+git diff
+3.学习了建立自己的分支,并且将自己的学习笔记提交到自己的远程分支。
+
+创建新分支
+git branch
+
+切换分支
+git checkout
+
+创建并切换分支
+git checkout -b
+
+合并分支到当前分支
+git merge
+
+删除本地分支
+git branch -d
+
+强制删除未合并分支
+git branch -D
+
+查看所有分支(含远程)
+git branch -a
+
+
+4.Git代码提交步骤
+在本地仓库中初始化Git
+执行git init命令以创建一个新的Git版本库。
+添加文件到暂存区
+将需要提交的文件添加到暂存区,使用git add .命令(其中.代表当前目录下的所有文件)。
+创建提交记录
+创建提交记录,使用git commit -m "提交描述"命令,其中“提交描述”是对本次提交的简要说明。
+关联本地与远程仓库
+将本地仓库与远程仓库建立关联,执行git remote add origin 你的仓库地址命令,将你的仓库地址替换为实际的远程仓库地址。
+通过git push origin master命令将本地的版本库推送到远程服务器。
\ No newline at end of file
diff --git a/zhangbo/第一天软件学习笔记.txt b/zhangbo/第一天软件学习笔记.txt
new file mode 100644
index 0000000..58322d0
--- /dev/null
+++ b/zhangbo/第一天软件学习笔记.txt
@@ -0,0 +1,6 @@
+homily link第一天学习笔记
+首先是夺宝奇兵功能里面有超级云脑,AI预测大模型,AI金牛,AI雷达,AI情绪大模型
+还有博股俱乐部,里面包含最先进的投资理念,最尖端的投资技术,为投资人士解析国际经济格局,研判经济发展机遇,包括专享线下活动,专属游学班。
+牧民俱乐部专注于对全球市场投资机会进行解读,从多维视角去看市场的机会。以及神枪手俱乐部,借助先进的AI工具,将知识转化成实战力量,有更多的应对策略,实现利润的最大化
+在静态专区里面包含了各种学习视频有助于我们的学习。,在频道里面是多种学习视频,以及名师解读课程。
+咨询模块,聚焦国际新闻,金融新闻,通过这些可以增加更多的判断依据,在上边栏的里面包含了咨询,普及教育,轻松一刻,以及一些炒股理念的分析,和其他人炒股经验的分析,,提高了用户的参与度和使用的便捷性
\ No newline at end of file
diff --git a/zhangbo/第三天技术学习笔记.txt b/zhangbo/第三天技术学习笔记.txt
new file mode 100644
index 0000000..8efcc19
--- /dev/null
+++ b/zhangbo/第三天技术学习笔记.txt
@@ -0,0 +1,7 @@
+对java后端的知识进行了系统性的学习
+包括:Java基本数据类型,面向对象的相关知识,还有流程控制和异常处理
+对于集合框架方面,学习了Collection和Map以及他们的实现类,集合的底层原理和线程安全也进行了学习
+还学习了泛型,注解和反射,还了解了jvm的内存结构和垃圾回收机制,以及类加载机制。
+对昨天学习的数据库的相关知识进行了复习,sql语法增删改查,还有索引,索引失效的情况
+事务的隔离级别,锁机制以及存储引擎。
+明天计划学习Spring Boot3的相关知识,并且对昨天和今天学到的知识复习
\ No newline at end of file
diff --git a/zhangbo/第三天股票知识学习笔记.txt b/zhangbo/第三天股票知识学习笔记.txt
new file mode 100644
index 0000000..da3a5ee
--- /dev/null
+++ b/zhangbo/第三天股票知识学习笔记.txt
@@ -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,可持有至下一个压力位。用“情绪价值+支撑位”定止损点 解读:若情绪从“稳定”转为“恐慌”且提示“极端恶化”,同时股价跌破“强支撑位”且支撑强度减弱,需立即止损,避免亏损扩大(如股价跌破支撑线后无反弹,果断离场)。
\ No newline at end of file
diff --git a/zhangbo/第二天技术学习笔记.txt b/zhangbo/第二天技术学习笔记.txt
new file mode 100644
index 0000000..8171c6e
--- /dev/null
+++ b/zhangbo/第二天技术学习笔记.txt
@@ -0,0 +1,28 @@
+阶段性学习总结文档
+一、Git 实践
+1. 掌握 Git 核心使用方法,包括仓库初始化、代码暂存(`git add`)、提交(`git commit`)、分支管理等基础操作
+2. 完成实际应用:将个人作业通过 Git 上传至远程仓库,实现作业代码的版本控制与备份
+
+
+二、前端基础
+1. 学习前端核心知识点(未明确具体模块,暂为基础内容范畴),初步建立前端技术认知
+2. 了解前端开发流程与基础工具使用逻辑
+
+
+三、Redis 技术
+1. 掌握 Redis 核心操作,包括数据类型(String、Hash、List 等)的增删改查
+2. 学习 Redis 实用技巧,如缓存设计、数据持久化配置、性能优化基础方法
+
+
+四、Java 基础(系统化学习)
+1. 夯实 Java 语法基础,理解变量、方法、流程控制等核心概念
+2. 深入学习面向对象三大基本特征:
+ 封装:类的属性私有化与访问控制(get/set 方法)
+ 继承:类的继承规则、方法重写与 super 关键字使用
+ 多态:接口/抽象类应用、方法重载与动态绑定特性
+
+
+五、MySQL 数据库
+1. 掌握 MySQL 基础操作,包括数据库/表创建、SQL 语句(增删改查)编写
+2. 学习数据库优化方向:索引设计(主键索引、联合索引等)、SQL 语句优化(避免全表扫描、合理使用关联查询)、表结构设计规范
+3. 建立技术选型认知:明确 Redis 与 MySQL 的适用场景差异,知道何时需用 Redis 提升性能(如高频读取数据缓存、会话存储),何时依赖 MySQL 保证数据一致性(如核心业务数据存储)
\ No newline at end of file
diff --git a/zhangbo/第二天知识学习笔记.txt b/zhangbo/第二天知识学习笔记.txt
new file mode 100644
index 0000000..ed01c37
--- /dev/null
+++ b/zhangbo/第二天知识学习笔记.txt
@@ -0,0 +1,44 @@
+对股票知识的进一步学习
+
+熟悉了股票的基础概念(股票是什么)
+A股
+ 定义:在中国境内交易所(上海、深圳)上市,以人民币认购和交易的普通股股票。
+ 主要面向境内投资者,是普通人最常参与的股票市场。
+股东(大股东/散户)
+ 定义:持有公司股票的人;大股东指持股比例高(通常5%以上)的投资者,散户指个人小资金投资者。
+ 大股东的买卖动作可能影响股价,散户需关注公司公告中的股东变动信息。
+
+二、交易规则类(知道“怎么买/卖”)
+1. 开盘价/收盘价
+ 定义:开盘价是交易日9:30开始时的第一笔成交价格;收盘价是15:00收盘时的最后一笔成交价格(深市为集合竞价结果)。
+ 开盘价反映早盘情绪,收盘价是当天行情的“最终结果”,常作为后续分析的基准。
+2. 涨停/跌停
+ 定义:A股普通股票单日涨跌幅限制为10%(ST股为5%),达到上限后当天停止单向交易,分别称为涨停、跌停。
+ 涨停不代表不能卖,跌停不代表不能买,只是价格暂时锁定。
+3. 成交量/成交额
+ 定义:成交量是当天成交的股票总股数;成交额是当天成交的总金额(成交量×股价)。
+ 成交量放大通常意味着市场关注度提升,是判断“行情是否真实”的重要信号。
+
+
+三、市场状态类(判断“行情好/坏”)
+1. 牛市/熊市
+ 定义:牛市指市场长期(通常半年以上)上涨,投资者情绪乐观;熊市指市场长期下跌,情绪低迷。
+ 牛市多赚钱效应,熊市多亏损风险,新手需避免在熊市高位入场。
+2. 大盘/指数
+ 定义:“大盘”通常指上证综指(反映沪市整体)或深证成指(反映深市整体);指数是选取部分股票编制的“市场平均水平指标”。
+ 看大盘指数能快速判断整体市场方向,比如上证综指涨1%,代表沪市多数股票当天上涨。
+3. 多头/空头
+ 定义:多头是看好股价上涨、买入股票的投资者;空头是看空股价下跌、卖出股票(或融券做空)的投资者。
+ 当多头力量强于空头时,股价上涨;反之则下跌。
+
+四、收益指标类(看懂“公司值不值”)
+这类术语用于分析公司基本面,判断股票价值。
+1. 市盈率(PE)
+ 定义:股价÷每股收益(EPS),反映“投资者为公司每1元利润付出的价格”。
+ PE低通常意味着股票“相对便宜”,但需结合行业对比(比如科技股PE普遍高于银行股)。
+2. 每股收益(EPS)
+ 定义:公司净利润÷总股本,反映“每股股票能分到的公司利润”。
+ EPS持续增长,说明公司盈利能力在提升,是股价上涨的重要支撑。
+3. 股息
+ (每股分红金额÷股价)×100%,反映“持有股票的年度分红收益比例”。
+ 关键理解:股息率高的股票适合追求稳定收益的投资者(如银行股、公用事业股)。
diff --git a/尹顺宇10.28作业/尹顺宇10.27+10.28学习笔记.md b/尹顺宇10.28作业/尹顺宇10.27+10.28学习笔记.md
index fd3d25e..813c1e6 100644
--- a/尹顺宇10.28作业/尹顺宇10.27+10.28学习笔记.md
+++ b/尹顺宇10.28作业/尹顺宇10.27+10.28学习笔记.md
@@ -1,6 +1,6 @@
# 尹顺宇10.27,10.28学习笔记
## 1.环境配置记录:
- JDK17
+ JDK17 :
位置:D盘
注意:环境变量的配置,Path里设置的变量优先级要高于Oracle的默认环境变量配置,否则可能导致版本不一致
MySQL8.0.42
diff --git a/尹顺宇10.29作业/尹顺宇10.29夺宝奇兵之超级云脑部分学习.docx b/尹顺宇10.29作业/尹顺宇10.29夺宝奇兵之超级云脑部分学习.docx
new file mode 100644
index 0000000..a9337bc
Binary files /dev/null and b/尹顺宇10.29作业/尹顺宇10.29夺宝奇兵之超级云脑部分学习.docx differ
diff --git a/尹顺宇10.29作业/尹顺宇10.29学习笔记.md b/尹顺宇10.29作业/尹顺宇10.29学习笔记.md
new file mode 100644
index 0000000..b285970
--- /dev/null
+++ b/尹顺宇10.29作业/尹顺宇10.29学习笔记.md
@@ -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%')
+```
+
diff --git a/尹顺宇10.29作业/尹顺宇第三天学习总结.docx b/尹顺宇10.29作业/尹顺宇第三天学习总结.docx
new file mode 100644
index 0000000..6375dbb
Binary files /dev/null and b/尹顺宇10.29作业/尹顺宇第三天学习总结.docx differ
diff --git a/李延霜Git学习总结.pdf b/李延霜学习笔记/李延霜Git学习总结.pdf
similarity index 100%
rename from 李延霜Git学习总结.pdf
rename to 李延霜学习笔记/李延霜Git学习总结.pdf