ZiuChen.github.io/assets/note_MySQL.md.1a3a19cf.js

58 lines
45 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import{_ as s,o as a,c as l,S as n}from"./chunks/framework.04e6e156.js";const D=JSON.parse('{"title":"MySQL","description":"","frontmatter":{},"headers":[],"relativePath":"note/MySQL.md","filePath":"note/MySQL.md","lastUpdated":1689510110000}'),e={name:"note/MySQL.md"},t=n(`<h1 id="mysql" tabindex="-1">MySQL <a class="header-anchor" href="#mysql" aria-label="Permalink to &quot;MySQL&quot;"></a></h1><h2 id="mysql基础篇" tabindex="-1">MySQL基础篇 <a class="header-anchor" href="#mysql基础篇" aria-label="Permalink to &quot;MySQL基础篇&quot;"></a></h2><h3 id="mysql简单使用" tabindex="-1">MySQL简单使用 <a class="header-anchor" href="#mysql简单使用" aria-label="Permalink to &quot;MySQL简单使用&quot;"></a></h3><p>在命令行窗口输入</p><div class="language-sh line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">sh</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">mysql</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-uroot</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-p1234</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-hlocalhost</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-P3306</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br></div></div><p>指定用户名为 <code>root</code> 密码为 <code>1234</code> 连接host为 <code>localhost</code> 端口号为 <code>3306</code></p><p>除了以明文方式输入密码,也可以通过另一种方式登录:</p><div class="language-sh line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">sh</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">mysql</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-u</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">root</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-p</span></span>
<span class="line"><span style="color:#FFCB6B;">1234</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br></div></div><p>进入mysql命令行工具后查看所有表</p><div class="language-sql line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">sql</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">show databases;</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br></div></div><p>MySQL默认为我们创建了四个表<code> information_schema</code> <code>mysql</code> <code>performance_schema</code> <code>sys</code></p><p>创建一个新的数据库:</p><div class="language-sql line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">sql</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#F78C6C;">create</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">database</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">dbtest1</span><span style="color:#A6ACCD;">;</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br></div></div><p>使用数据库:</p><div class="language-sql line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">sql</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#F78C6C;">use</span><span style="color:#A6ACCD;"> dbtest1;</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br></div></div><p>创建一张表,初始化<code>id</code>与<code>name</code>字段:</p><div class="language-sql line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">sql</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#F78C6C;">create</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">table</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">employees</span><span style="color:#A6ACCD;">(id </span><span style="color:#C792EA;">int</span><span style="color:#A6ACCD;">, </span><span style="color:#F78C6C;">name</span><span style="color:#A6ACCD;"> </span><span style="color:#C792EA;">varchar</span><span style="color:#A6ACCD;">(</span><span style="color:#F78C6C;">15</span><span style="color:#A6ACCD;">));</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br></div></div><p>查看表中数据:</p><div class="language-sql line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">sql</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#F78C6C;">select</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">*</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">from</span><span style="color:#A6ACCD;"> emoloyees;</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br></div></div><p>插入一条数据:</p><div class="language-sql line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">sql</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#F78C6C;">insert into</span><span style="color:#A6ACCD;"> employees </span><span style="color:#F78C6C;">values</span><span style="color:#A6ACCD;">(</span><span style="color:#F78C6C;">1001</span><span style="color:#A6ACCD;">, </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">Tom</span><span style="color:#89DDFF;">&#39;</span><span style="color:#A6ACCD;">);</span></span>
<span class="line"><span style="color:#F78C6C;">insert into</span><span style="color:#A6ACCD;"> employees </span><span style="color:#F78C6C;">values</span><span style="color:#A6ACCD;">(</span><span style="color:#F78C6C;">1002</span><span style="color:#A6ACCD;">, </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">Jack</span><span style="color:#89DDFF;">&#39;</span><span style="color:#A6ACCD;">);</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br></div></div><p>当我们向表中插入中文数据时,<code>5.7</code>版本的MySQL会报错而<code>8.0</code>版本则不会:</p><div class="language-sql line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">sql</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#F78C6C;">insert into</span><span style="color:#A6ACCD;"> employees </span><span style="color:#F78C6C;">values</span><span style="color:#A6ACCD;">(</span><span style="color:#F78C6C;">1003</span><span style="color:#A6ACCD;">, </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">杰瑞</span><span style="color:#89DDFF;">&#39;</span><span style="color:#A6ACCD;">);</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br></div></div><p>检查一下表的信息:</p><div class="language-sql line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">sql</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">show </span><span style="color:#F78C6C;">create</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">table</span><span style="color:#A6ACCD;"> employees;</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br></div></div><p>可以发现,表的默认字符集是 <code>CHARSET=latin1</code> 拉丁字符集,不包含汉字。</p><p>查看编码与比较规则:</p><p>百分号<code>%</code>表示一个到多个字符</p><div class="language-sql line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">sql</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">show variables </span><span style="color:#F78C6C;">like</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">character_%</span><span style="color:#89DDFF;">&#39;</span><span style="color:#A6ACCD;">;</span></span>
<span class="line"><span style="color:#A6ACCD;">show variables </span><span style="color:#F78C6C;">like</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">collation_%</span><span style="color:#89DDFF;">&#39;</span><span style="color:#A6ACCD;">;</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br></div></div><p>若是<code>5.7</code>版本,默认的编码字符集为<code>latin1</code>,而最新的<code>8.0</code>为<code>utf8</code>。配置文件可以在<code>my.ini</code>中修改</p><p>删除一个数据库</p><div class="language-sql line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">sql</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#F78C6C;">drop</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">database</span><span style="color:#A6ACCD;"> dbtest1;</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br></div></div><h3 id="基本的select语句" tabindex="-1">基本的SELECT语句 <a class="header-anchor" href="#基本的select语句" aria-label="Permalink to &quot;基本的SELECT语句&quot;"></a></h3><h4 id="sql分类" tabindex="-1">SQL分类 <a class="header-anchor" href="#sql分类" aria-label="Permalink to &quot;SQL分类&quot;"></a></h4><ul><li>DDL <code>DataDefinitionLanguage</code> 用于定义数据库对象(数据库 表 字段) <ul><li>主要语句关键字包括<code>CREATE</code> <code>DROP</code> <code>ALERT</code>等</li></ul></li><li>DML <code>DataManipulationLanguage</code> 用于对数据库表中的数据进行增删改查 <ul><li>主要语句关键字包括<code>INSERT</code> <code>DELETE</code> <code>UPDATE</code> <code>SELECT</code>等</li><li><code>SELECT</code>是SQL语言的基础最为重要</li></ul></li><li>DQL <code>DataQueryLanguage</code> 用来查询数据库中表的记录 <ul><li>由于查询语句使用的非常频繁,将查询语句单拎出来自成一类</li></ul></li><li>DCL <code>DataControlLanguage</code> 用来创建数据库用户、控制数据库的访问权限 <ul><li>主要的语句关键字包括<code>GRANT</code> <code>REVOKE</code> <code>COMMIT</code> <code>ROLLBACK</code> <code>SAVEPOINT</code>等</li></ul></li></ul><h3 id="sql规则和规范" tabindex="-1">SQL规则和规范 <a class="header-anchor" href="#sql规则和规范" aria-label="Permalink to &quot;SQL规则和规范&quot;"></a></h3><ul><li>SQL语句可以单行或多行书写为了提高可读性各子句分行写必要时使用缩进<strong>以分号结尾</strong></li><li>每条命令以 <code>;</code> 或 <code>\\g</code> 或 <code>\\G</code> 结束</li><li>关键字不能被缩写也不能分行</li><li>关于标点符号 <ul><li>必须保证所有的()、单引号、双引号是成对结束的</li><li>必须使用英文状态下的半角输入方式</li><li>字符串型和日期时间类型的数据可以使用单引号(&#39; &#39;)表示</li><li>列的别名,尽量使用双引号(&quot; &quot;而且不建议省略as</li></ul></li></ul><h4 id="sql大小写规则" tabindex="-1">SQL大小写规则 <a class="header-anchor" href="#sql大小写规则" aria-label="Permalink to &quot;SQL大小写规则&quot;"></a></h4><ul><li>MySQL 在 Windows 环境下是大小写不敏感的</li><li>MySQL 在 Linux 环境下是大小写敏感的 <ul><li>数据库名、表名、表的别名、变量名是严格区分大小写的</li><li>关键字、函数名、列名(或字段名)、列的别名(字段的别名) 是忽略大小写的。</li></ul></li><li>推荐采用统一的书写规范: <ul><li>数据库名、表名、表别名、字段名、字段别名等都小写</li><li>SQL 关键字、函数名、绑定变量等都大写</li></ul></li></ul><h4 id="注释书写方法" tabindex="-1">注释书写方法 <a class="header-anchor" href="#注释书写方法" aria-label="Permalink to &quot;注释书写方法&quot;"></a></h4><ul><li>单行注释:<code>--注释内容</code> 或 <code># 注释内容</code> MySQL独有</li><li>多行注释: /* 注释内容 */</li></ul><h4 id="ddl-数据库操作" tabindex="-1">DDL - 数据库操作 <a class="header-anchor" href="#ddl-数据库操作" aria-label="Permalink to &quot;DDL - 数据库操作&quot;"></a></h4><ul><li>查询 <ul><li>查询所有数据库 <code>SHOW DATABASES;</code></li><li>查询当前数据库 <code>SELECT DATABASE();</code></li></ul></li><li>创建 <ul><li><code>CREATE DATABASE [IF NOT EXISTS] 数据库名 [DEFAULT CHARSET 字符集] [COLLATE 排序规则];</code></li></ul></li><li>删除 <ul><li><code>DROP DATABSE [IF EXISTS] 数据库名</code></li></ul></li><li>使用 <ul><li><code>USE 数据库名</code></li></ul></li></ul><div class="language-shell line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">mysql</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-u</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">root</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-p</span><span style="color:#A6ACCD;"> </span><span style="color:#676E95;font-style:italic;"># 进入mysql</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br></div></div><div class="language-sql line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">sql</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">SHOW DATABASES; # 展示所有数据库</span></span>
<span class="line"><span style="color:#F78C6C;">CREATE</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">DATABASE</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">custom</span><span style="color:#A6ACCD;">; # 创建一个名为custom的数据库</span></span>
<span class="line"><span style="color:#F78C6C;">USE</span><span style="color:#A6ACCD;"> custom; # 使用custom数据库</span></span>
<span class="line"><span style="color:#F78C6C;">SELECT</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">DATABASE</span><span style="color:#89DDFF;">()</span><span style="color:#A6ACCD;">; # 当前使用的是custom数据库</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br></div></div><h4 id="ddl-表操作" tabindex="-1">DDL - 表操作 <a class="header-anchor" href="#ddl-表操作" aria-label="Permalink to &quot;DDL - 表操作&quot;"></a></h4><h5 id="创建表" tabindex="-1">创建表 <a class="header-anchor" href="#创建表" aria-label="Permalink to &quot;创建表&quot;"></a></h5><p><strong>在命令行下可以在多行内编写一个SQL语句</strong></p><div class="language-sql line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">sql</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">SHOW TABLES; # 查询当前数据库所有表</span></span>
<span class="line"><span style="color:#F78C6C;">DESC</span><span style="color:#A6ACCD;"> 表名; # 查询 表结构</span></span>
<span class="line"><span style="color:#A6ACCD;">SHOW </span><span style="color:#F78C6C;">CREATE</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">TABLE</span><span style="color:#A6ACCD;"> 表名; # 查询指定表的建表语句</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br></div></div><div class="language-sql line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">sql</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;"># 创建表</span></span>
<span class="line"><span style="color:#F78C6C;">CREATE</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">TABLE</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">custom</span><span style="color:#A6ACCD;">(</span></span>
<span class="line"><span style="color:#A6ACCD;"> param1 type1 [comment &#39;&#39;],</span></span>
<span class="line"><span style="color:#A6ACCD;"> param2 type2 [comment &#39;&#39;],</span></span>
<span class="line"><span style="color:#A6ACCD;"> param3 type3 [comment &#39;&#39;],</span></span>
<span class="line"><span style="color:#A6ACCD;"> param4 type4 [comment &#39;&#39;]</span></span>
<span class="line"><span style="color:#A6ACCD;">)[comment &#39;&#39;]</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br></div></div><div class="language-sql line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">sql</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;"># 创建一个tb_user表</span></span>
<span class="line"><span style="color:#F78C6C;">create</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">table</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">tb_user</span><span style="color:#A6ACCD;">(</span></span>
<span class="line"><span style="color:#A6ACCD;"> id </span><span style="color:#C792EA;">int</span><span style="color:#A6ACCD;"> comment </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">编号</span><span style="color:#89DDFF;">&#39;</span><span style="color:#A6ACCD;">,</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">name</span><span style="color:#A6ACCD;"> </span><span style="color:#C792EA;">varchar</span><span style="color:#A6ACCD;">(</span><span style="color:#F78C6C;">50</span><span style="color:#A6ACCD;">) comment </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">姓名</span><span style="color:#89DDFF;">&#39;</span><span style="color:#A6ACCD;">,</span></span>
<span class="line"><span style="color:#A6ACCD;"> age </span><span style="color:#C792EA;">int</span><span style="color:#A6ACCD;"> comment </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">年龄</span><span style="color:#89DDFF;">&#39;</span><span style="color:#A6ACCD;">,</span></span>
<span class="line"><span style="color:#A6ACCD;"> gender </span><span style="color:#C792EA;">varchar</span><span style="color:#A6ACCD;">(</span><span style="color:#F78C6C;">1</span><span style="color:#A6ACCD;">) comment </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">性别</span><span style="color:#89DDFF;">&#39;</span></span>
<span class="line"><span style="color:#A6ACCD;"> ) comment </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">用户表</span><span style="color:#89DDFF;">&#39;</span><span style="color:#A6ACCD;">;</span></span>
<span class="line"><span style="color:#A6ACCD;"># 展示数据库中所有表</span></span>
<span class="line"><span style="color:#A6ACCD;">show tables;</span></span>
<span class="line"><span style="color:#A6ACCD;"># 查询表内所有字段</span></span>
<span class="line"><span style="color:#F78C6C;">desc</span><span style="color:#A6ACCD;"> tb_user;</span></span>
<span class="line"><span style="color:#A6ACCD;"># 展示表的所有信息(包含字段注释、存储引擎、默认字符集、排序规则等信息)</span></span>
<span class="line"><span style="color:#A6ACCD;">show </span><span style="color:#F78C6C;">create</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">table</span><span style="color:#A6ACCD;"> tb_user;</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br></div></div><p>案例 - 员工信息表</p><div class="language-sql line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">sql</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#F78C6C;">create</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">table</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">emp</span><span style="color:#A6ACCD;"> (</span></span>
<span class="line"><span style="color:#A6ACCD;"> id </span><span style="color:#C792EA;">int</span><span style="color:#A6ACCD;"> comment </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">编号</span><span style="color:#89DDFF;">&#39;</span><span style="color:#A6ACCD;">,</span></span>
<span class="line"><span style="color:#A6ACCD;"> workno </span><span style="color:#C792EA;">varchar</span><span style="color:#A6ACCD;">(</span><span style="color:#F78C6C;">10</span><span style="color:#A6ACCD;">) comment </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">工号</span><span style="color:#89DDFF;">&#39;</span><span style="color:#A6ACCD;">,</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">name</span><span style="color:#A6ACCD;"> </span><span style="color:#C792EA;">varchar</span><span style="color:#A6ACCD;">(</span><span style="color:#F78C6C;">10</span><span style="color:#A6ACCD;">) comment </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">姓名</span><span style="color:#89DDFF;">&#39;</span><span style="color:#A6ACCD;">,</span></span>
<span class="line"><span style="color:#A6ACCD;"> gender </span><span style="color:#C792EA;">char</span><span style="color:#A6ACCD;">(</span><span style="color:#F78C6C;">1</span><span style="color:#A6ACCD;">) comment </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">性别</span><span style="color:#89DDFF;">&#39;</span><span style="color:#A6ACCD;">,</span></span>
<span class="line"><span style="color:#A6ACCD;"> age </span><span style="color:#F78C6C;">tinyint</span><span style="color:#A6ACCD;"> unsigned comment </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">年龄</span><span style="color:#89DDFF;">&#39;</span><span style="color:#A6ACCD;">,</span></span>
<span class="line"><span style="color:#A6ACCD;"> idcard </span><span style="color:#C792EA;">char</span><span style="color:#A6ACCD;">(</span><span style="color:#F78C6C;">18</span><span style="color:#A6ACCD;">) comment </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">身份证号</span><span style="color:#89DDFF;">&#39;</span><span style="color:#A6ACCD;">,</span></span>
<span class="line"><span style="color:#A6ACCD;"> entrydate </span><span style="color:#C792EA;">date</span><span style="color:#A6ACCD;"> comment </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">入职时间</span><span style="color:#89DDFF;">&#39;</span></span>
<span class="line"><span style="color:#A6ACCD;">) comment </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">员工表</span><span style="color:#89DDFF;">&#39;</span><span style="color:#A6ACCD;">;</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br></div></div><p>创建成功后,输入<code>desc emp</code>查看</p><div class="language-shell line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">mysql&gt;</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">desc</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">emp</span><span style="color:#89DDFF;">;</span></span>
<span class="line"><span style="color:#FFCB6B;">+-----------+------------------+------+-----+---------+-------+</span></span>
<span class="line"><span style="color:#89DDFF;">|</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">Field</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">|</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">Type</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">|</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">Null</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">|</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">Key</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">|</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">Default</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">|</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">Extra</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">|</span></span>
<span class="line"><span style="color:#FFCB6B;">+-----------+------------------+------+-----+---------+-------+</span></span>
<span class="line"><span style="color:#89DDFF;">|</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">id</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">|</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">int</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">|</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">YES</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">|</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">|</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">NULL</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">|</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">|</span></span>
<span class="line"><span style="color:#89DDFF;">|</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">workno</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">|</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">varchar(10</span><span style="color:#A6ACCD;">) </span><span style="color:#89DDFF;">|</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">YES</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">|</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">|</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">NULL</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">|</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">|</span></span>
<span class="line"><span style="color:#89DDFF;">|</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">name</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">|</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">varchar(10</span><span style="color:#A6ACCD;">) </span><span style="color:#89DDFF;">|</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">YES</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">|</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">|</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">NULL</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">|</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">|</span></span>
<span class="line"><span style="color:#89DDFF;">|</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">gender</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">|</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">char(1</span><span style="color:#A6ACCD;">) </span><span style="color:#89DDFF;">|</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">YES</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">|</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">|</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">NULL</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">|</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">|</span></span>
<span class="line"><span style="color:#89DDFF;">|</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">age</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">|</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">tinyint</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">unsigned</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">|</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">YES</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">|</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">|</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">NULL</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">|</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">|</span></span>
<span class="line"><span style="color:#89DDFF;">|</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">idcard</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">|</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">char(18</span><span style="color:#A6ACCD;">) </span><span style="color:#89DDFF;">|</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">YES</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">|</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">|</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">NULL</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">|</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">|</span></span>
<span class="line"><span style="color:#89DDFF;">|</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">entrydate</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">|</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">date</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">|</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">YES</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">|</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">|</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">NULL</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">|</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">|</span></span>
<span class="line"><span style="color:#FFCB6B;">+-----------+------------------+------+-----+---------+-------+</span></span>
<span class="line"><span style="color:#FFCB6B;">7</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">rows</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">in</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">set</span><span style="color:#A6ACCD;"> (0.00 </span><span style="color:#C3E88D;">sec</span><span style="color:#A6ACCD;">)</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br></div></div><h5 id="修改表" tabindex="-1">修改表 <a class="header-anchor" href="#修改表" aria-label="Permalink to &quot;修改表&quot;"></a></h5><div class="language-sql line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">sql</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;"># 添加一个字段</span></span>
<span class="line"><span style="color:#F78C6C;">alter</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">table</span><span style="color:#A6ACCD;"> 表名 </span><span style="color:#F78C6C;">add</span><span style="color:#A6ACCD;"> 字段名 类型(长度) [comment &#39;&#39;]</span></span>
<span class="line"><span style="color:#A6ACCD;"># 修改一个字段</span></span>
<span class="line"><span style="color:#F78C6C;">alter</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">table</span><span style="color:#A6ACCD;"> 表名 </span><span style="color:#F78C6C;">modify</span><span style="color:#A6ACCD;"> 旧字段名 新字段名 类型(长度) [comment &#39;&#39;]</span></span>
<span class="line"><span style="color:#A6ACCD;"># 删除一个字段</span></span>
<span class="line"><span style="color:#F78C6C;">alter</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">table</span><span style="color:#A6ACCD;"> 表名 </span><span style="color:#F78C6C;">drop</span><span style="color:#A6ACCD;"> 字段名</span></span>
<span class="line"><span style="color:#A6ACCD;"># 修改表名</span></span>
<span class="line"><span style="color:#F78C6C;">alter</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">table</span><span style="color:#A6ACCD;"> 表名 rename </span><span style="color:#F78C6C;">to</span><span style="color:#A6ACCD;"> 新表名</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br></div></div><div class="language-sql line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">sql</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#F78C6C;">alter</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">table</span><span style="color:#A6ACCD;"> emp </span><span style="color:#F78C6C;">add</span><span style="color:#A6ACCD;"> nickname </span><span style="color:#C792EA;">varchar</span><span style="color:#A6ACCD;">(</span><span style="color:#F78C6C;">20</span><span style="color:#A6ACCD;">) comment </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">昵称</span><span style="color:#89DDFF;">&#39;</span></span>
<span class="line"><span style="color:#F78C6C;">alter</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">table</span><span style="color:#A6ACCD;"> emp </span><span style="color:#F78C6C;">modify</span><span style="color:#A6ACCD;"> nickname username </span><span style="color:#C792EA;">varchar</span><span style="color:#A6ACCD;">(</span><span style="color:#F78C6C;">30</span><span style="color:#A6ACCD;">)</span></span>
<span class="line"><span style="color:#F78C6C;">alter</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">table</span><span style="color:#A6ACCD;"> emp </span><span style="color:#F78C6C;">drop</span><span style="color:#A6ACCD;"> username</span></span>
<span class="line"><span style="color:#F78C6C;">alter</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">table</span><span style="color:#A6ACCD;"> emp rename </span><span style="color:#F78C6C;">to</span><span style="color:#A6ACCD;"> employee</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br></div></div><h3 id="mysql数据类型" tabindex="-1">MySQL数据类型 <a class="header-anchor" href="#mysql数据类型" aria-label="Permalink to &quot;MySQL数据类型&quot;"></a></h3><h4 id="数值类型" tabindex="-1">数值类型 <a class="header-anchor" href="#数值类型" aria-label="Permalink to &quot;数值类型&quot;"></a></h4><p>在定义字段时,通过关键字<code>UNSIGNED</code>确定其<code>无符号 / 有符号</code></p><table><thead><tr><th style="text-align:left;">类型</th><th style="text-align:left;">大小</th><th style="text-align:left;">范围(有符号)</th><th style="text-align:left;">范围(无符号)</th><th style="text-align:left;">用途</th></tr></thead><tbody><tr><td style="text-align:left;">TINYINT</td><td style="text-align:left;">1 Bytes</td><td style="text-align:left;">(-128127)</td><td style="text-align:left;">(0255)</td><td style="text-align:left;">小整数值</td></tr><tr><td style="text-align:left;">SMALLINT</td><td style="text-align:left;">2 Bytes</td><td style="text-align:left;">(-32 76832 767)</td><td style="text-align:left;">(065 535)</td><td style="text-align:left;">大整数值</td></tr><tr><td style="text-align:left;">MEDIUMINT</td><td style="text-align:left;">3 Bytes</td><td style="text-align:left;">(-8 388 6088 388 607)</td><td style="text-align:left;">(016 777 215)</td><td style="text-align:left;">大整数值</td></tr><tr><td style="text-align:left;">INT或INTEGER</td><td style="text-align:left;">4 Bytes</td><td style="text-align:left;">(-2 147 483 6482 147 483 647)</td><td style="text-align:left;">(04 294 967 295)</td><td style="text-align:left;">大整数值</td></tr><tr><td style="text-align:left;">BIGINT</td><td style="text-align:left;">8 Bytes</td><td style="text-align:left;">(-9,223,372,036,854,775,8089 223 372 036 854 775 807)</td><td style="text-align:left;">(018 446 744 073 709 551 615)</td><td style="text-align:left;">极大整数值</td></tr><tr><td style="text-align:left;">FLOAT</td><td style="text-align:left;">4 Bytes</td><td style="text-align:left;">(-3.402 823 466 E+38-1.175 494 351 E-38)0(1.175 494 351 E-383.402 823 466 351 E+38)</td><td style="text-align:left;">0(1.175 494 351 E-383.402 823 466 E+38)</td><td style="text-align:left;">单精度 浮点数值</td></tr><tr><td style="text-align:left;">DOUBLE</td><td style="text-align:left;">8 Bytes</td><td style="text-align:left;">(-1.797 693 134 862 315 7 E+308-2.225 073 858 507 201 4 E-308)0(2.225 073 858 507 201 4 E-3081.797 693 134 862 315 7 E+308)</td><td style="text-align:left;">0(2.225 073 858 507 201 4 E-3081.797 693 134 862 315 7 E+308)</td><td style="text-align:left;">双精度 浮点数值</td></tr><tr><td style="text-align:left;">DECIMAL</td><td style="text-align:left;">对DECIMAL(M,D) 如果M&gt;D为M+2否则为D+2</td><td style="text-align:left;">依赖于M和D的值</td><td style="text-align:left;">依赖于M和D的值</td><td style="text-align:left;">小数值</td></tr></tbody></table><h4 id="字符串类型" tabindex="-1">字符串类型 <a class="header-anchor" href="#字符串类型" aria-label="Permalink to &quot;字符串类型&quot;"></a></h4><table><thead><tr><th style="text-align:left;">类型</th><th style="text-align:left;">大小</th><th style="text-align:left;">用途</th></tr></thead><tbody><tr><td style="text-align:left;">CHAR</td><td style="text-align:left;">0-255 bytes</td><td style="text-align:left;">定长字符串</td></tr><tr><td style="text-align:left;">VARCHAR</td><td style="text-align:left;">0-65535 bytes</td><td style="text-align:left;">变长字符串</td></tr><tr><td style="text-align:left;">TINYBLOB</td><td style="text-align:left;">0-255 bytes</td><td style="text-align:left;">不超过 255 个字符的二进制字符串</td></tr><tr><td style="text-align:left;">TINYTEXT</td><td style="text-align:left;">0-255 bytes</td><td style="text-align:left;">短文本字符串</td></tr><tr><td style="text-align:left;">BLOB</td><td style="text-align:left;">0-65 535 bytes</td><td style="text-align:left;">二进制形式的长文本数据</td></tr><tr><td style="text-align:left;">TEXT</td><td style="text-align:left;">0-65 535 bytes</td><td style="text-align:left;">长文本数据</td></tr><tr><td style="text-align:left;">MEDIUMBLOB</td><td style="text-align:left;">0-16 777 215 bytes</td><td style="text-align:left;">二进制形式的中等长度文本数据</td></tr><tr><td style="text-align:left;">MEDIUMTEXT</td><td style="text-align:left;">0-16 777 215 bytes</td><td style="text-align:left;">中等长度文本数据</td></tr><tr><td style="text-align:left;">LONGBLOB</td><td style="text-align:left;">0-4 294 967 295 bytes</td><td style="text-align:left;">二进制形式的极大文本数据</td></tr><tr><td style="text-align:left;">LONGTEXT</td><td style="text-align:left;">0-4 294 967 295 bytes</td><td style="text-align:left;">极大文本数据</td></tr></tbody></table><p><strong>注意</strong>char(n) 和 varchar(n) 中括号中 n 代表字符的个数,并不代表字节个数,比如 CHAR(30) 就可以存储 30 个字符。</p><p>CHAR 和 VARCHAR 类型类似,但它们保存和检索的方式不同。它们的最大长度和是否尾部空格被保留等方面也不同。在存储或检索过程中不进行大小写转换。<strong>CHAR性能更优</strong></p><p>BINARY 和 VARBINARY 类似于 CHAR 和 VARCHAR不同的是它们包含二进制字符串而不要非二进制字符串。也就是说它们包含字节字符串而不是字符字符串。这说明它们没有字符集并且排序和比较基于列值字节的数值值。</p><p>BLOB 是一个二进制大对象,可以容纳可变数量的数据。有 4 种 BLOB 类型TINYBLOB、BLOB、MEDIUMBLOB 和 LONGBLOB。它们区别在于可容纳存储范围不同。</p><p>有 4 种 TEXT 类型TINYTEXT、TEXT、MEDIUMTEXT 和 LONGTEXT。对应的这 4 种 BLOB 类型,可存储的最大长度不同,可根据实际情况选择。</p><h4 id="日期时间类型" tabindex="-1">日期时间类型 <a class="header-anchor" href="#日期时间类型" aria-label="Permalink to &quot;日期时间类型&quot;"></a></h4><table><thead><tr><th style="text-align:left;">类型</th><th style="text-align:left;">大小 ( bytes)</th><th style="text-align:left;">范围</th><th style="text-align:left;">格式</th><th style="text-align:left;">用途</th></tr></thead><tbody><tr><td style="text-align:left;">DATE</td><td style="text-align:left;">3</td><td style="text-align:left;">1000-01-01/9999-12-31</td><td style="text-align:left;">YYYY-MM-DD</td><td style="text-align:left;">日期值</td></tr><tr><td style="text-align:left;">TIME</td><td style="text-align:left;">3</td><td style="text-align:left;">&#39;-838:59:59&#39;/&#39;838:59:59&#39;</td><td style="text-align:left;">HH:MM:SS</td><td style="text-align:left;">时间值或持续时间</td></tr><tr><td style="text-align:left;">YEAR</td><td style="text-align:left;">1</td><td style="text-align:left;">1901/2155</td><td style="text-align:left;">YYYY</td><td style="text-align:left;">年份值</td></tr><tr><td style="text-align:left;">DATETIME</td><td style="text-align:left;">8</td><td style="text-align:left;">1000-01-01 00:00:00/9999-12-31 23:59:59</td><td style="text-align:left;">YYYY-MM-DD HH:MM:SS</td><td style="text-align:left;">混合日期和时间值</td></tr><tr><td style="text-align:left;">TIMESTAMP</td><td style="text-align:left;">4</td><td style="text-align:left;">1970-01-01 00:00:00/2038结束时间是第 <strong>2147483647</strong> 秒,北京时间 <strong>2038-1-19 11:14:07</strong>,格林尼治时间 2038年1月19日 凌晨 03:14:07</td><td style="text-align:left;">YYYYMMDD HHMMSS</td><td style="text-align:left;">混合日期和时间值,时间戳</td></tr></tbody></table>`,71),p=[t];function o(r,c,C,y,i,d){return a(),l("div",null,p)}const F=s(e,[["render",o]]);export{D as __pageData,F as default};