<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Note</title><link>https://leiking007.github.io/</link><description>Recent content on Note</description><generator>Hugo</generator><language>zh-cn</language><copyright>copyright@</copyright><lastBuildDate>Mon, 21 Sep 2026 14:02:54 +0800</lastBuildDate><atom:link href="https://leiking007.github.io/index.xml" rel="self" type="application/rss+xml"/><item><title>Tomcat</title><link>https://leiking007.github.io/posts/%E5%B7%A5%E5%85%B7/tomcat/</link><pubDate>Tue, 30 Jun 2026 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/%E5%B7%A5%E5%85%B7/tomcat/</guid><description>&lt;h1 id="tomcat" class="group"&gt;Tomcat &lt;a href="#tomcat" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;下面内容基于 Tomcat9&lt;/p&gt;&lt;/blockquote&gt;
&lt;h2 id="服务器配置" class="group"&gt;服务器配置 &lt;a href="#%e6%9c%8d%e5%8a%a1%e5%99%a8%e9%85%8d%e7%bd%ae" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="confserverxml-文件" class="group"&gt;conf/server.xml 文件 &lt;a href="#confserverxml-%e6%96%87%e4%bb%b6" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;

&lt;div x-data="postCodeBlock('已复制')" class="font-mono text-base not-prose my-4 rounded-lg border border-tl-base-300/50 overflow-hidden shadow-sm"&gt;
 &lt;div class="px-3 py-2 flex justify-between items-center bg-tl-base-300/60"&gt;
 &lt;span class="cursor-default text-xs text-tl-base-content/70"&gt;xml&lt;/span&gt;
 &lt;span class="flex"&gt;
 &lt;span x-on:click="copyCode" x-ref="copyBtn" class="cursor-copy mr-2 inline-block"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="1545" t="1755222167498" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M720 192h-544A80.096 80.096 0 0 0 96 272v608C96 924.128 131.904 960 176 960h544c44.128 0 80-35.872 80-80v-608C800 227.904 764.128 192 720 192z m16 688c0 8.8-7.2 16-16 16h-544a16 16 0 0 1-16-16v-608a16 16 0 0 1 16-16h544a16 16 0 0 1 16 16v608z" p-id="1546"&gt;&lt;/path&gt;&lt;path d="M848 64h-544a32 32 0 0 0 0 64h544a16 16 0 0 1 16 16v608a32 32 0 1 0 64 0v-608C928 99.904 892.128 64 848 64z" p-id="1547"&gt;&lt;/path&gt;&lt;path d="M608 360H288a32 32 0 0 0 0 64h320a32 32 0 1 0 0-64zM608 520H288a32 32 0 1 0 0 64h320a32 32 0 1 0 0-64zM480 678.656H288a32 32 0 1 0 0 64h192a32 32 0 1 0 0-64z" p-id="1548"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-on:click="showCode = !showCode" class="cursor-pointer mr-2 inline-block"&gt;
 &lt;span x-show="showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8488" t="1755227897558" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M490.666667 601.6L797.866667 298.666667l59.733333 59.733333-302.933333 302.933333-59.733334 64-59.733333-59.733333L128 358.4 187.733333 298.666667l302.933334 302.933333z" p-id="8489"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-show="!showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8047" t="1755227871587" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M401.066667 512l302.933333 302.933333-59.733333 59.733334L341.333333 571.733333 281.6 512 341.333333 452.266667l302.933334-302.933334 59.733333 59.733334L401.066667 512z" p-id="8048"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/div&gt;
 &lt;div x-show="showCode"
 x-cloak
 x-collapse
 x-collapse.duration.500ms
 x-ref="codeBlock"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-xml" data-lang="xml"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;&amp;lt;?xml version=&amp;#34;1.0&amp;#34; encoding=&amp;#34;UTF-8&amp;#34;?&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;&amp;lt;Server&lt;/span&gt; &lt;span class="na"&gt;port=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;8095&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;shutdown=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;SHUTDOWN&amp;#34;&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;Listener&lt;/span&gt; &lt;span class="na"&gt;className=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;org.apache.catalina.startup.VersionLoggerListener&amp;#34;&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c"&gt;&amp;lt;!-- Security listener. Documentation at /docs/config/listeners.html
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt; &amp;lt;Listener className=&amp;#34;org.apache.catalina.security.SecurityListener&amp;#34; /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt; --&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c"&gt;&amp;lt;!-- APR connector and OpenSSL support using Tomcat Native --&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;Listener&lt;/span&gt; &lt;span class="na"&gt;className=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;org.apache.catalina.core.AprLifecycleListener&amp;#34;&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c"&gt;&amp;lt;!-- OpenSSL support using FFM API from Java 22 --&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c"&gt;&amp;lt;!-- &amp;lt;Listener className=&amp;#34;org.apache.catalina.core.OpenSSLLifecycleListener&amp;#34; /&amp;gt; --&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c"&gt;&amp;lt;!-- Prevent memory leaks due to use of particular java/javax APIs--&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;Listener&lt;/span&gt; &lt;span class="na"&gt;className=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;org.apache.catalina.core.JreMemoryLeakPreventionListener&amp;#34;&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;Listener&lt;/span&gt; &lt;span class="na"&gt;className=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;org.apache.catalina.mbeans.GlobalResourcesLifecycleListener&amp;#34;&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;Listener&lt;/span&gt; &lt;span class="na"&gt;className=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;org.apache.catalina.core.ThreadLocalLeakPreventionListener&amp;#34;&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c"&gt;&amp;lt;!-- Global JNDI resources
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt; Documentation at /docs/jndi-resources-howto.html
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt; --&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;19&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;GlobalNamingResources&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;20&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c"&gt;&amp;lt;!-- Editable user database that can also be used by
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;21&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt; UserDatabaseRealm to authenticate users
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;22&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt; --&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;23&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;Resource&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;UserDatabase&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;auth=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;Container&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;24&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;org.apache.catalina.UserDatabase&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;25&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;description=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;User database that can be updated and saved&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;26&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;factory=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;org.apache.catalina.users.MemoryUserDatabaseFactory&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;27&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;pathname=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;conf/tomcat-users.xml&amp;#34;&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;28&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;/GlobalNamingResources&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;29&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;30&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c"&gt;&amp;lt;!-- A &amp;#34;Service&amp;#34; is a collection of one or more &amp;#34;Connectors&amp;#34; that share
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;31&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt; a single &amp;#34;Container&amp;#34; Note: A &amp;#34;Service&amp;#34; is not itself a &amp;#34;Container&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;32&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt; so you may not define subcomponents such as &amp;#34;Valves&amp;#34; at this level.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;33&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt; Documentation at /docs/config/service.html
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;34&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt; --&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;35&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;Service&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;Catalina&amp;#34;&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;36&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;37&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c"&gt;&amp;lt;!--The connectors can use a shared executor, you can define one or more named thread pools--&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;38&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c"&gt;&amp;lt;!--
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;39&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt; &amp;lt;Executor name=&amp;#34;tomcatThreadPool&amp;#34; namePrefix=&amp;#34;catalina-exec-&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;40&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt; maxThreads=&amp;#34;150&amp;#34; minSpareThreads=&amp;#34;4&amp;#34;/&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;41&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt; --&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;42&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;43&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c"&gt;&amp;lt;!-- 启动端口 --&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;44&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;Connector&lt;/span&gt; &lt;span class="na"&gt;port=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;8094&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;protocol=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;HTTP/1.1&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;45&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;connectionTimeout=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;20000&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;46&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;redirectPort=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;8443&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;47&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;maxParameterCount=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;1000&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;48&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;49&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;50&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;Engine&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;Catalina&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;defaultHost=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;localhost&amp;#34;&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;51&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;52&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;53&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;Realm&lt;/span&gt; &lt;span class="na"&gt;className=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;org.apache.catalina.realm.LockOutRealm&amp;#34;&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;54&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;55&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;Realm&lt;/span&gt; &lt;span class="na"&gt;className=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;org.apache.catalina.realm.UserDatabaseRealm&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;56&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;resourceName=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;UserDatabase&amp;#34;&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;57&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;/Realm&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;58&lt;/span&gt;&lt;span class="cl"&gt;	&lt;span class="c"&gt;&amp;lt;!-- autoDeploy=&amp;#34;false&amp;#34; 关闭热部署 --&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;59&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;Host&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;localhost&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;appBase=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;webapps&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;60&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;unpackWARs=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;true&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;autoDeploy=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;false&amp;#34;&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;61&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;62&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;Valve&lt;/span&gt; &lt;span class="na"&gt;className=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;org.apache.catalina.valves.AccessLogValve&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;directory=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;logs&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;63&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;prefix=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;localhost_access_log&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;suffix=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;.txt&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;64&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;pattern=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;%h %l %u %t &amp;amp;quot;%r&amp;amp;quot; %s %b&amp;#34;&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;65&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;66&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;/Host&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;67&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;/Engine&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;68&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;/Service&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;69&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;&amp;lt;/Server&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="服务器调优" class="group"&gt;服务器调优 &lt;a href="#%e6%9c%8d%e5%8a%a1%e5%99%a8%e8%b0%83%e4%bc%98" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="setenvsh" class="group"&gt;setenv.sh &lt;a href="#setenvsh" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;setenv.sh&lt;/code&gt; 放在 &lt;strong&gt;Tomcat/bin/&lt;/strong&gt; 目录下，启动 &lt;code&gt;catalina.sh&lt;/code&gt; 会自动加载，用于配置 JVM 参数、环境变量、端口、编码等。&lt;/p&gt;</description></item><item><title>SFTP用户配置</title><link>https://leiking007.github.io/posts/%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%90%E7%BB%B4/sftp%E7%94%A8%E6%88%B7%E9%85%8D%E7%BD%AE/</link><pubDate>Mon, 29 Jun 2026 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%90%E7%BB%B4/sftp%E7%94%A8%E6%88%B7%E9%85%8D%E7%BD%AE/</guid><description>&lt;h1 id="sftp用户配置" class="group"&gt;SFTP用户配置 &lt;a href="#sftp%e7%94%a8%e6%88%b7%e9%85%8d%e7%bd%ae" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="简介" class="group"&gt;简介 &lt;a href="#%e7%ae%80%e4%bb%8b" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;SFTP（SSH File Transfer Protocol，安全文件传输协议）是一种基于 SSH（Secure Shell）协议的安全文件传输协议，主要用于在客户端与服务器之间提供加密的文件传输服务。它并非传统 FTP 协议的简单加密扩展，而是 SSH 软件包中的一个独立子系统。&lt;/p&gt;</description></item><item><title>SSH隧道</title><link>https://leiking007.github.io/posts/%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%90%E7%BB%B4/ssh%E9%9A%A7%E9%81%93/</link><pubDate>Mon, 23 Mar 2026 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%90%E7%BB%B4/ssh%E9%9A%A7%E9%81%93/</guid><description>&lt;h1 id="ssh隧道" class="group"&gt;SSH隧道 &lt;a href="#ssh%e9%9a%a7%e9%81%93" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="介绍" class="group"&gt;介绍 &lt;a href="#%e4%bb%8b%e7%bb%8d" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;SSH 隧道（SSH Tunneling），也常被称为 SSH 端口转发，是一种利用 SSH 协议创建安全加密通道的技术。它能够将其他 TCP 端口的网络数据通过 SSH 连接进行转发，从而为原本不安全的网络通信提供加密保护，并能有效绕过防火墙的限制。&lt;/p&gt;</description></item><item><title>常用数据库操作</title><link>https://leiking007.github.io/posts/%EF%B8%8F%E6%95%B0%E6%8D%AE%E5%BA%93/%E5%B8%B8%E7%94%A8%E6%95%B0%E6%8D%AE%E5%BA%93%E6%93%8D%E4%BD%9C/</link><pubDate>Tue, 03 Mar 2026 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/%EF%B8%8F%E6%95%B0%E6%8D%AE%E5%BA%93/%E5%B8%B8%E7%94%A8%E6%95%B0%E6%8D%AE%E5%BA%93%E6%93%8D%E4%BD%9C/</guid><description>常用数据库（PGSQL、oracle）的备份，导入导出</description></item><item><title>Rust</title><link>https://leiking007.github.io/posts/%EF%B8%8Frust%E7%BC%96%E7%A8%8B/rust%E5%AD%A6%E4%B9%A0/</link><pubDate>Sat, 03 Jan 2026 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/%EF%B8%8Frust%E7%BC%96%E7%A8%8B/rust%E5%AD%A6%E4%B9%A0/</guid><description>&lt;h1 id="rust" class="group"&gt;Rust &lt;a href="#rust" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="入门" class="group"&gt;入门 &lt;a href="#%e5%85%a5%e9%97%a8" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="简介" class="group"&gt;简介 &lt;a href="#%e7%ae%80%e4%bb%8b" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Rust 最早是 Mozilla 雇员 Graydon Hoare 的个人项目。从 2009 年开始，得到了 Mozilla 研究院的资助，2010 年项目对外公布，2010 ～ 2011 年间实现自举。自此以后，Rust 在部分重构 -&amp;gt; 崩溃的边缘反复横跳（历程极其艰辛），终于，在 2015 年 5 月 15 日发布 1.0 版&lt;/p&gt;</description></item><item><title>python 开发时一些问题</title><link>https://leiking007.github.io/posts/%E8%B8%A9%E5%9D%91%E8%AE%B0%E5%BD%95/python-%E5%BC%80%E5%8F%91%E6%97%B6%E4%B8%80%E4%BA%9B%E9%97%AE%E9%A2%98/</link><pubDate>Fri, 10 Oct 2025 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/%E8%B8%A9%E5%9D%91%E8%AE%B0%E5%BD%95/python-%E5%BC%80%E5%8F%91%E6%97%B6%E4%B8%80%E4%BA%9B%E9%97%AE%E9%A2%98/</guid><description>python开发时，遇到的一些问题在此记录！！！</description></item><item><title>Python高级特性</title><link>https://leiking007.github.io/posts/python%E7%BC%96%E7%A8%8B/python%E9%AB%98%E7%BA%A7%E7%89%B9%E6%80%A7/</link><pubDate>Mon, 14 Jul 2025 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/python%E7%BC%96%E7%A8%8B/python%E9%AB%98%E7%BA%A7%E7%89%B9%E6%80%A7/</guid><description>介绍 Python 高级特性，包括类变量、类方法、静态方法，推导式（列表、字典、集合），生成器，* 号作用及装饰器，助于高效编程。</description></item><item><title>Spring中扩展</title><link>https://leiking007.github.io/posts/%EF%B8%8Fjava%E7%BC%96%E7%A8%8B/spring%E4%B8%AD%E6%89%A9%E5%B1%95/</link><pubDate>Thu, 10 Jul 2025 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/%EF%B8%8Fjava%E7%BC%96%E7%A8%8B/spring%E4%B8%AD%E6%89%A9%E5%B1%95/</guid><description>本文介绍 Spring 扩展相关内容，包括 AutowireCapableBeanFactory 的使用、SessionFixationProtectionStrategy 的工作流程，以及 PathMatcher、PathPatternParser 和 ConversionService 的相关知识。</description></item><item><title>常用脚本和配置</title><link>https://leiking007.github.io/posts/%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%90%E7%BB%B4/%E5%B8%B8%E7%94%A8%E8%84%9A%E6%9C%AC%E5%92%8C%E9%85%8D%E7%BD%AE/</link><pubDate>Sat, 26 Apr 2025 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%90%E7%BB%B4/%E5%B8%B8%E7%94%A8%E8%84%9A%E6%9C%AC%E5%92%8C%E9%85%8D%E7%BD%AE/</guid><description>包含笔记自动更新部署脚本（如 autorun.sh 等）、Python 和 Java 程序启动脚本，以及开机自启配置和 Windows 启动脚本，用于自动化部署与运行管理。</description></item><item><title>Python离线部署</title><link>https://leiking007.github.io/posts/%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%90%E7%BB%B4/python%E7%A6%BB%E7%BA%BF%E9%83%A8%E7%BD%B2/</link><pubDate>Fri, 25 Apr 2025 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%90%E7%BB%B4/python%E7%A6%BB%E7%BA%BF%E9%83%A8%E7%BD%B2/</guid><description>介绍 Python 项目两种离线部署方式：基于 Docker 构建镜像（含依赖）并导出导入，以及通过虚拟环境和离线包安装依赖，适用于无网络环境。</description></item><item><title>WSL子系统</title><link>https://leiking007.github.io/posts/%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%90%E7%BB%B4/wsl%E5%AD%90%E7%B3%BB%E7%BB%9F/</link><pubDate>Sun, 23 Mar 2025 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%90%E7%BB%B4/wsl%E5%AD%90%E7%B3%BB%E7%BB%9F/</guid><description>&lt;h1 id="wsl子系统" class="group"&gt;WSL子系统 &lt;a href="#wsl%e5%ad%90%e7%b3%bb%e7%bb%9f" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="常用命令" class="group"&gt;常用命令 &lt;a href="#%e5%b8%b8%e7%94%a8%e5%91%bd%e4%bb%a4" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;

&lt;div x-data="postCodeBlock('已复制')" class="font-mono text-base not-prose my-4 rounded-lg border border-tl-base-300/50 overflow-hidden shadow-sm"&gt;
 &lt;div class="px-3 py-2 flex justify-between items-center bg-tl-base-300/60"&gt;
 &lt;span class="cursor-default text-xs text-tl-base-content/70"&gt;cmd&lt;/span&gt;
 &lt;span class="flex"&gt;
 &lt;span x-on:click="copyCode" x-ref="copyBtn" class="cursor-copy mr-2 inline-block"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="1545" t="1755222167498" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M720 192h-544A80.096 80.096 0 0 0 96 272v608C96 924.128 131.904 960 176 960h544c44.128 0 80-35.872 80-80v-608C800 227.904 764.128 192 720 192z m16 688c0 8.8-7.2 16-16 16h-544a16 16 0 0 1-16-16v-608a16 16 0 0 1 16-16h544a16 16 0 0 1 16 16v608z" p-id="1546"&gt;&lt;/path&gt;&lt;path d="M848 64h-544a32 32 0 0 0 0 64h544a16 16 0 0 1 16 16v608a32 32 0 1 0 64 0v-608C928 99.904 892.128 64 848 64z" p-id="1547"&gt;&lt;/path&gt;&lt;path d="M608 360H288a32 32 0 0 0 0 64h320a32 32 0 1 0 0-64zM608 520H288a32 32 0 1 0 0 64h320a32 32 0 1 0 0-64zM480 678.656H288a32 32 0 1 0 0 64h192a32 32 0 1 0 0-64z" p-id="1548"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-on:click="showCode = !showCode" class="cursor-pointer mr-2 inline-block"&gt;
 &lt;span x-show="showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8488" t="1755227897558" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M490.666667 601.6L797.866667 298.666667l59.733333 59.733333-302.933333 302.933333-59.733334 64-59.733333-59.733333L128 358.4 187.733333 298.666667l302.933334 302.933333z" p-id="8489"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-show="!showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8047" t="1755227871587" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M401.066667 512l302.933333 302.933333-59.733333 59.733334L341.333333 571.733333 281.6 512 341.333333 452.266667l302.933334-302.933334 59.733333 59.733334L401.066667 512z" p-id="8048"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/div&gt;
 &lt;div x-show="showCode"
 x-cloak
 x-collapse
 x-collapse.duration.500ms
 x-ref="codeBlock"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-cmd" data-lang="cmd"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;wsl -l -v # 列出所有已安装的 Linux 发行版
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;wsl # 启动默认的 Linux 发行版
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;wsl -d &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;DistributionName&lt;span class="p"&gt;&amp;gt;&lt;/span&gt; # 启动指定的 Linux 发行版
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;wsl --set-default &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;DistributionName&lt;span class="p"&gt;&amp;gt;&lt;/span&gt; # 设置默认的 Linux 发行版
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;wsl --set-default-version 2 # 设置默认的 WSL 版本
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;wsl --update &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;DistributionName&lt;span class="p"&gt;&amp;gt;&lt;/span&gt; # 更新 Linux 发行版到 WSL 2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt;wsl --unregister &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;DistributionName&lt;span class="p"&gt;&amp;gt;&lt;/span&gt; # 卸载 Linux 发行版
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;19&lt;/span&gt;&lt;span class="cl"&gt;wsl --update-kernel # 更新 WSL 2 内核
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;20&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;21&lt;/span&gt;&lt;span class="cl"&gt;wsl --export Ubuntu-24.04 D:\wsl\ubuntu24.tar # 导出备份
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;22&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;23&lt;/span&gt;&lt;span class="cl"&gt;wsl --import Ubuntu-24.04 D:\wsl\Ubuntu-24.04 D:\wsl\ubuntu24.tar # 导入备份
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;24&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;25&lt;/span&gt;&lt;span class="cl"&gt;wsl --shutdown # 关闭所有 WSL 实例
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;26&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;27&lt;/span&gt;&lt;span class="cl"&gt;wsl --shutdown &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;DistributionName&lt;span class="p"&gt;&amp;gt;&lt;/span&gt; # 关闭特定的 WSL 发行版
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;28&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;29&lt;/span&gt;&lt;span class="cl"&gt;# 手动安装 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;30&lt;/span&gt;&lt;span class="cl"&gt;# 1.下载 https://learn.microsoft.com/zh-cn/windows/wsl/install-manual
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;31&lt;/span&gt;&lt;span class="cl"&gt;# 2. Add-AppxPackage .\Ubuntu.appx&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;使用 &lt;code&gt;wsl --import&lt;/code&gt; 导入 tar 镜像后，永久默认登录用户是 root！&lt;/p&gt;</description></item><item><title>模型简易部署</title><link>https://leiking007.github.io/posts/%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%90%E7%BB%B4/%E6%A8%A1%E5%9E%8B%E7%AE%80%E6%98%93%E9%83%A8%E7%BD%B2/</link><pubDate>Sun, 23 Mar 2025 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%90%E7%BB%B4/%E6%A8%A1%E5%9E%8B%E7%AE%80%E6%98%93%E9%83%A8%E7%BD%B2/</guid><description>&lt;h1 id="模型简易部署" class="group"&gt;模型简易部署 &lt;a href="#%e6%a8%a1%e5%9e%8b%e7%ae%80%e6%98%93%e9%83%a8%e7%bd%b2" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="vllm部署模型" class="group"&gt;vllm部署模型 &lt;a href="#vllm%e9%83%a8%e7%bd%b2%e6%a8%a1%e5%9e%8b" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;vllm可以兼容部署基于 Transformer 架构的模型&lt;/p&gt;&lt;/blockquote&gt;
&lt;h3 id="环境准备" class="group"&gt;环境准备 &lt;a href="#%e7%8e%af%e5%a2%83%e5%87%86%e5%a4%87" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;本地配置：Ubuntu24.04、Python12、RTX3070&lt;/p&gt;</description></item><item><title>工作杂项记录</title><link>https://leiking007.github.io/posts/%E9%9A%8F%E7%AC%94%E4%B8%8E%E6%80%9D%E8%80%83/%E5%B7%A5%E4%BD%9C%E6%9D%82%E9%A1%B9%E8%AE%B0%E5%BD%95/</link><pubDate>Tue, 03 Sep 2024 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/%E9%9A%8F%E7%AC%94%E4%B8%8E%E6%80%9D%E8%80%83/%E5%B7%A5%E4%BD%9C%E6%9D%82%E9%A1%B9%E8%AE%B0%E5%BD%95/</guid><description>oracle锁表、oracle导入导出、weblogic打补丁、Linux扩容swap分区、修改系统时间</description></item><item><title>Java加密与安全</title><link>https://leiking007.github.io/posts/%EF%B8%8Fjava%E7%BC%96%E7%A8%8B/java%E5%8A%A0%E5%AF%86%E4%B8%8E%E5%AE%89%E5%85%A8/</link><pubDate>Sat, 06 Jul 2024 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/%EF%B8%8Fjava%E7%BC%96%E7%A8%8B/java%E5%8A%A0%E5%AF%86%E4%B8%8E%E5%AE%89%E5%85%A8/</guid><description>&lt;h1 id="加密与安全" class="group"&gt;加密与安全 &lt;a href="#%e5%8a%a0%e5%af%86%e4%b8%8e%e5%ae%89%e5%85%a8" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="编码算法" class="group"&gt;编码算法 &lt;a href="#%e7%bc%96%e7%a0%81%e7%ae%97%e6%b3%95" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="url-编码" class="group"&gt;URL 编码 &lt;a href="#url-%e7%bc%96%e7%a0%81" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;URL 编码是浏览器发送数据给服务器时使用的编码，它通常附加在URL的参数部分，例如：https://www.baidu.com/s?wd=%E4%B8%AD%E6%96%87&lt;/p&gt;</description></item><item><title>SpringcloudAlibaba</title><link>https://leiking007.github.io/posts/%EF%B8%8Fjava%E7%BC%96%E7%A8%8B/springcloudalibaba/</link><pubDate>Fri, 17 May 2024 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/%EF%B8%8Fjava%E7%BC%96%E7%A8%8B/springcloudalibaba/</guid><description>&lt;h1 id="springcloudalibaba" class="group"&gt;SpringcloudAlibaba &lt;a href="#springcloudalibaba" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="简介" class="group"&gt;简介 &lt;a href="#%e7%ae%80%e4%bb%8b" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="主要功能" class="group"&gt;主要功能 &lt;a href="#%e4%b8%bb%e8%a6%81%e5%8a%9f%e8%83%bd" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;服务限流降级&lt;/strong&gt;：默认支持 WebServlet、WebFlux、OpenFeign、RestTemplate、Spring Cloud Gateway、Dubbo 和 RocketMQ 限流降级功能的接入，可以在运行时通过控制台实时修改限流降级规则，还支持查看限流降级 Metrics 监控。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;服务注册与发现&lt;/strong&gt;：适配 Spring Cloud 服务注册与发现标准，默认集成对应 Spring Cloud 版本所支持的负载均衡组件的适配。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;分布式配置管理&lt;/strong&gt;：支持分布式系统中的外部化配置，配置更改时自动刷新。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;消息驱动能力&lt;/strong&gt;：基于 Spring Cloud Stream 为微服务应用构建消息驱动能力。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;分布式事务&lt;/strong&gt;：使用 @GlobalTransactional 注解， 高效并且对业务零侵入地解决分布式事务问题。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;阿里云对象存储&lt;/strong&gt;：阿里云提供的海量、安全、低成本、高可靠的云存储服务。支持在任何应用、任何时间、任何地点存储和访问任意类型的数据。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;分布式任务调度&lt;/strong&gt;：提供秒级、精准、高可靠、高可用的定时（基于 Cron 表达式）任务调度服务。同时提供分布式的任务执行模型，如网格任务。网格任务支持海量子任务均匀分配到所有 Worker（schedulerx-client）上执行。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;阿里云短信服务&lt;/strong&gt;：覆盖全球的短信服务，友好、高效、智能的互联化通讯能力，帮助企业迅速搭建客户触达通道。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="版本说明" class="group"&gt;版本说明 &lt;a href="#%e7%89%88%e6%9c%ac%e8%af%b4%e6%98%8e" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;SpringcloudAlibaba 官方文档关于版本说明&lt;a href="https://github.com/alibaba/spring-cloud-alibaba/wiki/%e7%89%88%e6%9c%ac%e8%af%b4%e6%98%8e" target="_blank" rel="noopener noreferrer"&gt;版本说明 · alibaba/spring-cloud-alibaba Wiki (github.com)&lt;/a&gt;
&lt;/p&gt;</description></item><item><title>IDEA连接Docker开发</title><link>https://leiking007.github.io/posts/%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%90%E7%BB%B4/idea%E8%BF%9E%E6%8E%A5docker%E5%BC%80%E5%8F%91/</link><pubDate>Sun, 07 Apr 2024 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%90%E7%BB%B4/idea%E8%BF%9E%E6%8E%A5docker%E5%BC%80%E5%8F%91/</guid><description>&lt;h1 id="idea连接docker开发" class="group"&gt;IDEA连接Docker开发 &lt;a href="#idea%e8%bf%9e%e6%8e%a5docker%e5%bc%80%e5%8f%91" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="安装-docker步骤略" class="group"&gt;安装 Docker：步骤略 &lt;a href="#%e5%ae%89%e8%a3%85-docker%e6%ad%a5%e9%aa%a4%e7%95%a5" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;h2 id="配置-docker" class="group"&gt;配置 Docker &lt;a href="#%e9%85%8d%e7%bd%ae-docker" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;

&lt;div x-data="postCodeBlock('已复制')" class="font-mono text-base not-prose my-4 rounded-lg border border-tl-base-300/50 overflow-hidden shadow-sm"&gt;
 &lt;div class="px-3 py-2 flex justify-between items-center bg-tl-base-300/60"&gt;
 &lt;span class="cursor-default text-xs text-tl-base-content/70"&gt;bash&lt;/span&gt;
 &lt;span class="flex"&gt;
 &lt;span x-on:click="copyCode" x-ref="copyBtn" class="cursor-copy mr-2 inline-block"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="1545" t="1755222167498" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M720 192h-544A80.096 80.096 0 0 0 96 272v608C96 924.128 131.904 960 176 960h544c44.128 0 80-35.872 80-80v-608C800 227.904 764.128 192 720 192z m16 688c0 8.8-7.2 16-16 16h-544a16 16 0 0 1-16-16v-608a16 16 0 0 1 16-16h544a16 16 0 0 1 16 16v608z" p-id="1546"&gt;&lt;/path&gt;&lt;path d="M848 64h-544a32 32 0 0 0 0 64h544a16 16 0 0 1 16 16v608a32 32 0 1 0 64 0v-608C928 99.904 892.128 64 848 64z" p-id="1547"&gt;&lt;/path&gt;&lt;path d="M608 360H288a32 32 0 0 0 0 64h320a32 32 0 1 0 0-64zM608 520H288a32 32 0 1 0 0 64h320a32 32 0 1 0 0-64zM480 678.656H288a32 32 0 1 0 0 64h192a32 32 0 1 0 0-64z" p-id="1548"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-on:click="showCode = !showCode" class="cursor-pointer mr-2 inline-block"&gt;
 &lt;span x-show="showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8488" t="1755227897558" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M490.666667 601.6L797.866667 298.666667l59.733333 59.733333-302.933333 302.933333-59.733334 64-59.733333-59.733333L128 358.4 187.733333 298.666667l302.933334 302.933333z" p-id="8489"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-show="!showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8047" t="1755227871587" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M401.066667 512l302.933333 302.933333-59.733333 59.733334L341.333333 571.733333 281.6 512 341.333333 452.266667l302.933334-302.933334 59.733333 59.733334L401.066667 512z" p-id="8048"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/div&gt;
 &lt;div x-show="showCode"
 x-cloak
 x-collapse
 x-collapse.duration.500ms
 x-ref="codeBlock"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 修改docker服务文件&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;vim /usr/lib/systemd/system/docker.service
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# ExecStar后面追加 -H tcp://0.0.0.0:2375&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;ExecStart&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/usr/sbin/dockerd -H fd:// --containerd&lt;span class="o"&gt;=&lt;/span&gt;/run/containerd/containerd.sock &lt;span class="nv"&gt;$DOCKER_OPTS&lt;/span&gt; -H tcp://0.0.0.0:2375
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 重新加载配置&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;systemctl daemon-reload
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 重启docker服务&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;systemctl restart docker.service&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="idea-安装-docker-插件" class="group"&gt;Idea 安装 docker 插件 &lt;a href="#idea-%e5%ae%89%e8%a3%85-docker-%e6%8f%92%e4%bb%b6" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;




&lt;img class="my-0 mx-auto max-h-72 max-w-[calc(100%-20px)] cursor-zoom-in rounded-lg border border-tl-base-300/50 shadow-sm"
 loading="lazy"
 decoding="async"
 data-lightbox width="969" height="712"
 src="https://leiking007.github.io/posts/%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%90%E7%BB%B4/idea%E8%BF%9E%E6%8E%A5docker%E5%BC%80%E5%8F%91/images.assets/image-20240411011343365.png" alt="image-20240411011343365" /&gt;
&lt;/p&gt;</description></item><item><title>MongoDB</title><link>https://leiking007.github.io/posts/%EF%B8%8F%E6%95%B0%E6%8D%AE%E5%BA%93/mongodb/</link><pubDate>Fri, 02 Feb 2024 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/%EF%B8%8F%E6%95%B0%E6%8D%AE%E5%BA%93/mongodb/</guid><description>&lt;h1 id="mongodb" class="group"&gt;MongoDB &lt;a href="#mongodb" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="简介" class="group"&gt;简介 &lt;a href="#%e7%ae%80%e4%bb%8b" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="nosql" class="group"&gt;NoSQL &lt;a href="#nosql" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;NoSQL（Not Only SQL），意为&amp;quot;不仅仅是SQL&amp;quot;，是对于传统的关系型数据库的数据库管理系统的统称&lt;/p&gt;</description></item><item><title>ElasticSearch7</title><link>https://leiking007.github.io/posts/%E4%B8%AD%E9%97%B4%E4%BB%B6/elasticsearch7/</link><pubDate>Thu, 09 Nov 2023 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/%E4%B8%AD%E9%97%B4%E4%BB%B6/elasticsearch7/</guid><description>&lt;h1 id="elasticsearch7" class="group"&gt;ElasticSearch7 &lt;a href="#elasticsearch7" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="一些概念" class="group"&gt;一些概念 &lt;a href="#%e4%b8%80%e4%ba%9b%e6%a6%82%e5%bf%b5" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="elastic-stack核心" class="group"&gt;Elastic Stack核心 &lt;a href="#elastic-stack%e6%a0%b8%e5%bf%83" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;The Elastic Stack 包括 Elasticsearch、Kibana、Beats 和 Logstash（也称为 ELK Stack）。Elasticsearch 简称 ES，ES 是一个&lt;code&gt;开源的高扩展的分布式全文搜索引擎&lt;/code&gt;，是整个 Elastic Stack 技术栈的核心。它可以近乎实时的存储、检索数据。本身扩展性很好。可以扩展到上百台服务器，处理 PB 级别的数据。&lt;/p&gt;</description></item><item><title>frps内网穿透</title><link>https://leiking007.github.io/posts/%E5%B7%A5%E5%85%B7/frps%E5%86%85%E7%BD%91%E7%A9%BF%E9%80%8F/</link><pubDate>Sat, 15 Jul 2023 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/%E5%B7%A5%E5%85%B7/frps%E5%86%85%E7%BD%91%E7%A9%BF%E9%80%8F/</guid><description>&lt;h1 id="frps内网穿透" class="group"&gt;frps内网穿透 &lt;a href="#frps%e5%86%85%e7%bd%91%e7%a9%bf%e9%80%8f" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="什么是frp" class="group"&gt;什么是FRP &lt;a href="#%e4%bb%80%e4%b9%88%e6%98%affrp" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Frp (Fast Reverse Proxy) 是比较流行的一款。FRP 是一个免费开源的用于内网穿透的反向代理应用，它支持 TCP、UDP 协议， 也为 http 和 https 协议提供了额外的支持。你可以粗略理解它是一个中转站， 帮你实现 公网 ←→ FRP(服务器) ←→ 内网 的连接，让内网里的设备也可以被公网访问到&lt;/p&gt;</description></item><item><title>Java面试题</title><link>https://leiking007.github.io/posts/%EF%B8%8Fjava%E7%BC%96%E7%A8%8B/java%E9%9D%A2%E8%AF%95%E9%A2%98/</link><pubDate>Mon, 05 Jun 2023 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/%EF%B8%8Fjava%E7%BC%96%E7%A8%8B/java%E9%9D%A2%E8%AF%95%E9%A2%98/</guid><description>&lt;h1 id="java面试题" class="group"&gt;Java面试题 &lt;a href="#java%e9%9d%a2%e8%af%95%e9%a2%98" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="基础" class="group"&gt;基础 &lt;a href="#%e5%9f%ba%e7%a1%80" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="java面向对象的特征" class="group"&gt;java面向对象的特征 &lt;a href="#java%e9%9d%a2%e5%90%91%e5%af%b9%e8%b1%a1%e7%9a%84%e7%89%b9%e5%be%81" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;封装：说明的是一个类的行为和属性与其他类的关系是低耦合（模块之间）、高内聚（模块内）；可以在不影响使用的情况下改变类的内部结构，同时也保护了数据。对于外部它内部的细节是隐藏的，暴露出去的只是它的访问方法&lt;/p&gt;</description></item><item><title>Java IO流</title><link>https://leiking007.github.io/posts/%EF%B8%8Fjava%E7%BC%96%E7%A8%8B/javaio%E6%B5%81/</link><pubDate>Sun, 28 May 2023 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/%EF%B8%8Fjava%E7%BC%96%E7%A8%8B/javaio%E6%B5%81/</guid><description>&lt;h1 id="java-io流" class="group"&gt;Java IO流 &lt;a href="#java-io%e6%b5%81" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="java的io演进" class="group"&gt;Java的IO演进 &lt;a href="#java%e7%9a%84io%e6%bc%94%e8%bf%9b" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="io模型基本说明" class="group"&gt;IO模型基本说明 &lt;a href="#io%e6%a8%a1%e5%9e%8b%e5%9f%ba%e6%9c%ac%e8%af%b4%e6%98%8e" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;IO模型：就是用什么样的通道或者说是通信模式和架构进行数据的传输和接收，很大程度上决定了程序通信的性能&lt;/p&gt;</description></item><item><title>MyBatisCodeHelperpro插件</title><link>https://leiking007.github.io/posts/%E5%B7%A5%E5%85%B7/mybatiscodehelperpro%E6%8F%92%E4%BB%B6/</link><pubDate>Wed, 17 May 2023 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/%E5%B7%A5%E5%85%B7/mybatiscodehelperpro%E6%8F%92%E4%BB%B6/</guid><description>&lt;blockquote&gt;
&lt;p&gt;MyBatisCodeHelperpro 是一款 IntelliJ IDEA 上生成mybatis模版文件的插件。
这里分析下怎么无限使用的思路仅供参考。其实很多客户端软件都可以参考该思路
分析该插件工作原理：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;提交激活码到服务端&lt;/li&gt;
&lt;li&gt;服务端验证返回验证信息（是加密信息）&lt;/li&gt;
&lt;li&gt;本地解密信息，将解析后的json解析为实体类&lt;/li&gt;
&lt;li&gt;判断json解析的实体类的字段过期时间&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;处理思路：修改最后实体类代码，直接跳过服务端返回的有效时间。
修改设置(setXXX)，获取(getXXX)方法。不使用解析后的json字段设置，固定为一个无限长的时间达到破解的结果&lt;/p&gt;</description></item><item><title>分布式ID</title><link>https://leiking007.github.io/posts/%EF%B8%8Fjava%E7%BC%96%E7%A8%8B/%E5%88%86%E5%B8%83%E5%BC%8Fid/</link><pubDate>Tue, 09 May 2023 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/%EF%B8%8Fjava%E7%BC%96%E7%A8%8B/%E5%88%86%E5%B8%83%E5%BC%8Fid/</guid><description>&lt;h1 id="分布式id" class="group"&gt;分布式ID &lt;a href="#%e5%88%86%e5%b8%83%e5%bc%8fid" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="雪花算法" class="group"&gt;雪花算法 &lt;a href="#%e9%9b%aa%e8%8a%b1%e7%ae%97%e6%b3%95" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="介绍" class="group"&gt;介绍 &lt;a href="#%e4%bb%8b%e7%bb%8d" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Snowflake 是 Twitter 开源的分布式 ID 生成算法。Snowflake 由 64 bit 的二进制数字组成，这 64bit 的二进制被分成了几部分，每一部分存储的数据都有特定的含义：&lt;/p&gt;</description></item><item><title>MyBatis妙用</title><link>https://leiking007.github.io/posts/%EF%B8%8Fjava%E7%BC%96%E7%A8%8B/mybatis%E5%A6%99%E7%94%A8/</link><pubDate>Tue, 17 Jan 2023 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/%EF%B8%8Fjava%E7%BC%96%E7%A8%8B/mybatis%E5%A6%99%E7%94%A8/</guid><description>&lt;h1 id="mybatis妙用" class="group"&gt;MyBatis妙用 &lt;a href="#mybatis%e5%a6%99%e7%94%a8" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="resulthandler" class="group"&gt;ResultHandler &lt;a href="#resulthandler" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;sql如下，需要返回map；map key为 查询结果id，map value为查询结果的 name；此时可以用 ResultHandler 对查询结果集处理，返回需要的 map&lt;/p&gt;</description></item><item><title>TypeScript</title><link>https://leiking007.github.io/posts/web%E5%89%8D%E7%AB%AF/typescript/</link><pubDate>Mon, 19 Dec 2022 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/web%E5%89%8D%E7%AB%AF/typescript/</guid><description>&lt;h1 id="typescript" class="group"&gt;TypeScript &lt;a href="#typescript" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="初始" class="group"&gt;初始 &lt;a href="#%e5%88%9d%e5%a7%8b" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="typescript-的介绍" class="group"&gt;TypeScript 的介绍 &lt;a href="#typescript-%e7%9a%84%e4%bb%8b%e7%bb%8d" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;TypeScript是一种由微软开发的开源、跨平台的编程语言。它是JavaScript的超集，最终会被编译为JavaScript代码&lt;/p&gt;</description></item><item><title>Linux</title><link>https://leiking007.github.io/posts/%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%90%E7%BB%B4/linux/</link><pubDate>Wed, 07 Dec 2022 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%90%E7%BB%B4/linux/</guid><description>&lt;h1 id="linux" class="group"&gt;Linux &lt;a href="#linux" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="系统管理" class="group"&gt;系统管理 &lt;a href="#%e7%b3%bb%e7%bb%9f%e7%ae%a1%e7%90%86" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="echo" class="group"&gt;echo &lt;a href="#echo" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;echo命令用于在终端输出字符串或变量提取后的值&lt;/p&gt;</description></item><item><title>PostgreSQL</title><link>https://leiking007.github.io/posts/%EF%B8%8F%E6%95%B0%E6%8D%AE%E5%BA%93/postgresql/</link><pubDate>Sun, 09 Oct 2022 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/%EF%B8%8F%E6%95%B0%E6%8D%AE%E5%BA%93/postgresql/</guid><description>&lt;h1 id="postgresql" class="group"&gt;PostgreSQL &lt;a href="#postgresql" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="起步" class="group"&gt;起步 &lt;a href="#%e8%b5%b7%e6%ad%a5" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="简介" class="group"&gt;简介 &lt;a href="#%e7%ae%80%e4%bb%8b" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;开源：可以基于任何目的使用、修改甚至发布&lt;/p&gt;</description></item><item><title>Java参数校验</title><link>https://leiking007.github.io/posts/%EF%B8%8Fjava%E7%BC%96%E7%A8%8B/java%E5%8F%82%E6%95%B0%E6%A0%A1%E9%AA%8C/</link><pubDate>Mon, 19 Sep 2022 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/%EF%B8%8Fjava%E7%BC%96%E7%A8%8B/java%E5%8F%82%E6%95%B0%E6%A0%A1%E9%AA%8C/</guid><description>&lt;p&gt;Java参数校验&lt;/p&gt;
&lt;h2 id="jsr-380" class="group"&gt;JSR 380 &lt;a href="#jsr-380" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;JSR 380规范是bean验证的Java api规范，JavaEE和JavaSE的一部分，使用注解如@NotNull, @Min, and @Max，确保bean属性符合一定条件&lt;/p&gt;</description></item><item><title>SpringSecurity</title><link>https://leiking007.github.io/posts/%EF%B8%8Fjava%E7%BC%96%E7%A8%8B/springsecurity/</link><pubDate>Tue, 31 May 2022 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/%EF%B8%8Fjava%E7%BC%96%E7%A8%8B/springsecurity/</guid><description>&lt;h1 id="springsecurity" class="group"&gt;SpringSecurity &lt;a href="#springsecurity" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="简介" class="group"&gt;简介 &lt;a href="#%e7%ae%80%e4%bb%8b" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="核心功能" class="group"&gt;核心功能 &lt;a href="#%e6%a0%b8%e5%bf%83%e5%8a%9f%e8%83%bd" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;认证（你是谁，用户/设备/系统）&lt;/li&gt;
&lt;li&gt;验证（你能干什么，也叫权限控制/授权，允许执行的操作）&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="原理" class="group"&gt;原理 &lt;a href="#%e5%8e%9f%e7%90%86" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;基于Filter、Servlet、AOP 实现身份认证和权限验证&lt;/p&gt;</description></item><item><title>Java中事件监听</title><link>https://leiking007.github.io/posts/%EF%B8%8Fjava%E7%BC%96%E7%A8%8B/java%E4%B8%AD%E4%BA%8B%E4%BB%B6%E7%9B%91%E5%90%AC/</link><pubDate>Thu, 14 Apr 2022 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/%EF%B8%8Fjava%E7%BC%96%E7%A8%8B/java%E4%B8%AD%E4%BA%8B%E4%BB%B6%E7%9B%91%E5%90%AC/</guid><description>&lt;h1 id="java中事件监听" class="group"&gt;Java中事件监听 &lt;a href="#java%e4%b8%ad%e4%ba%8b%e4%bb%b6%e7%9b%91%e5%90%ac" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="应用场景" class="group"&gt;应用场景 &lt;a href="#%e5%ba%94%e7%94%a8%e5%9c%ba%e6%99%af" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="案例" class="group"&gt;案例 &lt;a href="#%e6%a1%88%e4%be%8b" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;假设现在有这么一个业务场景：&lt;/p&gt;</description></item><item><title>Java多线程</title><link>https://leiking007.github.io/posts/%EF%B8%8Fjava%E7%BC%96%E7%A8%8B/java%E5%A4%9A%E7%BA%BF%E7%A8%8B/</link><pubDate>Mon, 11 Apr 2022 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/%EF%B8%8Fjava%E7%BC%96%E7%A8%8B/java%E5%A4%9A%E7%BA%BF%E7%A8%8B/</guid><description>&lt;h1 id="java多线程" class="group"&gt;Java多线程 &lt;a href="#java%e5%a4%9a%e7%ba%bf%e7%a8%8b" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="线程基础" class="group"&gt;线程基础 &lt;a href="#%e7%ba%bf%e7%a8%8b%e5%9f%ba%e7%a1%80" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="线程的周期" class="group"&gt;线程的周期 &lt;a href="#%e7%ba%bf%e7%a8%8b%e7%9a%84%e5%91%a8%e6%9c%9f" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;




&lt;img class="my-0 mx-auto max-h-72 max-w-[calc(100%-20px)] cursor-zoom-in rounded-lg border border-tl-base-300/50 shadow-sm"
 loading="lazy"
 decoding="async"
 data-lightbox width="461" height="344"
 src="https://leiking007.github.io/posts/%EF%B8%8Fjava%E7%BC%96%E7%A8%8B/java%E5%A4%9A%E7%BA%BF%E7%A8%8B/images.assets/image-20220411094947379.png" alt="image-20220411094947379" /&gt;
&lt;/p&gt;</description></item><item><title>常用SQL</title><link>https://leiking007.github.io/posts/%EF%B8%8F%E6%95%B0%E6%8D%AE%E5%BA%93/%E5%B8%B8%E7%94%A8sql/</link><pubDate>Thu, 17 Mar 2022 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/%EF%B8%8F%E6%95%B0%E6%8D%AE%E5%BA%93/%E5%B8%B8%E7%94%A8sql/</guid><description>&lt;h1 id="常用sql" class="group"&gt;常用SQL &lt;a href="#%e5%b8%b8%e7%94%a8sql" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="查询" class="group"&gt;查询 &lt;a href="#%e6%9f%a5%e8%af%a2" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="拼接sql" class="group"&gt;拼接SQL &lt;a href="#%e6%8b%bc%e6%8e%a5sql" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;

&lt;div x-data="postCodeBlock('已复制')" class="font-mono text-base not-prose my-4 rounded-lg border border-tl-base-300/50 overflow-hidden shadow-sm"&gt;
 &lt;div class="px-3 py-2 flex justify-between items-center bg-tl-base-300/60"&gt;
 &lt;span class="cursor-default text-xs text-tl-base-content/70"&gt;sql&lt;/span&gt;
 &lt;span class="flex"&gt;
 &lt;span x-on:click="copyCode" x-ref="copyBtn" class="cursor-copy mr-2 inline-block"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="1545" t="1755222167498" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M720 192h-544A80.096 80.096 0 0 0 96 272v608C96 924.128 131.904 960 176 960h544c44.128 0 80-35.872 80-80v-608C800 227.904 764.128 192 720 192z m16 688c0 8.8-7.2 16-16 16h-544a16 16 0 0 1-16-16v-608a16 16 0 0 1 16-16h544a16 16 0 0 1 16 16v608z" p-id="1546"&gt;&lt;/path&gt;&lt;path d="M848 64h-544a32 32 0 0 0 0 64h544a16 16 0 0 1 16 16v608a32 32 0 1 0 64 0v-608C928 99.904 892.128 64 848 64z" p-id="1547"&gt;&lt;/path&gt;&lt;path d="M608 360H288a32 32 0 0 0 0 64h320a32 32 0 1 0 0-64zM608 520H288a32 32 0 1 0 0 64h320a32 32 0 1 0 0-64zM480 678.656H288a32 32 0 1 0 0 64h192a32 32 0 1 0 0-64z" p-id="1548"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-on:click="showCode = !showCode" class="cursor-pointer mr-2 inline-block"&gt;
 &lt;span x-show="showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8488" t="1755227897558" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M490.666667 601.6L797.866667 298.666667l59.733333 59.733333-302.933333 302.933333-59.733334 64-59.733333-59.733333L128 358.4 187.733333 298.666667l302.933334 302.933333z" p-id="8489"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-show="!showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8047" t="1755227871587" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M401.066667 512l302.933333 302.933333-59.733333 59.733334L341.333333 571.733333 281.6 512 341.333333 452.266667l302.933334-302.933334 59.733333 59.733334L401.066667 512z" p-id="8048"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/div&gt;
 &lt;div x-show="showCode"
 x-cloak
 x-collapse
 x-collapse.duration.500ms
 x-ref="codeBlock"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;CONCAT&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;update tb_2 set col1=&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;tb1&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;col1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39; where col2=&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;tb1&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;col2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;;&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;tb_1&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;tb1&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;where&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;....&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id="查询字符串出现次数" class="group"&gt;查询字符串出现次数 &lt;a href="#%e6%9f%a5%e8%af%a2%e5%ad%97%e7%ac%a6%e4%b8%b2%e5%87%ba%e7%8e%b0%e6%ac%a1%e6%95%b0" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;

&lt;div x-data="postCodeBlock('已复制')" class="font-mono text-base not-prose my-4 rounded-lg border border-tl-base-300/50 overflow-hidden shadow-sm"&gt;
 &lt;div class="px-3 py-2 flex justify-between items-center bg-tl-base-300/60"&gt;
 &lt;span class="cursor-default text-xs text-tl-base-content/70"&gt;sql&lt;/span&gt;
 &lt;span class="flex"&gt;
 &lt;span x-on:click="copyCode" x-ref="copyBtn" class="cursor-copy mr-2 inline-block"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="1545" t="1755222167498" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M720 192h-544A80.096 80.096 0 0 0 96 272v608C96 924.128 131.904 960 176 960h544c44.128 0 80-35.872 80-80v-608C800 227.904 764.128 192 720 192z m16 688c0 8.8-7.2 16-16 16h-544a16 16 0 0 1-16-16v-608a16 16 0 0 1 16-16h544a16 16 0 0 1 16 16v608z" p-id="1546"&gt;&lt;/path&gt;&lt;path d="M848 64h-544a32 32 0 0 0 0 64h544a16 16 0 0 1 16 16v608a32 32 0 1 0 64 0v-608C928 99.904 892.128 64 848 64z" p-id="1547"&gt;&lt;/path&gt;&lt;path d="M608 360H288a32 32 0 0 0 0 64h320a32 32 0 1 0 0-64zM608 520H288a32 32 0 1 0 0 64h320a32 32 0 1 0 0-64zM480 678.656H288a32 32 0 1 0 0 64h192a32 32 0 1 0 0-64z" p-id="1548"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-on:click="showCode = !showCode" class="cursor-pointer mr-2 inline-block"&gt;
 &lt;span x-show="showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8488" t="1755227897558" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M490.666667 601.6L797.866667 298.666667l59.733333 59.733333-302.933333 302.933333-59.733334 64-59.733333-59.733333L128 358.4 187.733333 298.666667l302.933334 302.933333z" p-id="8489"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-show="!showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8047" t="1755227871587" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M401.066667 512l302.933333 302.933333-59.733333 59.733334L341.333333 571.733333 281.6 512 341.333333 452.266667l302.933334-302.933334 59.733333 59.733334L401.066667 512z" p-id="8048"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/div&gt;
 &lt;div x-show="showCode"
 x-cloak
 x-collapse
 x-collapse.duration.500ms
 x-ref="codeBlock"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;select&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="k"&gt;LENGTH&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;string&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;LENGTH&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;REPLACE&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;string&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;,&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;AS&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;cnt&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;strings&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id="按名字最后两个单词排序" class="group"&gt;按名字最后两个单词排序 &lt;a href="#%e6%8c%89%e5%90%8d%e5%ad%97%e6%9c%80%e5%90%8e%e4%b8%a4%e4%b8%aa%e5%8d%95%e8%af%8d%e6%8e%92%e5%ba%8f" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;

&lt;div x-data="postCodeBlock('已复制')" class="font-mono text-base not-prose my-4 rounded-lg border border-tl-base-300/50 overflow-hidden shadow-sm"&gt;
 &lt;div class="px-3 py-2 flex justify-between items-center bg-tl-base-300/60"&gt;
 &lt;span class="cursor-default text-xs text-tl-base-content/70"&gt;sql&lt;/span&gt;
 &lt;span class="flex"&gt;
 &lt;span x-on:click="copyCode" x-ref="copyBtn" class="cursor-copy mr-2 inline-block"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="1545" t="1755222167498" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M720 192h-544A80.096 80.096 0 0 0 96 272v608C96 924.128 131.904 960 176 960h544c44.128 0 80-35.872 80-80v-608C800 227.904 764.128 192 720 192z m16 688c0 8.8-7.2 16-16 16h-544a16 16 0 0 1-16-16v-608a16 16 0 0 1 16-16h544a16 16 0 0 1 16 16v608z" p-id="1546"&gt;&lt;/path&gt;&lt;path d="M848 64h-544a32 32 0 0 0 0 64h544a16 16 0 0 1 16 16v608a32 32 0 1 0 64 0v-608C928 99.904 892.128 64 848 64z" p-id="1547"&gt;&lt;/path&gt;&lt;path d="M608 360H288a32 32 0 0 0 0 64h320a32 32 0 1 0 0-64zM608 520H288a32 32 0 1 0 0 64h320a32 32 0 1 0 0-64zM480 678.656H288a32 32 0 1 0 0 64h192a32 32 0 1 0 0-64z" p-id="1548"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-on:click="showCode = !showCode" class="cursor-pointer mr-2 inline-block"&gt;
 &lt;span x-show="showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8488" t="1755227897558" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M490.666667 601.6L797.866667 298.666667l59.733333 59.733333-302.933333 302.933333-59.733334 64-59.733333-59.733333L128 358.4 187.733333 298.666667l302.933334 302.933333z" p-id="8489"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-show="!showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8047" t="1755227871587" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M401.066667 512l302.933333 302.933333-59.733333 59.733334L341.333333 571.733333 281.6 512 341.333333 452.266667l302.933334-302.933334 59.733333 59.733334L401.066667 512z" p-id="8048"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/div&gt;
 &lt;div x-show="showCode"
 x-cloak
 x-collapse
 x-collapse.duration.500ms
 x-ref="codeBlock"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;select&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;first_name&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;employees&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;order&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;by&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;substring&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;first_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id="分组并连接字段" class="group"&gt;分组并连接字段 &lt;a href="#%e5%88%86%e7%bb%84%e5%b9%b6%e8%bf%9e%e6%8e%a5%e5%ad%97%e6%ae%b5" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;

&lt;div x-data="postCodeBlock('已复制')" class="font-mono text-base not-prose my-4 rounded-lg border border-tl-base-300/50 overflow-hidden shadow-sm"&gt;
 &lt;div class="px-3 py-2 flex justify-between items-center bg-tl-base-300/60"&gt;
 &lt;span class="cursor-default text-xs text-tl-base-content/70"&gt;sql&lt;/span&gt;
 &lt;span class="flex"&gt;
 &lt;span x-on:click="copyCode" x-ref="copyBtn" class="cursor-copy mr-2 inline-block"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="1545" t="1755222167498" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M720 192h-544A80.096 80.096 0 0 0 96 272v608C96 924.128 131.904 960 176 960h544c44.128 0 80-35.872 80-80v-608C800 227.904 764.128 192 720 192z m16 688c0 8.8-7.2 16-16 16h-544a16 16 0 0 1-16-16v-608a16 16 0 0 1 16-16h544a16 16 0 0 1 16 16v608z" p-id="1546"&gt;&lt;/path&gt;&lt;path d="M848 64h-544a32 32 0 0 0 0 64h544a16 16 0 0 1 16 16v608a32 32 0 1 0 64 0v-608C928 99.904 892.128 64 848 64z" p-id="1547"&gt;&lt;/path&gt;&lt;path d="M608 360H288a32 32 0 0 0 0 64h320a32 32 0 1 0 0-64zM608 520H288a32 32 0 1 0 0 64h320a32 32 0 1 0 0-64zM480 678.656H288a32 32 0 1 0 0 64h192a32 32 0 1 0 0-64z" p-id="1548"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-on:click="showCode = !showCode" class="cursor-pointer mr-2 inline-block"&gt;
 &lt;span x-show="showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8488" t="1755227897558" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M490.666667 601.6L797.866667 298.666667l59.733333 59.733333-302.933333 302.933333-59.733334 64-59.733333-59.733333L128 358.4 187.733333 298.666667l302.933334 302.933333z" p-id="8489"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-show="!showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8047" t="1755227871587" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M401.066667 512l302.933333 302.933333-59.733333 59.733334L341.333333 571.733333 281.6 512 341.333333 452.266667l302.933334-302.933334 59.733333 59.733334L401.066667 512z" p-id="8048"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/div&gt;
 &lt;div x-show="showCode"
 x-cloak
 x-collapse
 x-collapse.duration.500ms
 x-ref="codeBlock"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;dept_no&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;group_concat&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;distinct&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;emp_no&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;order&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;by&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;emp_no&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;asc&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;employees&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="k"&gt;FROM&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;dept_emp&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;GROUP&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;BY&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;dept_no&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id="查询除了最大最小值后的均值" class="group"&gt;查询除了最大最小值后的均值 &lt;a href="#%e6%9f%a5%e8%af%a2%e9%99%a4%e4%ba%86%e6%9c%80%e5%a4%a7%e6%9c%80%e5%b0%8f%e5%80%bc%e5%90%8e%e7%9a%84%e5%9d%87%e5%80%bc" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;

&lt;div x-data="postCodeBlock('已复制')" class="font-mono text-base not-prose my-4 rounded-lg border border-tl-base-300/50 overflow-hidden shadow-sm"&gt;
 &lt;div class="px-3 py-2 flex justify-between items-center bg-tl-base-300/60"&gt;
 &lt;span class="cursor-default text-xs text-tl-base-content/70"&gt;sql&lt;/span&gt;
 &lt;span class="flex"&gt;
 &lt;span x-on:click="copyCode" x-ref="copyBtn" class="cursor-copy mr-2 inline-block"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="1545" t="1755222167498" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M720 192h-544A80.096 80.096 0 0 0 96 272v608C96 924.128 131.904 960 176 960h544c44.128 0 80-35.872 80-80v-608C800 227.904 764.128 192 720 192z m16 688c0 8.8-7.2 16-16 16h-544a16 16 0 0 1-16-16v-608a16 16 0 0 1 16-16h544a16 16 0 0 1 16 16v608z" p-id="1546"&gt;&lt;/path&gt;&lt;path d="M848 64h-544a32 32 0 0 0 0 64h544a16 16 0 0 1 16 16v608a32 32 0 1 0 64 0v-608C928 99.904 892.128 64 848 64z" p-id="1547"&gt;&lt;/path&gt;&lt;path d="M608 360H288a32 32 0 0 0 0 64h320a32 32 0 1 0 0-64zM608 520H288a32 32 0 1 0 0 64h320a32 32 0 1 0 0-64zM480 678.656H288a32 32 0 1 0 0 64h192a32 32 0 1 0 0-64z" p-id="1548"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-on:click="showCode = !showCode" class="cursor-pointer mr-2 inline-block"&gt;
 &lt;span x-show="showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8488" t="1755227897558" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M490.666667 601.6L797.866667 298.666667l59.733333 59.733333-302.933333 302.933333-59.733334 64-59.733333-59.733333L128 358.4 187.733333 298.666667l302.933334 302.933333z" p-id="8489"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-show="!showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8047" t="1755227871587" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M401.066667 512l302.933333 302.933333-59.733333 59.733334L341.333333 571.733333 281.6 512 341.333333 452.266667l302.933334-302.933334 59.733333 59.733334L401.066667 512z" p-id="8048"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/div&gt;
 &lt;div x-show="showCode"
 x-cloak
 x-collapse
 x-collapse.duration.500ms
 x-ref="codeBlock"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;select&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;avg&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;salary&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;as&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;avgt&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;salaries&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="k"&gt;where&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;to_date&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;9999-01-01&amp;#39;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;and&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;salary&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;not&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;in&lt;/span&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;select&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;max&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;salary&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;from&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;where&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;to_date&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;9999-01-01&amp;#39;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;and&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;salary&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;not&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;in&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;select&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;min&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sala&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;where&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;to_date&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;9999-01-01&amp;#39;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id="使用强制索引查询" class="group"&gt;使用强制索引查询 &lt;a href="#%e4%bd%bf%e7%94%a8%e5%bc%ba%e5%88%b6%e7%b4%a2%e5%bc%95%e6%9f%a5%e8%af%a2" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;

&lt;div x-data="postCodeBlock('已复制')" class="font-mono text-base not-prose my-4 rounded-lg border border-tl-base-300/50 overflow-hidden shadow-sm"&gt;
 &lt;div class="px-3 py-2 flex justify-between items-center bg-tl-base-300/60"&gt;
 &lt;span class="cursor-default text-xs text-tl-base-content/70"&gt;sql&lt;/span&gt;
 &lt;span class="flex"&gt;
 &lt;span x-on:click="copyCode" x-ref="copyBtn" class="cursor-copy mr-2 inline-block"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="1545" t="1755222167498" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M720 192h-544A80.096 80.096 0 0 0 96 272v608C96 924.128 131.904 960 176 960h544c44.128 0 80-35.872 80-80v-608C800 227.904 764.128 192 720 192z m16 688c0 8.8-7.2 16-16 16h-544a16 16 0 0 1-16-16v-608a16 16 0 0 1 16-16h544a16 16 0 0 1 16 16v608z" p-id="1546"&gt;&lt;/path&gt;&lt;path d="M848 64h-544a32 32 0 0 0 0 64h544a16 16 0 0 1 16 16v608a32 32 0 1 0 64 0v-608C928 99.904 892.128 64 848 64z" p-id="1547"&gt;&lt;/path&gt;&lt;path d="M608 360H288a32 32 0 0 0 0 64h320a32 32 0 1 0 0-64zM608 520H288a32 32 0 1 0 0 64h320a32 32 0 1 0 0-64zM480 678.656H288a32 32 0 1 0 0 64h192a32 32 0 1 0 0-64z" p-id="1548"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-on:click="showCode = !showCode" class="cursor-pointer mr-2 inline-block"&gt;
 &lt;span x-show="showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8488" t="1755227897558" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M490.666667 601.6L797.866667 298.666667l59.733333 59.733333-302.933333 302.933333-59.733334 64-59.733333-59.733333L128 358.4 187.733333 298.666667l302.933334 302.933333z" p-id="8489"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-show="!showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8047" t="1755227871587" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M401.066667 512l302.933333 302.933333-59.733333 59.733334L341.333333 571.733333 281.6 512 341.333333 452.266667l302.933334-302.933334 59.733333 59.733334L401.066667 512z" p-id="8048"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/div&gt;
 &lt;div x-show="showCode"
 x-cloak
 x-collapse
 x-collapse.duration.500ms
 x-ref="codeBlock"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;select&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;salaries&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="k"&gt;force&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;index&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;idx_emp_no&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="k"&gt;where&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;emp_no&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;10005&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id="使用with子句查询" class="group"&gt;使用with子句查询 &lt;a href="#%e4%bd%bf%e7%94%a8with%e5%ad%90%e5%8f%a5%e6%9f%a5%e8%af%a2" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;

&lt;div x-data="postCodeBlock('已复制')" class="font-mono text-base not-prose my-4 rounded-lg border border-tl-base-300/50 overflow-hidden shadow-sm"&gt;
 &lt;div class="px-3 py-2 flex justify-between items-center bg-tl-base-300/60"&gt;
 &lt;span class="cursor-default text-xs text-tl-base-content/70"&gt;sql&lt;/span&gt;
 &lt;span class="flex"&gt;
 &lt;span x-on:click="copyCode" x-ref="copyBtn" class="cursor-copy mr-2 inline-block"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="1545" t="1755222167498" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M720 192h-544A80.096 80.096 0 0 0 96 272v608C96 924.128 131.904 960 176 960h544c44.128 0 80-35.872 80-80v-608C800 227.904 764.128 192 720 192z m16 688c0 8.8-7.2 16-16 16h-544a16 16 0 0 1-16-16v-608a16 16 0 0 1 16-16h544a16 16 0 0 1 16 16v608z" p-id="1546"&gt;&lt;/path&gt;&lt;path d="M848 64h-544a32 32 0 0 0 0 64h544a16 16 0 0 1 16 16v608a32 32 0 1 0 64 0v-608C928 99.904 892.128 64 848 64z" p-id="1547"&gt;&lt;/path&gt;&lt;path d="M608 360H288a32 32 0 0 0 0 64h320a32 32 0 1 0 0-64zM608 520H288a32 32 0 1 0 0 64h320a32 32 0 1 0 0-64zM480 678.656H288a32 32 0 1 0 0 64h192a32 32 0 1 0 0-64z" p-id="1548"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-on:click="showCode = !showCode" class="cursor-pointer mr-2 inline-block"&gt;
 &lt;span x-show="showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8488" t="1755227897558" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M490.666667 601.6L797.866667 298.666667l59.733333 59.733333-302.933333 302.933333-59.733334 64-59.733333-59.733333L128 358.4 187.733333 298.666667l302.933334 302.933333z" p-id="8489"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-show="!showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8047" t="1755227871587" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M401.066667 512l302.933333 302.933333-59.733333 59.733334L341.333333 571.733333 281.6 512 341.333333 452.266667l302.933334-302.933334 59.733333 59.733334L401.066667 512z" p-id="8048"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/div&gt;
 &lt;div x-show="showCode"
 x-cloak
 x-collapse
 x-collapse.duration.500ms
 x-ref="codeBlock"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;#&lt;/span&gt;&lt;span class="k"&gt;with&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;tb&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;as&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;select&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;....)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;select&lt;/span&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="k"&gt;WITH&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;TB_TEMP&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;AS&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;role_id&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;FROM&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;sys_user_role&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;WHERE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;user_id&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;1533428933922820096&amp;#39;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;sr&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;role_name&lt;/span&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="k"&gt;FROM&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;	&lt;/span&gt;&lt;span class="n"&gt;sys_role&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;sr&lt;/span&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="k"&gt;WHERE&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;	&lt;/span&gt;&lt;span class="k"&gt;EXISTS&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;FROM&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;TB_TEMP&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;te&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;WHERE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;te&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;role_id&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;sr&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="创建" class="group"&gt;创建 &lt;a href="#%e5%88%9b%e5%bb%ba" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="根据别的表数据新建表" class="group"&gt;根据别的表数据新建表 &lt;a href="#%e6%a0%b9%e6%8d%ae%e5%88%ab%e7%9a%84%e8%a1%a8%e6%95%b0%e6%8d%ae%e6%96%b0%e5%bb%ba%e8%a1%a8" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;

&lt;div x-data="postCodeBlock('已复制')" class="font-mono text-base not-prose my-4 rounded-lg border border-tl-base-300/50 overflow-hidden shadow-sm"&gt;
 &lt;div class="px-3 py-2 flex justify-between items-center bg-tl-base-300/60"&gt;
 &lt;span class="cursor-default text-xs text-tl-base-content/70"&gt;sql&lt;/span&gt;
 &lt;span class="flex"&gt;
 &lt;span x-on:click="copyCode" x-ref="copyBtn" class="cursor-copy mr-2 inline-block"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="1545" t="1755222167498" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M720 192h-544A80.096 80.096 0 0 0 96 272v608C96 924.128 131.904 960 176 960h544c44.128 0 80-35.872 80-80v-608C800 227.904 764.128 192 720 192z m16 688c0 8.8-7.2 16-16 16h-544a16 16 0 0 1-16-16v-608a16 16 0 0 1 16-16h544a16 16 0 0 1 16 16v608z" p-id="1546"&gt;&lt;/path&gt;&lt;path d="M848 64h-544a32 32 0 0 0 0 64h544a16 16 0 0 1 16 16v608a32 32 0 1 0 64 0v-608C928 99.904 892.128 64 848 64z" p-id="1547"&gt;&lt;/path&gt;&lt;path d="M608 360H288a32 32 0 0 0 0 64h320a32 32 0 1 0 0-64zM608 520H288a32 32 0 1 0 0 64h320a32 32 0 1 0 0-64zM480 678.656H288a32 32 0 1 0 0 64h192a32 32 0 1 0 0-64z" p-id="1548"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-on:click="showCode = !showCode" class="cursor-pointer mr-2 inline-block"&gt;
 &lt;span x-show="showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8488" t="1755227897558" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M490.666667 601.6L797.866667 298.666667l59.733333 59.733333-302.933333 302.933333-59.733334 64-59.733333-59.733333L128 358.4 187.733333 298.666667l302.933334 302.933333z" p-id="8489"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-show="!showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8047" t="1755227871587" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M401.066667 512l302.933333 302.933333-59.733333 59.733334L341.333333 571.733333 281.6 512 341.333333 452.266667l302.933334-302.933334 59.733333 59.733334L401.066667 512z" p-id="8048"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/div&gt;
 &lt;div x-show="showCode"
 x-cloak
 x-collapse
 x-collapse.duration.500ms
 x-ref="codeBlock"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;#&lt;/span&gt;&lt;span class="err"&gt;根据别的表的数据新建表，方法&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="err"&gt;，&lt;/span&gt;&lt;span class="n"&gt;MySQL适用&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="k"&gt;create&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;table&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;not&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;exists&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;actor_name&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;as&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;select&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;first_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;last_name&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;from&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;actor&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="o"&gt;#&lt;/span&gt;&lt;span class="err"&gt;方法&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="k"&gt;create&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;table&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;not&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;exists&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;actor_name&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="n"&gt;first_name&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;varchar&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;45&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;not&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;null&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="n"&gt;last_name&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;varchar&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;45&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;not&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;null&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;-- 创建表
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;&lt;/span&gt;&lt;span class="k"&gt;insert&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;into&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;actor_name&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;select&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;first_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;last_name&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;actor&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;-- 插入查询结果&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id="根据表创建视图" class="group"&gt;根据表创建视图 &lt;a href="#%e6%a0%b9%e6%8d%ae%e8%a1%a8%e5%88%9b%e5%bb%ba%e8%a7%86%e5%9b%be" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;

&lt;div x-data="postCodeBlock('已复制')" class="font-mono text-base not-prose my-4 rounded-lg border border-tl-base-300/50 overflow-hidden shadow-sm"&gt;
 &lt;div class="px-3 py-2 flex justify-between items-center bg-tl-base-300/60"&gt;
 &lt;span class="cursor-default text-xs text-tl-base-content/70"&gt;sql&lt;/span&gt;
 &lt;span class="flex"&gt;
 &lt;span x-on:click="copyCode" x-ref="copyBtn" class="cursor-copy mr-2 inline-block"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="1545" t="1755222167498" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M720 192h-544A80.096 80.096 0 0 0 96 272v608C96 924.128 131.904 960 176 960h544c44.128 0 80-35.872 80-80v-608C800 227.904 764.128 192 720 192z m16 688c0 8.8-7.2 16-16 16h-544a16 16 0 0 1-16-16v-608a16 16 0 0 1 16-16h544a16 16 0 0 1 16 16v608z" p-id="1546"&gt;&lt;/path&gt;&lt;path d="M848 64h-544a32 32 0 0 0 0 64h544a16 16 0 0 1 16 16v608a32 32 0 1 0 64 0v-608C928 99.904 892.128 64 848 64z" p-id="1547"&gt;&lt;/path&gt;&lt;path d="M608 360H288a32 32 0 0 0 0 64h320a32 32 0 1 0 0-64zM608 520H288a32 32 0 1 0 0 64h320a32 32 0 1 0 0-64zM480 678.656H288a32 32 0 1 0 0 64h192a32 32 0 1 0 0-64z" p-id="1548"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-on:click="showCode = !showCode" class="cursor-pointer mr-2 inline-block"&gt;
 &lt;span x-show="showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8488" t="1755227897558" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M490.666667 601.6L797.866667 298.666667l59.733333 59.733333-302.933333 302.933333-59.733334 64-59.733333-59.733333L128 358.4 187.733333 298.666667l302.933334 302.933333z" p-id="8489"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-show="!showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8047" t="1755227871587" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M401.066667 512l302.933333 302.933333-59.733333 59.733334L341.333333 571.733333 281.6 512 341.333333 452.266667l302.933334-302.933334 59.733333 59.733334L401.066667 512z" p-id="8048"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/div&gt;
 &lt;div x-show="showCode"
 x-cloak
 x-collapse
 x-collapse.duration.500ms
 x-ref="codeBlock"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;-- 创建视图，使用小括号创建视图中的字段名
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;&lt;/span&gt;&lt;span class="k"&gt;create&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;view&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;actor_name_view&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;first_name_v&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;last_name_v&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;	&lt;/span&gt;&lt;span class="k"&gt;as&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;select&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;first_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;last_name&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;actor&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;	
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="c1"&gt;-- 创建视图，在select后面对查询的列重命名作为视图字段名
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;&lt;/span&gt;&lt;span class="k"&gt;create&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;view&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;actor_name_view&lt;/span&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;	&lt;/span&gt;&lt;span class="k"&gt;as&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;select&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;first_name&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;as&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;first_name_v&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;last_name&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;as&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;last_name_v&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;actor&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id="构造触发器" class="group"&gt;构造触发器 &lt;a href="#%e6%9e%84%e9%80%a0%e8%a7%a6%e5%8f%91%e5%99%a8" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;

&lt;div x-data="postCodeBlock('已复制')" class="font-mono text-base not-prose my-4 rounded-lg border border-tl-base-300/50 overflow-hidden shadow-sm"&gt;
 &lt;div class="px-3 py-2 flex justify-between items-center bg-tl-base-300/60"&gt;
 &lt;span class="cursor-default text-xs text-tl-base-content/70"&gt;sql&lt;/span&gt;
 &lt;span class="flex"&gt;
 &lt;span x-on:click="copyCode" x-ref="copyBtn" class="cursor-copy mr-2 inline-block"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="1545" t="1755222167498" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M720 192h-544A80.096 80.096 0 0 0 96 272v608C96 924.128 131.904 960 176 960h544c44.128 0 80-35.872 80-80v-608C800 227.904 764.128 192 720 192z m16 688c0 8.8-7.2 16-16 16h-544a16 16 0 0 1-16-16v-608a16 16 0 0 1 16-16h544a16 16 0 0 1 16 16v608z" p-id="1546"&gt;&lt;/path&gt;&lt;path d="M848 64h-544a32 32 0 0 0 0 64h544a16 16 0 0 1 16 16v608a32 32 0 1 0 64 0v-608C928 99.904 892.128 64 848 64z" p-id="1547"&gt;&lt;/path&gt;&lt;path d="M608 360H288a32 32 0 0 0 0 64h320a32 32 0 1 0 0-64zM608 520H288a32 32 0 1 0 0 64h320a32 32 0 1 0 0-64zM480 678.656H288a32 32 0 1 0 0 64h192a32 32 0 1 0 0-64z" p-id="1548"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-on:click="showCode = !showCode" class="cursor-pointer mr-2 inline-block"&gt;
 &lt;span x-show="showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8488" t="1755227897558" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M490.666667 601.6L797.866667 298.666667l59.733333 59.733333-302.933333 302.933333-59.733334 64-59.733333-59.733333L128 358.4 187.733333 298.666667l302.933334 302.933333z" p-id="8489"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-show="!showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8047" t="1755227871587" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M401.066667 512l302.933333 302.933333-59.733333 59.733334L341.333333 571.733333 281.6 512 341.333333 452.266667l302.933334-302.933334 59.733333 59.733334L401.066667 512z" p-id="8048"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/div&gt;
 &lt;div x-show="showCode"
 x-cloak
 x-collapse
 x-collapse.duration.500ms
 x-ref="codeBlock"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;-- mysql中触发器如下：
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;&lt;/span&gt;&lt;span class="w"&gt;	&lt;/span&gt;&lt;span class="c1"&gt;-- trigger_name：标识触发器名称，用户自行指定
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;&lt;/span&gt;&lt;span class="w"&gt;	&lt;/span&gt;&lt;span class="c1"&gt;-- trigger_time：标识触发时机，取值为 BEFORE 或 AFTER
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;&lt;/span&gt;&lt;span class="w"&gt;	&lt;/span&gt;&lt;span class="c1"&gt;-- trigger_event：标识触发事件，取值为 INSERT、UPDATE 或 DELETE
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;&lt;/span&gt;&lt;span class="w"&gt;	&lt;/span&gt;&lt;span class="c1"&gt;-- tbl_name：标识建立触发器的表名，即在哪张表上建立触发器
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;&lt;/span&gt;&lt;span class="w"&gt;	&lt;/span&gt;&lt;span class="c1"&gt;-- trigger_stmt：触发器程序体，可以是一句SQL语句，或者用 BEGIN 和 END 包含的多条语句，每条语句结束要分号结尾
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;&lt;/span&gt;&lt;span class="k"&gt;CREATE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;TRIGGER&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;trigger_name&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;	&lt;/span&gt;&lt;span class="n"&gt;trigger_time&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;trigger_event&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;ON&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;tbl_name&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;	&lt;/span&gt;&lt;span class="k"&gt;FOR&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;EACH&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;ROW&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;trigger_stmt&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="c1"&gt;-- 具体创建触发器语句；其中 new表示触发器的所在表新数据，old表示触发器的所在表老数据
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;&lt;/span&gt;&lt;span class="k"&gt;create&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;trigger&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;audit_log&lt;/span&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="k"&gt;after&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;insert&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;on&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;employees_test&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;each&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;row&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="k"&gt;begin&lt;/span&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;insert&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;into&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;audit&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;values&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="k"&gt;end&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="修改" class="group"&gt;修改 &lt;a href="#%e4%bf%ae%e6%94%b9" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="修改表名" class="group"&gt;修改表名 &lt;a href="#%e4%bf%ae%e6%94%b9%e8%a1%a8%e5%90%8d" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;

&lt;div x-data="postCodeBlock('已复制')" class="font-mono text-base not-prose my-4 rounded-lg border border-tl-base-300/50 overflow-hidden shadow-sm"&gt;
 &lt;div class="px-3 py-2 flex justify-between items-center bg-tl-base-300/60"&gt;
 &lt;span class="cursor-default text-xs text-tl-base-content/70"&gt;sql&lt;/span&gt;
 &lt;span class="flex"&gt;
 &lt;span x-on:click="copyCode" x-ref="copyBtn" class="cursor-copy mr-2 inline-block"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="1545" t="1755222167498" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M720 192h-544A80.096 80.096 0 0 0 96 272v608C96 924.128 131.904 960 176 960h544c44.128 0 80-35.872 80-80v-608C800 227.904 764.128 192 720 192z m16 688c0 8.8-7.2 16-16 16h-544a16 16 0 0 1-16-16v-608a16 16 0 0 1 16-16h544a16 16 0 0 1 16 16v608z" p-id="1546"&gt;&lt;/path&gt;&lt;path d="M848 64h-544a32 32 0 0 0 0 64h544a16 16 0 0 1 16 16v608a32 32 0 1 0 64 0v-608C928 99.904 892.128 64 848 64z" p-id="1547"&gt;&lt;/path&gt;&lt;path d="M608 360H288a32 32 0 0 0 0 64h320a32 32 0 1 0 0-64zM608 520H288a32 32 0 1 0 0 64h320a32 32 0 1 0 0-64zM480 678.656H288a32 32 0 1 0 0 64h192a32 32 0 1 0 0-64z" p-id="1548"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-on:click="showCode = !showCode" class="cursor-pointer mr-2 inline-block"&gt;
 &lt;span x-show="showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8488" t="1755227897558" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M490.666667 601.6L797.866667 298.666667l59.733333 59.733333-302.933333 302.933333-59.733334 64-59.733333-59.733333L128 358.4 187.733333 298.666667l302.933334 302.933333z" p-id="8489"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-show="!showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8047" t="1755227871587" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M401.066667 512l302.933333 302.933333-59.733333 59.733334L341.333333 571.733333 281.6 512 341.333333 452.266667l302.933334-302.933334 59.733333 59.733334L401.066667 512z" p-id="8048"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/div&gt;
 &lt;div x-show="showCode"
 x-cloak
 x-collapse
 x-collapse.duration.500ms
 x-ref="codeBlock"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;-- 修改表名；ALTER TABLE 表名 RENAME TO/AS 新表名
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="k"&gt;ALTER&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;TABLE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;titles_test&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;RENAME&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;TO&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;titles_2017&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id="更新记录" class="group"&gt;更新记录 &lt;a href="#%e6%9b%b4%e6%96%b0%e8%ae%b0%e5%bd%95" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;

&lt;div x-data="postCodeBlock('已复制')" class="font-mono text-base not-prose my-4 rounded-lg border border-tl-base-300/50 overflow-hidden shadow-sm"&gt;
 &lt;div class="px-3 py-2 flex justify-between items-center bg-tl-base-300/60"&gt;
 &lt;span class="cursor-default text-xs text-tl-base-content/70"&gt;sql&lt;/span&gt;
 &lt;span class="flex"&gt;
 &lt;span x-on:click="copyCode" x-ref="copyBtn" class="cursor-copy mr-2 inline-block"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="1545" t="1755222167498" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M720 192h-544A80.096 80.096 0 0 0 96 272v608C96 924.128 131.904 960 176 960h544c44.128 0 80-35.872 80-80v-608C800 227.904 764.128 192 720 192z m16 688c0 8.8-7.2 16-16 16h-544a16 16 0 0 1-16-16v-608a16 16 0 0 1 16-16h544a16 16 0 0 1 16 16v608z" p-id="1546"&gt;&lt;/path&gt;&lt;path d="M848 64h-544a32 32 0 0 0 0 64h544a16 16 0 0 1 16 16v608a32 32 0 1 0 64 0v-608C928 99.904 892.128 64 848 64z" p-id="1547"&gt;&lt;/path&gt;&lt;path d="M608 360H288a32 32 0 0 0 0 64h320a32 32 0 1 0 0-64zM608 520H288a32 32 0 1 0 0 64h320a32 32 0 1 0 0-64zM480 678.656H288a32 32 0 1 0 0 64h192a32 32 0 1 0 0-64z" p-id="1548"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-on:click="showCode = !showCode" class="cursor-pointer mr-2 inline-block"&gt;
 &lt;span x-show="showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8488" t="1755227897558" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M490.666667 601.6L797.866667 298.666667l59.733333 59.733333-302.933333 302.933333-59.733334 64-59.733333-59.733333L128 358.4 187.733333 298.666667l302.933334 302.933333z" p-id="8489"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-show="!showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8047" t="1755227871587" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M401.066667 512l302.933333 302.933333-59.733333 59.733334L341.333333 571.733333 281.6 512 341.333333 452.266667l302.933334-302.933334 59.733333 59.733334L401.066667 512z" p-id="8048"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/div&gt;
 &lt;div x-show="showCode"
 x-cloak
 x-collapse
 x-collapse.duration.500ms
 x-ref="codeBlock"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;-- 直接更新
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;&lt;/span&gt;&lt;span class="k"&gt;update&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;titles_test&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;set&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;to_date&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;null&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;from_date&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;2001-01-01&amp;#39;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="c1"&gt;-- 替换
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;&lt;/span&gt;&lt;span class="k"&gt;UPDATE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;titles_test&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;SET&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;emp_no&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;REPLACE&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;emp_no&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;10001&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;10005&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;WHERE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id="创建索引" class="group"&gt;创建索引 &lt;a href="#%e5%88%9b%e5%bb%ba%e7%b4%a2%e5%bc%95" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;

&lt;div x-data="postCodeBlock('已复制')" class="font-mono text-base not-prose my-4 rounded-lg border border-tl-base-300/50 overflow-hidden shadow-sm"&gt;
 &lt;div class="px-3 py-2 flex justify-between items-center bg-tl-base-300/60"&gt;
 &lt;span class="cursor-default text-xs text-tl-base-content/70"&gt;sql&lt;/span&gt;
 &lt;span class="flex"&gt;
 &lt;span x-on:click="copyCode" x-ref="copyBtn" class="cursor-copy mr-2 inline-block"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="1545" t="1755222167498" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M720 192h-544A80.096 80.096 0 0 0 96 272v608C96 924.128 131.904 960 176 960h544c44.128 0 80-35.872 80-80v-608C800 227.904 764.128 192 720 192z m16 688c0 8.8-7.2 16-16 16h-544a16 16 0 0 1-16-16v-608a16 16 0 0 1 16-16h544a16 16 0 0 1 16 16v608z" p-id="1546"&gt;&lt;/path&gt;&lt;path d="M848 64h-544a32 32 0 0 0 0 64h544a16 16 0 0 1 16 16v608a32 32 0 1 0 64 0v-608C928 99.904 892.128 64 848 64z" p-id="1547"&gt;&lt;/path&gt;&lt;path d="M608 360H288a32 32 0 0 0 0 64h320a32 32 0 1 0 0-64zM608 520H288a32 32 0 1 0 0 64h320a32 32 0 1 0 0-64zM480 678.656H288a32 32 0 1 0 0 64h192a32 32 0 1 0 0-64z" p-id="1548"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-on:click="showCode = !showCode" class="cursor-pointer mr-2 inline-block"&gt;
 &lt;span x-show="showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8488" t="1755227897558" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M490.666667 601.6L797.866667 298.666667l59.733333 59.733333-302.933333 302.933333-59.733334 64-59.733333-59.733333L128 358.4 187.733333 298.666667l302.933334 302.933333z" p-id="8489"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-show="!showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8047" t="1755227871587" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M401.066667 512l302.933333 302.933333-59.733333 59.733334L341.333333 571.733333 281.6 512 341.333333 452.266667l302.933334-302.933334 59.733333 59.733334L401.066667 512z" p-id="8048"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/div&gt;
 &lt;div x-show="showCode"
 x-cloak
 x-collapse
 x-collapse.duration.500ms
 x-ref="codeBlock"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;-- 主键；该语句添加一个主键，这意味着索引值必须是唯一的，且不能为NULL
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;&lt;/span&gt;&lt;span class="k"&gt;ALTER&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;TABLE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;tbl_name&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;ADD&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;PRIMARY&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;KEY&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;col_list&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="c1"&gt;-- 唯一索引；这条语句创建索引的值必须是唯一的
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;&lt;/span&gt;&lt;span class="k"&gt;ALTER&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;TABLE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;tbl_name&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;ADD&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;UNIQUE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;index_name&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;col_list&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="c1"&gt;-- 普通索引；添加普通索引，索引值可出现多次
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;&lt;/span&gt;&lt;span class="k"&gt;ALTER&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;TABLE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;tbl_name&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;ADD&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;INDEX&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;index_name&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;col_list&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="c1"&gt;-- 全文索引；该语句指定了索引为 FULLTEXT ，用于全文索引
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;&lt;/span&gt;&lt;span class="k"&gt;ALTER&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;TABLE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;tbl_name&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;ADD&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;FULLTEXT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;index_name&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;col_list&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id="创建外键约束" class="group"&gt;创建外键约束 &lt;a href="#%e5%88%9b%e5%bb%ba%e5%a4%96%e9%94%ae%e7%ba%a6%e6%9d%9f" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;

&lt;div x-data="postCodeBlock('已复制')" class="font-mono text-base not-prose my-4 rounded-lg border border-tl-base-300/50 overflow-hidden shadow-sm"&gt;
 &lt;div class="px-3 py-2 flex justify-between items-center bg-tl-base-300/60"&gt;
 &lt;span class="cursor-default text-xs text-tl-base-content/70"&gt;sql&lt;/span&gt;
 &lt;span class="flex"&gt;
 &lt;span x-on:click="copyCode" x-ref="copyBtn" class="cursor-copy mr-2 inline-block"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="1545" t="1755222167498" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M720 192h-544A80.096 80.096 0 0 0 96 272v608C96 924.128 131.904 960 176 960h544c44.128 0 80-35.872 80-80v-608C800 227.904 764.128 192 720 192z m16 688c0 8.8-7.2 16-16 16h-544a16 16 0 0 1-16-16v-608a16 16 0 0 1 16-16h544a16 16 0 0 1 16 16v608z" p-id="1546"&gt;&lt;/path&gt;&lt;path d="M848 64h-544a32 32 0 0 0 0 64h544a16 16 0 0 1 16 16v608a32 32 0 1 0 64 0v-608C928 99.904 892.128 64 848 64z" p-id="1547"&gt;&lt;/path&gt;&lt;path d="M608 360H288a32 32 0 0 0 0 64h320a32 32 0 1 0 0-64zM608 520H288a32 32 0 1 0 0 64h320a32 32 0 1 0 0-64zM480 678.656H288a32 32 0 1 0 0 64h192a32 32 0 1 0 0-64z" p-id="1548"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-on:click="showCode = !showCode" class="cursor-pointer mr-2 inline-block"&gt;
 &lt;span x-show="showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8488" t="1755227897558" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M490.666667 601.6L797.866667 298.666667l59.733333 59.733333-302.933333 302.933333-59.733334 64-59.733333-59.733333L128 358.4 187.733333 298.666667l302.933334 302.933333z" p-id="8489"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-show="!showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8047" t="1755227871587" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M401.066667 512l302.933333 302.933333-59.733333 59.733334L341.333333 571.733333 281.6 512 341.333333 452.266667l302.933334-302.933334 59.733333 59.733334L401.066667 512z" p-id="8048"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/div&gt;
 &lt;div x-show="showCode"
 x-cloak
 x-collapse
 x-collapse.duration.500ms
 x-ref="codeBlock"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;-- ALTER TABLE &amp;lt;表名&amp;gt; ADD CONSTRAINT FOREIGN KEY (&amp;lt;列名&amp;gt;) REFERENCES &amp;lt;关联表&amp;gt;(关联列)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="k"&gt;ALTER&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;TABLE&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;audit&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="k"&gt;ADD&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;CONSTRAINT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;FOREIGN&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;KEY&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;emp_no&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;REFERENCES&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;employees_test&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id="新增列" class="group"&gt;新增列 &lt;a href="#%e6%96%b0%e5%a2%9e%e5%88%97" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;

&lt;div x-data="postCodeBlock('已复制')" class="font-mono text-base not-prose my-4 rounded-lg border border-tl-base-300/50 overflow-hidden shadow-sm"&gt;
 &lt;div class="px-3 py-2 flex justify-between items-center bg-tl-base-300/60"&gt;
 &lt;span class="cursor-default text-xs text-tl-base-content/70"&gt;sql&lt;/span&gt;
 &lt;span class="flex"&gt;
 &lt;span x-on:click="copyCode" x-ref="copyBtn" class="cursor-copy mr-2 inline-block"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="1545" t="1755222167498" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M720 192h-544A80.096 80.096 0 0 0 96 272v608C96 924.128 131.904 960 176 960h544c44.128 0 80-35.872 80-80v-608C800 227.904 764.128 192 720 192z m16 688c0 8.8-7.2 16-16 16h-544a16 16 0 0 1-16-16v-608a16 16 0 0 1 16-16h544a16 16 0 0 1 16 16v608z" p-id="1546"&gt;&lt;/path&gt;&lt;path d="M848 64h-544a32 32 0 0 0 0 64h544a16 16 0 0 1 16 16v608a32 32 0 1 0 64 0v-608C928 99.904 892.128 64 848 64z" p-id="1547"&gt;&lt;/path&gt;&lt;path d="M608 360H288a32 32 0 0 0 0 64h320a32 32 0 1 0 0-64zM608 520H288a32 32 0 1 0 0 64h320a32 32 0 1 0 0-64zM480 678.656H288a32 32 0 1 0 0 64h192a32 32 0 1 0 0-64z" p-id="1548"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-on:click="showCode = !showCode" class="cursor-pointer mr-2 inline-block"&gt;
 &lt;span x-show="showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8488" t="1755227897558" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M490.666667 601.6L797.866667 298.666667l59.733333 59.733333-302.933333 302.933333-59.733334 64-59.733333-59.733333L128 358.4 187.733333 298.666667l302.933334 302.933333z" p-id="8489"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-show="!showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8047" t="1755227871587" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M401.066667 512l302.933333 302.933333-59.733333 59.733334L341.333333 571.733333 281.6 512 341.333333 452.266667l302.933334-302.933334 59.733333 59.733334L401.066667 512z" p-id="8048"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/div&gt;
 &lt;div x-show="showCode"
 x-cloak
 x-collapse
 x-collapse.duration.500ms
 x-ref="codeBlock"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;-- ALTER TABLE &amp;lt;表名&amp;gt; ADD COLUMN &amp;lt;新字段名&amp;gt; &amp;lt;数据类型&amp;gt; [约束条件] [FIRST|AFTER 已存在的字段名];
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;&lt;/span&gt;&lt;span class="k"&gt;alter&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;table&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;actor&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;	&lt;/span&gt;&lt;span class="k"&gt;add&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;column&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;create_date&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;datetime&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;not&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;null&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;default&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;2020-10-01 00:00:00&amp;#39;&lt;/span&gt;&lt;span class="w"&gt; 		&lt;/span&gt;&lt;span class="k"&gt;after&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;last_update&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id="删除重复记录" class="group"&gt;删除重复记录 &lt;a href="#%e5%88%a0%e9%99%a4%e9%87%8d%e5%a4%8d%e8%ae%b0%e5%bd%95" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;

&lt;div x-data="postCodeBlock('已复制')" class="font-mono text-base not-prose my-4 rounded-lg border border-tl-base-300/50 overflow-hidden shadow-sm"&gt;
 &lt;div class="px-3 py-2 flex justify-between items-center bg-tl-base-300/60"&gt;
 &lt;span class="cursor-default text-xs text-tl-base-content/70"&gt;sql&lt;/span&gt;
 &lt;span class="flex"&gt;
 &lt;span x-on:click="copyCode" x-ref="copyBtn" class="cursor-copy mr-2 inline-block"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="1545" t="1755222167498" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M720 192h-544A80.096 80.096 0 0 0 96 272v608C96 924.128 131.904 960 176 960h544c44.128 0 80-35.872 80-80v-608C800 227.904 764.128 192 720 192z m16 688c0 8.8-7.2 16-16 16h-544a16 16 0 0 1-16-16v-608a16 16 0 0 1 16-16h544a16 16 0 0 1 16 16v608z" p-id="1546"&gt;&lt;/path&gt;&lt;path d="M848 64h-544a32 32 0 0 0 0 64h544a16 16 0 0 1 16 16v608a32 32 0 1 0 64 0v-608C928 99.904 892.128 64 848 64z" p-id="1547"&gt;&lt;/path&gt;&lt;path d="M608 360H288a32 32 0 0 0 0 64h320a32 32 0 1 0 0-64zM608 520H288a32 32 0 1 0 0 64h320a32 32 0 1 0 0-64zM480 678.656H288a32 32 0 1 0 0 64h192a32 32 0 1 0 0-64z" p-id="1548"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-on:click="showCode = !showCode" class="cursor-pointer mr-2 inline-block"&gt;
 &lt;span x-show="showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8488" t="1755227897558" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M490.666667 601.6L797.866667 298.666667l59.733333 59.733333-302.933333 302.933333-59.733334 64-59.733333-59.733333L128 358.4 187.733333 298.666667l302.933334 302.933333z" p-id="8489"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-show="!showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8047" t="1755227871587" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M401.066667 512l302.933333 302.933333-59.733333 59.733334L341.333333 571.733333 281.6 512 341.333333 452.266667l302.933334-302.933334 59.733333 59.733334L401.066667 512z" p-id="8048"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/div&gt;
 &lt;div x-show="showCode"
 x-cloak
 x-collapse
 x-collapse.duration.500ms
 x-ref="codeBlock"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;-- 需要把记录先展示出来并重命名，然后删除
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;&lt;/span&gt;&lt;span class="k"&gt;DELETE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;FROM&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;titles_test&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;WHERE&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;NOT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;IN&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;FROM&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;		&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;MIN&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;FROM&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;titles_test&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;GROUP&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;BY&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;emp_no&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;-- 分组查询出id最小的
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;</description></item><item><title>Java中正则的使用</title><link>https://leiking007.github.io/posts/%EF%B8%8Fjava%E7%BC%96%E7%A8%8B/java%E4%B8%AD%E6%AD%A3%E5%88%99%E7%9A%84%E4%BD%BF%E7%94%A8/</link><pubDate>Wed, 24 Nov 2021 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/%EF%B8%8Fjava%E7%BC%96%E7%A8%8B/java%E4%B8%AD%E6%AD%A3%E5%88%99%E7%9A%84%E4%BD%BF%E7%94%A8/</guid><description>&lt;h1 id="java中正则的使用" class="group"&gt;Java中正则的使用 &lt;a href="#java%e4%b8%ad%e6%ad%a3%e5%88%99%e7%9a%84%e4%bd%bf%e7%94%a8" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="正则简介" class="group"&gt;正则简介 &lt;a href="#%e6%ad%a3%e5%88%99%e7%ae%80%e4%bb%8b" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;非常常见的问题：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;如何判断字符串是否是有效的电话号码？例如：&lt;code&gt;010-1234567&lt;/code&gt;，&lt;code&gt;123ABC456&lt;/code&gt;，&lt;code&gt;13510001000&lt;/code&gt;等&lt;/li&gt;
&lt;li&gt;如何判断字符串是否是有效的电子邮件地址？例如：&lt;code&gt;test@example.com&lt;/code&gt;，&lt;code&gt;test#example&lt;/code&gt;等&lt;/li&gt;
&lt;li&gt;如何判断字符串是否是有效的时间？例如：&lt;code&gt;12:34&lt;/code&gt;，&lt;code&gt;09:60&lt;/code&gt;，&lt;code&gt;99:99&lt;/code&gt;等&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如何通过程序判断，这种方法需要为每种用例创建规则，然后用代码实现，太过复杂；因此出现了正则表达式&lt;/p&gt;</description></item><item><title>SpringCloudNetflix</title><link>https://leiking007.github.io/posts/%EF%B8%8Fjava%E7%BC%96%E7%A8%8B/springcloudnetflix/</link><pubDate>Wed, 17 Nov 2021 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/%EF%B8%8Fjava%E7%BC%96%E7%A8%8B/springcloudnetflix/</guid><description>&lt;h1 id="springcloudnetflix" class="group"&gt;SpringcloudNetflix &lt;a href="#springcloudnetflix" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="简介" class="group"&gt;简介 &lt;a href="#%e7%ae%80%e4%bb%8b" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="架构的演化" class="group"&gt;架构的演化 &lt;a href="#%e6%9e%b6%e6%9e%84%e7%9a%84%e6%bc%94%e5%8c%96" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;集中式架构：传统架构，所有的功能一个项目完成，可以进行集群；一个war包或jar包&lt;/p&gt;</description></item><item><title>Java中日期</title><link>https://leiking007.github.io/posts/%EF%B8%8Fjava%E7%BC%96%E7%A8%8B/java%E4%B8%AD%E6%97%A5%E6%9C%9F/</link><pubDate>Mon, 01 Nov 2021 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/%EF%B8%8Fjava%E7%BC%96%E7%A8%8B/java%E4%B8%AD%E6%97%A5%E6%9C%9F/</guid><description>&lt;h1 id="java中日期" class="group"&gt;Java中日期 &lt;a href="#java%e4%b8%ad%e6%97%a5%e6%9c%9f" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="java中日期-1" class="group"&gt;Java中日期 &lt;a href="#java%e4%b8%ad%e6%97%a5%e6%9c%9f-1" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="概念" class="group"&gt;概念 &lt;a href="#%e6%a6%82%e5%bf%b5" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;本地时间&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;不同的时区，在同一时刻，本地时间是不同的。全球一共分为24个时区，伦敦所在的时区称为标准时区，其他时区按东／西偏移的小时区分，北京所在的时区是东八区。&lt;/p&gt;</description></item><item><title>JS常用方法</title><link>https://leiking007.github.io/posts/web%E5%89%8D%E7%AB%AF/js%E5%B8%B8%E7%94%A8%E6%96%B9%E6%B3%95/</link><pubDate>Mon, 01 Nov 2021 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/web%E5%89%8D%E7%AB%AF/js%E5%B8%B8%E7%94%A8%E6%96%B9%E6%B3%95/</guid><description>&lt;h1 id="js常用方法" class="group"&gt;js常用方法 &lt;a href="#js%e5%b8%b8%e7%94%a8%e6%96%b9%e6%b3%95" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="日期" class="group"&gt;日期 &lt;a href="#%e6%97%a5%e6%9c%9f" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="获取时间" class="group"&gt;获取时间 &lt;a href="#%e8%8e%b7%e5%8f%96%e6%97%b6%e9%97%b4" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;

&lt;div x-data="postCodeBlock('已复制')" class="font-mono text-base not-prose my-4 rounded-lg border border-tl-base-300/50 overflow-hidden shadow-sm"&gt;
 &lt;div class="px-3 py-2 flex justify-between items-center bg-tl-base-300/60"&gt;
 &lt;span class="cursor-default text-xs text-tl-base-content/70"&gt;js&lt;/span&gt;
 &lt;span class="flex"&gt;
 &lt;span x-on:click="copyCode" x-ref="copyBtn" class="cursor-copy mr-2 inline-block"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="1545" t="1755222167498" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M720 192h-544A80.096 80.096 0 0 0 96 272v608C96 924.128 131.904 960 176 960h544c44.128 0 80-35.872 80-80v-608C800 227.904 764.128 192 720 192z m16 688c0 8.8-7.2 16-16 16h-544a16 16 0 0 1-16-16v-608a16 16 0 0 1 16-16h544a16 16 0 0 1 16 16v608z" p-id="1546"&gt;&lt;/path&gt;&lt;path d="M848 64h-544a32 32 0 0 0 0 64h544a16 16 0 0 1 16 16v608a32 32 0 1 0 64 0v-608C928 99.904 892.128 64 848 64z" p-id="1547"&gt;&lt;/path&gt;&lt;path d="M608 360H288a32 32 0 0 0 0 64h320a32 32 0 1 0 0-64zM608 520H288a32 32 0 1 0 0 64h320a32 32 0 1 0 0-64zM480 678.656H288a32 32 0 1 0 0 64h192a32 32 0 1 0 0-64z" p-id="1548"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-on:click="showCode = !showCode" class="cursor-pointer mr-2 inline-block"&gt;
 &lt;span x-show="showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8488" t="1755227897558" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M490.666667 601.6L797.866667 298.666667l59.733333 59.733333-302.933333 302.933333-59.733334 64-59.733333-59.733333L128 358.4 187.733333 298.666667l302.933334 302.933333z" p-id="8489"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-show="!showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8047" t="1755227871587" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M401.066667 512l302.933333 302.933333-59.733333 59.733334L341.333333 571.733333 281.6 512 341.333333 452.266667l302.933334-302.933334 59.733333 59.733334L401.066667 512z" p-id="8048"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/div&gt;
 &lt;div x-show="showCode"
 x-cloak
 x-collapse
 x-collapse.duration.500ms
 x-ref="codeBlock"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-js" data-lang="js"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;d1&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nb"&gt;Date&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="c1"&gt;//获取当前时间的Date对象
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;d2&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nb"&gt;Date&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;2020-12-10 17:25:55&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;//获取指定是时间的Date对象
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id="获取时间戳" class="group"&gt;获取时间戳 &lt;a href="#%e8%8e%b7%e5%8f%96%e6%97%b6%e9%97%b4%e6%88%b3" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;

&lt;div x-data="postCodeBlock('已复制')" class="font-mono text-base not-prose my-4 rounded-lg border border-tl-base-300/50 overflow-hidden shadow-sm"&gt;
 &lt;div class="px-3 py-2 flex justify-between items-center bg-tl-base-300/60"&gt;
 &lt;span class="cursor-default text-xs text-tl-base-content/70"&gt;js&lt;/span&gt;
 &lt;span class="flex"&gt;
 &lt;span x-on:click="copyCode" x-ref="copyBtn" class="cursor-copy mr-2 inline-block"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="1545" t="1755222167498" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M720 192h-544A80.096 80.096 0 0 0 96 272v608C96 924.128 131.904 960 176 960h544c44.128 0 80-35.872 80-80v-608C800 227.904 764.128 192 720 192z m16 688c0 8.8-7.2 16-16 16h-544a16 16 0 0 1-16-16v-608a16 16 0 0 1 16-16h544a16 16 0 0 1 16 16v608z" p-id="1546"&gt;&lt;/path&gt;&lt;path d="M848 64h-544a32 32 0 0 0 0 64h544a16 16 0 0 1 16 16v608a32 32 0 1 0 64 0v-608C928 99.904 892.128 64 848 64z" p-id="1547"&gt;&lt;/path&gt;&lt;path d="M608 360H288a32 32 0 0 0 0 64h320a32 32 0 1 0 0-64zM608 520H288a32 32 0 1 0 0 64h320a32 32 0 1 0 0-64zM480 678.656H288a32 32 0 1 0 0 64h192a32 32 0 1 0 0-64z" p-id="1548"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-on:click="showCode = !showCode" class="cursor-pointer mr-2 inline-block"&gt;
 &lt;span x-show="showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8488" t="1755227897558" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M490.666667 601.6L797.866667 298.666667l59.733333 59.733333-302.933333 302.933333-59.733334 64-59.733333-59.733333L128 358.4 187.733333 298.666667l302.933334 302.933333z" p-id="8489"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-show="!showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8047" t="1755227871587" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M401.066667 512l302.933333 302.933333-59.733333 59.733334L341.333333 571.733333 281.6 512 341.333333 452.266667l302.933334-302.933334 59.733333 59.733334L401.066667 512z" p-id="8048"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/div&gt;
 &lt;div x-show="showCode"
 x-cloak
 x-collapse
 x-collapse.duration.500ms
 x-ref="codeBlock"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-js" data-lang="js"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;t1&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nb"&gt;Date&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;now&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="c1"&gt;//获取当前时间戳
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;t2&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nb"&gt;Date&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nx"&gt;getTime&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="c1"&gt;//通过日期对象获取时间戳
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id="获取moment对象" class="group"&gt;获取moment对象 &lt;a href="#%e8%8e%b7%e5%8f%96moment%e5%af%b9%e8%b1%a1" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;

&lt;div x-data="postCodeBlock('已复制')" class="font-mono text-base not-prose my-4 rounded-lg border border-tl-base-300/50 overflow-hidden shadow-sm"&gt;
 &lt;div class="px-3 py-2 flex justify-between items-center bg-tl-base-300/60"&gt;
 &lt;span class="cursor-default text-xs text-tl-base-content/70"&gt;js&lt;/span&gt;
 &lt;span class="flex"&gt;
 &lt;span x-on:click="copyCode" x-ref="copyBtn" class="cursor-copy mr-2 inline-block"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="1545" t="1755222167498" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M720 192h-544A80.096 80.096 0 0 0 96 272v608C96 924.128 131.904 960 176 960h544c44.128 0 80-35.872 80-80v-608C800 227.904 764.128 192 720 192z m16 688c0 8.8-7.2 16-16 16h-544a16 16 0 0 1-16-16v-608a16 16 0 0 1 16-16h544a16 16 0 0 1 16 16v608z" p-id="1546"&gt;&lt;/path&gt;&lt;path d="M848 64h-544a32 32 0 0 0 0 64h544a16 16 0 0 1 16 16v608a32 32 0 1 0 64 0v-608C928 99.904 892.128 64 848 64z" p-id="1547"&gt;&lt;/path&gt;&lt;path d="M608 360H288a32 32 0 0 0 0 64h320a32 32 0 1 0 0-64zM608 520H288a32 32 0 1 0 0 64h320a32 32 0 1 0 0-64zM480 678.656H288a32 32 0 1 0 0 64h192a32 32 0 1 0 0-64z" p-id="1548"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-on:click="showCode = !showCode" class="cursor-pointer mr-2 inline-block"&gt;
 &lt;span x-show="showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8488" t="1755227897558" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M490.666667 601.6L797.866667 298.666667l59.733333 59.733333-302.933333 302.933333-59.733334 64-59.733333-59.733333L128 358.4 187.733333 298.666667l302.933334 302.933333z" p-id="8489"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-show="!showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8047" t="1755227871587" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M401.066667 512l302.933333 302.933333-59.733333 59.733334L341.333333 571.733333 281.6 512 341.333333 452.266667l302.933334-302.933334 59.733333 59.733334L401.066667 512z" p-id="8048"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/div&gt;
 &lt;div x-show="showCode"
 x-cloak
 x-collapse
 x-collapse.duration.500ms
 x-ref="codeBlock"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-js" data-lang="js"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;now&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;moment&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="c1"&gt;//获取当前时间moment对象，不传参或传入参数undefined时
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;&lt;/span&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;now&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nx"&gt;moment&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nb"&gt;Date&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id="moment对象操作" class="group"&gt;moment对象操作 &lt;a href="#moment%e5%af%b9%e8%b1%a1%e6%93%8d%e4%bd%9c" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;

&lt;div x-data="postCodeBlock('已复制')" class="font-mono text-base not-prose my-4 rounded-lg border border-tl-base-300/50 overflow-hidden shadow-sm"&gt;
 &lt;div class="px-3 py-2 flex justify-between items-center bg-tl-base-300/60"&gt;
 &lt;span class="cursor-default text-xs text-tl-base-content/70"&gt;js&lt;/span&gt;
 &lt;span class="flex"&gt;
 &lt;span x-on:click="copyCode" x-ref="copyBtn" class="cursor-copy mr-2 inline-block"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="1545" t="1755222167498" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M720 192h-544A80.096 80.096 0 0 0 96 272v608C96 924.128 131.904 960 176 960h544c44.128 0 80-35.872 80-80v-608C800 227.904 764.128 192 720 192z m16 688c0 8.8-7.2 16-16 16h-544a16 16 0 0 1-16-16v-608a16 16 0 0 1 16-16h544a16 16 0 0 1 16 16v608z" p-id="1546"&gt;&lt;/path&gt;&lt;path d="M848 64h-544a32 32 0 0 0 0 64h544a16 16 0 0 1 16 16v608a32 32 0 1 0 64 0v-608C928 99.904 892.128 64 848 64z" p-id="1547"&gt;&lt;/path&gt;&lt;path d="M608 360H288a32 32 0 0 0 0 64h320a32 32 0 1 0 0-64zM608 520H288a32 32 0 1 0 0 64h320a32 32 0 1 0 0-64zM480 678.656H288a32 32 0 1 0 0 64h192a32 32 0 1 0 0-64z" p-id="1548"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-on:click="showCode = !showCode" class="cursor-pointer mr-2 inline-block"&gt;
 &lt;span x-show="showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8488" t="1755227897558" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M490.666667 601.6L797.866667 298.666667l59.733333 59.733333-302.933333 302.933333-59.733334 64-59.733333-59.733333L128 358.4 187.733333 298.666667l302.933334 302.933333z" p-id="8489"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-show="!showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8047" t="1755227871587" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M401.066667 512l302.933333 302.933333-59.733333 59.733334L341.333333 571.733333 281.6 512 341.333333 452.266667l302.933334-302.933334 59.733333 59.733334L401.066667 512z" p-id="8048"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/div&gt;
 &lt;div x-show="showCode"
 x-cloak
 x-collapse
 x-collapse.duration.500ms
 x-ref="codeBlock"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-js" data-lang="js"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;now&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;moment&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;old&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;moment&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;2019-12-31 14:12:14&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// diff 获取两个moment对象所代表日期之间的差
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// moment().diff(moment对象，年/月/天，true/false) 第三个参数为是否保留小数
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;&lt;/span&gt;&lt;span class="nx"&gt;now&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;diff&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;old&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;days&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="运算" class="group"&gt;运算 &lt;a href="#%e8%bf%90%e7%ae%97" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="原因" class="group"&gt;原因 &lt;a href="#%e5%8e%9f%e5%9b%a0" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;js因为底层数据存储原因，计算浮点数时会发生精度丢失&lt;/p&gt;</description></item><item><title>JS中的数组</title><link>https://leiking007.github.io/posts/web%E5%89%8D%E7%AB%AF/js%E4%B8%AD%E7%9A%84%E6%95%B0%E7%BB%84/</link><pubDate>Mon, 01 Nov 2021 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/web%E5%89%8D%E7%AB%AF/js%E4%B8%AD%E7%9A%84%E6%95%B0%E7%BB%84/</guid><description>&lt;h1 id="js中的数组" class="group"&gt;js中的数组 &lt;a href="#js%e4%b8%ad%e7%9a%84%e6%95%b0%e7%bb%84" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="基本操作" class="group"&gt;基本操作 &lt;a href="#%e5%9f%ba%e6%9c%ac%e6%93%8d%e4%bd%9c" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;

&lt;div x-data="postCodeBlock('已复制')" class="font-mono text-base not-prose my-4 rounded-lg border border-tl-base-300/50 overflow-hidden shadow-sm"&gt;
 &lt;div class="px-3 py-2 flex justify-between items-center bg-tl-base-300/60"&gt;
 &lt;span class="cursor-default text-xs text-tl-base-content/70"&gt;js&lt;/span&gt;
 &lt;span class="flex"&gt;
 &lt;span x-on:click="copyCode" x-ref="copyBtn" class="cursor-copy mr-2 inline-block"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="1545" t="1755222167498" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M720 192h-544A80.096 80.096 0 0 0 96 272v608C96 924.128 131.904 960 176 960h544c44.128 0 80-35.872 80-80v-608C800 227.904 764.128 192 720 192z m16 688c0 8.8-7.2 16-16 16h-544a16 16 0 0 1-16-16v-608a16 16 0 0 1 16-16h544a16 16 0 0 1 16 16v608z" p-id="1546"&gt;&lt;/path&gt;&lt;path d="M848 64h-544a32 32 0 0 0 0 64h544a16 16 0 0 1 16 16v608a32 32 0 1 0 64 0v-608C928 99.904 892.128 64 848 64z" p-id="1547"&gt;&lt;/path&gt;&lt;path d="M608 360H288a32 32 0 0 0 0 64h320a32 32 0 1 0 0-64zM608 520H288a32 32 0 1 0 0 64h320a32 32 0 1 0 0-64zM480 678.656H288a32 32 0 1 0 0 64h192a32 32 0 1 0 0-64z" p-id="1548"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-on:click="showCode = !showCode" class="cursor-pointer mr-2 inline-block"&gt;
 &lt;span x-show="showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8488" t="1755227897558" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M490.666667 601.6L797.866667 298.666667l59.733333 59.733333-302.933333 302.933333-59.733334 64-59.733333-59.733333L128 358.4 187.733333 298.666667l302.933334 302.933333z" p-id="8489"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-show="!showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8047" t="1755227871587" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M401.066667 512l302.933333 302.933333-59.733333 59.733334L341.333333 571.733333 281.6 512 341.333333 452.266667l302.933334-302.933334 59.733333 59.733334L401.066667 512z" p-id="8048"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/div&gt;
 &lt;div x-show="showCode"
 x-cloak
 x-collapse
 x-collapse.duration.500ms
 x-ref="codeBlock"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-js" data-lang="js"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;arr&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;7&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;9&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="c1"&gt;//定义数组
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;arr&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;push&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;123&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;//追加元素到数组末尾 +1
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;arr&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;pop&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="c1"&gt;//取出数组末尾元素，数组长度 -1
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;&lt;/span&gt;&lt;span class="nx"&gt;arr&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;shift&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="c1"&gt;//取出数组首部元素，数组长度 -1
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;arr&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;indexOf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;//返回数组中首次出现该元素的索引，未匹配返回 -1
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;&lt;/span&gt;&lt;span class="nx"&gt;arr&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;includes&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;//判断数组中是否包含某个元素，返回 true/false
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;//splice(a,b,...) a为位置，b为删除几个元素，...为添加的元素；返回值为删除元素构成的数组
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;&lt;/span&gt;&lt;span class="nx"&gt;arr&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;splice&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;12&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;13&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;//在arr数组第二位元素，删除0个元素，并插入12,13
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// join 拼接数组中所有元素，返回字符串
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;&lt;/span&gt;&lt;span class="nx"&gt;arr&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;join&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;.&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="常用方法" class="group"&gt;常用方法 &lt;a href="#%e5%b8%b8%e7%94%a8%e6%96%b9%e6%b3%95" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;

&lt;div x-data="postCodeBlock('已复制')" class="font-mono text-base not-prose my-4 rounded-lg border border-tl-base-300/50 overflow-hidden shadow-sm"&gt;
 &lt;div class="px-3 py-2 flex justify-between items-center bg-tl-base-300/60"&gt;
 &lt;span class="cursor-default text-xs text-tl-base-content/70"&gt;js&lt;/span&gt;
 &lt;span class="flex"&gt;
 &lt;span x-on:click="copyCode" x-ref="copyBtn" class="cursor-copy mr-2 inline-block"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="1545" t="1755222167498" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M720 192h-544A80.096 80.096 0 0 0 96 272v608C96 924.128 131.904 960 176 960h544c44.128 0 80-35.872 80-80v-608C800 227.904 764.128 192 720 192z m16 688c0 8.8-7.2 16-16 16h-544a16 16 0 0 1-16-16v-608a16 16 0 0 1 16-16h544a16 16 0 0 1 16 16v608z" p-id="1546"&gt;&lt;/path&gt;&lt;path d="M848 64h-544a32 32 0 0 0 0 64h544a16 16 0 0 1 16 16v608a32 32 0 1 0 64 0v-608C928 99.904 892.128 64 848 64z" p-id="1547"&gt;&lt;/path&gt;&lt;path d="M608 360H288a32 32 0 0 0 0 64h320a32 32 0 1 0 0-64zM608 520H288a32 32 0 1 0 0 64h320a32 32 0 1 0 0-64zM480 678.656H288a32 32 0 1 0 0 64h192a32 32 0 1 0 0-64z" p-id="1548"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-on:click="showCode = !showCode" class="cursor-pointer mr-2 inline-block"&gt;
 &lt;span x-show="showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8488" t="1755227897558" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M490.666667 601.6L797.866667 298.666667l59.733333 59.733333-302.933333 302.933333-59.733334 64-59.733333-59.733333L128 358.4 187.733333 298.666667l302.933334 302.933333z" p-id="8489"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-show="!showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8047" t="1755227871587" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M401.066667 512l302.933333 302.933333-59.733333 59.733334L341.333333 571.733333 281.6 512 341.333333 452.266667l302.933334-302.933334 59.733333 59.733334L401.066667 512z" p-id="8048"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/div&gt;
 &lt;div x-show="showCode"
 x-cloak
 x-collapse
 x-collapse.duration.500ms
 x-ref="codeBlock"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-js" data-lang="js"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;list&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;zs3&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;20200110&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;age&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;zs6&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;20200113&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;age&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;13&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;zs2&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;20200109&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;age&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;9&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;zs8&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;20200115&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;age&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;15&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;zs4&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;20200111&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;age&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;11&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;zs1&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;20200108&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;age&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;8&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;zs7&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;20200114&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;age&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;14&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;zs5&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;20200112&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;age&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;12&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id="sort" class="group"&gt;sort() &lt;a href="#sort" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;数组排序，sort(compareFunction)；compareFunction排序顺序的函数,该函数应返回负值、零值或正值，具体取决于参数&lt;/p&gt;</description></item><item><title>常用软件配置</title><link>https://leiking007.github.io/posts/%E9%9A%8F%E7%AC%94%E4%B8%8E%E6%80%9D%E8%80%83/envconf/</link><pubDate>Mon, 01 Nov 2021 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/%E9%9A%8F%E7%AC%94%E4%B8%8E%E6%80%9D%E8%80%83/envconf/</guid><description>&lt;h1 id="常用软件配置" class="group"&gt;常用软件配置 &lt;a href="#%e5%b8%b8%e7%94%a8%e8%bd%af%e4%bb%b6%e9%85%8d%e7%bd%ae" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="node" class="group"&gt;Node &lt;a href="#node" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="nvm安装" class="group"&gt;nvm安装 &lt;a href="#nvm%e5%ae%89%e8%a3%85" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;nvm是一个node版本管理工具&lt;/p&gt;</description></item><item><title>树莓派</title><link>https://leiking007.github.io/posts/%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%90%E7%BB%B4/%E6%A0%91%E8%8E%93%E6%B4%BE/</link><pubDate>Mon, 01 Nov 2021 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%90%E7%BB%B4/%E6%A0%91%E8%8E%93%E6%B4%BE/</guid><description>&lt;h1 id="树莓派" class="group"&gt;树莓派 &lt;a href="#%e6%a0%91%e8%8e%93%e6%b4%be" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="安装archlinuxarm" class="group"&gt;安装archlinuxarm &lt;a href="#%e5%ae%89%e8%a3%85archlinuxarm" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;镜像站下载&lt;code&gt;ArchLinuxARM-rpi-aarch64-latest.tar.gz&lt;/code&gt;&lt;/p&gt;</description></item><item><title>RabbitMQ</title><link>https://leiking007.github.io/posts/%E4%B8%AD%E9%97%B4%E4%BB%B6/rabbitmq/</link><pubDate>Thu, 14 Oct 2021 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/%E4%B8%AD%E9%97%B4%E4%BB%B6/rabbitmq/</guid><description>&lt;h1 id="rabbitmq" class="group"&gt;RabbitMQ &lt;a href="#rabbitmq" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="简介" class="group"&gt;简介 &lt;a href="#%e7%ae%80%e4%bb%8b" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;介绍&lt;/strong&gt;：rabbitMMQ是一个由Erlang语言开发的&lt;code&gt;AMQP&lt;/code&gt;的开源实现&lt;/p&gt;</description></item><item><title>JVM</title><link>https://leiking007.github.io/posts/%EF%B8%8Fjava%E7%BC%96%E7%A8%8B/jvm/</link><pubDate>Wed, 09 Jun 2021 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/%EF%B8%8Fjava%E7%BC%96%E7%A8%8B/jvm/</guid><description>&lt;h1 id="jvm" class="group"&gt;JVM &lt;a href="#jvm" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="引言" class="group"&gt;引言 &lt;a href="#%e5%bc%95%e8%a8%80" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;基于JDK1.8&lt;/p&gt;&lt;/blockquote&gt;
&lt;h3 id="jvm是什么" class="group"&gt;jvm是什么 &lt;a href="#jvm%e6%98%af%e4%bb%80%e4%b9%88" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;定义&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>FastDFS</title><link>https://leiking007.github.io/posts/%E4%B8%AD%E9%97%B4%E4%BB%B6/fastdfs/</link><pubDate>Fri, 14 May 2021 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/%E4%B8%AD%E9%97%B4%E4%BB%B6/fastdfs/</guid><description>&lt;h1 id="fastdfs" class="group"&gt;FastDFS &lt;a href="#fastdfs" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="fastdfs入门" class="group"&gt;FastDFS入门 &lt;a href="#fastdfs%e5%85%a5%e9%97%a8" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;FastDFS 是一个&lt;code&gt;开源的轻量级分布式文件系统&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;FastDFS服务端由两个部分组成：跟踪器（tracker）、存储节点（storage）&lt;/p&gt;</description></item><item><title>Java常用类</title><link>https://leiking007.github.io/posts/%EF%B8%8Fjava%E7%BC%96%E7%A8%8B/java%E5%B8%B8%E7%94%A8%E7%B1%BB/</link><pubDate>Fri, 14 May 2021 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/%EF%B8%8Fjava%E7%BC%96%E7%A8%8B/java%E5%B8%B8%E7%94%A8%E7%B1%BB/</guid><description>&lt;h1 id="java常用类" class="group"&gt;Java常用类 &lt;a href="#java%e5%b8%b8%e7%94%a8%e7%b1%bb" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="bigdecimal" class="group"&gt;BigDecimal &lt;a href="#bigdecimal" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="常用构造函数" class="group"&gt;常用构造函数 &lt;a href="#%e5%b8%b8%e7%94%a8%e6%9e%84%e9%80%a0%e5%87%bd%e6%95%b0" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;BigDecimal(int)&lt;/p&gt;
&lt;p&gt;创建一个具有参数所指定整数值的对象&lt;/p&gt;</description></item><item><title>Java函数式编程</title><link>https://leiking007.github.io/posts/%EF%B8%8Fjava%E7%BC%96%E7%A8%8B/java%E5%87%BD%E6%95%B0%E5%BC%8F%E7%BC%96%E7%A8%8B/</link><pubDate>Fri, 14 May 2021 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/%EF%B8%8Fjava%E7%BC%96%E7%A8%8B/java%E5%87%BD%E6%95%B0%E5%BC%8F%E7%BC%96%E7%A8%8B/</guid><description>&lt;h1 id="java函数式编程" class="group"&gt;Java函数式编程 &lt;a href="#java%e5%87%bd%e6%95%b0%e5%bc%8f%e7%bc%96%e7%a8%8b" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="基础使用" class="group"&gt;基础使用 &lt;a href="#%e5%9f%ba%e7%a1%80%e4%bd%bf%e7%94%a8" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;

&lt;div x-data="postCodeBlock('已复制')" class="font-mono text-base not-prose my-4 rounded-lg border border-tl-base-300/50 overflow-hidden shadow-sm"&gt;
 &lt;div class="px-3 py-2 flex justify-between items-center bg-tl-base-300/60"&gt;
 &lt;span class="cursor-default text-xs text-tl-base-content/70"&gt;java&lt;/span&gt;
 &lt;span class="flex"&gt;
 &lt;span x-on:click="copyCode" x-ref="copyBtn" class="cursor-copy mr-2 inline-block"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="1545" t="1755222167498" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M720 192h-544A80.096 80.096 0 0 0 96 272v608C96 924.128 131.904 960 176 960h544c44.128 0 80-35.872 80-80v-608C800 227.904 764.128 192 720 192z m16 688c0 8.8-7.2 16-16 16h-544a16 16 0 0 1-16-16v-608a16 16 0 0 1 16-16h544a16 16 0 0 1 16 16v608z" p-id="1546"&gt;&lt;/path&gt;&lt;path d="M848 64h-544a32 32 0 0 0 0 64h544a16 16 0 0 1 16 16v608a32 32 0 1 0 64 0v-608C928 99.904 892.128 64 848 64z" p-id="1547"&gt;&lt;/path&gt;&lt;path d="M608 360H288a32 32 0 0 0 0 64h320a32 32 0 1 0 0-64zM608 520H288a32 32 0 1 0 0 64h320a32 32 0 1 0 0-64zM480 678.656H288a32 32 0 1 0 0 64h192a32 32 0 1 0 0-64z" p-id="1548"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-on:click="showCode = !showCode" class="cursor-pointer mr-2 inline-block"&gt;
 &lt;span x-show="showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8488" t="1755227897558" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M490.666667 601.6L797.866667 298.666667l59.733333 59.733333-302.933333 302.933333-59.733334 64-59.733333-59.733333L128 358.4 187.733333 298.666667l302.933334 302.933333z" p-id="8489"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-show="!showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8047" t="1755227871587" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M401.066667 512l302.933333 302.933333-59.733333 59.733334L341.333333 571.733333 281.6 512 341.333333 452.266667l302.933334-302.933334 59.733333 59.733334L401.066667 512z" p-id="8048"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/div&gt;
 &lt;div x-show="showCode"
 x-cloak
 x-collapse
 x-collapse.duration.500ms
 x-ref="codeBlock"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-java" data-lang="java"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="o"&gt;[]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;array&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="o"&gt;[]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;Apple&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;Orange&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;Banana&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;Lemon&amp;#34;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;};&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="n"&gt;Arrays&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;sort&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;array&lt;/span&gt;&lt;span class="p"&gt;,(&lt;/span&gt;&lt;span class="n"&gt;o1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;o2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;o2&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;compareTo&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;o1&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="传入方法" class="group"&gt;传入方法 &lt;a href="#%e4%bc%a0%e5%85%a5%e6%96%b9%e6%b3%95" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;方法签名和接口一致时，在这里，方法签名只看&lt;code&gt;参数类型&lt;/code&gt;和&lt;code&gt;返回类型&lt;/code&gt;，不看方法名称，也不看类的继承关系&lt;/p&gt;</description></item><item><title>nginx</title><link>https://leiking007.github.io/posts/%E5%B7%A5%E5%85%B7/nginx/</link><pubDate>Fri, 14 May 2021 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/%E5%B7%A5%E5%85%B7/nginx/</guid><description>&lt;h1 id="nginx" class="group"&gt;nginx &lt;a href="#nginx" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="简介" class="group"&gt;简介 &lt;a href="#%e7%ae%80%e4%bb%8b" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;基于&lt;code&gt;C语言&lt;/code&gt;开发&lt;code&gt;开源&lt;/code&gt;、&lt;code&gt;高性能&lt;/code&gt;web服务器和反向代理服务器&lt;/p&gt;
&lt;p&gt;反向代理：接受客户端请求，转发请求到真实服务器处理，将处理结果返回客户端&lt;/p&gt;</description></item><item><title>paxos算法</title><link>https://leiking007.github.io/posts/%E9%9A%8F%E7%AC%94%E4%B8%8E%E6%80%9D%E8%80%83/paxos%E7%AE%97%E6%B3%95/</link><pubDate>Fri, 14 May 2021 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/%E9%9A%8F%E7%AC%94%E4%B8%8E%E6%80%9D%E8%80%83/paxos%E7%AE%97%E6%B3%95/</guid><description>&lt;h1 id="paxos算法" class="group"&gt;paxos算法 &lt;a href="#paxos%e7%ae%97%e6%b3%95" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="分布式系要解决的问题" class="group"&gt;分布式系要解决的问题 &lt;a href="#%e5%88%86%e5%b8%83%e5%bc%8f%e7%b3%bb%e8%a6%81%e8%a7%a3%e5%86%b3%e7%9a%84%e9%97%ae%e9%a2%98" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Paxos的工作，就是把一堆机器协同起来，使多个机器成为一个整体的系统。在这个系统中，必须让其中每台机器的状态达成一致，例如：三台机器的集群，其中一台机器上传了图片，那么另外两台也必须复制这张图，这样系统才达到&lt;code&gt;一致&lt;/code&gt;的状态&lt;/p&gt;</description></item><item><title>SpringSession</title><link>https://leiking007.github.io/posts/%EF%B8%8Fjava%E7%BC%96%E7%A8%8B/springsession/</link><pubDate>Fri, 14 May 2021 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/%EF%B8%8Fjava%E7%BC%96%E7%A8%8B/springsession/</guid><description>&lt;h1 id="springsession" class="group"&gt;SpringSession &lt;a href="#springsession" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="session丢失理解" class="group"&gt;session丢失理解 &lt;a href="#session%e4%b8%a2%e5%a4%b1%e7%90%86%e8%a7%a3" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;




&lt;img class="my-0 mx-auto max-h-72 max-w-[calc(100%-20px)] cursor-zoom-in rounded-lg border border-tl-base-300/50 shadow-sm"
 loading="lazy"
 decoding="async"
 data-lightbox width="1540" height="754"
 src="https://leiking007.github.io/posts/%EF%B8%8Fjava%E7%BC%96%E7%A8%8B/springsession/images.assets/image-20210809092106886.png" alt="image-20210809092106886" title=":size=600*300" /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;code&gt;nginx每次将请求转发到不同的tomcat，对于当前tomcat来说，该次会话无疑是一次新的对话，则会创建一个session，并返回&lt;/code&gt;&lt;/p&gt;</description></item><item><title>一致性理论</title><link>https://leiking007.github.io/posts/%E9%9A%8F%E7%AC%94%E4%B8%8E%E6%80%9D%E8%80%83/%E4%B8%80%E8%87%B4%E6%80%A7%E7%90%86%E8%AE%BA/</link><pubDate>Fri, 14 May 2021 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/%E9%9A%8F%E7%AC%94%E4%B8%8E%E6%80%9D%E8%80%83/%E4%B8%80%E8%87%B4%E6%80%A7%E7%90%86%E8%AE%BA/</guid><description>&lt;h1 id="一致性理论" class="group"&gt;一致性理论 &lt;a href="#%e4%b8%80%e8%87%b4%e6%80%a7%e7%90%86%e8%ae%ba" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="cap理论" class="group"&gt;CAP理论 &lt;a href="#cap%e7%90%86%e8%ae%ba" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://zh.wikipedia.org/wiki/CAP%e5%ae%9a%e7%90%86" target="_blank" rel="noopener noreferrer"&gt;CAP 理论/定理&lt;/a&gt;
起源于 2000年，由加州大学伯克利分校的Eric Brewer教授在分布式计算原理研讨会（PODC）上提出，因此 CAP定理又被称作 &lt;strong&gt;布鲁尔定理（Brewer’s theorem）&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>javaEE</title><link>https://leiking007.github.io/posts/%EF%B8%8Fjava%E7%BC%96%E7%A8%8B/javaee/</link><pubDate>Sat, 12 Dec 2020 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/%EF%B8%8Fjava%E7%BC%96%E7%A8%8B/javaee/</guid><description>&lt;h1 id="javaee" class="group"&gt;JavaEE &lt;a href="#javaee" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="简介" class="group"&gt;简介 &lt;a href="#%e7%ae%80%e4%bb%8b" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="互联网通信流程" class="group"&gt;互联网通信流程 &lt;a href="#%e4%ba%92%e8%81%94%e7%bd%91%e9%80%9a%e4%bf%a1%e6%b5%81%e7%a8%8b" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;设计技术：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;控制浏览器行为技术：HTML,CSS,JavaScript&lt;/li&gt;
&lt;li&gt;控制硬盘上数据库行为技术：Mysql，JDBC规范&lt;/li&gt;
&lt;li&gt;控制服务端java行为技术：http服务器，servlet，JSP&lt;/li&gt;
&lt;li&gt;互联网通信流程开发规则：MVC&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;什么是互联网通信：两台计算机通过网络实现文件共享的行为&lt;/p&gt;</description></item><item><title>Redis</title><link>https://leiking007.github.io/posts/%E4%B8%AD%E9%97%B4%E4%BB%B6/redis/</link><pubDate>Thu, 12 Nov 2020 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/%E4%B8%AD%E9%97%B4%E4%BB%B6/redis/</guid><description>&lt;h1 id="redis" class="group"&gt;Redis &lt;a href="#redis" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="起步" class="group"&gt;起步 &lt;a href="#%e8%b5%b7%e6%ad%a5" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="简介" class="group"&gt;简介 &lt;a href="#%e7%ae%80%e4%bb%8b" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;redis是一种数据库。能够存储数据，管理数据的一种软件&lt;/li&gt;
&lt;li&gt;redis基于C开发，开源；基于内存运行，效率高，可支持持久化&lt;/li&gt;
&lt;li&gt;redis数据大部分时间存储在内存中，适合存储频繁访问，数据量较少的数据，缓存数据库&lt;/li&gt;
&lt;li&gt;NoSQL （not only sql）泛指非关系型数据库&lt;/li&gt;
&lt;li&gt;NoSql
&lt;ul&gt;
&lt;li&gt;数据间没有关系，可以很方便实现水平分割&lt;/li&gt;
&lt;li&gt;性能好，写8w/s、读11w/s&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;数据库应用发展历程
&lt;ul&gt;
&lt;li&gt;单机数据库时代：一台电脑安装一个数据库对应一个应用，一对一&lt;/li&gt;
&lt;li&gt;缓存、水平切分时代：根据业务的不同，将表放到不同的数据库&lt;/li&gt;
&lt;li&gt;读写分离时代：同步机制、多个数据库实例&lt;/li&gt;
&lt;li&gt;垂直拆分（分库分表）时代：集群&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;数据库分类
&lt;ul&gt;
&lt;li&gt;关系型数据库：mysql、oracle、DB2、sqlserver&lt;/li&gt;
&lt;li&gt;非关系型数据库：彻底改变底层存储机制。聚合数据结构存储数据，不再使用表进行存储；redies、mongoDB、HBase&amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="redis特点" class="group"&gt;redis特点 &lt;a href="#redis%e7%89%b9%e7%82%b9" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;支持数据持久化&lt;/li&gt;
&lt;li&gt;支持多种数据结构&lt;/li&gt;
&lt;li&gt;支持数据备份&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="redis安装" class="group"&gt;redis安装 &lt;a href="#redis%e5%ae%89%e8%a3%85" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;官网下载redis的tar压缩包，并解压&lt;/li&gt;
&lt;li&gt;进入redis目录进行编译
&lt;ul&gt;
&lt;li&gt;需要先安装gcc，&lt;code&gt;make disclean&lt;/code&gt; 命令可以清空编译失败文件&lt;/li&gt;
&lt;li&gt;然后在redis目录下执行 &lt;code&gt;make&lt;/code&gt; 命令进行编译，然后已经可以使用了(当前目录的src目录下)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;make install&lt;/code&gt;命令，安装，类似创建快捷方式（相关命令安装到bin目录下）&lt;/li&gt;
&lt;li&gt;启动redis
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;redis-server &amp;amp;&lt;/code&gt;，默认端口6379，使用的是默认配置&lt;/li&gt;
&lt;li&gt;&lt;code&gt;redis-server ../redis.conf &amp;amp;&lt;/code&gt; ，自定义配置启动&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;关闭redis
&lt;ul&gt;
&lt;li&gt;通过kill命令，强制杀死，ps -ed|grep redis、kill -9 pid&lt;/li&gt;
&lt;li&gt;&lt;code&gt;redis-cli shutdown&lt;/code&gt;，通过redis命令进行关闭&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="3种常用的缓存读写策略" class="group"&gt;3种常用的缓存读写策略 &lt;a href="#3%e7%a7%8d%e5%b8%b8%e7%94%a8%e7%9a%84%e7%bc%93%e5%ad%98%e8%af%bb%e5%86%99%e7%ad%96%e7%95%a5" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;这3 种缓存读写策略各有优劣，不存在最佳，需要根据具体的业务场景选择更适合的。&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Docker</title><link>https://leiking007.github.io/posts/%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%90%E7%BB%B4/docker/</link><pubDate>Sat, 07 Nov 2020 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%90%E7%BB%B4/docker/</guid><description>&lt;h1 id="docker" class="group"&gt;Docker &lt;a href="#docker" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="docker概述" class="group"&gt;Docker概述 &lt;a href="#docker%e6%a6%82%e8%bf%b0" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="容器与虚拟机" class="group"&gt;容器与虚拟机 &lt;a href="#%e5%ae%b9%e5%99%a8%e4%b8%8e%e8%99%9a%e6%8b%9f%e6%9c%ba" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;传统虚拟机，虚拟化出一套硬件，运行一个完整的操作系统，然后在这个系统上运行软件&lt;/li&gt;
&lt;li&gt;容器内的应用直接运行在宿主机上，容器没有内核，也没有虚拟化硬件，所以轻便了&lt;/li&gt;
&lt;li&gt;每个容器相互隔离，有属于自己的文件系统，互不影响&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="devops开发运维" class="group"&gt;DevOps（开发、运维） &lt;a href="#devops%e5%bc%80%e5%8f%91%e8%bf%90%e7%bb%b4" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;应用更快的交付和部署&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Git</title><link>https://leiking007.github.io/posts/%E5%B7%A5%E5%85%B7/git/</link><pubDate>Sat, 07 Nov 2020 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/%E5%B7%A5%E5%85%B7/git/</guid><description>&lt;h1 id="git" class="group"&gt;Git &lt;a href="#git" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Git是一个&lt;code&gt;分布式&lt;/code&gt;版本控制系统&lt;/p&gt;
&lt;p&gt;&lt;code&gt;中央服务器&lt;/code&gt;存在，仅仅是为了方便交换修改&lt;/p&gt;
&lt;h2 id="基本使用" class="group"&gt;基本使用 &lt;a href="#%e5%9f%ba%e6%9c%ac%e4%bd%bf%e7%94%a8" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;版本库：是一个目录，目录中所有文件都被Git管理起来，每个文件的删除、修改 Git都能跟踪&lt;/p&gt;</description></item><item><title>Maven</title><link>https://leiking007.github.io/posts/%E5%B7%A5%E5%85%B7/maven/</link><pubDate>Sat, 07 Nov 2020 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/%E5%B7%A5%E5%85%B7/maven/</guid><description>&lt;h1 id="maven" class="group"&gt;Maven &lt;a href="#maven" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="maven基础" class="group"&gt;Maven基础 &lt;a href="#maven%e5%9f%ba%e7%a1%80" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Maven可以管理jar文件&lt;/li&gt;
&lt;li&gt;自动下载jar和他的文档，源代码&lt;/li&gt;
&lt;li&gt;管理jar的直接依赖&lt;/li&gt;
&lt;li&gt;管理所需要的jar文件版本&lt;/li&gt;
&lt;li&gt;测试代码是否正确&lt;/li&gt;
&lt;li&gt;打包文件，形成jar文件，或war文件&lt;/li&gt;
&lt;li&gt;部署项目&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;构建：项目的构建&lt;/p&gt;</description></item><item><title>SVN</title><link>https://leiking007.github.io/posts/%E5%B7%A5%E5%85%B7/svn/</link><pubDate>Sat, 07 Nov 2020 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/%E5%B7%A5%E5%85%B7/svn/</guid><description>&lt;h1 id="svn" class="group"&gt;SVN &lt;a href="#svn" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="简介" class="group"&gt;简介 &lt;a href="#%e7%ae%80%e4%bb%8b" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;SVN是Apache下的版本控制系统，可以回滚之前记录，共享文件等&lt;/li&gt;
&lt;li&gt;SVN系统有一个SVN服务器，里面有SVN仓库&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;体系结构&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>VBA</title><link>https://leiking007.github.io/posts/%E5%B7%A5%E5%85%B7/vba/</link><pubDate>Sat, 07 Nov 2020 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/%E5%B7%A5%E5%85%B7/vba/</guid><description>&lt;h1 id="vba" class="group"&gt;VBA &lt;a href="#vba" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="操作工作表" class="group"&gt;操作工作表 &lt;a href="#%e6%93%8d%e4%bd%9c%e5%b7%a5%e4%bd%9c%e8%a1%a8" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="新建表" class="group"&gt;新建表 &lt;a href="#%e6%96%b0%e5%bb%ba%e8%a1%a8" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;

&lt;div x-data="postCodeBlock('已复制')" class="font-mono text-base not-prose my-4 rounded-lg border border-tl-base-300/50 overflow-hidden shadow-sm"&gt;
 &lt;div class="px-3 py-2 flex justify-between items-center bg-tl-base-300/60"&gt;
 &lt;span class="cursor-default text-xs text-tl-base-content/70"&gt;vb&lt;/span&gt;
 &lt;span class="flex"&gt;
 &lt;span x-on:click="copyCode" x-ref="copyBtn" class="cursor-copy mr-2 inline-block"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="1545" t="1755222167498" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M720 192h-544A80.096 80.096 0 0 0 96 272v608C96 924.128 131.904 960 176 960h544c44.128 0 80-35.872 80-80v-608C800 227.904 764.128 192 720 192z m16 688c0 8.8-7.2 16-16 16h-544a16 16 0 0 1-16-16v-608a16 16 0 0 1 16-16h544a16 16 0 0 1 16 16v608z" p-id="1546"&gt;&lt;/path&gt;&lt;path d="M848 64h-544a32 32 0 0 0 0 64h544a16 16 0 0 1 16 16v608a32 32 0 1 0 64 0v-608C928 99.904 892.128 64 848 64z" p-id="1547"&gt;&lt;/path&gt;&lt;path d="M608 360H288a32 32 0 0 0 0 64h320a32 32 0 1 0 0-64zM608 520H288a32 32 0 1 0 0 64h320a32 32 0 1 0 0-64zM480 678.656H288a32 32 0 1 0 0 64h192a32 32 0 1 0 0-64z" p-id="1548"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-on:click="showCode = !showCode" class="cursor-pointer mr-2 inline-block"&gt;
 &lt;span x-show="showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8488" t="1755227897558" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M490.666667 601.6L797.866667 298.666667l59.733333 59.733333-302.933333 302.933333-59.733334 64-59.733333-59.733333L128 358.4 187.733333 298.666667l302.933334 302.933333z" p-id="8489"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-show="!showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8047" t="1755227871587" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M401.066667 512l302.933333 302.933333-59.733333 59.733334L341.333333 571.733333 281.6 512 341.333333 452.266667l302.933334-302.933334 59.733333 59.733334L401.066667 512z" p-id="8048"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/div&gt;
 &lt;div x-show="showCode"
 x-cloak
 x-collapse
 x-collapse.duration.500ms
 x-ref="codeBlock"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-vb" data-lang="vb"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;sub&lt;/span&gt; &lt;span class="nf"&gt;新建&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;add&lt;/span&gt; &lt;span class="n"&gt;after&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;sheets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sheets&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;count&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;sheets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sheets&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;count&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;工作表&amp;#34;&lt;/span&gt; &lt;span class="c"&gt;&amp;#39;工作表命名&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt;&lt;span class="k"&gt;end&lt;/span&gt; &lt;span class="k"&gt;sub&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id="根据模板生成" class="group"&gt;根据模板生成 &lt;a href="#%e6%a0%b9%e6%8d%ae%e6%a8%a1%e6%9d%bf%e7%94%9f%e6%88%90" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;

&lt;div x-data="postCodeBlock('已复制')" class="font-mono text-base not-prose my-4 rounded-lg border border-tl-base-300/50 overflow-hidden shadow-sm"&gt;
 &lt;div class="px-3 py-2 flex justify-between items-center bg-tl-base-300/60"&gt;
 &lt;span class="cursor-default text-xs text-tl-base-content/70"&gt;vb&lt;/span&gt;
 &lt;span class="flex"&gt;
 &lt;span x-on:click="copyCode" x-ref="copyBtn" class="cursor-copy mr-2 inline-block"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="1545" t="1755222167498" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M720 192h-544A80.096 80.096 0 0 0 96 272v608C96 924.128 131.904 960 176 960h544c44.128 0 80-35.872 80-80v-608C800 227.904 764.128 192 720 192z m16 688c0 8.8-7.2 16-16 16h-544a16 16 0 0 1-16-16v-608a16 16 0 0 1 16-16h544a16 16 0 0 1 16 16v608z" p-id="1546"&gt;&lt;/path&gt;&lt;path d="M848 64h-544a32 32 0 0 0 0 64h544a16 16 0 0 1 16 16v608a32 32 0 1 0 64 0v-608C928 99.904 892.128 64 848 64z" p-id="1547"&gt;&lt;/path&gt;&lt;path d="M608 360H288a32 32 0 0 0 0 64h320a32 32 0 1 0 0-64zM608 520H288a32 32 0 1 0 0 64h320a32 32 0 1 0 0-64zM480 678.656H288a32 32 0 1 0 0 64h192a32 32 0 1 0 0-64z" p-id="1548"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-on:click="showCode = !showCode" class="cursor-pointer mr-2 inline-block"&gt;
 &lt;span x-show="showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8488" t="1755227897558" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M490.666667 601.6L797.866667 298.666667l59.733333 59.733333-302.933333 302.933333-59.733334 64-59.733333-59.733333L128 358.4 187.733333 298.666667l302.933334 302.933333z" p-id="8489"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-show="!showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8047" t="1755227871587" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M401.066667 512l302.933333 302.933333-59.733333 59.733334L341.333333 571.733333 281.6 512 341.333333 452.266667l302.933334-302.933334 59.733333 59.733334L401.066667 512z" p-id="8048"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/div&gt;
 &lt;div x-show="showCode"
 x-cloak
 x-collapse
 x-collapse.duration.500ms
 x-ref="codeBlock"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-vb" data-lang="vb"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;Sub&lt;/span&gt; &lt;span class="nf"&gt;生成&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Application&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;DisplayAlerts&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;False&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;Dim&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="ow"&gt;As&lt;/span&gt; &lt;span class="kt"&gt;Integer&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;For&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;1&lt;/span&gt; &lt;span class="k"&gt;To&lt;/span&gt; &lt;span class="n"&gt;InputBox&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;生成工作表个数&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Worksheets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;1&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Copy&lt;/span&gt; &lt;span class="n"&gt;after&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;Worksheets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Worksheets&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Count&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Worksheets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Worksheets&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Count&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;12月&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;日&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Worksheets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Worksheets&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Count&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;A1&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;12月&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;日&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;Next&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Worksheets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;1&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Select&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Application&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;DisplayAlerts&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;True&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;End&lt;/span&gt; &lt;span class="k"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id="删除所有工作表" class="group"&gt;删除所有工作表 &lt;a href="#%e5%88%a0%e9%99%a4%e6%89%80%e6%9c%89%e5%b7%a5%e4%bd%9c%e8%a1%a8" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;

&lt;div x-data="postCodeBlock('已复制')" class="font-mono text-base not-prose my-4 rounded-lg border border-tl-base-300/50 overflow-hidden shadow-sm"&gt;
 &lt;div class="px-3 py-2 flex justify-between items-center bg-tl-base-300/60"&gt;
 &lt;span class="cursor-default text-xs text-tl-base-content/70"&gt;vb&lt;/span&gt;
 &lt;span class="flex"&gt;
 &lt;span x-on:click="copyCode" x-ref="copyBtn" class="cursor-copy mr-2 inline-block"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="1545" t="1755222167498" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M720 192h-544A80.096 80.096 0 0 0 96 272v608C96 924.128 131.904 960 176 960h544c44.128 0 80-35.872 80-80v-608C800 227.904 764.128 192 720 192z m16 688c0 8.8-7.2 16-16 16h-544a16 16 0 0 1-16-16v-608a16 16 0 0 1 16-16h544a16 16 0 0 1 16 16v608z" p-id="1546"&gt;&lt;/path&gt;&lt;path d="M848 64h-544a32 32 0 0 0 0 64h544a16 16 0 0 1 16 16v608a32 32 0 1 0 64 0v-608C928 99.904 892.128 64 848 64z" p-id="1547"&gt;&lt;/path&gt;&lt;path d="M608 360H288a32 32 0 0 0 0 64h320a32 32 0 1 0 0-64zM608 520H288a32 32 0 1 0 0 64h320a32 32 0 1 0 0-64zM480 678.656H288a32 32 0 1 0 0 64h192a32 32 0 1 0 0-64z" p-id="1548"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-on:click="showCode = !showCode" class="cursor-pointer mr-2 inline-block"&gt;
 &lt;span x-show="showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8488" t="1755227897558" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M490.666667 601.6L797.866667 298.666667l59.733333 59.733333-302.933333 302.933333-59.733334 64-59.733333-59.733333L128 358.4 187.733333 298.666667l302.933334 302.933333z" p-id="8489"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-show="!showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8047" t="1755227871587" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M401.066667 512l302.933333 302.933333-59.733333 59.733334L341.333333 571.733333 281.6 512 341.333333 452.266667l302.933334-302.933334 59.733333 59.733334L401.066667 512z" p-id="8048"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/div&gt;
 &lt;div x-show="showCode"
 x-cloak
 x-collapse
 x-collapse.duration.500ms
 x-ref="codeBlock"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-vb" data-lang="vb"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;Sub&lt;/span&gt; &lt;span class="nf"&gt;清除&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Application&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;DisplayAlerts&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;False&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;Do&lt;/span&gt; &lt;span class="k"&gt;While&lt;/span&gt; &lt;span class="n"&gt;Worksheets&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Count&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Worksheets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Worksheets&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Count&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Delete&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;Loop&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Application&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;DisplayAlerts&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;True&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;End&lt;/span&gt; &lt;span class="k"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id="根据工作表生成目录" class="group"&gt;根据工作表生成目录 &lt;a href="#%e6%a0%b9%e6%8d%ae%e5%b7%a5%e4%bd%9c%e8%a1%a8%e7%94%9f%e6%88%90%e7%9b%ae%e5%bd%95" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;

&lt;div x-data="postCodeBlock('已复制')" class="font-mono text-base not-prose my-4 rounded-lg border border-tl-base-300/50 overflow-hidden shadow-sm"&gt;
 &lt;div class="px-3 py-2 flex justify-between items-center bg-tl-base-300/60"&gt;
 &lt;span class="cursor-default text-xs text-tl-base-content/70"&gt;vb&lt;/span&gt;
 &lt;span class="flex"&gt;
 &lt;span x-on:click="copyCode" x-ref="copyBtn" class="cursor-copy mr-2 inline-block"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="1545" t="1755222167498" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M720 192h-544A80.096 80.096 0 0 0 96 272v608C96 924.128 131.904 960 176 960h544c44.128 0 80-35.872 80-80v-608C800 227.904 764.128 192 720 192z m16 688c0 8.8-7.2 16-16 16h-544a16 16 0 0 1-16-16v-608a16 16 0 0 1 16-16h544a16 16 0 0 1 16 16v608z" p-id="1546"&gt;&lt;/path&gt;&lt;path d="M848 64h-544a32 32 0 0 0 0 64h544a16 16 0 0 1 16 16v608a32 32 0 1 0 64 0v-608C928 99.904 892.128 64 848 64z" p-id="1547"&gt;&lt;/path&gt;&lt;path d="M608 360H288a32 32 0 0 0 0 64h320a32 32 0 1 0 0-64zM608 520H288a32 32 0 1 0 0 64h320a32 32 0 1 0 0-64zM480 678.656H288a32 32 0 1 0 0 64h192a32 32 0 1 0 0-64z" p-id="1548"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-on:click="showCode = !showCode" class="cursor-pointer mr-2 inline-block"&gt;
 &lt;span x-show="showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8488" t="1755227897558" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M490.666667 601.6L797.866667 298.666667l59.733333 59.733333-302.933333 302.933333-59.733334 64-59.733333-59.733333L128 358.4 187.733333 298.666667l302.933334 302.933333z" p-id="8489"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-show="!showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8047" t="1755227871587" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M401.066667 512l302.933333 302.933333-59.733333 59.733334L341.333333 571.733333 281.6 512 341.333333 452.266667l302.933334-302.933334 59.733333 59.733334L401.066667 512z" p-id="8048"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/div&gt;
 &lt;div x-show="showCode"
 x-cloak
 x-collapse
 x-collapse.duration.500ms
 x-ref="codeBlock"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-vb" data-lang="vb"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;Sub&lt;/span&gt; &lt;span class="nf"&gt;CreateMenu&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Add&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Before&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)).&lt;/span&gt;&lt;span class="n"&gt;Name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;目录&amp;#34;&lt;/span&gt; &lt;span class="c"&gt;&amp;#39;新建一个目录工作表
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt;&lt;span class="n"&gt;Worksheets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;目录&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Activate&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;For&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;2&lt;/span&gt; &lt;span class="k"&gt;To&lt;/span&gt; &lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Count&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;If&lt;/span&gt; &lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Visible&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;True&lt;/span&gt; &lt;span class="k"&gt;Then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Cells&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Name&lt;/span&gt; &lt;span class="c"&gt;&amp;#39;将其他工作表名称分别填入单元格中
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt; &lt;span class="n"&gt;Cells&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;1&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Select&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;ActiveSheet&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Hyperlinks&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Add&lt;/span&gt; &lt;span class="n"&gt;Anchor&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;Selection&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;Address&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;SubAddress&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;&amp;#39;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&lt;/span&gt; &lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Name&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;&amp;#39;!A1&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;TextToDisplay&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;Cells&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;1&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Value&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c"&gt;&amp;#39;创建超链接
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt; &lt;span class="k"&gt;End&lt;/span&gt; &lt;span class="k"&gt;If&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;Next&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;End&lt;/span&gt; &lt;span class="k"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="操作工作簿" class="group"&gt;操作工作簿 &lt;a href="#%e6%93%8d%e4%bd%9c%e5%b7%a5%e4%bd%9c%e7%b0%bf" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="所有工作表另存工作簿" class="group"&gt;所有工作表另存工作簿 &lt;a href="#%e6%89%80%e6%9c%89%e5%b7%a5%e4%bd%9c%e8%a1%a8%e5%8f%a6%e5%ad%98%e5%b7%a5%e4%bd%9c%e7%b0%bf" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;

&lt;div x-data="postCodeBlock('已复制')" class="font-mono text-base not-prose my-4 rounded-lg border border-tl-base-300/50 overflow-hidden shadow-sm"&gt;
 &lt;div class="px-3 py-2 flex justify-between items-center bg-tl-base-300/60"&gt;
 &lt;span class="cursor-default text-xs text-tl-base-content/70"&gt;vb&lt;/span&gt;
 &lt;span class="flex"&gt;
 &lt;span x-on:click="copyCode" x-ref="copyBtn" class="cursor-copy mr-2 inline-block"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="1545" t="1755222167498" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M720 192h-544A80.096 80.096 0 0 0 96 272v608C96 924.128 131.904 960 176 960h544c44.128 0 80-35.872 80-80v-608C800 227.904 764.128 192 720 192z m16 688c0 8.8-7.2 16-16 16h-544a16 16 0 0 1-16-16v-608a16 16 0 0 1 16-16h544a16 16 0 0 1 16 16v608z" p-id="1546"&gt;&lt;/path&gt;&lt;path d="M848 64h-544a32 32 0 0 0 0 64h544a16 16 0 0 1 16 16v608a32 32 0 1 0 64 0v-608C928 99.904 892.128 64 848 64z" p-id="1547"&gt;&lt;/path&gt;&lt;path d="M608 360H288a32 32 0 0 0 0 64h320a32 32 0 1 0 0-64zM608 520H288a32 32 0 1 0 0 64h320a32 32 0 1 0 0-64zM480 678.656H288a32 32 0 1 0 0 64h192a32 32 0 1 0 0-64z" p-id="1548"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-on:click="showCode = !showCode" class="cursor-pointer mr-2 inline-block"&gt;
 &lt;span x-show="showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8488" t="1755227897558" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M490.666667 601.6L797.866667 298.666667l59.733333 59.733333-302.933333 302.933333-59.733334 64-59.733333-59.733333L128 358.4 187.733333 298.666667l302.933334 302.933333z" p-id="8489"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-show="!showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8047" t="1755227871587" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M401.066667 512l302.933333 302.933333-59.733333 59.733334L341.333333 571.733333 281.6 512 341.333333 452.266667l302.933334-302.933334 59.733333 59.733334L401.066667 512z" p-id="8048"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/div&gt;
 &lt;div x-show="showCode"
 x-cloak
 x-collapse
 x-collapse.duration.500ms
 x-ref="codeBlock"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-vb" data-lang="vb"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;Sub&lt;/span&gt; &lt;span class="nf"&gt;拆分&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Application&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ScreenUpdating&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;False&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;Dim&lt;/span&gt; &lt;span class="n"&gt;sht&lt;/span&gt; &lt;span class="ow"&gt;As&lt;/span&gt; &lt;span class="n"&gt;Worksheet&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;For&lt;/span&gt; &lt;span class="k"&gt;Each&lt;/span&gt; &lt;span class="n"&gt;sht&lt;/span&gt; &lt;span class="ow"&gt;In&lt;/span&gt; &lt;span class="n"&gt;Worksheets&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;sht&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Copy&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;ActiveWorkbook&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;SaveAs&lt;/span&gt; &lt;span class="n"&gt;Filename&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;C:\Users\lei\Desktop\T\&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&lt;/span&gt; &lt;span class="n"&gt;sht&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Name&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;.xlsx&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;ActiveWorkbook&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Close&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;Next&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Application&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ScreenUpdating&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;True&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;End&lt;/span&gt; &lt;span class="k"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="操作单元格" class="group"&gt;操作单元格 &lt;a href="#%e6%93%8d%e4%bd%9c%e5%8d%95%e5%85%83%e6%a0%bc" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="常见代码" class="group"&gt;常见代码 &lt;a href="#%e5%b8%b8%e8%a7%81%e4%bb%a3%e7%a0%81" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;

&lt;div x-data="postCodeBlock('已复制')" class="font-mono text-base not-prose my-4 rounded-lg border border-tl-base-300/50 overflow-hidden shadow-sm"&gt;
 &lt;div class="px-3 py-2 flex justify-between items-center bg-tl-base-300/60"&gt;
 &lt;span class="cursor-default text-xs text-tl-base-content/70"&gt;vb&lt;/span&gt;
 &lt;span class="flex"&gt;
 &lt;span x-on:click="copyCode" x-ref="copyBtn" class="cursor-copy mr-2 inline-block"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="1545" t="1755222167498" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M720 192h-544A80.096 80.096 0 0 0 96 272v608C96 924.128 131.904 960 176 960h544c44.128 0 80-35.872 80-80v-608C800 227.904 764.128 192 720 192z m16 688c0 8.8-7.2 16-16 16h-544a16 16 0 0 1-16-16v-608a16 16 0 0 1 16-16h544a16 16 0 0 1 16 16v608z" p-id="1546"&gt;&lt;/path&gt;&lt;path d="M848 64h-544a32 32 0 0 0 0 64h544a16 16 0 0 1 16 16v608a32 32 0 1 0 64 0v-608C928 99.904 892.128 64 848 64z" p-id="1547"&gt;&lt;/path&gt;&lt;path d="M608 360H288a32 32 0 0 0 0 64h320a32 32 0 1 0 0-64zM608 520H288a32 32 0 1 0 0 64h320a32 32 0 1 0 0-64zM480 678.656H288a32 32 0 1 0 0 64h192a32 32 0 1 0 0-64z" p-id="1548"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-on:click="showCode = !showCode" class="cursor-pointer mr-2 inline-block"&gt;
 &lt;span x-show="showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8488" t="1755227897558" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M490.666667 601.6L797.866667 298.666667l59.733333 59.733333-302.933333 302.933333-59.733334 64-59.733333-59.733333L128 358.4 187.733333 298.666667l302.933334 302.933333z" p-id="8489"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-show="!showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8047" t="1755227871587" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M401.066667 512l302.933333 302.933333-59.733333 59.733334L341.333333 571.733333 281.6 512 341.333333 452.266667l302.933334-302.933334 59.733333 59.733334L401.066667 512z" p-id="8048"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/div&gt;
 &lt;div x-show="showCode"
 x-cloak
 x-collapse
 x-collapse.duration.500ms
 x-ref="codeBlock"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-vb" data-lang="vb"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="n"&gt;a10&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; 		&lt;span class="c"&gt;&amp;#39;a10单元格，不支持变量&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt;&lt;span class="n"&gt;cells&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;3&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; 	&lt;span class="c"&gt;&amp;#39;第二行第三列，只能选择一个格子，支持变量&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt;&lt;span class="n"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;a10&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;	&lt;span class="c"&gt;&amp;#39;a10单元格，应用场景广泛&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt;&lt;span class="n"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;a10&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;value&lt;/span&gt;	&lt;span class="c"&gt;&amp;#39;单元格默认属性为 .value，大多情况可以省略&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;a1&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;offset&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;10&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c"&gt;&amp;#39;下移10行，右移0列&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt;&lt;span class="n"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;a1000&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;end&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;xlUP&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Row&lt;/span&gt;	&lt;span class="c"&gt;&amp;#39;表示a1000单元格往上第一个有数据的格子的行号，.Row返回单元格行号&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;a10&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;EntireRow&lt;/span&gt;	&lt;span class="c"&gt;&amp;#39;a10 单元格所在的整行&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt;&lt;span class="n"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;a10&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;resize&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;4&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c"&gt;&amp;#39;重新选择a10单元格区域大小&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;a10:f10&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;copy&lt;/span&gt; &lt;span class="n"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;a11&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;		&lt;span class="c"&gt;&amp;#39;将a10:f10区域，复制到a11&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;a10:f10&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Merge&lt;/span&gt;	&lt;span class="err"&gt;&amp;#39;&lt;/span&gt;&lt;span class="n"&gt;将a10&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;f10区域合并&lt;/span&gt;&lt;span class="err"&gt;&amp;#39;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id="数据拆分到多表循环" class="group"&gt;数据拆分到多表（循环） &lt;a href="#%e6%95%b0%e6%8d%ae%e6%8b%86%e5%88%86%e5%88%b0%e5%a4%9a%e8%a1%a8%e5%be%aa%e7%8e%af" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;

&lt;div x-data="postCodeBlock('已复制')" class="font-mono text-base not-prose my-4 rounded-lg border border-tl-base-300/50 overflow-hidden shadow-sm"&gt;
 &lt;div class="px-3 py-2 flex justify-between items-center bg-tl-base-300/60"&gt;
 &lt;span class="cursor-default text-xs text-tl-base-content/70"&gt;vb&lt;/span&gt;
 &lt;span class="flex"&gt;
 &lt;span x-on:click="copyCode" x-ref="copyBtn" class="cursor-copy mr-2 inline-block"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="1545" t="1755222167498" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M720 192h-544A80.096 80.096 0 0 0 96 272v608C96 924.128 131.904 960 176 960h544c44.128 0 80-35.872 80-80v-608C800 227.904 764.128 192 720 192z m16 688c0 8.8-7.2 16-16 16h-544a16 16 0 0 1-16-16v-608a16 16 0 0 1 16-16h544a16 16 0 0 1 16 16v608z" p-id="1546"&gt;&lt;/path&gt;&lt;path d="M848 64h-544a32 32 0 0 0 0 64h544a16 16 0 0 1 16 16v608a32 32 0 1 0 64 0v-608C928 99.904 892.128 64 848 64z" p-id="1547"&gt;&lt;/path&gt;&lt;path d="M608 360H288a32 32 0 0 0 0 64h320a32 32 0 1 0 0-64zM608 520H288a32 32 0 1 0 0 64h320a32 32 0 1 0 0-64zM480 678.656H288a32 32 0 1 0 0 64h192a32 32 0 1 0 0-64z" p-id="1548"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-on:click="showCode = !showCode" class="cursor-pointer mr-2 inline-block"&gt;
 &lt;span x-show="showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8488" t="1755227897558" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M490.666667 601.6L797.866667 298.666667l59.733333 59.733333-302.933333 302.933333-59.733334 64-59.733333-59.733333L128 358.4 187.733333 298.666667l302.933334 302.933333z" p-id="8489"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-show="!showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8047" t="1755227871587" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M401.066667 512l302.933333 302.933333-59.733333 59.733334L341.333333 571.733333 281.6 512 341.333333 452.266667l302.933334-302.933334 59.733333 59.733334L401.066667 512z" p-id="8048"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/div&gt;
 &lt;div x-show="showCode"
 x-cloak
 x-collapse
 x-collapse.duration.500ms
 x-ref="codeBlock"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-vb" data-lang="vb"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;Sub&lt;/span&gt; &lt;span class="nf"&gt;拆分&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c"&gt;&amp;#39;工作表建好了情况下，固定列，该段代码仅供参考，通过循环&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt;&lt;span class="k"&gt;Dim&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;j&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;k&lt;/span&gt; &lt;span class="ow"&gt;As&lt;/span&gt; &lt;span class="kt"&gt;Integer&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;Call&lt;/span&gt; &lt;span class="n"&gt;清空&lt;/span&gt; &lt;span class="c"&gt;&amp;#39;调用 清空 这个过程
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt;&lt;span class="k"&gt;For&lt;/span&gt; &lt;span class="n"&gt;j&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;2&lt;/span&gt; &lt;span class="k"&gt;To&lt;/span&gt; &lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Count&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;For&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;2&lt;/span&gt; &lt;span class="k"&gt;To&lt;/span&gt; &lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;1&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;a10000&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;End&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;xlUp&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Row&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;If&lt;/span&gt; &lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;1&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;d&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;j&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Name&lt;/span&gt; &lt;span class="k"&gt;Then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;k&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;j&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;a10000&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;End&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;xlUp&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Row&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;1&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;d&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;EntireRow&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Copy&lt;/span&gt; &lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;j&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;a&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&lt;/span&gt; &lt;span class="n"&gt;k&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;End&lt;/span&gt; &lt;span class="k"&gt;If&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;Next&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;Next&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;End&lt;/span&gt; &lt;span class="k"&gt;Sub&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;Sub&lt;/span&gt; &lt;span class="nf"&gt;清空&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;For&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;2&lt;/span&gt; &lt;span class="k"&gt;To&lt;/span&gt; &lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Count&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;a2:f1000&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;ClearContents&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;Next&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;19&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;End&lt;/span&gt; &lt;span class="k"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id="数据拆分到多表筛选" class="group"&gt;数据拆分到多表（筛选） &lt;a href="#%e6%95%b0%e6%8d%ae%e6%8b%86%e5%88%86%e5%88%b0%e5%a4%9a%e8%a1%a8%e7%ad%9b%e9%80%89" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;

&lt;div x-data="postCodeBlock('已复制')" class="font-mono text-base not-prose my-4 rounded-lg border border-tl-base-300/50 overflow-hidden shadow-sm"&gt;
 &lt;div class="px-3 py-2 flex justify-between items-center bg-tl-base-300/60"&gt;
 &lt;span class="cursor-default text-xs text-tl-base-content/70"&gt;vb&lt;/span&gt;
 &lt;span class="flex"&gt;
 &lt;span x-on:click="copyCode" x-ref="copyBtn" class="cursor-copy mr-2 inline-block"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="1545" t="1755222167498" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M720 192h-544A80.096 80.096 0 0 0 96 272v608C96 924.128 131.904 960 176 960h544c44.128 0 80-35.872 80-80v-608C800 227.904 764.128 192 720 192z m16 688c0 8.8-7.2 16-16 16h-544a16 16 0 0 1-16-16v-608a16 16 0 0 1 16-16h544a16 16 0 0 1 16 16v608z" p-id="1546"&gt;&lt;/path&gt;&lt;path d="M848 64h-544a32 32 0 0 0 0 64h544a16 16 0 0 1 16 16v608a32 32 0 1 0 64 0v-608C928 99.904 892.128 64 848 64z" p-id="1547"&gt;&lt;/path&gt;&lt;path d="M608 360H288a32 32 0 0 0 0 64h320a32 32 0 1 0 0-64zM608 520H288a32 32 0 1 0 0 64h320a32 32 0 1 0 0-64zM480 678.656H288a32 32 0 1 0 0 64h192a32 32 0 1 0 0-64z" p-id="1548"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-on:click="showCode = !showCode" class="cursor-pointer mr-2 inline-block"&gt;
 &lt;span x-show="showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8488" t="1755227897558" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M490.666667 601.6L797.866667 298.666667l59.733333 59.733333-302.933333 302.933333-59.733334 64-59.733333-59.733333L128 358.4 187.733333 298.666667l302.933334 302.933333z" p-id="8489"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-show="!showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8047" t="1755227871587" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M401.066667 512l302.933333 302.933333-59.733333 59.733334L341.333333 571.733333 281.6 512 341.333333 452.266667l302.933334-302.933334 59.733333 59.733334L401.066667 512z" p-id="8048"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/div&gt;
 &lt;div x-show="showCode"
 x-cloak
 x-collapse
 x-collapse.duration.500ms
 x-ref="codeBlock"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-vb" data-lang="vb"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;Sub&lt;/span&gt; &lt;span class="nf"&gt;拆分&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c"&gt;&amp;#39;工作表建好了情况下，固定列，效率比for循环高很多
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt; &lt;span class="k"&gt;Dim&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="ow"&gt;As&lt;/span&gt; &lt;span class="kt"&gt;Integer&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;Call&lt;/span&gt; &lt;span class="n"&gt;清空&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;For&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;2&lt;/span&gt; &lt;span class="k"&gt;To&lt;/span&gt; &lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Count&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;1&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;A1:F1048&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;AutoFilter&lt;/span&gt; &lt;span class="n"&gt;Field&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;Criteria1&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Name&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;1&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;A1:F1048&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Copy&lt;/span&gt; &lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;a2&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;Next&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;1&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;A1:F1048&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;AutoFilter&lt;/span&gt; &lt;span class="c"&gt;&amp;#39;&amp;#39;&amp;#39;取消筛选
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt;&lt;span class="k"&gt;End&lt;/span&gt; &lt;span class="k"&gt;Sub&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;Sub&lt;/span&gt; &lt;span class="nf"&gt;清空&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;For&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;2&lt;/span&gt; &lt;span class="k"&gt;To&lt;/span&gt; &lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Count&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;a2:f1000&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;ClearContents&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;Next&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;End&lt;/span&gt; &lt;span class="k"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id="数据根据某列拆分建表" class="group"&gt;数据根据某列拆分建表 &lt;a href="#%e6%95%b0%e6%8d%ae%e6%a0%b9%e6%8d%ae%e6%9f%90%e5%88%97%e6%8b%86%e5%88%86%e5%bb%ba%e8%a1%a8" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;

&lt;div x-data="postCodeBlock('已复制')" class="font-mono text-base not-prose my-4 rounded-lg border border-tl-base-300/50 overflow-hidden shadow-sm"&gt;
 &lt;div class="px-3 py-2 flex justify-between items-center bg-tl-base-300/60"&gt;
 &lt;span class="cursor-default text-xs text-tl-base-content/70"&gt;vb&lt;/span&gt;
 &lt;span class="flex"&gt;
 &lt;span x-on:click="copyCode" x-ref="copyBtn" class="cursor-copy mr-2 inline-block"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="1545" t="1755222167498" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M720 192h-544A80.096 80.096 0 0 0 96 272v608C96 924.128 131.904 960 176 960h544c44.128 0 80-35.872 80-80v-608C800 227.904 764.128 192 720 192z m16 688c0 8.8-7.2 16-16 16h-544a16 16 0 0 1-16-16v-608a16 16 0 0 1 16-16h544a16 16 0 0 1 16 16v608z" p-id="1546"&gt;&lt;/path&gt;&lt;path d="M848 64h-544a32 32 0 0 0 0 64h544a16 16 0 0 1 16 16v608a32 32 0 1 0 64 0v-608C928 99.904 892.128 64 848 64z" p-id="1547"&gt;&lt;/path&gt;&lt;path d="M608 360H288a32 32 0 0 0 0 64h320a32 32 0 1 0 0-64zM608 520H288a32 32 0 1 0 0 64h320a32 32 0 1 0 0-64zM480 678.656H288a32 32 0 1 0 0 64h192a32 32 0 1 0 0-64z" p-id="1548"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-on:click="showCode = !showCode" class="cursor-pointer mr-2 inline-block"&gt;
 &lt;span x-show="showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8488" t="1755227897558" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M490.666667 601.6L797.866667 298.666667l59.733333 59.733333-302.933333 302.933333-59.733334 64-59.733333-59.733333L128 358.4 187.733333 298.666667l302.933334 302.933333z" p-id="8489"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-show="!showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8047" t="1755227871587" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M401.066667 512l302.933333 302.933333-59.733333 59.733334L341.333333 571.733333 281.6 512 341.333333 452.266667l302.933334-302.933334 59.733333 59.733334L401.066667 512z" p-id="8048"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/div&gt;
 &lt;div x-show="showCode"
 x-cloak
 x-collapse
 x-collapse.duration.500ms
 x-ref="codeBlock"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-vb" data-lang="vb"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;Sub&lt;/span&gt; &lt;span class="nf"&gt;根据某列建表并复制数据&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&amp;#39;重点 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&amp;#39;1.新建表避免表名重复
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&amp;#39;2.通过用户输入 根据哪列进行拆分
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&amp;#39;3.通过筛选将相应的数据拷贝到对应工作表
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt;&lt;span class="n"&gt;Application&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;DisplayAlerts&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;False&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;Dim&lt;/span&gt; &lt;span class="n"&gt;sht&lt;/span&gt; &lt;span class="ow"&gt;As&lt;/span&gt; &lt;span class="n"&gt;Worksheet&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;Dim&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;irow&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;j&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;k&lt;/span&gt; &lt;span class="ow"&gt;As&lt;/span&gt; &lt;span class="kt"&gt;Integer&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;Dim&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="ow"&gt;As&lt;/span&gt; &lt;span class="n"&gt;Range&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;Dim&lt;/span&gt; &lt;span class="n"&gt;l&lt;/span&gt; &lt;span class="ow"&gt;As&lt;/span&gt; &lt;span class="kt"&gt;Integer&lt;/span&gt; &lt;span class="c"&gt;&amp;#39;按哪列拆分
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt;&lt;span class="n"&gt;l&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;InputBox&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;请输入按哪列拆分（输入数字）&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;irow&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;1&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;a10000&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;End&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;xlUp&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Row&lt;/span&gt; &lt;span class="c"&gt;&amp;#39;数据行
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&amp;#39;删除多余工作表
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt;&lt;span class="k"&gt;For&lt;/span&gt; &lt;span class="n"&gt;j&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;2&lt;/span&gt; &lt;span class="k"&gt;To&lt;/span&gt; &lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Count&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Count&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;DrawingObjects&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Delete&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;Next&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;19&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&amp;#39;根据列拆分表
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;20&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt;&lt;span class="k"&gt;For&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;2&lt;/span&gt; &lt;span class="k"&gt;To&lt;/span&gt; &lt;span class="n"&gt;irow&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;21&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;k&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;22&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;Set&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Worksheets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;1&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Cells&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;l&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;23&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;For&lt;/span&gt; &lt;span class="k"&gt;Each&lt;/span&gt; &lt;span class="n"&gt;sht&lt;/span&gt; &lt;span class="ow"&gt;In&lt;/span&gt; &lt;span class="n"&gt;Sheets&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;24&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;If&lt;/span&gt; &lt;span class="n"&gt;sht&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="k"&gt;Then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;25&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;k&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;26&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;End&lt;/span&gt; &lt;span class="k"&gt;If&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;27&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;Next&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;28&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;If&lt;/span&gt; &lt;span class="n"&gt;k&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;0&lt;/span&gt; &lt;span class="k"&gt;Then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;29&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Add&lt;/span&gt; &lt;span class="n"&gt;after&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Count&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;30&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Count&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Value&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;31&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;End&lt;/span&gt; &lt;span class="k"&gt;If&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;32&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;Next&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;33&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;34&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&amp;#39;通过筛选复制数据
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;35&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt;&lt;span class="k"&gt;For&lt;/span&gt; &lt;span class="n"&gt;j&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;2&lt;/span&gt; &lt;span class="k"&gt;To&lt;/span&gt; &lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Count&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;36&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;1&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;a1:f&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&lt;/span&gt; &lt;span class="n"&gt;irow&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;AutoFilter&lt;/span&gt; &lt;span class="n"&gt;field&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;l&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;Criteria1&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;j&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Name&lt;/span&gt; &lt;span class="c"&gt;&amp;#39;field:=l 筛选哪一列(这里是变量 l)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;37&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt; &lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;1&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;a1:f&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&lt;/span&gt; &lt;span class="n"&gt;irow&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Copy&lt;/span&gt; &lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;j&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;a2&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;38&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;Next&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;39&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;1&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;a1:f&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&lt;/span&gt; &lt;span class="n"&gt;irow&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;AutoFilter&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;40&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;1&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Select&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;41&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Application&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;DisplayAlerts&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;True&lt;/span&gt;	
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;42&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;End&lt;/span&gt; &lt;span class="k"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id="合并多个工作表" class="group"&gt;合并多个工作表 &lt;a href="#%e5%90%88%e5%b9%b6%e5%a4%9a%e4%b8%aa%e5%b7%a5%e4%bd%9c%e8%a1%a8" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;

&lt;div x-data="postCodeBlock('已复制')" class="font-mono text-base not-prose my-4 rounded-lg border border-tl-base-300/50 overflow-hidden shadow-sm"&gt;
 &lt;div class="px-3 py-2 flex justify-between items-center bg-tl-base-300/60"&gt;
 &lt;span class="cursor-default text-xs text-tl-base-content/70"&gt;vb&lt;/span&gt;
 &lt;span class="flex"&gt;
 &lt;span x-on:click="copyCode" x-ref="copyBtn" class="cursor-copy mr-2 inline-block"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="1545" t="1755222167498" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M720 192h-544A80.096 80.096 0 0 0 96 272v608C96 924.128 131.904 960 176 960h544c44.128 0 80-35.872 80-80v-608C800 227.904 764.128 192 720 192z m16 688c0 8.8-7.2 16-16 16h-544a16 16 0 0 1-16-16v-608a16 16 0 0 1 16-16h544a16 16 0 0 1 16 16v608z" p-id="1546"&gt;&lt;/path&gt;&lt;path d="M848 64h-544a32 32 0 0 0 0 64h544a16 16 0 0 1 16 16v608a32 32 0 1 0 64 0v-608C928 99.904 892.128 64 848 64z" p-id="1547"&gt;&lt;/path&gt;&lt;path d="M608 360H288a32 32 0 0 0 0 64h320a32 32 0 1 0 0-64zM608 520H288a32 32 0 1 0 0 64h320a32 32 0 1 0 0-64zM480 678.656H288a32 32 0 1 0 0 64h192a32 32 0 1 0 0-64z" p-id="1548"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-on:click="showCode = !showCode" class="cursor-pointer mr-2 inline-block"&gt;
 &lt;span x-show="showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8488" t="1755227897558" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M490.666667 601.6L797.866667 298.666667l59.733333 59.733333-302.933333 302.933333-59.733334 64-59.733333-59.733333L128 358.4 187.733333 298.666667l302.933334 302.933333z" p-id="8489"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-show="!showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8047" t="1755227871587" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M401.066667 512l302.933333 302.933333-59.733333 59.733334L341.333333 571.733333 281.6 512 341.333333 452.266667l302.933334-302.933334 59.733333 59.733334L401.066667 512z" p-id="8048"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/div&gt;
 &lt;div x-show="showCode"
 x-cloak
 x-collapse
 x-collapse.duration.500ms
 x-ref="codeBlock"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-vb" data-lang="vb"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;Sub&lt;/span&gt; &lt;span class="nf"&gt;合并多表&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;Dim&lt;/span&gt; &lt;span class="n"&gt;sht&lt;/span&gt; &lt;span class="ow"&gt;As&lt;/span&gt; &lt;span class="n"&gt;Worksheet&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;Dim&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;j&lt;/span&gt; &lt;span class="ow"&gt;As&lt;/span&gt; &lt;span class="kt"&gt;Integer&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;For&lt;/span&gt; &lt;span class="k"&gt;Each&lt;/span&gt; &lt;span class="n"&gt;sht&lt;/span&gt; &lt;span class="ow"&gt;In&lt;/span&gt; &lt;span class="n"&gt;Sheets&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;1&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;a10000&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;End&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;xlUp&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Row&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;j&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;sht&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;a10000&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;End&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;xlUp&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Row&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;If&lt;/span&gt; &lt;span class="n"&gt;sht&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Name&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;1&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Name&lt;/span&gt; &lt;span class="k"&gt;Then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;sht&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;a2:f&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&lt;/span&gt; &lt;span class="n"&gt;j&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Copy&lt;/span&gt; &lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;1&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;a&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c"&gt;&amp;#39;最后数据行下面粘贴
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt; &lt;span class="k"&gt;End&lt;/span&gt; &lt;span class="k"&gt;If&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;Next&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;End&lt;/span&gt; &lt;span class="k"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id="单元格格式" class="group"&gt;单元格格式 &lt;a href="#%e5%8d%95%e5%85%83%e6%a0%bc%e6%a0%bc%e5%bc%8f" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;

&lt;div x-data="postCodeBlock('已复制')" class="font-mono text-base not-prose my-4 rounded-lg border border-tl-base-300/50 overflow-hidden shadow-sm"&gt;
 &lt;div class="px-3 py-2 flex justify-between items-center bg-tl-base-300/60"&gt;
 &lt;span class="cursor-default text-xs text-tl-base-content/70"&gt;vb&lt;/span&gt;
 &lt;span class="flex"&gt;
 &lt;span x-on:click="copyCode" x-ref="copyBtn" class="cursor-copy mr-2 inline-block"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="1545" t="1755222167498" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M720 192h-544A80.096 80.096 0 0 0 96 272v608C96 924.128 131.904 960 176 960h544c44.128 0 80-35.872 80-80v-608C800 227.904 764.128 192 720 192z m16 688c0 8.8-7.2 16-16 16h-544a16 16 0 0 1-16-16v-608a16 16 0 0 1 16-16h544a16 16 0 0 1 16 16v608z" p-id="1546"&gt;&lt;/path&gt;&lt;path d="M848 64h-544a32 32 0 0 0 0 64h544a16 16 0 0 1 16 16v608a32 32 0 1 0 64 0v-608C928 99.904 892.128 64 848 64z" p-id="1547"&gt;&lt;/path&gt;&lt;path d="M608 360H288a32 32 0 0 0 0 64h320a32 32 0 1 0 0-64zM608 520H288a32 32 0 1 0 0 64h320a32 32 0 1 0 0-64zM480 678.656H288a32 32 0 1 0 0 64h192a32 32 0 1 0 0-64z" p-id="1548"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-on:click="showCode = !showCode" class="cursor-pointer mr-2 inline-block"&gt;
 &lt;span x-show="showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8488" t="1755227897558" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M490.666667 601.6L797.866667 298.666667l59.733333 59.733333-302.933333 302.933333-59.733334 64-59.733333-59.733333L128 358.4 187.733333 298.666667l302.933334 302.933333z" p-id="8489"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-show="!showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8047" t="1755227871587" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M401.066667 512l302.933333 302.933333-59.733333 59.733334L341.333333 571.733333 281.6 512 341.333333 452.266667l302.933334-302.933334 59.733333 59.733334L401.066667 512z" p-id="8048"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/div&gt;
 &lt;div x-show="showCode"
 x-cloak
 x-collapse
 x-collapse.duration.500ms
 x-ref="codeBlock"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-vb" data-lang="vb"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&amp;#39;字体格式选项卡&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt;&lt;span class="k"&gt;With&lt;/span&gt; &lt;span class="n"&gt;Selection&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Font&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;华文琥珀&amp;#34;&lt;/span&gt;		&lt;span class="c"&gt;&amp;#39;字体&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Size&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;9&lt;/span&gt;		&lt;span class="c"&gt;&amp;#39;字号&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Strikethrough&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;False&lt;/span&gt;		&lt;span class="c"&gt;&amp;#39;删除线&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Superscript&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;False&lt;/span&gt;		&lt;span class="c"&gt;&amp;#39;上标&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Subscript&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;False&lt;/span&gt;		&lt;span class="c"&gt;&amp;#39;下标&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;OutlineFont&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;False&lt;/span&gt;		&lt;span class="c"&gt;&amp;#39;大纲字体&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Shadow&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;False&lt;/span&gt;		&lt;span class="c"&gt;&amp;#39;阴影&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Underline&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;xlUnderlineStyleNone&lt;/span&gt;		&lt;span class="c"&gt;&amp;#39;下划线&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ColorIndex&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;xlAutomatic&lt;/span&gt;		&lt;span class="c"&gt;&amp;#39;字体颜色&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;TintAndShade&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;0&lt;/span&gt;		&lt;span class="c"&gt;&amp;#39;字体颜色变深或变浅&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ThemeFont&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;xlThemeFontNone&lt;/span&gt;		&lt;span class="c"&gt;&amp;#39;主题字体&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt;&lt;span class="k"&gt;End&lt;/span&gt; &lt;span class="k"&gt;With&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&amp;#39;填充色选项卡&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt; &lt;span class="k"&gt;With&lt;/span&gt; &lt;span class="n"&gt;Selection&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Interior&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Pattern&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;xlSolid&lt;/span&gt;		&lt;span class="c"&gt;&amp;#39;图案样式&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;19&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;PatternColorIndex&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;xlAutomatic&lt;/span&gt;	&lt;span class="c"&gt;&amp;#39;图案颜色&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;20&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ThemeColor&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;xlThemeColorDark1&lt;/span&gt;		&lt;span class="c"&gt;&amp;#39;主题颜色&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;21&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;TintAndShade&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;0&lt;/span&gt;		&lt;span class="c"&gt;&amp;#39;颜色变深或变浅&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;22&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Color&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;65535&lt;/span&gt;		&lt;span class="c"&gt;&amp;#39;填充色&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;23&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;PatternTintAndShade&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;0&lt;/span&gt;		&lt;span class="c"&gt;&amp;#39;对象的单色和底纹图案&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;24&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt;&lt;span class="k"&gt;End&lt;/span&gt; &lt;span class="k"&gt;With&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id="工作表事件案例1" class="group"&gt;工作表事件案例1 &lt;a href="#%e5%b7%a5%e4%bd%9c%e8%a1%a8%e4%ba%8b%e4%bb%b6%e6%a1%88%e4%be%8b1" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;

&lt;div x-data="postCodeBlock('已复制')" class="font-mono text-base not-prose my-4 rounded-lg border border-tl-base-300/50 overflow-hidden shadow-sm"&gt;
 &lt;div class="px-3 py-2 flex justify-between items-center bg-tl-base-300/60"&gt;
 &lt;span class="cursor-default text-xs text-tl-base-content/70"&gt;vb&lt;/span&gt;
 &lt;span class="flex"&gt;
 &lt;span x-on:click="copyCode" x-ref="copyBtn" class="cursor-copy mr-2 inline-block"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="1545" t="1755222167498" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M720 192h-544A80.096 80.096 0 0 0 96 272v608C96 924.128 131.904 960 176 960h544c44.128 0 80-35.872 80-80v-608C800 227.904 764.128 192 720 192z m16 688c0 8.8-7.2 16-16 16h-544a16 16 0 0 1-16-16v-608a16 16 0 0 1 16-16h544a16 16 0 0 1 16 16v608z" p-id="1546"&gt;&lt;/path&gt;&lt;path d="M848 64h-544a32 32 0 0 0 0 64h544a16 16 0 0 1 16 16v608a32 32 0 1 0 64 0v-608C928 99.904 892.128 64 848 64z" p-id="1547"&gt;&lt;/path&gt;&lt;path d="M608 360H288a32 32 0 0 0 0 64h320a32 32 0 1 0 0-64zM608 520H288a32 32 0 1 0 0 64h320a32 32 0 1 0 0-64zM480 678.656H288a32 32 0 1 0 0 64h192a32 32 0 1 0 0-64z" p-id="1548"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-on:click="showCode = !showCode" class="cursor-pointer mr-2 inline-block"&gt;
 &lt;span x-show="showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8488" t="1755227897558" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M490.666667 601.6L797.866667 298.666667l59.733333 59.733333-302.933333 302.933333-59.733334 64-59.733333-59.733333L128 358.4 187.733333 298.666667l302.933334 302.933333z" p-id="8489"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-show="!showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8047" t="1755227871587" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M401.066667 512l302.933333 302.933333-59.733333 59.733334L341.333333 571.733333 281.6 512 341.333333 452.266667l302.933334-302.933334 59.733333 59.733334L401.066667 512z" p-id="8048"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/div&gt;
 &lt;div x-show="showCode"
 x-cloak
 x-collapse
 x-collapse.duration.500ms
 x-ref="codeBlock"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-vb" data-lang="vb"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&amp;#39;标亮选中行，工作表事件，当选取发生变化自动执行以下代码&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt;&lt;span class="k"&gt;Private&lt;/span&gt; &lt;span class="k"&gt;Sub&lt;/span&gt; &lt;span class="nf"&gt;Worksheet_SelectionChange&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;ByVal&lt;/span&gt; &lt;span class="n"&gt;Target&lt;/span&gt; &lt;span class="ow"&gt;As&lt;/span&gt; &lt;span class="n"&gt;Range&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;	&lt;span class="c"&gt;&amp;#39;选区变换执行&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt; &lt;span class="n"&gt;Cells&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Interior&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Pattern&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;xlNone&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;With&lt;/span&gt; &lt;span class="n"&gt;Selection&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;EntireRow&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Interior&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Pattern&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;xlSolid&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;PatternColorIndex&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;xlAutomatic&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Color&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;65535&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;8&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;End&lt;/span&gt; &lt;span class="k"&gt;With&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;End&lt;/span&gt; &lt;span class="k"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id="工作表事件案例2" class="group"&gt;工作表事件案例2 &lt;a href="#%e5%b7%a5%e4%bd%9c%e8%a1%a8%e4%ba%8b%e4%bb%b6%e6%a1%88%e4%be%8b2" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;

&lt;div x-data="postCodeBlock('已复制')" class="font-mono text-base not-prose my-4 rounded-lg border border-tl-base-300/50 overflow-hidden shadow-sm"&gt;
 &lt;div class="px-3 py-2 flex justify-between items-center bg-tl-base-300/60"&gt;
 &lt;span class="cursor-default text-xs text-tl-base-content/70"&gt;vb&lt;/span&gt;
 &lt;span class="flex"&gt;
 &lt;span x-on:click="copyCode" x-ref="copyBtn" class="cursor-copy mr-2 inline-block"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="1545" t="1755222167498" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M720 192h-544A80.096 80.096 0 0 0 96 272v608C96 924.128 131.904 960 176 960h544c44.128 0 80-35.872 80-80v-608C800 227.904 764.128 192 720 192z m16 688c0 8.8-7.2 16-16 16h-544a16 16 0 0 1-16-16v-608a16 16 0 0 1 16-16h544a16 16 0 0 1 16 16v608z" p-id="1546"&gt;&lt;/path&gt;&lt;path d="M848 64h-544a32 32 0 0 0 0 64h544a16 16 0 0 1 16 16v608a32 32 0 1 0 64 0v-608C928 99.904 892.128 64 848 64z" p-id="1547"&gt;&lt;/path&gt;&lt;path d="M608 360H288a32 32 0 0 0 0 64h320a32 32 0 1 0 0-64zM608 520H288a32 32 0 1 0 0 64h320a32 32 0 1 0 0-64zM480 678.656H288a32 32 0 1 0 0 64h192a32 32 0 1 0 0-64z" p-id="1548"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-on:click="showCode = !showCode" class="cursor-pointer mr-2 inline-block"&gt;
 &lt;span x-show="showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8488" t="1755227897558" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M490.666667 601.6L797.866667 298.666667l59.733333 59.733333-302.933333 302.933333-59.733334 64-59.733333-59.733333L128 358.4 187.733333 298.666667l302.933334 302.933333z" p-id="8489"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-show="!showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8047" t="1755227871587" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M401.066667 512l302.933333 302.933333-59.733333 59.733334L341.333333 571.733333 281.6 512 341.333333 452.266667l302.933334-302.933334 59.733333 59.733334L401.066667 512z" p-id="8048"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/div&gt;
 &lt;div x-show="showCode"
 x-cloak
 x-collapse
 x-collapse.duration.500ms
 x-ref="codeBlock"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-vb" data-lang="vb"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&amp;#39;通过单元格内容筛选某列，并自动更新&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt;&lt;span class="k"&gt;Private&lt;/span&gt; &lt;span class="k"&gt;Sub&lt;/span&gt; &lt;span class="nf"&gt;Worksheet_Change&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;ByVal&lt;/span&gt; &lt;span class="n"&gt;Target&lt;/span&gt; &lt;span class="ow"&gt;As&lt;/span&gt; &lt;span class="n"&gt;Range&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;	&lt;span class="c"&gt;&amp;#39;工作表内容变化执行&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt; &lt;span class="n"&gt;Application&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;EnableEvents&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;False&lt;/span&gt; &lt;span class="c"&gt;&amp;#39;关闭事件响应，否则此段代码会卡死
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt; &lt;span class="k"&gt;Dim&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;j&lt;/span&gt; &lt;span class="ow"&gt;As&lt;/span&gt; &lt;span class="kt"&gt;Integer&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;ActiveSheet&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;a10000&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;End&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;xlUp&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Row&lt;/span&gt; &lt;span class="c"&gt;&amp;#39;数据行数量
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt; &lt;span class="n"&gt;j&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;ActiveSheet&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;l10000&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;End&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;xlUp&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Row&lt;/span&gt; &lt;span class="c"&gt;&amp;#39;筛选出来的数据行数量
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt; &lt;span class="n"&gt;ActiveSheet&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;l1:q&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&lt;/span&gt; &lt;span class="n"&gt;j&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;ClearContents&lt;/span&gt; &lt;span class="c"&gt;&amp;#39;清除筛选出来的数据
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt; &lt;span class="n"&gt;ActiveSheet&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;A1:F&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;AutoFilter&lt;/span&gt; &lt;span class="n"&gt;Field&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;Criteria1&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;Range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;i2&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;ActiveSheet&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;A1:F&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Copy&lt;/span&gt; &lt;span class="n"&gt;ActiveSheet&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;l1&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;ActiveSheet&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;A1:F&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;AutoFilter&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Application&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;EnableEvents&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;True&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;End&lt;/span&gt; &lt;span class="k"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id="工作簿事件案例1" class="group"&gt;工作簿事件案例1 &lt;a href="#%e5%b7%a5%e4%bd%9c%e7%b0%bf%e4%ba%8b%e4%bb%b6%e6%a1%88%e4%be%8b1" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;

&lt;div x-data="postCodeBlock('已复制')" class="font-mono text-base not-prose my-4 rounded-lg border border-tl-base-300/50 overflow-hidden shadow-sm"&gt;
 &lt;div class="px-3 py-2 flex justify-between items-center bg-tl-base-300/60"&gt;
 &lt;span class="cursor-default text-xs text-tl-base-content/70"&gt;vb&lt;/span&gt;
 &lt;span class="flex"&gt;
 &lt;span x-on:click="copyCode" x-ref="copyBtn" class="cursor-copy mr-2 inline-block"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="1545" t="1755222167498" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M720 192h-544A80.096 80.096 0 0 0 96 272v608C96 924.128 131.904 960 176 960h544c44.128 0 80-35.872 80-80v-608C800 227.904 764.128 192 720 192z m16 688c0 8.8-7.2 16-16 16h-544a16 16 0 0 1-16-16v-608a16 16 0 0 1 16-16h544a16 16 0 0 1 16 16v608z" p-id="1546"&gt;&lt;/path&gt;&lt;path d="M848 64h-544a32 32 0 0 0 0 64h544a16 16 0 0 1 16 16v608a32 32 0 1 0 64 0v-608C928 99.904 892.128 64 848 64z" p-id="1547"&gt;&lt;/path&gt;&lt;path d="M608 360H288a32 32 0 0 0 0 64h320a32 32 0 1 0 0-64zM608 520H288a32 32 0 1 0 0 64h320a32 32 0 1 0 0-64zM480 678.656H288a32 32 0 1 0 0 64h192a32 32 0 1 0 0-64z" p-id="1548"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-on:click="showCode = !showCode" class="cursor-pointer mr-2 inline-block"&gt;
 &lt;span x-show="showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8488" t="1755227897558" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M490.666667 601.6L797.866667 298.666667l59.733333 59.733333-302.933333 302.933333-59.733334 64-59.733333-59.733333L128 358.4 187.733333 298.666667l302.933334 302.933333z" p-id="8489"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-show="!showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8047" t="1755227871587" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M401.066667 512l302.933333 302.933333-59.733333 59.733334L341.333333 571.733333 281.6 512 341.333333 452.266667l302.933334-302.933334 59.733333 59.733334L401.066667 512z" p-id="8048"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/div&gt;
 &lt;div x-show="showCode"
 x-cloak
 x-collapse
 x-collapse.duration.500ms
 x-ref="codeBlock"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-vb" data-lang="vb"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&amp;#39;工作簿保存时备份文件&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt;&lt;span class="k"&gt;Private&lt;/span&gt; &lt;span class="k"&gt;Sub&lt;/span&gt; &lt;span class="nf"&gt;Workbook_BeforeSave&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;ByVal&lt;/span&gt; &lt;span class="n"&gt;SaveAsUI&lt;/span&gt; &lt;span class="ow"&gt;As&lt;/span&gt; &lt;span class="kt"&gt;Boolean&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;Cancel&lt;/span&gt; &lt;span class="ow"&gt;As&lt;/span&gt; &lt;span class="kt"&gt;Boolean&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;	&lt;span class="c"&gt;&amp;#39;工作簿保存前触发事件&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt; &lt;span class="k"&gt;Dim&lt;/span&gt; &lt;span class="n"&gt;dateTime&lt;/span&gt; &lt;span class="ow"&gt;As&lt;/span&gt; &lt;span class="kt"&gt;String&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;dateTime&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Format&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Now&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;mmddhhmmss&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c"&gt;&amp;#39;获取当前时间
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt; &lt;span class="c"&gt;&amp;#39;保存工作簿时 新建一份副本
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt; &lt;span class="n"&gt;ThisWorkbook&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;SaveCopyAs&lt;/span&gt; &lt;span class="n"&gt;Filename&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;G:\code\vba\跟着王佩丰学VBA附件\VBA07\backup\&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&lt;/span&gt; &lt;span class="n"&gt;dateTime&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;.xlsx&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;End&lt;/span&gt; &lt;span class="k"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id="工作簿事件案例2" class="group"&gt;工作簿事件案例2 &lt;a href="#%e5%b7%a5%e4%bd%9c%e7%b0%bf%e4%ba%8b%e4%bb%b6%e6%a1%88%e4%be%8b2" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;

&lt;div x-data="postCodeBlock('已复制')" class="font-mono text-base not-prose my-4 rounded-lg border border-tl-base-300/50 overflow-hidden shadow-sm"&gt;
 &lt;div class="px-3 py-2 flex justify-between items-center bg-tl-base-300/60"&gt;
 &lt;span class="cursor-default text-xs text-tl-base-content/70"&gt;vb&lt;/span&gt;
 &lt;span class="flex"&gt;
 &lt;span x-on:click="copyCode" x-ref="copyBtn" class="cursor-copy mr-2 inline-block"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="1545" t="1755222167498" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M720 192h-544A80.096 80.096 0 0 0 96 272v608C96 924.128 131.904 960 176 960h544c44.128 0 80-35.872 80-80v-608C800 227.904 764.128 192 720 192z m16 688c0 8.8-7.2 16-16 16h-544a16 16 0 0 1-16-16v-608a16 16 0 0 1 16-16h544a16 16 0 0 1 16 16v608z" p-id="1546"&gt;&lt;/path&gt;&lt;path d="M848 64h-544a32 32 0 0 0 0 64h544a16 16 0 0 1 16 16v608a32 32 0 1 0 64 0v-608C928 99.904 892.128 64 848 64z" p-id="1547"&gt;&lt;/path&gt;&lt;path d="M608 360H288a32 32 0 0 0 0 64h320a32 32 0 1 0 0-64zM608 520H288a32 32 0 1 0 0 64h320a32 32 0 1 0 0-64zM480 678.656H288a32 32 0 1 0 0 64h192a32 32 0 1 0 0-64z" p-id="1548"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-on:click="showCode = !showCode" class="cursor-pointer mr-2 inline-block"&gt;
 &lt;span x-show="showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8488" t="1755227897558" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M490.666667 601.6L797.866667 298.666667l59.733333 59.733333-302.933333 302.933333-59.733334 64-59.733333-59.733333L128 358.4 187.733333 298.666667l302.933334 302.933333z" p-id="8489"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-show="!showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8047" t="1755227871587" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M401.066667 512l302.933333 302.933333-59.733333 59.733334L341.333333 571.733333 281.6 512 341.333333 452.266667l302.933334-302.933334 59.733333 59.733334L401.066667 512z" p-id="8048"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/div&gt;
 &lt;div x-show="showCode"
 x-cloak
 x-collapse
 x-collapse.duration.500ms
 x-ref="codeBlock"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-vb" data-lang="vb"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&amp;#39;制作密码验证表，输入对应的密码显示对应的工作表&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt;&lt;span class="k"&gt;Private&lt;/span&gt; &lt;span class="k"&gt;Sub&lt;/span&gt; &lt;span class="nf"&gt;Workbook_BeforeClose&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Cancel&lt;/span&gt; &lt;span class="ow"&gt;As&lt;/span&gt; &lt;span class="kt"&gt;Boolean&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;	&lt;span class="c"&gt;&amp;#39;工作簿关闭之前执行&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&amp;#39;隐藏除了登录以外的表&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt;&lt;span class="k"&gt;Dim&lt;/span&gt; &lt;span class="n"&gt;sht&lt;/span&gt; &lt;span class="ow"&gt;As&lt;/span&gt; &lt;span class="n"&gt;Worksheet&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;For&lt;/span&gt; &lt;span class="k"&gt;Each&lt;/span&gt; &lt;span class="n"&gt;sht&lt;/span&gt; &lt;span class="ow"&gt;In&lt;/span&gt; &lt;span class="n"&gt;Sheets&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;If&lt;/span&gt; &lt;span class="n"&gt;sht&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Name&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;gt;&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;登录&amp;#34;&lt;/span&gt; &lt;span class="k"&gt;Then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;sht&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Visible&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;xlSheetVeryHidden&lt;/span&gt; &lt;span class="c"&gt;&amp;#39;隐藏除登录外所有工作表
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt; &lt;span class="k"&gt;End&lt;/span&gt; &lt;span class="k"&gt;If&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;Next&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;ActiveWorkbook&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Save&lt;/span&gt; &lt;span class="c"&gt;&amp;#39;保存活动工作簿
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt;&lt;span class="k"&gt;End&lt;/span&gt; &lt;span class="k"&gt;Sub&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;Private&lt;/span&gt; &lt;span class="k"&gt;Sub&lt;/span&gt; &lt;span class="nf"&gt;Workbook_Open&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; 	&lt;span class="c"&gt;&amp;#39;工作簿打开时执行事件
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt;&lt;span class="k"&gt;Dim&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="ow"&gt;As&lt;/span&gt; &lt;span class="kt"&gt;String&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;Dim&lt;/span&gt; &lt;span class="n"&gt;sht&lt;/span&gt; &lt;span class="ow"&gt;As&lt;/span&gt; &lt;span class="n"&gt;Worksheet&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;InputBox&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;请输入密码&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;If&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;123&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="k"&gt;Then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;For&lt;/span&gt; &lt;span class="k"&gt;Each&lt;/span&gt; &lt;span class="n"&gt;sht&lt;/span&gt; &lt;span class="ow"&gt;In&lt;/span&gt; &lt;span class="n"&gt;Sheets&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;19&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;If&lt;/span&gt; &lt;span class="n"&gt;InStr&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sht&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;张三&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;0&lt;/span&gt; &lt;span class="k"&gt;Then&lt;/span&gt; &lt;span class="c"&gt;&amp;#39;工作表名包含张三时
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;20&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt; &lt;span class="n"&gt;sht&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Visible&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;xlSheetVisible&lt;/span&gt; &lt;span class="c"&gt;&amp;#39;显示工作表
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;21&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt; &lt;span class="k"&gt;End&lt;/span&gt; &lt;span class="k"&gt;If&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;22&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;Next&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;23&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;ElseIf&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;456&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="k"&gt;Then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;24&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;For&lt;/span&gt; &lt;span class="k"&gt;Each&lt;/span&gt; &lt;span class="n"&gt;sht&lt;/span&gt; &lt;span class="ow"&gt;In&lt;/span&gt; &lt;span class="n"&gt;Sheets&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;25&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;If&lt;/span&gt; &lt;span class="n"&gt;InStr&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sht&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;李四&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;0&lt;/span&gt; &lt;span class="k"&gt;Then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;26&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;sht&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Visible&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;xlSheetVisible&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;27&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;End&lt;/span&gt; &lt;span class="k"&gt;If&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;28&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;Next&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;29&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;Else&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;30&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;MsgBox&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;密码错误&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;31&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;ActiveWorkbook&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Close&lt;/span&gt; &lt;span class="n"&gt;Savechanges&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;True&lt;/span&gt; &lt;span class="c"&gt;&amp;#39;不保存关闭工作簿
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;32&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt;&lt;span class="k"&gt;End&lt;/span&gt; &lt;span class="k"&gt;If&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;33&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;End&lt;/span&gt; &lt;span class="k"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="工作表函数" class="group"&gt;工作表函数 &lt;a href="#%e5%b7%a5%e4%bd%9c%e8%a1%a8%e5%87%bd%e6%95%b0" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="介绍" class="group"&gt;介绍 &lt;a href="#%e4%bb%8b%e7%bb%8d" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;

&lt;div x-data="postCodeBlock('已复制')" class="font-mono text-base not-prose my-4 rounded-lg border border-tl-base-300/50 overflow-hidden shadow-sm"&gt;
 &lt;div class="px-3 py-2 flex justify-between items-center bg-tl-base-300/60"&gt;
 &lt;span class="cursor-default text-xs text-tl-base-content/70"&gt;vbscript&lt;/span&gt;
 &lt;span class="flex"&gt;
 &lt;span x-on:click="copyCode" x-ref="copyBtn" class="cursor-copy mr-2 inline-block"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="1545" t="1755222167498" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M720 192h-544A80.096 80.096 0 0 0 96 272v608C96 924.128 131.904 960 176 960h544c44.128 0 80-35.872 80-80v-608C800 227.904 764.128 192 720 192z m16 688c0 8.8-7.2 16-16 16h-544a16 16 0 0 1-16-16v-608a16 16 0 0 1 16-16h544a16 16 0 0 1 16 16v608z" p-id="1546"&gt;&lt;/path&gt;&lt;path d="M848 64h-544a32 32 0 0 0 0 64h544a16 16 0 0 1 16 16v608a32 32 0 1 0 64 0v-608C928 99.904 892.128 64 848 64z" p-id="1547"&gt;&lt;/path&gt;&lt;path d="M608 360H288a32 32 0 0 0 0 64h320a32 32 0 1 0 0-64zM608 520H288a32 32 0 1 0 0 64h320a32 32 0 1 0 0-64zM480 678.656H288a32 32 0 1 0 0 64h192a32 32 0 1 0 0-64z" p-id="1548"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-on:click="showCode = !showCode" class="cursor-pointer mr-2 inline-block"&gt;
 &lt;span x-show="showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8488" t="1755227897558" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M490.666667 601.6L797.866667 298.666667l59.733333 59.733333-302.933333 302.933333-59.733334 64-59.733333-59.733333L128 358.4 187.733333 298.666667l302.933334 302.933333z" p-id="8489"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-show="!showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8047" t="1755227871587" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M401.066667 512l302.933333 302.933333-59.733333 59.733334L341.333333 571.733333 281.6 512 341.333333 452.266667l302.933334-302.933334 59.733333 59.733334L401.066667 512z" p-id="8048"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/div&gt;
 &lt;div x-show="showCode"
 x-cloak
 x-collapse
 x-collapse.duration.500ms
 x-ref="codeBlock"&gt;
 &lt;pre tabindex="0"&gt;&lt;code class="language-vbscript" data-lang="vbscript"&gt;&amp;#39;Countif Vlookup这些函数在VBA里调用：Application.WorksheetFunction
Instr() &amp;#39;函数可返回一个字符串在另一个字符串中首次出现的位置&amp;#39;
Split() &amp;#39;用于将特定字符分开&amp;#39;
On Error Resume Next &amp;#39;跳过错误语句&amp;#39;
IsNumeric()	&amp;#39;返回 Boolean 值，返回变量是否为一个数值&amp;#39;
Val()	&amp;#39;文本转化为数值&amp;#39;&lt;/code&gt;&lt;/pre&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Strings&lt;/td&gt;
 &lt;td&gt;文本函数&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Math&lt;/td&gt;
 &lt;td&gt;数学函数&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Datetime&lt;/td&gt;
 &lt;td&gt;日期时间&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;FileSystem&lt;/td&gt;
 &lt;td&gt;文件信息&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Financial&lt;/td&gt;
 &lt;td&gt;财务函数&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Information&lt;/td&gt;
 &lt;td&gt;信息函数&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Interaction&lt;/td&gt;
 &lt;td&gt;交互函数&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="根据学号查询信息" class="group"&gt;根据学号查询信息 &lt;a href="#%e6%a0%b9%e6%8d%ae%e5%ad%a6%e5%8f%b7%e6%9f%a5%e8%af%a2%e4%bf%a1%e6%81%af" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;

&lt;div x-data="postCodeBlock('已复制')" class="font-mono text-base not-prose my-4 rounded-lg border border-tl-base-300/50 overflow-hidden shadow-sm"&gt;
 &lt;div class="px-3 py-2 flex justify-between items-center bg-tl-base-300/60"&gt;
 &lt;span class="cursor-default text-xs text-tl-base-content/70"&gt;vb&lt;/span&gt;
 &lt;span class="flex"&gt;
 &lt;span x-on:click="copyCode" x-ref="copyBtn" class="cursor-copy mr-2 inline-block"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="1545" t="1755222167498" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M720 192h-544A80.096 80.096 0 0 0 96 272v608C96 924.128 131.904 960 176 960h544c44.128 0 80-35.872 80-80v-608C800 227.904 764.128 192 720 192z m16 688c0 8.8-7.2 16-16 16h-544a16 16 0 0 1-16-16v-608a16 16 0 0 1 16-16h544a16 16 0 0 1 16 16v608z" p-id="1546"&gt;&lt;/path&gt;&lt;path d="M848 64h-544a32 32 0 0 0 0 64h544a16 16 0 0 1 16 16v608a32 32 0 1 0 64 0v-608C928 99.904 892.128 64 848 64z" p-id="1547"&gt;&lt;/path&gt;&lt;path d="M608 360H288a32 32 0 0 0 0 64h320a32 32 0 1 0 0-64zM608 520H288a32 32 0 1 0 0 64h320a32 32 0 1 0 0-64zM480 678.656H288a32 32 0 1 0 0 64h192a32 32 0 1 0 0-64z" p-id="1548"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-on:click="showCode = !showCode" class="cursor-pointer mr-2 inline-block"&gt;
 &lt;span x-show="showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8488" t="1755227897558" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M490.666667 601.6L797.866667 298.666667l59.733333 59.733333-302.933333 302.933333-59.733334 64-59.733333-59.733333L128 358.4 187.733333 298.666667l302.933334 302.933333z" p-id="8489"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-show="!showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8047" t="1755227871587" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M401.066667 512l302.933333 302.933333-59.733333 59.733334L341.333333 571.733333 281.6 512 341.333333 452.266667l302.933334-302.933334 59.733333 59.733334L401.066667 512z" p-id="8048"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/div&gt;
 &lt;div x-show="showCode"
 x-cloak
 x-collapse
 x-collapse.duration.500ms
 x-ref="codeBlock"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-vb" data-lang="vb"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;Sub&lt;/span&gt; &lt;span class="nf"&gt;chaxun&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&amp;#39;On Error Resume Next 表示后面的程序出现&amp;#34;运行时错误&amp;#34;时，会继续运行，不中断
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&amp;#39;VLookup（a,b,c,d） a：搜索的值 b：搜索的区域（多列） c：返回哪一列 d：是否精确匹配
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;On&lt;/span&gt; &lt;span class="k"&gt;Error&lt;/span&gt; &lt;span class="k"&gt;Resume&lt;/span&gt; &lt;span class="k"&gt;Next&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;1&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;d14:d22&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;ClearContents&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;d&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;1&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;d9&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;For&lt;/span&gt; &lt;span class="n"&gt;j&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;2&lt;/span&gt; &lt;span class="k"&gt;To&lt;/span&gt; &lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Count&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;1&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;d14&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;WorksheetFunction&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;VLookup&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;d&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;j&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;a:h&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="n"&gt;5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;1&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;d16&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;WorksheetFunction&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;VLookup&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;d&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;j&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;a:h&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="n"&gt;6&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;1&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;d18&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;WorksheetFunction&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;VLookup&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;d&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;j&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;a:h&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="n"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;1&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;d20&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;WorksheetFunction&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;VLookup&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;d&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;j&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;a:h&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="n"&gt;8&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;1&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;d22&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;j&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Name&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;If&lt;/span&gt; &lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;1&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;d14&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;gt;&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;&amp;#34;&lt;/span&gt; &lt;span class="k"&gt;Then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;Exit&lt;/span&gt; &lt;span class="k"&gt;For&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;End&lt;/span&gt; &lt;span class="k"&gt;If&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;Next&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;End&lt;/span&gt; &lt;span class="k"&gt;Sub&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;19&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;20&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;Sub&lt;/span&gt; &lt;span class="nf"&gt;tongji&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;21&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&amp;#39;WorksheetFunction 通过该对象可以使用工作表函数
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;22&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&amp;#39;CountA(a) a为某一区域，计算非空单元格
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;23&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&amp;#39;CountIf(a,b) a为某一区域，b为条件，统计满足条件的单元格
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;24&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt;&lt;span class="k"&gt;For&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;2&lt;/span&gt; &lt;span class="k"&gt;To&lt;/span&gt; &lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Count&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;25&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;k&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;k&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;WorksheetFunction&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;CountA&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;a:a&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;26&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;m&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;m&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;WorksheetFunction&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;CountIf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;f:f&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;男&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;27&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;w&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;w&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;WorksheetFunction&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;CountIf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;f:f&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;女&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;28&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;Next&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;29&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;1&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;d26&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;k&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;30&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;1&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;d27&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;m&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;31&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Sheets&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;1&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;Range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;d28&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;w&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;32&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;End&lt;/span&gt; &lt;span class="k"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id="拆分多表通用型" class="group"&gt;拆分多表通用型 &lt;a href="#%e6%8b%86%e5%88%86%e5%a4%9a%e8%a1%a8%e9%80%9a%e7%94%a8%e5%9e%8b" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;

&lt;div x-data="postCodeBlock('已复制')" class="font-mono text-base not-prose my-4 rounded-lg border border-tl-base-300/50 overflow-hidden shadow-sm"&gt;
 &lt;div class="px-3 py-2 flex justify-between items-center bg-tl-base-300/60"&gt;
 &lt;span class="cursor-default text-xs text-tl-base-content/70"&gt;vbscript&lt;/span&gt;
 &lt;span class="flex"&gt;
 &lt;span x-on:click="copyCode" x-ref="copyBtn" class="cursor-copy mr-2 inline-block"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="1545" t="1755222167498" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M720 192h-544A80.096 80.096 0 0 0 96 272v608C96 924.128 131.904 960 176 960h544c44.128 0 80-35.872 80-80v-608C800 227.904 764.128 192 720 192z m16 688c0 8.8-7.2 16-16 16h-544a16 16 0 0 1-16-16v-608a16 16 0 0 1 16-16h544a16 16 0 0 1 16 16v608z" p-id="1546"&gt;&lt;/path&gt;&lt;path d="M848 64h-544a32 32 0 0 0 0 64h544a16 16 0 0 1 16 16v608a32 32 0 1 0 64 0v-608C928 99.904 892.128 64 848 64z" p-id="1547"&gt;&lt;/path&gt;&lt;path d="M608 360H288a32 32 0 0 0 0 64h320a32 32 0 1 0 0-64zM608 520H288a32 32 0 1 0 0 64h320a32 32 0 1 0 0-64zM480 678.656H288a32 32 0 1 0 0 64h192a32 32 0 1 0 0-64z" p-id="1548"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-on:click="showCode = !showCode" class="cursor-pointer mr-2 inline-block"&gt;
 &lt;span x-show="showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8488" t="1755227897558" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M490.666667 601.6L797.866667 298.666667l59.733333 59.733333-302.933333 302.933333-59.733334 64-59.733333-59.733333L128 358.4 187.733333 298.666667l302.933334 302.933333z" p-id="8489"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-show="!showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8047" t="1755227871587" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M401.066667 512l302.933333 302.933333-59.733333 59.733334L341.333333 571.733333 281.6 512 341.333333 452.266667l302.933334-302.933334 59.733333 59.733334L401.066667 512z" p-id="8048"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/div&gt;
 &lt;div x-show="showCode"
 x-cloak
 x-collapse
 x-collapse.duration.500ms
 x-ref="codeBlock"&gt;
 &lt;pre tabindex="0"&gt;&lt;code class="language-vbscript" data-lang="vbscript"&gt;Sub chaifenshuju()

Dim sht As Worksheet
Dim k, i, j As Integer
Dim irow As Integer &amp;#39;这个说的是一共多少行
Dim l As Integer
Dim str As String &amp;#39;这里是第1处修改，加入一个变量，用于提取当前工作表的名字
str = ActiveSheet.Name &amp;#39;这里是第2处修改，取得当前要处理的表的名字
l = InputBox(&amp;#34;请输入你要按哪列分&amp;#34;)
&amp;#39;删除无意义的表
Application.DisplayAlerts = False
If Sheets.Count &amp;gt; 1 Then
 For Each sht1 In Sheets
 If sht1.Name &amp;lt;&amp;gt; str Then &amp;#39;这里是第3处修改，不在用“数据”这个固定的名字了，而是用之前取到的名字
 sht1.Delete
 End If
 Next
End If
Application.DisplayAlerts = True &amp;#39;这个地方上课的时候我没改成true，请大家注意一下
irow = Sheets(str).Range(&amp;#34;a65536&amp;#34;).End(xlUp).Row &amp;#39;这里是第4处修改，不在用“sheet1”这个固定的表名字了，而是用之前取到的名字的表
&amp;#39;拆分表
For i = 2 To irow
 k = 0
 For Each sht In Sheets
 If sht.Name = Sheets(str).Cells(i, l) Then &amp;#39;这里是第5处修改，跟第四个修改一样，把原来的sheet1替换成sheets(str)
 k = 1
 End If
 Next
 If k = 0 Then
 Sheets.Add after:=Sheets(Sheets.Count)
 Sheets(Sheets.Count).Name = Sheets(str).Cells(i, l) &amp;#39;这里是第6处修改，跟第四个修改一样，把原来的sheet1替换成sheets(str)
 End If
Next
&amp;#39;拷贝数据 注意：第7处修改。原有的Range(&amp;#34;a1:f&amp;#34; &amp;amp; irow)已经改为Range(&amp;#34;a1:z&amp;#34; &amp;amp; irow) 因为数据可能会列数很多，所以写成到z列，故意多写一些。￥￥￥￥￥￥￥￥￥￥￥￥￥
For j = 2 To Sheets.Count
 Sheets(str).Range(&amp;#34;a1:z&amp;#34; &amp;amp; irow).AutoFilter Field:=l, Criteria1:=Sheets(j).Name &amp;#39;这里是第8处修改，跟第四个修改一样，把原来的sheet1替换成sheets(str)
 Sheets(str).Range(&amp;#34;a1:z&amp;#34; &amp;amp; irow).Copy Sheets(j).Range(&amp;#34;a1&amp;#34;) &amp;#39;这里是第9处修改，跟第四个修改一样，把原来的sheet1替换成sheets(str)￥￥￥￥￥￥￥￥￥￥￥
Next
Sheets(str).Range(&amp;#34;a1:z&amp;#34; &amp;amp; irow).AutoFilter &amp;#39;这里是第10处修改，跟第四个修改一样，把原来的sheet1替换成sheets(str)
Sheets(str).Select &amp;#39;这里是第11处修改，跟第四个修改一样，把原来的sheet1替换成sheets(str)
MsgBox &amp;#34;已处理完毕，牛逼不&amp;#34;
End Sub&lt;/code&gt;&lt;/pre&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="多文件数据合并" class="group"&gt;多文件数据合并 &lt;a href="#%e5%a4%9a%e6%96%87%e4%bb%b6%e6%95%b0%e6%8d%ae%e5%90%88%e5%b9%b6" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="dir" class="group"&gt;Dir &lt;a href="#dir" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Dir(文件路径)：存在文件返回文件名，不存在返回空值&lt;/li&gt;
&lt;li&gt;dir后面的参数可以支持通配符，例如：Dir(&amp;ldquo;d:/data/苏州.xls*&amp;rdquo;)&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="查询某文件下所有文件名" class="group"&gt;查询某文件下所有文件名 &lt;a href="#%e6%9f%a5%e8%af%a2%e6%9f%90%e6%96%87%e4%bb%b6%e4%b8%8b%e6%89%80%e6%9c%89%e6%96%87%e4%bb%b6%e5%90%8d" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;

&lt;div x-data="postCodeBlock('已复制')" class="font-mono text-base not-prose my-4 rounded-lg border border-tl-base-300/50 overflow-hidden shadow-sm"&gt;
 &lt;div class="px-3 py-2 flex justify-between items-center bg-tl-base-300/60"&gt;
 &lt;span class="cursor-default text-xs text-tl-base-content/70"&gt;vbscript&lt;/span&gt;
 &lt;span class="flex"&gt;
 &lt;span x-on:click="copyCode" x-ref="copyBtn" class="cursor-copy mr-2 inline-block"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="1545" t="1755222167498" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M720 192h-544A80.096 80.096 0 0 0 96 272v608C96 924.128 131.904 960 176 960h544c44.128 0 80-35.872 80-80v-608C800 227.904 764.128 192 720 192z m16 688c0 8.8-7.2 16-16 16h-544a16 16 0 0 1-16-16v-608a16 16 0 0 1 16-16h544a16 16 0 0 1 16 16v608z" p-id="1546"&gt;&lt;/path&gt;&lt;path d="M848 64h-544a32 32 0 0 0 0 64h544a16 16 0 0 1 16 16v608a32 32 0 1 0 64 0v-608C928 99.904 892.128 64 848 64z" p-id="1547"&gt;&lt;/path&gt;&lt;path d="M608 360H288a32 32 0 0 0 0 64h320a32 32 0 1 0 0-64zM608 520H288a32 32 0 1 0 0 64h320a32 32 0 1 0 0-64zM480 678.656H288a32 32 0 1 0 0 64h192a32 32 0 1 0 0-64z" p-id="1548"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-on:click="showCode = !showCode" class="cursor-pointer mr-2 inline-block"&gt;
 &lt;span x-show="showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8488" t="1755227897558" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M490.666667 601.6L797.866667 298.666667l59.733333 59.733333-302.933333 302.933333-59.733334 64-59.733333-59.733333L128 358.4 187.733333 298.666667l302.933334 302.933333z" p-id="8489"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-show="!showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8047" t="1755227871587" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M401.066667 512l302.933333 302.933333-59.733333 59.733334L341.333333 571.733333 281.6 512 341.333333 452.266667l302.933334-302.933334 59.733333 59.733334L401.066667 512z" p-id="8048"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/div&gt;
 &lt;div x-show="showCode"
 x-cloak
 x-collapse
 x-collapse.duration.500ms
 x-ref="codeBlock"&gt;
 &lt;pre tabindex="0"&gt;&lt;code class="language-vbscript" data-lang="vbscript"&gt;&amp;#39;遍历文件，并提取文件名，以下代码会将data下所有文件名写入A列&amp;#39;
Sub test()
 Dim name As String, i
 i = 1
 name = Dir(&amp;#34;G:\code\vba\VBA10\data\*.*&amp;#34;)
 Do
 Sheets(&amp;#34;data&amp;#34;).Range(&amp;#34;a&amp;#34; &amp;amp; i) = name
 name = Dir &amp;#39;当dir() 查询结果有多个文件时，dir则依次返回一个文件名，然后为空，再然后出错
 i = i + 1
 Loop While name &amp;lt;&amp;gt; &amp;#34;&amp;#34;
End Sub&lt;/code&gt;&lt;/pre&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id="文件合并" class="group"&gt;文件合并 &lt;a href="#%e6%96%87%e4%bb%b6%e5%90%88%e5%b9%b6" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;

&lt;div x-data="postCodeBlock('已复制')" class="font-mono text-base not-prose my-4 rounded-lg border border-tl-base-300/50 overflow-hidden shadow-sm"&gt;
 &lt;div class="px-3 py-2 flex justify-between items-center bg-tl-base-300/60"&gt;
 &lt;span class="cursor-default text-xs text-tl-base-content/70"&gt;vbscript&lt;/span&gt;
 &lt;span class="flex"&gt;
 &lt;span x-on:click="copyCode" x-ref="copyBtn" class="cursor-copy mr-2 inline-block"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="1545" t="1755222167498" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M720 192h-544A80.096 80.096 0 0 0 96 272v608C96 924.128 131.904 960 176 960h544c44.128 0 80-35.872 80-80v-608C800 227.904 764.128 192 720 192z m16 688c0 8.8-7.2 16-16 16h-544a16 16 0 0 1-16-16v-608a16 16 0 0 1 16-16h544a16 16 0 0 1 16 16v608z" p-id="1546"&gt;&lt;/path&gt;&lt;path d="M848 64h-544a32 32 0 0 0 0 64h544a16 16 0 0 1 16 16v608a32 32 0 1 0 64 0v-608C928 99.904 892.128 64 848 64z" p-id="1547"&gt;&lt;/path&gt;&lt;path d="M608 360H288a32 32 0 0 0 0 64h320a32 32 0 1 0 0-64zM608 520H288a32 32 0 1 0 0 64h320a32 32 0 1 0 0-64zM480 678.656H288a32 32 0 1 0 0 64h192a32 32 0 1 0 0-64z" p-id="1548"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-on:click="showCode = !showCode" class="cursor-pointer mr-2 inline-block"&gt;
 &lt;span x-show="showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8488" t="1755227897558" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M490.666667 601.6L797.866667 298.666667l59.733333 59.733333-302.933333 302.933333-59.733334 64-59.733333-59.733333L128 358.4 187.733333 298.666667l302.933334 302.933333z" p-id="8489"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-show="!showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8047" t="1755227871587" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M401.066667 512l302.933333 302.933333-59.733333 59.733334L341.333333 571.733333 281.6 512 341.333333 452.266667l302.933334-302.933334 59.733333 59.733334L401.066667 512z" p-id="8048"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/div&gt;
 &lt;div x-show="showCode"
 x-cloak
 x-collapse
 x-collapse.duration.500ms
 x-ref="codeBlock"&gt;
 &lt;pre tabindex="0"&gt;&lt;code class="language-vbscript" data-lang="vbscript"&gt;Sub 合并多文件数据()
Application.ScreenUpdating = False
 Dim name As String, i, wb As Workbook, sht As Worksheet
 i = 1
 name = Dir(&amp;#34;G:\code\vba\跟着王佩丰学VBA附件\VBA10\data2\*.*&amp;#34;)
 Do
 Set wb = Workbooks.Open(&amp;#34;G:\code\vba\跟着王佩丰学VBA附件\VBA10\data2\&amp;#34; &amp;amp; name)
 For Each sht In wb.Sheets
 sht.Copy after:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count) &amp;#39;需指定哪个工作簿
 &amp;#39;split 拆分字符串，返回一个数组
 ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count).name = Split(wb.name, &amp;#34;.&amp;#34;)(0) &amp;amp; sht.name
 Next
 name = Dir
 wb.Close
 Loop While name &amp;lt;&amp;gt; &amp;#34;&amp;#34;
Application.ScreenUpdating = True
End Sub&lt;/code&gt;&lt;/pre&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id="find用法规避错误" class="group"&gt;find用法（规避错误） &lt;a href="#find%e7%94%a8%e6%b3%95%e8%a7%84%e9%81%bf%e9%94%99%e8%af%af" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;

&lt;div x-data="postCodeBlock('已复制')" class="font-mono text-base not-prose my-4 rounded-lg border border-tl-base-300/50 overflow-hidden shadow-sm"&gt;
 &lt;div class="px-3 py-2 flex justify-between items-center bg-tl-base-300/60"&gt;
 &lt;span class="cursor-default text-xs text-tl-base-content/70"&gt;vbscript&lt;/span&gt;
 &lt;span class="flex"&gt;
 &lt;span x-on:click="copyCode" x-ref="copyBtn" class="cursor-copy mr-2 inline-block"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="1545" t="1755222167498" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M720 192h-544A80.096 80.096 0 0 0 96 272v608C96 924.128 131.904 960 176 960h544c44.128 0 80-35.872 80-80v-608C800 227.904 764.128 192 720 192z m16 688c0 8.8-7.2 16-16 16h-544a16 16 0 0 1-16-16v-608a16 16 0 0 1 16-16h544a16 16 0 0 1 16 16v608z" p-id="1546"&gt;&lt;/path&gt;&lt;path d="M848 64h-544a32 32 0 0 0 0 64h544a16 16 0 0 1 16 16v608a32 32 0 1 0 64 0v-608C928 99.904 892.128 64 848 64z" p-id="1547"&gt;&lt;/path&gt;&lt;path d="M608 360H288a32 32 0 0 0 0 64h320a32 32 0 1 0 0-64zM608 520H288a32 32 0 1 0 0 64h320a32 32 0 1 0 0-64zM480 678.656H288a32 32 0 1 0 0 64h192a32 32 0 1 0 0-64z" p-id="1548"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-on:click="showCode = !showCode" class="cursor-pointer mr-2 inline-block"&gt;
 &lt;span x-show="showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8488" t="1755227897558" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M490.666667 601.6L797.866667 298.666667l59.733333 59.733333-302.933333 302.933333-59.733334 64-59.733333-59.733333L128 358.4 187.733333 298.666667l302.933334 302.933333z" p-id="8489"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-show="!showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8047" t="1755227871587" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M401.066667 512l302.933333 302.933333-59.733333 59.733334L341.333333 571.733333 281.6 512 341.333333 452.266667l302.933334-302.933334 59.733333 59.733334L401.066667 512z" p-id="8048"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/div&gt;
 &lt;div x-show="showCode"
 x-cloak
 x-collapse
 x-collapse.duration.500ms
 x-ref="codeBlock"&gt;
 &lt;pre tabindex="0"&gt;&lt;code class="language-vbscript" data-lang="vbscript"&gt;Sub chazhao()
	Dim rng As Range
 &amp;#39;如果找不到以下代码并不会报错，而是rng为空&amp;#39;
	Set rng = Range(&amp;#34;d:d&amp;#34;).Find(Range(&amp;#34;l3&amp;#34;))
 &amp;#39;进行以下判断，这样就可以避免错误&amp;#39;
	If Not rng Is Nothing Then
 Range(&amp;#34;m3&amp;#34;) = rng.Offset(0, 3)
	End If

End Sub&lt;/code&gt;&lt;/pre&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id="拆分工作表通用" class="group"&gt;拆分工作表通用 &lt;a href="#%e6%8b%86%e5%88%86%e5%b7%a5%e4%bd%9c%e8%a1%a8%e9%80%9a%e7%94%a8" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;

&lt;div x-data="postCodeBlock('已复制')" class="font-mono text-base not-prose my-4 rounded-lg border border-tl-base-300/50 overflow-hidden shadow-sm"&gt;
 &lt;div class="px-3 py-2 flex justify-between items-center bg-tl-base-300/60"&gt;
 &lt;span class="cursor-default text-xs text-tl-base-content/70"&gt;vbscript&lt;/span&gt;
 &lt;span class="flex"&gt;
 &lt;span x-on:click="copyCode" x-ref="copyBtn" class="cursor-copy mr-2 inline-block"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="1545" t="1755222167498" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M720 192h-544A80.096 80.096 0 0 0 96 272v608C96 924.128 131.904 960 176 960h544c44.128 0 80-35.872 80-80v-608C800 227.904 764.128 192 720 192z m16 688c0 8.8-7.2 16-16 16h-544a16 16 0 0 1-16-16v-608a16 16 0 0 1 16-16h544a16 16 0 0 1 16 16v608z" p-id="1546"&gt;&lt;/path&gt;&lt;path d="M848 64h-544a32 32 0 0 0 0 64h544a16 16 0 0 1 16 16v608a32 32 0 1 0 64 0v-608C928 99.904 892.128 64 848 64z" p-id="1547"&gt;&lt;/path&gt;&lt;path d="M608 360H288a32 32 0 0 0 0 64h320a32 32 0 1 0 0-64zM608 520H288a32 32 0 1 0 0 64h320a32 32 0 1 0 0-64zM480 678.656H288a32 32 0 1 0 0 64h192a32 32 0 1 0 0-64z" p-id="1548"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-on:click="showCode = !showCode" class="cursor-pointer mr-2 inline-block"&gt;
 &lt;span x-show="showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8488" t="1755227897558" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M490.666667 601.6L797.866667 298.666667l59.733333 59.733333-302.933333 302.933333-59.733334 64-59.733333-59.733333L128 358.4 187.733333 298.666667l302.933334 302.933333z" p-id="8489"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-show="!showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8047" t="1755227871587" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M401.066667 512l302.933333 302.933333-59.733333 59.733334L341.333333 571.733333 281.6 512 341.333333 452.266667l302.933334-302.933334 59.733333 59.733334L401.066667 512z" p-id="8048"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/div&gt;
 &lt;div x-show="showCode"
 x-cloak
 x-collapse
 x-collapse.duration.500ms
 x-ref="codeBlock"&gt;
 &lt;pre tabindex="0"&gt;&lt;code class="language-vbscript" data-lang="vbscript"&gt;Sub chaifenshuju()
Dim sht As Worksheet
Dim k, i, j As Integer
Dim irow As Integer &amp;#39;这个说的是一共多少行
Dim l As Integer
Dim sht0 As Worksheet
Set sht0 = ActiveSheet &amp;#39;需要拆分的表&amp;#39;
l = InputBox(&amp;#34;请输入你要按哪列分&amp;#34;)

&amp;#39;删除无意义的表
Application.DisplayAlerts = False
If Sheets.Count &amp;gt; 1 Then
 For Each sht1 In Sheets
 If sht1.Name &amp;lt;&amp;gt; sht0.Name Then
 sht1.Delete
 End If
 Next
End If
Application.DisplayAlerts = True 

irow = sht0.Range(&amp;#34;a65536&amp;#34;).End(xlUp).Row
&amp;#39;拆分表
For i = 2 To irow
 k = 0
 For Each sht In Sheets
 If sht.Name = sht0.Cells(i, l) Then
 k = 1
 End If
 Next

 If k = 0 Then
 Sheets.Add after:=Sheets(Sheets.Count)
 Sheets(Sheets.Count).Name = sht0.Cells(i, l)
 End If

Next

&amp;#39;拷贝数据
For j = 2 To Sheets.Count
 sht0.Range(&amp;#34;a1:z&amp;#34; &amp;amp; irow).AutoFilter Field:=l, Criteria1:=Sheets(j).Name
 sht0.Range(&amp;#34;a1:z&amp;#34; &amp;amp; irow).Copy Sheets(j).Range(&amp;#34;a1&amp;#34;)
Next

sht0.Range(&amp;#34;a1:z&amp;#34; &amp;amp; irow).AutoFilter
sht0.Select
MsgBox &amp;#34;已处理完毕，牛逼不&amp;#34;

End Sub&lt;/code&gt;&lt;/pre&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="数组的妙用" class="group"&gt;数组的妙用 &lt;a href="#%e6%95%b0%e7%bb%84%e7%9a%84%e5%a6%99%e7%94%a8" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="统计金额" class="group"&gt;统计金额 &lt;a href="#%e7%bb%9f%e8%ae%a1%e9%87%91%e9%a2%9d" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;

&lt;div x-data="postCodeBlock('已复制')" class="font-mono text-base not-prose my-4 rounded-lg border border-tl-base-300/50 overflow-hidden shadow-sm"&gt;
 &lt;div class="px-3 py-2 flex justify-between items-center bg-tl-base-300/60"&gt;
 &lt;span class="cursor-default text-xs text-tl-base-content/70"&gt;vbscript&lt;/span&gt;
 &lt;span class="flex"&gt;
 &lt;span x-on:click="copyCode" x-ref="copyBtn" class="cursor-copy mr-2 inline-block"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="1545" t="1755222167498" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M720 192h-544A80.096 80.096 0 0 0 96 272v608C96 924.128 131.904 960 176 960h544c44.128 0 80-35.872 80-80v-608C800 227.904 764.128 192 720 192z m16 688c0 8.8-7.2 16-16 16h-544a16 16 0 0 1-16-16v-608a16 16 0 0 1 16-16h544a16 16 0 0 1 16 16v608z" p-id="1546"&gt;&lt;/path&gt;&lt;path d="M848 64h-544a32 32 0 0 0 0 64h544a16 16 0 0 1 16 16v608a32 32 0 1 0 64 0v-608C928 99.904 892.128 64 848 64z" p-id="1547"&gt;&lt;/path&gt;&lt;path d="M608 360H288a32 32 0 0 0 0 64h320a32 32 0 1 0 0-64zM608 520H288a32 32 0 1 0 0 64h320a32 32 0 1 0 0-64zM480 678.656H288a32 32 0 1 0 0 64h192a32 32 0 1 0 0-64z" p-id="1548"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-on:click="showCode = !showCode" class="cursor-pointer mr-2 inline-block"&gt;
 &lt;span x-show="showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8488" t="1755227897558" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M490.666667 601.6L797.866667 298.666667l59.733333 59.733333-302.933333 302.933333-59.733334 64-59.733333-59.733333L128 358.4 187.733333 298.666667l302.933334 302.933333z" p-id="8489"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-show="!showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8047" t="1755227871587" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M401.066667 512l302.933333 302.933333-59.733333 59.733334L341.333333 571.733333 281.6 512 341.333333 452.266667l302.933334-302.933334 59.733333 59.733334L401.066667 512z" p-id="8048"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/div&gt;
 &lt;div x-show="showCode"
 x-cloak
 x-collapse
 x-collapse.duration.500ms
 x-ref="codeBlock"&gt;
 &lt;pre tabindex="0"&gt;&lt;code class="language-vbscript" data-lang="vbscript"&gt;Sub 总金额1()

Dim i, xrow, j, k, str, ti

ti = Timer

xrow = Range(&amp;#34;a1000000&amp;#34;).End(xlUp).Row
ReDim arr(1 To 3, 1 To xrow)
str = Range(&amp;#34;O5&amp;#34;).Value
For i = 2 To xrow
 If Range(&amp;#34;H&amp;#34; &amp;amp; i) = str Then
 k = k + Range(&amp;#34;J&amp;#34; &amp;amp; i)
 j = j + Range(&amp;#34;L&amp;#34; &amp;amp; i)
 End If
Next

Range(&amp;#34;P5&amp;#34;) = k
Range(&amp;#34;Q5&amp;#34;) = k

MsgBox (Format(Timer - ti, &amp;#34;0.000000&amp;#34;))
End Sub
------------------------------------------------------------------------
Sub 总金额2()

Dim i, xrow, j, k, str, ti, arr()

ti = Timer	&amp;#39;获取时间&amp;#39;

xrow = Range(&amp;#34;a1000000&amp;#34;).End(xlUp).Row	
ReDim arr(1 To 3, 1 To xrow)	&amp;#39;重新定义数组大小&amp;#39;
str = Range(&amp;#34;O5&amp;#34;).Value
arr = Range(&amp;#34;H1:J&amp;#34; &amp;amp; xrow).Value	&amp;#39;连续的将单元格区域赋值给数组，注意：带sheets.range(区域)，后面必须跟上value&amp;#39;
For i = 2 To xrow
 If arr(i, 1) = str Then
 k = k + arr(i, 3)
 j = j + arr(i, 2)
 End If
Next

Range(&amp;#34;P5&amp;#34;) = k

MsgBox (Format(Timer - ti, &amp;#34;0.000000&amp;#34;))	&amp;#39;当前获取时间-程序开始时间，结果为程序运行时间&amp;#39;
End Sub&lt;/code&gt;&lt;/pre&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id="查找销冠" class="group"&gt;查找销冠 &lt;a href="#%e6%9f%a5%e6%89%be%e9%94%80%e5%86%a0" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;

&lt;div x-data="postCodeBlock('已复制')" class="font-mono text-base not-prose my-4 rounded-lg border border-tl-base-300/50 overflow-hidden shadow-sm"&gt;
 &lt;div class="px-3 py-2 flex justify-between items-center bg-tl-base-300/60"&gt;
 &lt;span class="cursor-default text-xs text-tl-base-content/70"&gt;vbscript&lt;/span&gt;
 &lt;span class="flex"&gt;
 &lt;span x-on:click="copyCode" x-ref="copyBtn" class="cursor-copy mr-2 inline-block"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="1545" t="1755222167498" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M720 192h-544A80.096 80.096 0 0 0 96 272v608C96 924.128 131.904 960 176 960h544c44.128 0 80-35.872 80-80v-608C800 227.904 764.128 192 720 192z m16 688c0 8.8-7.2 16-16 16h-544a16 16 0 0 1-16-16v-608a16 16 0 0 1 16-16h544a16 16 0 0 1 16 16v608z" p-id="1546"&gt;&lt;/path&gt;&lt;path d="M848 64h-544a32 32 0 0 0 0 64h544a16 16 0 0 1 16 16v608a32 32 0 1 0 64 0v-608C928 99.904 892.128 64 848 64z" p-id="1547"&gt;&lt;/path&gt;&lt;path d="M608 360H288a32 32 0 0 0 0 64h320a32 32 0 1 0 0-64zM608 520H288a32 32 0 1 0 0 64h320a32 32 0 1 0 0-64zM480 678.656H288a32 32 0 1 0 0 64h192a32 32 0 1 0 0-64z" p-id="1548"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-on:click="showCode = !showCode" class="cursor-pointer mr-2 inline-block"&gt;
 &lt;span x-show="showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8488" t="1755227897558" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M490.666667 601.6L797.866667 298.666667l59.733333 59.733333-302.933333 302.933333-59.733334 64-59.733333-59.733333L128 358.4 187.733333 298.666667l302.933334 302.933333z" p-id="8489"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-show="!showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8047" t="1755227871587" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M401.066667 512l302.933333 302.933333-59.733333 59.733334L341.333333 571.733333 281.6 512 341.333333 452.266667l302.933334-302.933334 59.733333 59.733334L401.066667 512z" p-id="8048"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/div&gt;
 &lt;div x-show="showCode"
 x-cloak
 x-collapse
 x-collapse.duration.500ms
 x-ref="codeBlock"&gt;
 &lt;pre tabindex="0"&gt;&lt;code class="language-vbscript" data-lang="vbscript"&gt;Sub test()
Dim arr()
Dim j, i As Integer

j = Range(&amp;#34;a65536&amp;#34;).End(xlUp).Row - 1

ReDim arr(1 To j)	&amp;#39;重新定义数组大小&amp;#39;

For i = 1 To j
 arr(i) = Range(&amp;#34;b&amp;#34; &amp;amp; i + 1) * Range(&amp;#34;c&amp;#34; &amp;amp; i + 1)
Next

Range(&amp;#34;h3&amp;#34;) = Application.WorksheetFunction.Max(arr)	&amp;#39;调用工作表函数，数组可以看成一个单元格区域&amp;#39;
&amp;#39;match，查看元素在区域内出现的位置&amp;#39;
Range(&amp;#34;h2&amp;#34;) = Range(&amp;#34;a&amp;#34; &amp;amp; Application.WorksheetFunction.Match(Range(&amp;#34;h3&amp;#34;), arr, 0) + 1)

MsgBox LBound(arr) &amp;#39;数组下限&amp;#39;

End Sub&lt;/code&gt;&lt;/pre&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id="计算回款信息" class="group"&gt;计算回款信息 &lt;a href="#%e8%ae%a1%e7%ae%97%e5%9b%9e%e6%ac%be%e4%bf%a1%e6%81%af" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;

&lt;div x-data="postCodeBlock('已复制')" class="font-mono text-base not-prose my-4 rounded-lg border border-tl-base-300/50 overflow-hidden shadow-sm"&gt;
 &lt;div class="px-3 py-2 flex justify-between items-center bg-tl-base-300/60"&gt;
 &lt;span class="cursor-default text-xs text-tl-base-content/70"&gt;vbscript&lt;/span&gt;
 &lt;span class="flex"&gt;
 &lt;span x-on:click="copyCode" x-ref="copyBtn" class="cursor-copy mr-2 inline-block"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="1545" t="1755222167498" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M720 192h-544A80.096 80.096 0 0 0 96 272v608C96 924.128 131.904 960 176 960h544c44.128 0 80-35.872 80-80v-608C800 227.904 764.128 192 720 192z m16 688c0 8.8-7.2 16-16 16h-544a16 16 0 0 1-16-16v-608a16 16 0 0 1 16-16h544a16 16 0 0 1 16 16v608z" p-id="1546"&gt;&lt;/path&gt;&lt;path d="M848 64h-544a32 32 0 0 0 0 64h544a16 16 0 0 1 16 16v608a32 32 0 1 0 64 0v-608C928 99.904 892.128 64 848 64z" p-id="1547"&gt;&lt;/path&gt;&lt;path d="M608 360H288a32 32 0 0 0 0 64h320a32 32 0 1 0 0-64zM608 520H288a32 32 0 1 0 0 64h320a32 32 0 1 0 0-64zM480 678.656H288a32 32 0 1 0 0 64h192a32 32 0 1 0 0-64z" p-id="1548"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-on:click="showCode = !showCode" class="cursor-pointer mr-2 inline-block"&gt;
 &lt;span x-show="showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8488" t="1755227897558" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M490.666667 601.6L797.866667 298.666667l59.733333 59.733333-302.933333 302.933333-59.733334 64-59.733333-59.733333L128 358.4 187.733333 298.666667l302.933334 302.933333z" p-id="8489"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-show="!showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8047" t="1755227871587" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M401.066667 512l302.933333 302.933333-59.733333 59.733334L341.333333 571.733333 281.6 512 341.333333 452.266667l302.933334-302.933334 59.733333 59.733334L401.066667 512z" p-id="8048"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/div&gt;
 &lt;div x-show="showCode"
 x-cloak
 x-collapse
 x-collapse.duration.500ms
 x-ref="codeBlock"&gt;
 &lt;pre tabindex="0"&gt;&lt;code class="language-vbscript" data-lang="vbscript"&gt;&amp;#39;问题：有许多汇款账单，但不知道谁是谁，现在知道收到的回款总额(124704)以及订单数(4)，求是哪些账单（每个账单金额唯一）&amp;#39;
&amp;#39;思路：尝试组合所有可能的组合，将金额加起来为124704的订单找出来&amp;#39;
Sub huikuan()
Dim arr(), i, j, k, xrow, t
t = Timer
xrow = Range(&amp;#34;a65535&amp;#34;).End(xlUp).Row - 1
arr = Range(&amp;#34;A2:A&amp;#34; &amp;amp; xrow + 1)
For i = 1 To xrow
 For j = 1 To xrow
 For k = 1 To xrow
 For l = 1 To xrow
 If arr(i, 1) + arr(j, 1) + arr(k, 1) + arr(l, 1) = Range(&amp;#34;k3&amp;#34;) Then &amp;#39;四笔订单和为收到汇款总额时
 Range(&amp;#34;F3&amp;#34;) = arr(i, 1)
 Range(&amp;#34;G3&amp;#34;) = arr(j, 1)
 Range(&amp;#34;H3&amp;#34;) = arr(k, 1)
 Range(&amp;#34;I3&amp;#34;) = arr(k, 1)
 GoTo 100 &amp;#39;程序跳到100处，这里结束所有循环
 End If
 Next
 Next
 Next
Next
100
Range(&amp;#34;L3&amp;#34;) = Timer - t &amp;#39;程序执行时间
End Sub&lt;/code&gt;&lt;/pre&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="ado" class="group"&gt;ADO &lt;a href="#ado" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;

&lt;div x-data="postCodeBlock('已复制')" class="font-mono text-base not-prose my-4 rounded-lg border border-tl-base-300/50 overflow-hidden shadow-sm"&gt;
 &lt;div class="px-3 py-2 flex justify-between items-center bg-tl-base-300/60"&gt;
 &lt;span class="cursor-default text-xs text-tl-base-content/70"&gt;vb&lt;/span&gt;
 &lt;span class="flex"&gt;
 &lt;span x-on:click="copyCode" x-ref="copyBtn" class="cursor-copy mr-2 inline-block"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="1545" t="1755222167498" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M720 192h-544A80.096 80.096 0 0 0 96 272v608C96 924.128 131.904 960 176 960h544c44.128 0 80-35.872 80-80v-608C800 227.904 764.128 192 720 192z m16 688c0 8.8-7.2 16-16 16h-544a16 16 0 0 1-16-16v-608a16 16 0 0 1 16-16h544a16 16 0 0 1 16 16v608z" p-id="1546"&gt;&lt;/path&gt;&lt;path d="M848 64h-544a32 32 0 0 0 0 64h544a16 16 0 0 1 16 16v608a32 32 0 1 0 64 0v-608C928 99.904 892.128 64 848 64z" p-id="1547"&gt;&lt;/path&gt;&lt;path d="M608 360H288a32 32 0 0 0 0 64h320a32 32 0 1 0 0-64zM608 520H288a32 32 0 1 0 0 64h320a32 32 0 1 0 0-64zM480 678.656H288a32 32 0 1 0 0 64h192a32 32 0 1 0 0-64z" p-id="1548"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-on:click="showCode = !showCode" class="cursor-pointer mr-2 inline-block"&gt;
 &lt;span x-show="showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8488" t="1755227897558" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M490.666667 601.6L797.866667 298.666667l59.733333 59.733333-302.933333 302.933333-59.733334 64-59.733333-59.733333L128 358.4 187.733333 298.666667l302.933334 302.933333z" p-id="8489"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-show="!showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8047" t="1755227871587" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M401.066667 512l302.933333 302.933333-59.733333 59.733334L341.333333 571.733333 281.6 512 341.333333 452.266667l302.933334-302.933334 59.733333 59.733334L401.066667 512z" p-id="8048"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/div&gt;
 &lt;div x-show="showCode"
 x-cloak
 x-collapse
 x-collapse.duration.500ms
 x-ref="codeBlock"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-vb" data-lang="vb"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;Sub&lt;/span&gt; &lt;span class="nf"&gt;adoTest&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;Dim&lt;/span&gt; &lt;span class="n"&gt;conn&lt;/span&gt; &lt;span class="ow"&gt;As&lt;/span&gt; &lt;span class="k"&gt;New&lt;/span&gt; &lt;span class="n"&gt;ADODB&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Connection&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;Dim&lt;/span&gt; &lt;span class="n"&gt;sql&lt;/span&gt; &lt;span class="ow"&gt;As&lt;/span&gt; &lt;span class="kt"&gt;String&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;arr&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;conn&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Open&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;Provider = Microsoft.ACE.OLEDB.12.0;Data Source=G:\data\Edata.xlsx;extended properties=&amp;#34;&amp;#34;excel 12.0;HDR=YES&amp;#34;&amp;#34;&amp;#34;&lt;/span&gt; &lt;span class="c"&gt;&amp;#39;打开excle文件，指定扩展属性以及表头
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&amp;#39;conn.Open &amp;#34;Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\data\Adata.accdb&amp;#34; &amp;#39;打开access数据库，只需要指定提供者和数据源
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&amp;#39;conn.Open &amp;#34;Provider=SQLOLEDB;DataSource=&amp;#34; &amp;amp; Path &amp;amp; &amp;#34;;Initial Catolog=&amp;#34; &amp;amp; strDataName &amp;#39;Mysql数据库
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&amp;#39;conn.Open &amp;#34;Provider=MSDASQL;Driver={SQL Server};Server=&amp;#34; &amp;amp; Path &amp;amp; &amp;#34;;Database=&amp;#34; &amp;amp; strDataName &amp;#39;MSSQL数据库
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&amp;#39;conn.Open &amp;#34;Provider=madaora;Data Source=MyOracleDB; User Id=UserID; Password=Password&amp;#34; &amp;#39;Oracle数据库
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;sql&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;select * from [data$]&amp;#34;&lt;/span&gt; &lt;span class="c"&gt;&amp;#39;从data工作表查询所有数据
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt;&lt;span class="n"&gt;sql&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;select * from [data$] where 性别=男&amp;#34;&lt;/span&gt; &lt;span class="c"&gt;&amp;#39;条件查询
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt;&lt;span class="n"&gt;sql&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;select * from [data$] union all select * from [data2$]&amp;#34;&lt;/span&gt; &lt;span class="c"&gt;&amp;#39;合并两个表数据
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;19&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;a2&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;CopyFromRecordset&lt;/span&gt; &lt;span class="n"&gt;conn&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Execute&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sql&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c"&gt;&amp;#39;将查询的记录写入A2单元格
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;20&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;21&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;arr&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Application&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;WorksheetFunction&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Transpose&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;conn&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Execute&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sql&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;GetRows&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c"&gt;&amp;#39;将查询的记录赋值到数组
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;22&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;23&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&amp;#39;关闭链接
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;24&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&lt;/span&gt;&lt;span class="n"&gt;conn&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Close&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;25&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;End&lt;/span&gt; &lt;span class="k"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;</description></item><item><title>ZooKeeper</title><link>https://leiking007.github.io/posts/%E4%B8%AD%E9%97%B4%E4%BB%B6/zookeeper/</link><pubDate>Thu, 17 Sep 2020 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/%E4%B8%AD%E9%97%B4%E4%BB%B6/zookeeper/</guid><description>&lt;h1 id="zookeeper" class="group"&gt;zookeeper &lt;a href="#zookeeper" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="简介" class="group"&gt;简介 &lt;a href="#%e7%ae%80%e4%bb%8b" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;zookeeper是一个&lt;strong&gt;分布式协调服务框架&lt;/strong&gt;，主要用于解决分布式服务中心常遇到的一些数据管理问题，如：统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等&lt;/li&gt;
&lt;li&gt;简单地说zookeeper=文件系统+坚挺通知机制&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;集群和分布式&lt;/p&gt;</description></item><item><title>CSS</title><link>https://leiking007.github.io/posts/web%E5%89%8D%E7%AB%AF/css/</link><pubDate>Wed, 09 Sep 2020 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/web%E5%89%8D%E7%AB%AF/css/</guid><description>&lt;h1 id="css" class="group"&gt;CSS &lt;a href="#css" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="简介" class="group"&gt;简介 &lt;a href="#%e7%ae%80%e4%bb%8b" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;CSS（cascading style sheet）：层叠样式表&lt;/li&gt;
&lt;li&gt;修饰html页面，设置html页面中元素样式；就像是html的化妆品一样&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="使用css三种方式" class="group"&gt;使用CSS三种方式 &lt;a href="#%e4%bd%bf%e7%94%a8css%e4%b8%89%e7%a7%8d%e6%96%b9%e5%bc%8f" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;内联定义&lt;/p&gt;</description></item><item><title>Dubbo</title><link>https://leiking007.github.io/posts/%E4%B8%AD%E9%97%B4%E4%BB%B6/dubbo/</link><pubDate>Wed, 09 Sep 2020 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/%E4%B8%AD%E9%97%B4%E4%BB%B6/dubbo/</guid><description>&lt;h1 id="dubbo" class="group"&gt;Dubbo &lt;a href="#dubbo" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="基础" class="group"&gt;基础 &lt;a href="#%e5%9f%ba%e7%a1%80" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="rpc介绍" class="group"&gt;rpc介绍 &lt;a href="#rpc%e4%bb%8b%e7%bb%8d" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;RPC是指远程过程调用,也就是说两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法,由于不在一个内存空间,不能直接调用,需要通过网络来表达调用的语义和传达调用的数据。&lt;/p&gt;</description></item><item><title>HTML</title><link>https://leiking007.github.io/posts/web%E5%89%8D%E7%AB%AF/html/</link><pubDate>Wed, 09 Sep 2020 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/web%E5%89%8D%E7%AB%AF/html/</guid><description>&lt;p&gt;HTML&lt;/p&gt;
&lt;h2 id="概述" class="group"&gt;概述 &lt;a href="#%e6%a6%82%e8%bf%b0" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&amp;lt;!DOCTYPE HTML&amp;gt;有这个标志代表HTML5，没有代表HTML4&lt;/li&gt;
&lt;/ol&gt;

&lt;div x-data="postCodeBlock('已复制')" class="font-mono text-base not-prose my-4 rounded-lg border border-tl-base-300/50 overflow-hidden shadow-sm"&gt;
 &lt;div class="px-3 py-2 flex justify-between items-center bg-tl-base-300/60"&gt;
 &lt;span class="cursor-default text-xs text-tl-base-content/70"&gt;html&lt;/span&gt;
 &lt;span class="flex"&gt;
 &lt;span x-on:click="copyCode" x-ref="copyBtn" class="cursor-copy mr-2 inline-block"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="1545" t="1755222167498" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M720 192h-544A80.096 80.096 0 0 0 96 272v608C96 924.128 131.904 960 176 960h544c44.128 0 80-35.872 80-80v-608C800 227.904 764.128 192 720 192z m16 688c0 8.8-7.2 16-16 16h-544a16 16 0 0 1-16-16v-608a16 16 0 0 1 16-16h544a16 16 0 0 1 16 16v608z" p-id="1546"&gt;&lt;/path&gt;&lt;path d="M848 64h-544a32 32 0 0 0 0 64h544a16 16 0 0 1 16 16v608a32 32 0 1 0 64 0v-608C928 99.904 892.128 64 848 64z" p-id="1547"&gt;&lt;/path&gt;&lt;path d="M608 360H288a32 32 0 0 0 0 64h320a32 32 0 1 0 0-64zM608 520H288a32 32 0 1 0 0 64h320a32 32 0 1 0 0-64zM480 678.656H288a32 32 0 1 0 0 64h192a32 32 0 1 0 0-64z" p-id="1548"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-on:click="showCode = !showCode" class="cursor-pointer mr-2 inline-block"&gt;
 &lt;span x-show="showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8488" t="1755227897558" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M490.666667 601.6L797.866667 298.666667l59.733333 59.733333-302.933333 302.933333-59.733334 64-59.733333-59.733333L128 358.4 187.733333 298.666667l302.933334 302.933333z" p-id="8489"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-show="!showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8047" t="1755227871587" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M401.066667 512l302.933333 302.933333-59.733333 59.733334L341.333333 571.733333 281.6 512 341.333333 452.266667l302.933334-302.933334 59.733333 59.733334L401.066667 512z" p-id="8048"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/div&gt;
 &lt;div x-show="showCode"
 x-cloak
 x-collapse
 x-collapse.duration.500ms
 x-ref="codeBlock"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;&amp;lt;!DOCTYPE HTML&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&amp;lt;!--根节点--&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;HTML&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c"&gt;&amp;lt;!--头--&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;	&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;head&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;		&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;meta&lt;/span&gt; &lt;span class="na"&gt;charset&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;utf-8&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;		&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;title&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;title&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;	&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;head&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt; &lt;span class="c"&gt;&amp;lt;!--体--&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;	&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;body&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;		&lt;span class="c"&gt;&amp;lt;!--主题内容--&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;	&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;body&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;HTML&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;ol start="2"&gt;
&lt;li&gt;id在同一个HTML文档中,id不能重复,唯一标识,id可以使我们更方便的获取这个元素&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="div和span" class="group"&gt;div和span &lt;a href="#div%e5%92%8cspan" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;div和span都可以称为&amp;quot;图层&amp;quot;,使页面可以灵活布局&lt;/li&gt;
&lt;li&gt;div默认独占一行&lt;/li&gt;
&lt;li&gt;span不会独占一行&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="基本标签" class="group"&gt;基本标签 &lt;a href="#%e5%9f%ba%e6%9c%ac%e6%a0%87%e7%ad%be" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;段落标签:&amp;lt;p&amp;gt;&amp;lt;/p&amp;gt;&lt;/li&gt;
&lt;li&gt;标题:&amp;lt;h1&amp;gt;&amp;lt;h1&amp;gt;&lt;/li&gt;
&lt;li&gt;换行:&amp;lt;br&amp;gt;;这种的标签称为独目标签&lt;/li&gt;
&lt;li&gt;预留格式:&amp;lt;pre&amp;gt;&amp;lt;pre&amp;gt;;源代码什么样式,网页中就怎么显示&lt;/li&gt;
&lt;li&gt;删除字:&amp;lt;del&amp;gt;&amp;lt;del&amp;gt;&lt;/li&gt;
&lt;li&gt;插入字:&amp;lt;ins&amp;gt;&amp;lt;ins&amp;gt;&lt;/li&gt;
&lt;li&gt;粗体字:&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;&lt;/li&gt;
&lt;li&gt;斜体字:&amp;lt;i&amp;gt;&amp;lt;i&amp;gt;&lt;/li&gt;
&lt;li&gt;右上角加字:10&amp;lt;sup&amp;gt;2&amp;lt;sip&amp;gt;;10的平方&lt;/li&gt;
&lt;li&gt;右下角加字:10&amp;lt;sub&amp;gt;m&amp;lt;sub&amp;gt;;10米&lt;/li&gt;
&lt;li&gt;字体标签:&amp;lt;font&amp;gt;&amp;lt;font&amp;gt;&lt;/li&gt;
&lt;li&gt;图片标签:&amp;lt;img src=&amp;ldquo;地址&amp;rdquo; title=&amp;ldquo;鼠标悬停显示&amp;rdquo; alt=&amp;ldquo;图片未加载时文字&amp;rdquo; /&amp;gt; ;设置图片大小,只设置宽度,高度会自动适应&lt;/li&gt;
&lt;li&gt;超链接:&amp;lt;a href=&amp;ldquo;链接地址&amp;rdquo; target=&amp;ldquo;以什么方式打开连接&amp;rdquo; &amp;gt;文字&amp;lt;/a&amp;gt; ; 有下划线,鼠标停留手形状,点击跳转&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="实体符号" class="group"&gt;实体符号 &lt;a href="#%e5%ae%9e%e4%bd%93%e7%ac%a6%e5%8f%b7" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;网页中显示某些符号,可能会被浏览器解析,如a大于b大于c : b&amp;lt;a&amp;gt;c;所以有实体符号;所有实体符号以 **&amp;amp;&lt;strong&gt;开始 以&lt;/strong&gt;;**结尾&lt;/p&gt;</description></item><item><title>JavaScript</title><link>https://leiking007.github.io/posts/web%E5%89%8D%E7%AB%AF/javascript/</link><pubDate>Wed, 09 Sep 2020 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/web%E5%89%8D%E7%AB%AF/javascript/</guid><description>&lt;h1 id="javascript" class="group"&gt;JavaScript &lt;a href="#javascript" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="简介" class="group"&gt;简介 &lt;a href="#%e7%ae%80%e4%bb%8b" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;JavaScript是运行在浏览器上的脚本语言；简称js&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;js不需要程序员手动编译，源代码浏览器直接打开运行；js“目标程序”以普通文本形式保存，这种语言叫做“脚本语言”&lt;/p&gt;</description></item><item><title>MySQL</title><link>https://leiking007.github.io/posts/%EF%B8%8F%E6%95%B0%E6%8D%AE%E5%BA%93/mysql/</link><pubDate>Wed, 09 Sep 2020 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/%EF%B8%8F%E6%95%B0%E6%8D%AE%E5%BA%93/mysql/</guid><description>&lt;h1 id="mysql" class="group"&gt;MySQL &lt;a href="#mysql" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="初见" class="group"&gt;初见 &lt;a href="#%e5%88%9d%e8%a7%81" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;序列化反序列化也可以开发项目，不过太不方便了&lt;/li&gt;
&lt;li&gt;常见的数据库管理系统
&lt;ol&gt;
&lt;li&gt;Oracle：甲骨文公司；用于传统企业，银行等&lt;/li&gt;
&lt;li&gt;MySql：甲骨文公司收购（MySql AB公司）&lt;/li&gt;
&lt;li&gt;DB2&lt;/li&gt;
&lt;li&gt;Sybase&lt;/li&gt;
&lt;li&gt;MS SqlServer（支持标准sql的数据库管理系统）&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;MySql安装；MySql卸载必须使用安装软件卸载，否则下次安装不上（卸载不干净），手动删除Program File下的Mysql以及ProgramData下的MySql&lt;/li&gt;
&lt;li&gt;每一个软件都有特定的端口号，不能重复；端口是软件的代号；MySql服务的默认端口3306&lt;/li&gt;
&lt;li&gt;登录MySql：mysql -u用户名 -p密码&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;sql&lt;/strong&gt;,&lt;strong&gt;DB&lt;/strong&gt;,&lt;strong&gt;DBMS&lt;/strong&gt;
&lt;strong&gt;DB&lt;/strong&gt;：DataBase，数据库，在硬盘上以文件方式存在
&lt;strong&gt;DBMS&lt;/strong&gt;：DataBase Management System，数据库管理系统（Mysql）
&lt;strong&gt;SQL&lt;/strong&gt;：结构化查询语言，是一门标准通用的语言，是一种高级语言（sql语句编译有DBMS完成）
&lt;strong&gt;DBMS&lt;/strong&gt;执行&lt;strong&gt;SQL&lt;/strong&gt;语句来操作&lt;strong&gt;DB&lt;/strong&gt;中的数据&lt;/li&gt;
&lt;li&gt;表(table)：
&lt;ol&gt;
&lt;li&gt;table是数据库基本组成单元，所有数据都是由表格形式组织，目的可读性强&lt;/li&gt;
&lt;li&gt;每个表有行，列；行被称为数据/记录（data），列被称为字段（column）&lt;/li&gt;
&lt;li&gt;每个字段（列）应该有：字段名、数据类型、相关约束&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;SQL语句分类
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;DQL&lt;/strong&gt;（数据查询语言）：select 查询语句&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DML&lt;/strong&gt;（数据操作语言）：insert delete update，对表中数据进行增删改&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DDL&lt;/strong&gt;（数据定义语言）：create drop alter，对表结构的增删改&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;TCL&lt;/strong&gt;（事务控制语言）：commit提交事务，rollback回滚事务（T是Transaction）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DCL&lt;/strong&gt;（数据控制语言）：grant授权，revoke撤销权限&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;导入数据（sql文件）
&lt;ol&gt;
&lt;li&gt;登录Mysql&lt;/li&gt;
&lt;li&gt;查看有哪些数据库：show databases;（MySql命令）&lt;/li&gt;
&lt;li&gt;创建自己的数据库：create database mydata;（MySql命令）&lt;/li&gt;
&lt;li&gt;使用mydata数据库：use mydata;&lt;/li&gt;
&lt;li&gt;查看当前使用数据库有哪些表格：show tables;（MySql命令）&lt;/li&gt;
&lt;li&gt;导入sql：source 文件路径;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;.sql文件，以sql结尾，这样的文件被称为&amp;quot;sql脚本&amp;quot;，该文件中编写了大量的sql语句；想批量执行sql语句使用sql脚本&lt;/li&gt;
&lt;li&gt;表结构&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="常见命令使用" class="group"&gt;常见命令使用 &lt;a href="#%e5%b8%b8%e8%a7%81%e5%91%bd%e4%bb%a4%e4%bd%bf%e7%94%a8" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;数据库
&lt;ol&gt;
&lt;li&gt;show databases：查看数据库列表；&lt;/li&gt;
&lt;li&gt;create mydata：创建数据库&lt;/li&gt;
&lt;li&gt;use 数据库：使用数据库&lt;/li&gt;
&lt;li&gt;select database()：查询当前使用数据库&lt;/li&gt;
&lt;li&gt;show version()：查看数据库版本&lt;/li&gt;
&lt;li&gt;drop database mydata：删除数据库&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;表
&lt;ol&gt;
&lt;li&gt;show tables：查看表列表&lt;/li&gt;
&lt;li&gt;desc 表名：查看表结构&lt;/li&gt;
&lt;li&gt;show create table emp：查看emp表创建语句&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;其他
&lt;ol&gt;
&lt;li&gt;\c：结束mysql语句&lt;/li&gt;
&lt;li&gt;quit()：退出数据库&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="查询dql" class="group"&gt;查询（DQL） &lt;a href="#%e6%9f%a5%e8%af%a2dql" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="select" class="group"&gt;select &lt;a href="#select" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;所有sql语句以**‘；’**结尾；sql不区分大小写；sql语句要求字符串使用单引号&lt;/li&gt;
&lt;li&gt;语法格式
select 字段名1，字段名2，&amp;hellip; from 表名;&lt;/li&gt;
&lt;li&gt;字段可以参与数据运算&lt;/li&gt;
&lt;/ol&gt;

&lt;div x-data="postCodeBlock('已复制')" class="font-mono text-base not-prose my-4 rounded-lg border border-tl-base-300/50 overflow-hidden shadow-sm"&gt;
 &lt;div class="px-3 py-2 flex justify-between items-center bg-tl-base-300/60"&gt;
 &lt;span class="cursor-default text-xs text-tl-base-content/70"&gt;sql&lt;/span&gt;
 &lt;span class="flex"&gt;
 &lt;span x-on:click="copyCode" x-ref="copyBtn" class="cursor-copy mr-2 inline-block"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="1545" t="1755222167498" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M720 192h-544A80.096 80.096 0 0 0 96 272v608C96 924.128 131.904 960 176 960h544c44.128 0 80-35.872 80-80v-608C800 227.904 764.128 192 720 192z m16 688c0 8.8-7.2 16-16 16h-544a16 16 0 0 1-16-16v-608a16 16 0 0 1 16-16h544a16 16 0 0 1 16 16v608z" p-id="1546"&gt;&lt;/path&gt;&lt;path d="M848 64h-544a32 32 0 0 0 0 64h544a16 16 0 0 1 16 16v608a32 32 0 1 0 64 0v-608C928 99.904 892.128 64 848 64z" p-id="1547"&gt;&lt;/path&gt;&lt;path d="M608 360H288a32 32 0 0 0 0 64h320a32 32 0 1 0 0-64zM608 520H288a32 32 0 1 0 0 64h320a32 32 0 1 0 0-64zM480 678.656H288a32 32 0 1 0 0 64h192a32 32 0 1 0 0-64z" p-id="1548"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-on:click="showCode = !showCode" class="cursor-pointer mr-2 inline-block"&gt;
 &lt;span x-show="showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8488" t="1755227897558" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M490.666667 601.6L797.866667 298.666667l59.733333 59.733333-302.933333 302.933333-59.733334 64-59.733333-59.733333L128 358.4 187.733333 298.666667l302.933334 302.933333z" p-id="8489"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-show="!showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8047" t="1755227871587" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M401.066667 512l302.933333 302.933333-59.733333 59.733334L341.333333 571.733333 281.6 512 341.333333 452.266667l302.933334-302.933334 59.733333 59.733334L401.066667 512z" p-id="8048"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/div&gt;
 &lt;div x-show="showCode"
 x-cloak
 x-collapse
 x-collapse.duration.500ms
 x-ref="codeBlock"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;select&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ename&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="k"&gt;sql&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="mi"&gt;12&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;as&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;年薪&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;emp&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="err"&gt;查询用户，年薪显示为年薪；可以省略&lt;/span&gt;&lt;span class="n"&gt;as关键字&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="k"&gt;select&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;emp&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="err"&gt;查询所有字段，不建议，效率低&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id="条件查询where" class="group"&gt;条件查询(where) &lt;a href="#%e6%9d%a1%e4%bb%b6%e6%9f%a5%e8%af%a2where" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;select 字段 from 表名 where 条件&lt;/li&gt;
&lt;li&gt;执行顺序：from&amp;ndash;&amp;gt;where&amp;ndash;&amp;gt;select&lt;/li&gt;
&lt;li&gt;&amp;lt;&amp;gt;：不等于（大于小于不等于）&lt;/li&gt;
&lt;li&gt;between &amp;hellip; and &amp;hellip;：闭区间，相当于&amp;gt;= and &amp;lt;=；可以用在字符方面（左闭右开）&lt;/li&gt;
&lt;li&gt;is null、is not null：在数据库中null不是值，代表什么都没有（空），不能使用等号衡量&lt;/li&gt;
&lt;li&gt;and：和，并且；优先级高于or&lt;/li&gt;
&lt;li&gt;or：或者&lt;/li&gt;
&lt;li&gt;in、not in：等同于or，in代表在其中的数据&lt;/li&gt;
&lt;li&gt;like：模糊查询；**%&lt;strong&gt;代表任意多个字符；&lt;/strong&gt;_&lt;strong&gt;代表任意一个字符；可以使用&lt;/strong&gt;‘\’**转义字符&lt;/li&gt;
&lt;/ol&gt;

&lt;div x-data="postCodeBlock('已复制')" class="font-mono text-base not-prose my-4 rounded-lg border border-tl-base-300/50 overflow-hidden shadow-sm"&gt;
 &lt;div class="px-3 py-2 flex justify-between items-center bg-tl-base-300/60"&gt;
 &lt;span class="cursor-default text-xs text-tl-base-content/70"&gt;sql&lt;/span&gt;
 &lt;span class="flex"&gt;
 &lt;span x-on:click="copyCode" x-ref="copyBtn" class="cursor-copy mr-2 inline-block"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="1545" t="1755222167498" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M720 192h-544A80.096 80.096 0 0 0 96 272v608C96 924.128 131.904 960 176 960h544c44.128 0 80-35.872 80-80v-608C800 227.904 764.128 192 720 192z m16 688c0 8.8-7.2 16-16 16h-544a16 16 0 0 1-16-16v-608a16 16 0 0 1 16-16h544a16 16 0 0 1 16 16v608z" p-id="1546"&gt;&lt;/path&gt;&lt;path d="M848 64h-544a32 32 0 0 0 0 64h544a16 16 0 0 1 16 16v608a32 32 0 1 0 64 0v-608C928 99.904 892.128 64 848 64z" p-id="1547"&gt;&lt;/path&gt;&lt;path d="M608 360H288a32 32 0 0 0 0 64h320a32 32 0 1 0 0-64zM608 520H288a32 32 0 1 0 0 64h320a32 32 0 1 0 0-64zM480 678.656H288a32 32 0 1 0 0 64h192a32 32 0 1 0 0-64z" p-id="1548"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-on:click="showCode = !showCode" class="cursor-pointer mr-2 inline-block"&gt;
 &lt;span x-show="showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8488" t="1755227897558" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M490.666667 601.6L797.866667 298.666667l59.733333 59.733333-302.933333 302.933333-59.733334 64-59.733333-59.733333L128 358.4 187.733333 298.666667l302.933334 302.933333z" p-id="8489"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-show="!showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8047" t="1755227871587" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M401.066667 512l302.933333 302.933333-59.733333 59.733334L341.333333 571.733333 281.6 512 341.333333 452.266667l302.933334-302.933334 59.733333 59.733334L401.066667 512z" p-id="8048"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/div&gt;
 &lt;div x-show="showCode"
 x-cloak
 x-collapse
 x-collapse.duration.500ms
 x-ref="codeBlock"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;select&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;sal&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;emp&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;where&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ename&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;SMTTH&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="err"&gt;查询名字叫&lt;/span&gt;&lt;span class="n"&gt;SMTTH的员工的工资&lt;/span&gt;&lt;span class="err"&gt;；字符串用单引号括起来（字段名修饰为&lt;/span&gt;&lt;span class="nb"&gt;varchar&lt;/span&gt;&lt;span class="err"&gt;）&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="k"&gt;select&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ename&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;emp&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;where&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;sal&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&amp;gt;&lt;/span&gt;&lt;span class="mi"&gt;3000&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="err"&gt;工资不等于&lt;/span&gt;&lt;span class="mi"&gt;3000&lt;/span&gt;&lt;span class="err"&gt;的员工&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="k"&gt;select&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ename&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;emp&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;where&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;sql&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;between&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;1000&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;and&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;3000&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="err"&gt;闭区间，工资在&lt;/span&gt;&lt;span class="mi"&gt;1000&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;3000&lt;/span&gt;&lt;span class="err"&gt;的员工&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="k"&gt;select&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ename&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;emp&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;where&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;comm&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;is&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;null&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;or&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;comm&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="err"&gt;没有补助的员工&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="k"&gt;select&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ename&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;emp&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;where&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;sal&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="mi"&gt;1000&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;and&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;deptno&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;or&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;deptno&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="err"&gt;查询工资大于&lt;/span&gt;&lt;span class="mi"&gt;1000&lt;/span&gt;&lt;span class="err"&gt;并且部门编号是&lt;/span&gt;&lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="err"&gt;或者&lt;/span&gt;&lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="err"&gt;的员工；&lt;/span&gt;&lt;span class="n"&gt;and优先级比or高&lt;/span&gt;&lt;span class="err"&gt;，所以使用括号&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="k"&gt;select&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ename&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;emp&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;where&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;sal&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;in&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1000&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;5000&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="err"&gt;工资等于&lt;/span&gt;&lt;span class="mi"&gt;1000&lt;/span&gt;&lt;span class="err"&gt;和&lt;/span&gt;&lt;span class="mi"&gt;5000&lt;/span&gt;&lt;span class="err"&gt;的员工，注意不是包括&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="k"&gt;select&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ename&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;emp&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;where&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ename&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;like&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;_A%&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="err"&gt;名字中第二个字母是&lt;/span&gt;&lt;span class="n"&gt;A的员工&lt;/span&gt;&lt;span class="err"&gt;；可以使用转义查询：\&lt;/span&gt;&lt;span class="n"&gt;_普通字符_&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id="排序order-by" class="group"&gt;排序(order by) &lt;a href="#%e6%8e%92%e5%ba%8forder-by" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;select 字段 from 表 order by 字段&lt;/li&gt;
&lt;li&gt;默认为升序，asc&lt;/li&gt;
&lt;li&gt;降序：desc&lt;/li&gt;
&lt;li&gt;多个排序规则，用**&amp;rsquo;,&amp;rsquo;**隔开，越靠前的字段，占主导地位；只有当前面字段无法排序时，才会启动后面字段&lt;/li&gt;
&lt;li&gt;select &amp;hellip; from &amp;hellip; where &amp;hellip; order by&amp;hellip;：执行顺序from&amp;ndash;&amp;gt;where&amp;ndash;&amp;gt;select&amp;ndash;&amp;gt;order by；order by是最后执行的&lt;/li&gt;
&lt;/ol&gt;

&lt;div x-data="postCodeBlock('已复制')" class="font-mono text-base not-prose my-4 rounded-lg border border-tl-base-300/50 overflow-hidden shadow-sm"&gt;
 &lt;div class="px-3 py-2 flex justify-between items-center bg-tl-base-300/60"&gt;
 &lt;span class="cursor-default text-xs text-tl-base-content/70"&gt;sql&lt;/span&gt;
 &lt;span class="flex"&gt;
 &lt;span x-on:click="copyCode" x-ref="copyBtn" class="cursor-copy mr-2 inline-block"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="1545" t="1755222167498" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M720 192h-544A80.096 80.096 0 0 0 96 272v608C96 924.128 131.904 960 176 960h544c44.128 0 80-35.872 80-80v-608C800 227.904 764.128 192 720 192z m16 688c0 8.8-7.2 16-16 16h-544a16 16 0 0 1-16-16v-608a16 16 0 0 1 16-16h544a16 16 0 0 1 16 16v608z" p-id="1546"&gt;&lt;/path&gt;&lt;path d="M848 64h-544a32 32 0 0 0 0 64h544a16 16 0 0 1 16 16v608a32 32 0 1 0 64 0v-608C928 99.904 892.128 64 848 64z" p-id="1547"&gt;&lt;/path&gt;&lt;path d="M608 360H288a32 32 0 0 0 0 64h320a32 32 0 1 0 0-64zM608 520H288a32 32 0 1 0 0 64h320a32 32 0 1 0 0-64zM480 678.656H288a32 32 0 1 0 0 64h192a32 32 0 1 0 0-64z" p-id="1548"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-on:click="showCode = !showCode" class="cursor-pointer mr-2 inline-block"&gt;
 &lt;span x-show="showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8488" t="1755227897558" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M490.666667 601.6L797.866667 298.666667l59.733333 59.733333-302.933333 302.933333-59.733334 64-59.733333-59.733333L128 358.4 187.733333 298.666667l302.933334 302.933333z" p-id="8489"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-show="!showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8047" t="1755227871587" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M401.066667 512l302.933333 302.933333-59.733333 59.733334L341.333333 571.733333 281.6 512 341.333333 452.266667l302.933334-302.933334 59.733333 59.733334L401.066667 512z" p-id="8048"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/div&gt;
 &lt;div x-show="showCode"
 x-cloak
 x-collapse
 x-collapse.duration.500ms
 x-ref="codeBlock"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;select&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ename&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;sal&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;emp&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;order&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;by&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;sal&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;desc&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;ename&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;asc&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="err"&gt;按照工资降序排列&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="err"&gt;工资相同再按照名字排序&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id="分组函数" class="group"&gt;分组函数 &lt;a href="#%e5%88%86%e7%bb%84%e5%87%bd%e6%95%b0" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;分组函数有：count：计数、sum：求和、max：最大值、min：最小值、avg：平均值&lt;/li&gt;
&lt;li&gt;分组函数只有上面5个；又叫做多行处理，输入多行，输出一行，分组函数自动忽略NULL；&lt;/li&gt;
&lt;li&gt;分组函数不可以直接出现在where子句中，原因：group by语句一定在where执行后执行&lt;/li&gt;
&lt;li&gt;count(*)一定是总记录条数；count(字段)统计字段中不为null的元素&lt;/li&gt;
&lt;/ol&gt;

&lt;div x-data="postCodeBlock('已复制')" class="font-mono text-base not-prose my-4 rounded-lg border border-tl-base-300/50 overflow-hidden shadow-sm"&gt;
 &lt;div class="px-3 py-2 flex justify-between items-center bg-tl-base-300/60"&gt;
 &lt;span class="cursor-default text-xs text-tl-base-content/70"&gt;sql&lt;/span&gt;
 &lt;span class="flex"&gt;
 &lt;span x-on:click="copyCode" x-ref="copyBtn" class="cursor-copy mr-2 inline-block"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="1545" t="1755222167498" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M720 192h-544A80.096 80.096 0 0 0 96 272v608C96 924.128 131.904 960 176 960h544c44.128 0 80-35.872 80-80v-608C800 227.904 764.128 192 720 192z m16 688c0 8.8-7.2 16-16 16h-544a16 16 0 0 1-16-16v-608a16 16 0 0 1 16-16h544a16 16 0 0 1 16 16v608z" p-id="1546"&gt;&lt;/path&gt;&lt;path d="M848 64h-544a32 32 0 0 0 0 64h544a16 16 0 0 1 16 16v608a32 32 0 1 0 64 0v-608C928 99.904 892.128 64 848 64z" p-id="1547"&gt;&lt;/path&gt;&lt;path d="M608 360H288a32 32 0 0 0 0 64h320a32 32 0 1 0 0-64zM608 520H288a32 32 0 1 0 0 64h320a32 32 0 1 0 0-64zM480 678.656H288a32 32 0 1 0 0 64h192a32 32 0 1 0 0-64z" p-id="1548"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-on:click="showCode = !showCode" class="cursor-pointer mr-2 inline-block"&gt;
 &lt;span x-show="showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8488" t="1755227897558" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M490.666667 601.6L797.866667 298.666667l59.733333 59.733333-302.933333 302.933333-59.733334 64-59.733333-59.733333L128 358.4 187.733333 298.666667l302.933334 302.933333z" p-id="8489"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-show="!showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8047" t="1755227871587" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M401.066667 512l302.933333 302.933333-59.733333 59.733334L341.333333 571.733333 281.6 512 341.333333 452.266667l302.933334-302.933334 59.733333 59.733334L401.066667 512z" p-id="8048"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/div&gt;
 &lt;div x-show="showCode"
 x-cloak
 x-collapse
 x-collapse.duration.500ms
 x-ref="codeBlock"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;select&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;count&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ename&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;emp&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="err"&gt;找出总人数，多行处理函数&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="k"&gt;select&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;avg&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sal&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;emp&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="err"&gt;查出平均工资多行处理函数&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="k"&gt;select&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ename&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;ifnull&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;comm&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;emp&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="n"&gt;ifnull&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="err"&gt;空处理函数，如果是空，值为后面的&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="k"&gt;select&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ename&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;sal&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;emp&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;where&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;sal&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="k"&gt;avg&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sal&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="err"&gt;语法错误，分组函数不能出现在&lt;/span&gt;&lt;span class="n"&gt;where子句中&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="k"&gt;select&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;count&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;&lt;span class="k"&gt;sum&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sal&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;&lt;span class="k"&gt;avg&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sal&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;&lt;span class="k"&gt;max&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sal&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;&lt;span class="k"&gt;min&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sal&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;emp&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="err"&gt;分组函数组合起来使用&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id="分组查询group-byhaving" class="group"&gt;分组查询(group by,having) &lt;a href="#%e5%88%86%e7%bb%84%e6%9f%a5%e8%af%a2group-byhaving" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;group：按照某个字段或者某些字段进行分组&lt;/li&gt;
&lt;li&gt;having：是对分组之后的数据进行再次过滤，一定出现在group by中&lt;/li&gt;
&lt;li&gt;分组函数一定在group by执行结束后执行，当一条sql语句没有group by，那么整张表自成一组；而group by语句一定在where执行后执行&lt;/li&gt;
&lt;li&gt;当一个sql语句中出现group by时，select后只能跟参与分组的字段和分组函数；其他字段没意义&lt;/li&gt;
&lt;li&gt;group by多个字段联合起来分组，将多个字段看成一个字段&lt;/li&gt;
&lt;li&gt;能够使用where过滤的，尽量不用having，效率低&lt;/li&gt;
&lt;/ol&gt;

&lt;div x-data="postCodeBlock('已复制')" class="font-mono text-base not-prose my-4 rounded-lg border border-tl-base-300/50 overflow-hidden shadow-sm"&gt;
 &lt;div class="px-3 py-2 flex justify-between items-center bg-tl-base-300/60"&gt;
 &lt;span class="cursor-default text-xs text-tl-base-content/70"&gt;sql&lt;/span&gt;
 &lt;span class="flex"&gt;
 &lt;span x-on:click="copyCode" x-ref="copyBtn" class="cursor-copy mr-2 inline-block"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="1545" t="1755222167498" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M720 192h-544A80.096 80.096 0 0 0 96 272v608C96 924.128 131.904 960 176 960h544c44.128 0 80-35.872 80-80v-608C800 227.904 764.128 192 720 192z m16 688c0 8.8-7.2 16-16 16h-544a16 16 0 0 1-16-16v-608a16 16 0 0 1 16-16h544a16 16 0 0 1 16 16v608z" p-id="1546"&gt;&lt;/path&gt;&lt;path d="M848 64h-544a32 32 0 0 0 0 64h544a16 16 0 0 1 16 16v608a32 32 0 1 0 64 0v-608C928 99.904 892.128 64 848 64z" p-id="1547"&gt;&lt;/path&gt;&lt;path d="M608 360H288a32 32 0 0 0 0 64h320a32 32 0 1 0 0-64zM608 520H288a32 32 0 1 0 0 64h320a32 32 0 1 0 0-64zM480 678.656H288a32 32 0 1 0 0 64h192a32 32 0 1 0 0-64z" p-id="1548"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-on:click="showCode = !showCode" class="cursor-pointer mr-2 inline-block"&gt;
 &lt;span x-show="showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8488" t="1755227897558" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M490.666667 601.6L797.866667 298.666667l59.733333 59.733333-302.933333 302.933333-59.733334 64-59.733333-59.733333L128 358.4 187.733333 298.666667l302.933334 302.933333z" p-id="8489"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-show="!showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8047" t="1755227871587" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M401.066667 512l302.933333 302.933333-59.733333 59.733334L341.333333 571.733333 281.6 512 341.333333 452.266667l302.933334-302.933334 59.733333 59.733334L401.066667 512z" p-id="8048"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/div&gt;
 &lt;div x-show="showCode"
 x-cloak
 x-collapse
 x-collapse.duration.500ms
 x-ref="codeBlock"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;select&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;max&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sal&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;emp&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;group&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;by&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;job&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="err"&gt;找出每个岗位的最高工资&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="k"&gt;select&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ename&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;sal&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;emp&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;where&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;sal&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;select&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;avg&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sal&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;emp&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="err"&gt;找出薪资高于平均工资的人（&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="err"&gt;找出平均工资，&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="err"&gt;找出高于平均工资，子查询）&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="k"&gt;select&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;max&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sal&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;&lt;span class="n"&gt;job&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;emp&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;group&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;by&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;job&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="err"&gt;查询每个岗位的最高工资&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="k"&gt;select&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;max&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sal&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;&lt;span class="n"&gt;job&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;emp&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;group&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;by&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;deptno&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;job&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="err"&gt;查询每个部门不同岗位的最高薪资，分组联合&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="k"&gt;select&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;avg&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sal&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;&lt;span class="n"&gt;deptno&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;emp&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;group&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;by&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;deptno&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;having&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;avg&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sal&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="mi"&gt;2000&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="err"&gt;查询每个部门平均薪资大于&lt;/span&gt;&lt;span class="mi"&gt;2000&lt;/span&gt;&lt;span class="err"&gt;的&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="k"&gt;select&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;distinct&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;job&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;emp&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="err"&gt;查询工作岗位，去除重复&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="k"&gt;select&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;distinct&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;deptno&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;job&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;emp&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="n"&gt;distinct后面所有字段去重&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="k"&gt;select&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;count&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;distinct&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;job&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;emp&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="err"&gt;统计岗位数量，先去重岗位，然后计数&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id="连接查询" class="group"&gt;连接查询 &lt;a href="#%e8%bf%9e%e6%8e%a5%e6%9f%a5%e8%af%a2" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;实际开发中，大部分数据都不是从单表查询，而是多个表联合查询；一般一个业务都会对应多张表，为了解决数据冗余&lt;/p&gt;</description></item><item><title>SpringBoot案例</title><link>https://leiking007.github.io/posts/%EF%B8%8Fjava%E7%BC%96%E7%A8%8B/springboot%E6%A1%88%E4%BE%8B/</link><pubDate>Sat, 04 Jul 2020 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/%EF%B8%8Fjava%E7%BC%96%E7%A8%8B/springboot%E6%A1%88%E4%BE%8B/</guid><description>&lt;h1 id="springboot案例" class="group"&gt;SpringBoot案例 &lt;a href="#springboot%e6%a1%88%e4%be%8b" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="集成" class="group"&gt;集成 &lt;a href="#%e9%9b%86%e6%88%90" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="整合jsp" class="group"&gt;整合jsp &lt;a href="#%e6%95%b4%e5%90%88jsp" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;声明SpringBoot内嵌tomcat对jsp支持依赖&lt;/p&gt;</description></item><item><title>SpringBoot基础</title><link>https://leiking007.github.io/posts/%EF%B8%8Fjava%E7%BC%96%E7%A8%8B/springboot/</link><pubDate>Sat, 04 Jul 2020 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/%EF%B8%8Fjava%E7%BC%96%E7%A8%8B/springboot/</guid><description>&lt;h1 id="springboot" class="group"&gt;SpringBoot &lt;a href="#springboot" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="springboot入门" class="group"&gt;SpringBoot入门 &lt;a href="#springboot%e5%85%a5%e9%97%a8" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="简介" class="group"&gt;简介 &lt;a href="#%e7%ae%80%e4%bb%8b" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;SpringBoot简化了所有的spring配置文件，使开发，部署变得更简单了&lt;/p&gt;</description></item><item><title>JavaSE高级</title><link>https://leiking007.github.io/posts/%EF%B8%8Fjava%E7%BC%96%E7%A8%8B/javase%E9%AB%98%E7%BA%A7/</link><pubDate>Tue, 09 Jun 2020 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/%EF%B8%8Fjava%E7%BC%96%E7%A8%8B/javase%E9%AB%98%E7%BA%A7/</guid><description>&lt;h1 id="javase-高级" class="group"&gt;JavaSE 高级 &lt;a href="#javase-%e9%ab%98%e7%ba%a7" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="数组" class="group"&gt;数组 &lt;a href="#%e6%95%b0%e7%bb%84" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="简介" class="group"&gt;简介 &lt;a href="#%e7%ae%80%e4%bb%8b" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Java中数组是一种引用数据类型&lt;/li&gt;
&lt;li&gt;数组是一个容器，不属于基本数据类型，父类是Obiect&lt;/li&gt;
&lt;li&gt;数组中可以存储可以存储基本数据类型，也可以存储引用数据类型&lt;/li&gt;
&lt;li&gt;因为数组是引用数据类型，所以存储在堆中&lt;/li&gt;
&lt;li&gt;数组中存储的是Java对象，实际存储的是引用地址&lt;/li&gt;
&lt;li&gt;数组长度定义后，不能改变&lt;/li&gt;
&lt;li&gt;一维数组、二维数组、三维数组&lt;/li&gt;
&lt;li&gt;所有数组对象都有length属性&lt;/li&gt;
&lt;li&gt;Java中数组要求存储在数组中元素类型必须统一；int型数组只能存储int类型数据&lt;/li&gt;
&lt;li&gt;所有数组都是拿第一个小方块（首元素）的内存地址作为整个数组的内存地址（标识）；数组在内存中存储数据时，内存地址是连续的&lt;/li&gt;
&lt;li&gt;数组中每个元素都是有下标的，从0开始到（length-1）结束&lt;/li&gt;
&lt;li&gt;好处：查找/检索某个下标上元素时，效率最高的一种结构；因为，地址连续，而且存储数据类型一样，只需要简单的运算就能找出，理解：查找下标为100的元素和查找下标为10000的元素效率一样（不是一个一个查找，算出一个内存地址，直接定位）；&lt;/li&gt;
&lt;li&gt;坏处：地址连续，所以随机删除或者增加元素，效率低，因为需要依次处理后续元素；不能存储大数据，因为很难找到一块大内存的连续空间&lt;/li&gt;
&lt;li&gt;数组扩容，先创建一个大容量数组，然后将需要扩容的数组内容一个一个拷贝到大容量数组中，然后释放原数组内存；Java中数组扩容效率较低&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="语法" class="group"&gt;语法 &lt;a href="#%e8%af%ad%e6%b3%95" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;定义语法：int[] array1；double[] array2；&lt;/p&gt;</description></item><item><title>JavaSE基础</title><link>https://leiking007.github.io/posts/%EF%B8%8Fjava%E7%BC%96%E7%A8%8B/javase%E5%9F%BA%E7%A1%80/</link><pubDate>Tue, 09 Jun 2020 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/%EF%B8%8Fjava%E7%BC%96%E7%A8%8B/javase%E5%9F%BA%E7%A1%80/</guid><description>JavaSE 是 Java 生态的基础，核心围绕「面向对象编程」展开，掌握封装、继承、多态三大特性是关键。本文从核心概念、基础语法、OOP 特性、关键字、内部类等维度进行了体系化梳理，并融入了开发规范、最佳实践和避坑指南，适合初学者夯实基础，也适合开发者作为日常参考。</description></item><item><title>JDBC</title><link>https://leiking007.github.io/posts/%EF%B8%8Fjava%E7%BC%96%E7%A8%8B/jdbc/</link><pubDate>Tue, 09 Jun 2020 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/%EF%B8%8Fjava%E7%BC%96%E7%A8%8B/jdbc/</guid><description>&lt;h1 id="jdbc" class="group"&gt;JDBC &lt;a href="#jdbc" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="简介" class="group"&gt;简介 &lt;a href="#%e7%ae%80%e4%bb%8b" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;JDBC： Java Database Connectivity（Java语言连接数据库）&lt;/li&gt;
&lt;li&gt;JDBC是sun公司定制的一套接口（Java.sql.*）
接口都有调用者和实现者
面向接口调用、面向接口写实现类都是面向接口编程
面向接口：解耦合，降低偶尔度，提高程序扩展力；多态是典型的面向接口编程&lt;/li&gt;
&lt;li&gt;数据库厂家实现接口（驱动），Java程序员调用接口&lt;/li&gt;
&lt;li&gt;首先官网下载对应的Java驱动包，然后将其配置到环境变量classpath中，使用IDEA不需要配置以上环境变量&lt;/li&gt;
&lt;li&gt;JDBC变成六步
&lt;ol&gt;
&lt;li&gt;注册驱动：告诉Java程序，即将链接哪个品牌数据库&lt;/li&gt;
&lt;li&gt;获取链接：表示JVM进程与数据库进程之间的通道打开了，这属于进程间通信，重量级的，使用完后需要释放&lt;/li&gt;
&lt;li&gt;获取数据库操作对象：专门执行sql语句的对象&lt;/li&gt;
&lt;li&gt;执行sql语句：DQL,DML&lt;/li&gt;
&lt;li&gt;执行查询结果集：只有当第四步执行的是select语句时，才有这一步&lt;/li&gt;
&lt;li&gt;释放资源：释放资源，Java与mysql之间属于进程间通信&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="编程六步" class="group"&gt;编程六步 &lt;a href="#%e7%bc%96%e7%a8%8b%e5%85%ad%e6%ad%a5" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;ol start="2"&gt;
&lt;li&gt;结果集有next()方法（有点像是迭代器），有数据返回true，没有数据返回false；
getString()方法，不管数据库字段类型是什么，取出都是String类型；
还可以使用int取出，getInt();
可以使用下标取出，也可以使用字段名取出（查询的字段名）
JDBC中下标从1开始&lt;/li&gt;
&lt;/ol&gt;

&lt;div x-data="postCodeBlock('已复制')" class="font-mono text-base not-prose my-4 rounded-lg border border-tl-base-300/50 overflow-hidden shadow-sm"&gt;
 &lt;div class="px-3 py-2 flex justify-between items-center bg-tl-base-300/60"&gt;
 &lt;span class="cursor-default text-xs text-tl-base-content/70"&gt;java&lt;/span&gt;
 &lt;span class="flex"&gt;
 &lt;span x-on:click="copyCode" x-ref="copyBtn" class="cursor-copy mr-2 inline-block"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="1545" t="1755222167498" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M720 192h-544A80.096 80.096 0 0 0 96 272v608C96 924.128 131.904 960 176 960h544c44.128 0 80-35.872 80-80v-608C800 227.904 764.128 192 720 192z m16 688c0 8.8-7.2 16-16 16h-544a16 16 0 0 1-16-16v-608a16 16 0 0 1 16-16h544a16 16 0 0 1 16 16v608z" p-id="1546"&gt;&lt;/path&gt;&lt;path d="M848 64h-544a32 32 0 0 0 0 64h544a16 16 0 0 1 16 16v608a32 32 0 1 0 64 0v-608C928 99.904 892.128 64 848 64z" p-id="1547"&gt;&lt;/path&gt;&lt;path d="M608 360H288a32 32 0 0 0 0 64h320a32 32 0 1 0 0-64zM608 520H288a32 32 0 1 0 0 64h320a32 32 0 1 0 0-64zM480 678.656H288a32 32 0 1 0 0 64h192a32 32 0 1 0 0-64z" p-id="1548"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-on:click="showCode = !showCode" class="cursor-pointer mr-2 inline-block"&gt;
 &lt;span x-show="showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8488" t="1755227897558" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M490.666667 601.6L797.866667 298.666667l59.733333 59.733333-302.933333 302.933333-59.733334 64-59.733333-59.733333L128 358.4 187.733333 298.666667l302.933334 302.933333z" p-id="8489"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span x-show="!showCode"&gt;
 &lt;svg aria-hidden="true" class="svg-inline" fill="currentColor" height="1em" p-id="8047" t="1755227871587" version="1.1" viewBox="0 0 1024 1024" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M401.066667 512l302.933333 302.933333-59.733333 59.733334L341.333333 571.733333 281.6 512 341.333333 452.266667l302.933334-302.933334 59.733333 59.733334L401.066667 512z" p-id="8048"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/span&gt;
 &lt;/div&gt;
 &lt;div x-show="showCode"
 x-cloak
 x-collapse
 x-collapse.duration.500ms
 x-ref="codeBlock"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-java" data-lang="java"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;Java.sql.*&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;Java.util.*&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;JdbcTest01&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;	&lt;/span&gt;&lt;span class="kd"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;static&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="o"&gt;[]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;throws&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Exception&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;	&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;		&lt;/span&gt;&lt;span class="c1"&gt;//使用资源绑定器&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;		&lt;/span&gt;&lt;span class="n"&gt;ResourceBundle&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;bundle&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;ResourceBundle&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getBundle&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;jdbc&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;		&lt;/span&gt;&lt;span class="n"&gt;Connection&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;conn&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;		&lt;/span&gt;&lt;span class="n"&gt;Statement&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;stmt&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;		&lt;/span&gt;&lt;span class="n"&gt;ResultSet&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;rs&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;		&lt;/span&gt;&lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;			&lt;/span&gt;&lt;span class="c1"&gt;//1.注册驱动&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;			&lt;/span&gt;&lt;span class="c1"&gt;//DriverManager.registerDriver(new com.mysql.jdbc.Driver());&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;			&lt;/span&gt;&lt;span class="c1"&gt;//注册驱动另一种方式,在静态代码块中，使用反射机制加载类，参数是字符串，&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;			&lt;/span&gt;&lt;span class="c1"&gt;//可以写到properties文件中&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;			&lt;/span&gt;&lt;span class="n"&gt;Class&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;forName&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;bundle&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getString&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;driver&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;19&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;20&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;			&lt;/span&gt;&lt;span class="c1"&gt;//2.获取连接&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;21&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;			&lt;/span&gt;&lt;span class="cm"&gt;/*
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;22&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="cm"&gt;				url包括协议、IP、port、资源名
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;23&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="cm"&gt;			*/&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;24&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;			&lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;bundle&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getString&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;url&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;25&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;			&lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;user&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;bundle&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getString&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;user&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;26&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;			&lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;password&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;bundle&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getString&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;password&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;27&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;			&lt;/span&gt;&lt;span class="n"&gt;conn&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;DriverManager&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getConnection&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;url&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;user&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;password&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;28&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;			&lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;conn&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;29&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;30&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;			&lt;/span&gt;&lt;span class="c1"&gt;//3.获取数据库操作对象(专门执行sql语句的)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;31&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;			&lt;/span&gt;&lt;span class="n"&gt;stmt&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;conn&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;createStatement&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;32&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;33&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;			&lt;/span&gt;&lt;span class="c1"&gt;//4.执行sql语句&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;34&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;			&lt;/span&gt;&lt;span class="n"&gt;String&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;sql&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;insert into t_user(name) values (&amp;#39;北京&amp;#39;)&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;35&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;			&lt;/span&gt;&lt;span class="c1"&gt;//专门执行DML语句(insert delete update)；返回值int为影响记录条数&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;36&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;			&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;count&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;stmt&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;executeUpdate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sql&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt;	
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;37&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;			&lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;count&lt;/span&gt;&lt;span class="o"&gt;==&lt;/span&gt;&lt;span class="n"&gt;1&lt;/span&gt;&lt;span class="o"&gt;?&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;插入成功&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;插入失败&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;38&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;			&lt;/span&gt;&lt;span class="n"&gt;sql&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;select * from emp;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;39&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;			&lt;/span&gt;&lt;span class="c1"&gt;//专门执行DQL语句，ResultSet executeQuery(select)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;40&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;			&lt;/span&gt;&lt;span class="n"&gt;rs&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;stmt&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;executeQuery&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sql&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;41&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;42&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;			&lt;/span&gt;&lt;span class="c1"&gt;//5.查询结果集&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;43&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;			&lt;/span&gt;&lt;span class="k"&gt;while&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;rs&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;next&lt;/span&gt;&lt;span class="p"&gt;()){&lt;/span&gt;&lt;span class="c1"&gt;//看是否还有数据&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;44&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;				&lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;rs&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getString&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;ename&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;.&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;//查询出结果的字段名&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;45&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;				&lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;rs&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getString&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;sal&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;.&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;46&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;				&lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;rs&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getString&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;deptno&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;.&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;47&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;				&lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;rs&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getString&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;job&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;.&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;48&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;				&lt;/span&gt;&lt;span class="n"&gt;System&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;49&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;				
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;50&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;			&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;51&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;		&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="k"&gt;catch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Exception&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;52&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;			&lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;printStackTrace&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;53&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;		&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="k"&gt;finally&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;54&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;			&lt;/span&gt;&lt;span class="c1"&gt;//6.释放资源,遵循从小到大依次关闭&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;55&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;			&lt;/span&gt;&lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;56&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;				&lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;rs&lt;/span&gt;&lt;span class="o"&gt;!=&lt;/span&gt;&lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;57&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;					&lt;/span&gt;&lt;span class="n"&gt;rs&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;close&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;58&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;				&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;59&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;			&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="k"&gt;catch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;SQLException&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;60&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;				&lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;printStackTrace&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;61&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;			&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;62&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;			&lt;/span&gt;&lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;63&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;				&lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;stmt&lt;/span&gt;&lt;span class="o"&gt;!=&lt;/span&gt;&lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;64&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;					&lt;/span&gt;&lt;span class="n"&gt;stmt&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;close&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;65&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;				&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;66&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;			&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="k"&gt;catch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;SQLException&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;67&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;				&lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;printStackTrace&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;68&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;			&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;69&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;			&lt;/span&gt;&lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;70&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;				&lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;conn&lt;/span&gt;&lt;span class="o"&gt;!=&lt;/span&gt;&lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;71&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;					&lt;/span&gt;&lt;span class="n"&gt;conn&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;close&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;72&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;				&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;73&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;			&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="k"&gt;catch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;SQLException&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;74&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;				&lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="na"&gt;printStackTrace&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;75&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;			&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;76&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;		&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;77&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;		
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;78&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;	&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;79&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="资源绑定器" class="group"&gt;资源绑定器 &lt;a href="#%e8%b5%84%e6%ba%90%e7%bb%91%e5%ae%9a%e5%99%a8" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;jdbc.properties&lt;/p&gt;</description></item><item><title>Spring</title><link>https://leiking007.github.io/posts/%EF%B8%8Fjava%E7%BC%96%E7%A8%8B/spring/</link><pubDate>Thu, 04 Jun 2020 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/%EF%B8%8Fjava%E7%BC%96%E7%A8%8B/spring/</guid><description>&lt;h1 id="spring" class="group"&gt;Spring &lt;a href="#spring" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="简介" class="group"&gt;简介 &lt;a href="#%e7%ae%80%e4%bb%8b" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Spring：春天&amp;mdash;-&amp;gt;给软件行业带来了春天&lt;/p&gt;</description></item><item><title>MyBatis</title><link>https://leiking007.github.io/posts/%EF%B8%8Fjava%E7%BC%96%E7%A8%8B/mybatis/</link><pubDate>Mon, 23 Mar 2020 00:00:00 +0800</pubDate><guid>https://leiking007.github.io/posts/%EF%B8%8Fjava%E7%BC%96%E7%A8%8B/mybatis/</guid><description>&lt;h1 id="mybatis" class="group"&gt;MyBatis &lt;a href="#mybatis" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="概述" class="group"&gt;概述 &lt;a href="#%e6%a6%82%e8%bf%b0" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="三层架构" class="group"&gt;三层架构 &lt;a href="#%e4%b8%89%e5%b1%82%e6%9e%b6%e6%9e%84" class="heading-anchor" aria-label="标题链接"&gt;¶&lt;/a&gt;&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;界面层（springmvc）：和用户打交道，接受用户请求参数，显示处理结果（jsp，html，servlet）&lt;/li&gt;
&lt;li&gt;业务逻辑层（spring）：接受界面层传递数据，计算逻辑，调用数据库，获取数据&lt;/li&gt;
&lt;li&gt;数据访问层（持久层，MyBatis）：访问数据库，对数据进行查询、删除、修改&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;用户使用界面层&amp;mdash;&amp;gt;业务逻辑层&amp;mdash;&amp;gt;数据访问层（持久层）&amp;mdash;&amp;gt;数据库&lt;/p&gt;</description></item><item><title>关于</title><link>https://leiking007.github.io/about/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://leiking007.github.io/about/</guid><description>&lt;center&gt;&lt;h1&gt;QAQ琵琶行QAQ&lt;/h1&gt;&lt;/center&gt;
&lt;center&gt;
浔阳江头夜送客，枫叶荻花秋瑟瑟。主人下马客在船，举酒欲饮无管弦。
&lt;p&gt;醉不成欢惨将别，别时茫茫江浸月。忽闻水上琵琶声，主人忘归客不发。&lt;/p&gt;</description></item><item><title>花密</title><link>https://leiking007.github.io/flower_passwd/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://leiking007.github.io/flower_passwd/</guid><description/></item></channel></rss>