<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Sql on Sawyer Zheng's Blog</title><link>https://elated-raman-42e0c2.netlify.app/tags/sql/</link><description>Recent content in Sql on Sawyer Zheng's Blog</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Mon, 24 Feb 2025 12:42:11 +0800</lastBuildDate><atom:link href="https://elated-raman-42e0c2.netlify.app/tags/sql/index.xml" rel="self" type="application/rss+xml"/><item><title>Alembic</title><link>https://elated-raman-42e0c2.netlify.app/post/notes/python/alembic/</link><pubDate>Mon, 12 Aug 2024 00:00:00 +0000</pubDate><guid>https://elated-raman-42e0c2.netlify.app/post/notes/python/alembic/</guid><description>&lt;div id="outline-container-headline-1" class="outline-2"&gt;
&lt;h2 id="headline-1"&gt;
常用命令
&lt;/h2&gt;
&lt;div id="outline-text-headline-1" class="outline-text-2"&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;初始化&lt;/p&gt;
&lt;pre class="example"&gt;
alembic init
&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;查看版本&lt;/p&gt;
&lt;pre class="example"&gt;
alembic history
&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;切换版本&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;升级 upgrade&lt;/p&gt;
&lt;pre class="example"&gt;
alembic upgrade &amp;lt;commit-name&amp;gt;
&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;降级 downgrade&lt;/p&gt;
&lt;pre class="example"&gt;
alembic downgrade &amp;lt;commit-name&amp;gt;
&lt;/pre&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;查看现在的版本&lt;/p&gt;
&lt;pre class="example"&gt;
alembic current
&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;生成 sql: &lt;code&gt;--sql&lt;/code&gt; 参数&lt;/p&gt;
&lt;pre class="example"&gt;
alembic upgrade head --sql
&lt;/pre&gt;
&lt;p&gt;注意：这样不会在数据库中直接执行迁移操作&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id="outline-container-headline-2" class="outline-2"&gt;
&lt;h2 id="headline-2"&gt;
流程示例
&lt;/h2&gt;
&lt;div id="outline-text-headline-2" class="outline-text-2"&gt;
&lt;div id="outline-container-headline-3" class="outline-3"&gt;
&lt;h3 id="headline-3"&gt;
创建 almebic commit(version) 方法
&lt;/h3&gt;
&lt;div id="outline-text-headline-3" class="outline-text-3"&gt;
&lt;ol&gt;
&lt;li&gt;编写自己的新版本 models 代码&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;创建版本&lt;/p&gt;</description></item><item><title>Edbi</title><link>https://elated-raman-42e0c2.netlify.app/post/notes/emacs/edbi/</link><pubDate>Fri, 18 Nov 2022 00:00:00 +0000</pubDate><guid>https://elated-raman-42e0c2.netlify.app/post/notes/emacs/edbi/</guid><description>&lt;div id="outline-container-headline-1" class="outline-2"&gt;
&lt;h2 id="headline-1"&gt;
连接 postgres
&lt;/h2&gt;
&lt;div id="outline-text-headline-1" class="outline-text-2"&gt;
&lt;p&gt;参考：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://metacpan.org/pod/DBD::Pg#connect"&gt;DBD::Pg - PostgreSQL database driver for the DBI module - metacpan.org&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;步骤：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code class="verbatim"&gt;M-x edbi:open-db-viewer&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;填写 databse 连接信息&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;dbi:Pg:database=mydb;host=localhost;port=5432&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;dbi:Pg:database=mydb;host=localhost&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>Postgresql</title><link>https://elated-raman-42e0c2.netlify.app/post/notes/database/sql/postgresql/</link><pubDate>Fri, 18 Nov 2022 00:00:00 +0000</pubDate><guid>https://elated-raman-42e0c2.netlify.app/post/notes/database/sql/postgresql/</guid><description>&lt;div id="outline-container-headline-1" class="outline-2"&gt;
&lt;h2 id="headline-1"&gt;
参考
&lt;/h2&gt;
&lt;div id="outline-text-headline-1" class="outline-text-2"&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://postgrescheatsheet.com/#/tables"&gt;Postgres Cheatsheet&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id="outline-container-headline-2" class="outline-2"&gt;
&lt;h2 id="headline-2"&gt;
Cheatsheat
&lt;/h2&gt;
&lt;div id="outline-text-headline-2" class="outline-text-2"&gt;
&lt;div id="outline-container-headline-3" class="outline-3"&gt;
&lt;h3 id="headline-3"&gt;
导出数据库到 .sql 文件
&lt;/h3&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id="outline-container-headline-4" class="outline-2"&gt;
&lt;h2 id="headline-4"&gt;
psql 使用指南
&lt;/h2&gt;
&lt;div id="outline-text-headline-4" class="outline-text-2"&gt;
&lt;p&gt;参考：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://www.postgresql.org/docs/9.4/app-psql.html"&gt;PostgreSQL: Documentation: 9.4: psql&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;psql 使用帮助&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td class="align-center"&gt;表格&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="align-center"&gt;&lt;/td&gt;
&lt;td&gt;\dt&lt;/td&gt;
&lt;td&gt;list tables&lt;/td&gt;
&lt;td&gt;列出所有表格&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="align-center"&gt;&lt;/td&gt;
&lt;td&gt;\d&lt;/td&gt;
&lt;td&gt;table schema&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="align-center"&gt;&lt;/td&gt;
&lt;td&gt;\d+&lt;/td&gt;
&lt;td&gt;table schema detail&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td class="align-center"&gt;数据库&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="align-center"&gt;&lt;/td&gt;
&lt;td&gt;\l&lt;/td&gt;
&lt;td&gt;\list databases&lt;/td&gt;
&lt;td&gt;列举数据库&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="align-center"&gt;&lt;/td&gt;
&lt;td&gt;\l+&lt;/td&gt;
&lt;td&gt;list databases detail&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="align-center"&gt;&lt;/td&gt;
&lt;td&gt;\h CREATE DATABASE&lt;/td&gt;
&lt;td&gt;help on create database&lt;/td&gt;
&lt;td&gt;创建帮助&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="align-center"&gt;&lt;/td&gt;
&lt;td&gt;CREATE DATABASE&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;创建&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="align-center"&gt;&lt;/td&gt;
&lt;td&gt;\c &amp;lt;my-db&amp;gt;&lt;/td&gt;
&lt;td&gt;\connect database&lt;/td&gt;
&lt;td&gt;连接，切换 db&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div id="outline-container-headline-5" class="outline-3"&gt;
&lt;h3 id="headline-5"&gt;
术语
&lt;/h3&gt;
&lt;div id="outline-text-headline-5" class="outline-text-3"&gt;
&lt;div id="outline-container-headline-6" class="outline-4"&gt;
&lt;h4 id="headline-6"&gt;
meta-commands
&lt;/h4&gt;
&lt;div id="outline-text-headline-6" class="outline-text-4"&gt;
&lt;p&gt;形如 &lt;code class="verbatim"&gt;\dt&lt;/code&gt;, &lt;code class="verbatim"&gt;\l+&lt;/code&gt; 等的命令就是 meta-commands&lt;/p&gt;</description></item><item><title>Sqlite</title><link>https://elated-raman-42e0c2.netlify.app/post/notes/database/sql/sqlite/</link><pubDate>Fri, 18 Nov 2022 00:00:00 +0000</pubDate><guid>https://elated-raman-42e0c2.netlify.app/post/notes/database/sql/sqlite/</guid><description>&lt;div id="outline-container-headline-1" class="outline-2"&gt;
&lt;h2 id="headline-1"&gt;
命令行使用指南
&lt;/h2&gt;
&lt;div id="outline-text-headline-1" class="outline-text-2"&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td class="align-center"&gt;表格&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="align-center"&gt;&lt;/td&gt;
&lt;td&gt;.tables&lt;/td&gt;
&lt;td&gt;list tables&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="align-center"&gt;&lt;/td&gt;
&lt;td&gt;.schema&lt;/td&gt;
&lt;td&gt;table schema&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td class="align-center"&gt;数据库&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="align-center"&gt;&lt;/td&gt;
&lt;td&gt;.databases&lt;/td&gt;
&lt;td&gt;list databases&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td class="align-center"&gt;select 结果展示&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="align-center"&gt;&lt;/td&gt;
&lt;td&gt;.header on&lt;/td&gt;
&lt;td&gt;显示表头&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="align-center"&gt;&lt;/td&gt;
&lt;td&gt;.mode column&lt;/td&gt;
&lt;td&gt;按列展示；列对齐&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id="outline-container-headline-2" class="outline-2"&gt;
&lt;h2 id="headline-2"&gt;
列出 databese
&lt;/h2&gt;
&lt;div id="outline-text-headline-2" class="outline-text-2"&gt;
&lt;p&gt;&lt;code class="verbatim"&gt;.databses&lt;/code&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id="outline-container-headline-3" class="outline-2"&gt;
&lt;h2 id="headline-3"&gt;
列出 table
&lt;/h2&gt;
&lt;div id="outline-text-headline-3" class="outline-text-2"&gt;
&lt;p&gt;&lt;code class="verbatim"&gt;.tables&lt;/code&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id="outline-container-headline-4" class="outline-2"&gt;
&lt;h2 id="headline-4"&gt;
table 的信息 schema
&lt;/h2&gt;
&lt;div id="outline-text-headline-4" class="outline-text-2"&gt;
&lt;p&gt;&lt;code class="verbatim"&gt;.schema &amp;lt;your table&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id="outline-container-headline-5" class="outline-2"&gt;
&lt;h2 id="headline-5"&gt;
创建表格
&lt;/h2&gt;
&lt;div id="outline-text-headline-5" class="outline-text-2"&gt;
&lt;div class="src src-sql"&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&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="cl"&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="n"&gt;department&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="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="nb"&gt;INT&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="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="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;dept&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;CHAR&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;50&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="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;emp_id&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;INT&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&gt;&lt;/span&gt;&lt;span class="line"&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;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>Sql</title><link>https://elated-raman-42e0c2.netlify.app/post/notes/database/sql/sql/</link><pubDate>Thu, 01 Sep 2022 00:00:00 +0000</pubDate><guid>https://elated-raman-42e0c2.netlify.app/post/notes/database/sql/sql/</guid><description>&lt;div id="outline-container-headline-1" class="outline-2"&gt;
&lt;h2 id="headline-1"&gt;
教程
&lt;/h2&gt;
&lt;div id="outline-text-headline-1" class="outline-text-2"&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.liaoxuefeng.com/wiki/1177760294764384"&gt;SQL教程 - 廖雪峰的官方网站&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div id="outline-container-headline-2" class="outline-3"&gt;
&lt;h3 id="headline-2"&gt;
python sql
&lt;/h3&gt;
&lt;div id="outline-text-headline-2" class="outline-text-3"&gt;
&lt;ul&gt;
&lt;li&gt;SQLAlchemy&lt;/li&gt;
&lt;li&gt;databases: &lt;a href="https://github.com/encode/databases"&gt;GitHub - encode/databases: Async database support for Python.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;orm: &lt;a href="https://github.com/encode/orm"&gt;GitHub - encode/orm: An async ORM.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id="outline-container-headline-3" class="outline-2"&gt;
&lt;h2 id="headline-3"&gt;
基础命令
&lt;/h2&gt;
&lt;div id="outline-text-headline-3" class="outline-text-2"&gt;
&lt;div id="outline-container-headline-4" class="outline-3"&gt;
&lt;h3 id="headline-4"&gt;
mysql
&lt;/h3&gt;
&lt;div id="outline-text-headline-4" class="outline-text-3"&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;command&lt;/th&gt;
&lt;th&gt;meaning&lt;/th&gt;
&lt;th&gt;comment&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;show databases;&lt;/td&gt;
&lt;td&gt;list all databases&lt;/td&gt;
&lt;td&gt;不要省略复数形式&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;show tables&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;show tables like &amp;#34;%b&amp;#34;&lt;/td&gt;
&lt;td&gt;table eg: db, runoob&lt;/td&gt;
&lt;td&gt;&amp;#34;%old%&amp;#34;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;use databaseName&lt;/td&gt;
&lt;td&gt;use runoob&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;select version()&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;now(), user()&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;describe mysql.user&lt;/td&gt;
&lt;td&gt;list detail information&lt;/td&gt;
&lt;td&gt;每个字段的详情&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;about table (user) in&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;database (mysql)&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id="outline-container-headline-5" class="outline-2"&gt;
&lt;h2 id="headline-5"&gt;
Sqlite
&lt;/h2&gt;
&lt;div id="outline-text-headline-5" class="outline-text-2"&gt;
&lt;div id="outline-container-headline-6" class="outline-3"&gt;
&lt;h3 id="headline-6"&gt;
数据库导出成 .sql 文件
&lt;/h3&gt;
&lt;div id="outline-text-headline-6" class="outline-text-3"&gt;
&lt;p&gt;参考：&lt;/p&gt;</description></item></channel></rss>