<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
					xmlns:content="http://purl.org/rss/1.0/modules/content/"
					xmlns:wfw="http://wellformedweb.org/CommentAPI/"
				  >
<channel>
<title>Navicat Blog</title>
<link>http://www.navicat.com</link>
<language>en-us</language>
<pubDate>Thu, 04 Jun 2026 11:10:13 +0000</pubDate>
<item>
<title>轻松查看执行计划</title>
<link>http://www.navicat.com</link>
<description><![CDATA[  <!DOCTYPE HTML><html><head><title></title></head><body><b>2026  5  29 </b> Robert Gravelle <br/><br/><p></p><h1 class="blog-sub-title"></h1><p> SQL </p>  <p> A  B </p>  <h1 class="blog-sub-title"></h1>  <p><code>EXPLAIN</code>MySQLPostgreSQLMariaDB  SQLite  SQL Server <code>SET SHOWPLAN_ALL ON</code></p>  <p><code>EXPLAIN SELECT * FROM orders WHERE customer_id = 42</code><em></em></p>  <h1 class="blog-sub-title"></h1>  <p></p>  <p><strong></strong> MySQL <code>ALL</code> PostgreSQL <code>Seq Scan</code></p>  <p><strong></strong> <code>ANALYZE</code>  <code>UPDATE STATISTICS</code> </p>  <p><strong></strong></p>  <h1 class="blog-sub-title">Navicat </h1>  <p> <code>EXPLAIN</code>  <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat 17</a> <strong></strong></p>  <p>Navicat Navicat JSON</p>  <p> <code>EXPLAIN</code> Navicat  MySQLPostgreSQL </p>  <img alt="visual_explain (97K)" src="https://www.navicat.com/link/Blog/Image/2026/20260529/CN/visual_explain.jpg" height="852" />  <h1 class="blog-sub-title"></h1>  <p><code>EXPLAIN</code></p>  <p></p>  <h1 class="blog-sub-title"></h1>  <p> <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat</a></p></body></html>]]></description>
</item>
<item>
<title>了解数据库的数据谱系</title>
<link>http://www.navicat.com</link>
<description><![CDATA[  <!DOCTYPE HTML><html><head><title></title></head><body><b>2026  5  22 </b> Robert Gravelle <br/><br/><p><em></em><em></em></p>  <h1 class="blog-sub-title"></h1>  <p>; CRM  ETL </p>  <p><em></em></p>  <h1 class="blog-sub-title"></h1>  <p> GDPR  HIPAA </p>  <p></p>  <p></p>  <h1 class="blog-sub-title"></h1>  <p></p>  <p></p>  <h1 class="blog-sub-title">Navicat</h1>  <p><a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat</a> </p>  <p> ER </p>  <p>Navicat Data Modeler  Data Vault 2.0</p>  <p><em></em><em></em></p>  <p></p>  <h1 class="blog-sub-title"></h1>  <p> ER </p></body></html>]]></description>
</item>
<item>
<title>存储过程与应用程序逻辑：应当如何安置业务规则？</title>
<link>http://www.navicat.com</link>
<description><![CDATA[  <!DOCTYPE HTML><html><head><title></title></head><body><b>2026  5  18 </b> Robert Gravelle <br/><br/><p></p><h1 class="blog-sub-title"></h1><p> 30% <em></em></p><p> SQL  PythonJavaC# </p><h1 class="blog-sub-title"></h1><p></p>  <ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;">   <li></li>   <li></li>   <li></li> </ul> <h1 class="blog-sub-title"></h1><p></p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;">  <li></li>   <li></li>    <li>ORM HibernateSQLAlchemy  Entity Framework </li>    <li></li>  </ul><h1 class="blog-sub-title"></h1><p></p><p><em></em><em></em></p><h1 class="blog-sub-title"></h1><p>Navicat  <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat Premium</a>Pxfx</p><p>Navicat  SQL  Tab Navicat IDENavicat  AI  ClaudeChatGPTGemini </p><h1 class="blog-sub-title"></h1><p></p></body></html>]]></description>
</item>
<item>
<title>从 SQL 美化工具到智能自动补全：开发者生产力工具的发展史</title>
<link>http://www.navicat.com</link>
<description><![CDATA[  <!DOCTYPE HTML><html><head><title> SQL </title></head><body><b>2026  5  8 </b> Robert Gravelle <br/><br/><p></p><h1 class="blog-sub-title"></h1><p>vi  Emacs </p><p>SQL  SQL </p><h1 class="blog-sub-title">IDE IntelliSense </h1><p>20  90  21 IDEVisual StudioEclipse  NetBeans  IntelliSense 1996  Visual Studio </p><p>IntelliSense  API</p><h1 class="blog-sub-title"></h1><p>IDE</p><p> SQL  SQL </p><h1 class="blog-sub-title">AI </h1><p>2021  GitHub Copilot AI Copilot </p><p>AI </p><h1 class="blog-sub-title">Navicat </h1><p>Navicat </p><p>Navicat  SQL  SQL </p><p>Navicat  SQL  Navicat </p><p> SQL </p><p><a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat 17</a>  AI SQL  AI Navicat  AI  ChatGPTGoogle GeminiAnthropic ClaudeDeepSeek </p><h1 class="blog-sub-title"></h1><p> API </p><p>AI </p><p></p></body></html>]]></description>
</item>
<item>
<title>如何在 DBA 团队中管理共享查询库</title>
<link>http://www.navicat.com</link>
<description><![CDATA[  <!DOCTYPE HTML><html><head><title> DBA </title></head><body><b>2026  5  4 </b> Robert Gravelle <br/><br/> <p> DBA  SQL  <code>.sql</code> </p><h1 class="blog-sub-title"></h1>  <p> <code>final_v2_ACTUAL.sql</code> <code>pg_bloat_check.sql</code>  <code>mysql_slow_query_report.sql</code> </p>  <h1 class="blog-sub-title">  </h1>  <p> DBA  Git pull requests SQL </p>  <h1 class="blog-sub-title"></h1>  <p> DBA</p>  <h1 class="blog-sub-title"> Navicat On-Prem Server 3.1 </h1>  <p><a class="default-links" href="https://www.navicat.com.cn/products/navicat-on-prem-server" target="_blank">Navicat On-Prem Server</a> </p>  <p></p>  <p>3.1  AI  AI  SQL  AI AI  API DBA </p>  <p> 3.0  3.1  SQL  SQL </p>  <p></p>  <h1 class="blog-sub-title"></h1>  <p> DBA </p></body></html>]]></description>
</item>
<item>
<title>使用 SSL/TLS 安全连接数据库</title>
<link>http://www.navicat.com</link>
<description><![CDATA[  <!DOCTYPE HTML><html><head><title> SSL/TLS </title></head><body><b>2026  4  24 </b> Robert Gravelle <br/><br/><p>SSL/TLS  SSL/TLS </p><h1 class="blog-sub-title"></h1><p></p> <h1 class="blog-sub-title"></h1>    <p>TLSCA</p>    <p> TLS </p>     <ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;">    <li>CA</li>    <li>CA</li>    <li> TLSmTLS</li></ul>    <h1 class="blog-sub-title"></h1>    <p> TLS </p>    <ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;">     <li>CA</li>     <li> TLS  </li>     <li></li></ul>    <h3>PostgreSQL SSL </h3>    <p>PostgreSQL  SSL  allow SSL SSL prefer SSL require SSL verify-caSSL  CA verify-fullSSL CAverify-ca  verify-full  require </p>    <h1 class="blog-sub-title">SSH </h1>    <p>SSL/TLS SSH SSH SSH  TLSSSH  SSH  TLS </p>    <h1 class="blog-sub-title">Navicat  SSL/TLS  SSH </h1>    <p>Navicat  <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat Premium</a>  SSL/TLS SSL SSL CA  TLS PostgreSQL Navicat  SSL </p>    <p>Navicat  SSH SSH SSH </p>    <p><a class="default-links" href="https://www.navicat.com.cn/products/navicat-on-prem-server" target="_blank">Navicat On-Prem Server</a>  SSL/TLS On-Prem Server  SSL/TLS SSL/TLS  Navicat On-Prem Server </p>    <h1 class="blog-sub-title"></h1>    <p> SSL/TLS  TLS </p></body></html>]]></description>
</item>
<item>
<title>分布式环境中数据库团队协作的最佳实践</title>
<link>http://www.navicat.com</link>
<description><![CDATA[  <!DOCTYPE HTML><html><head><title></title></head><body><b>2026  4  17 </b> Robert Gravelle <br/><br/><p>DBA</p><h1 class="blog-sub-title"></h1><p></p><p> SQL </p><h1 class="blog-sub-title"></h1><p> SQL </p><p></p><h1 class="blog-sub-title"></h1><p></p><p></p><h1 class="blog-sub-title"></h1><p></p><h1 class="blog-sub-title">Navicat On-Prem Server 3.1 </h1><p><a class="default-links" href="https://www.navicat.com.cn/products/navicat-on-prem-server" target="_blank">Navicat On-Prem Server 3.1</a>  BI </p><p></p><p></p><img alt="activity_log (86K)" src="https://www.navicat.com/link/Blog/Image/2026/20260417/CN/activity_log.jpg" /><p></p><p>Navicat On-Prem Server 3.1  LDAP  Microsoft Active Directory  IT  Navicat  WindowsmacOS  Linux 3.1  AI AI AI </p><h1 class="blog-sub-title"></h1><p></p></body></html>]]></description>
</item>
<item>
<title>如何为你的数据库基础设施构建纵深防御策略</title>
<link>http://www.navicat.com</link>
<description><![CDATA[  <!DOCTYPE HTML><html><head><title></title></head><body><b>2026  4  10 </b> Robert Gravelle <br/><br/><p></p><h1 class="blog-sub-title"></h1><p> IP  VPN </p><p></p><h1 class="blog-sub-title"></h1><p>TLS</p><p> AES-256-GCM  ChaCha20-Poly1305 </p><h1 class="blog-sub-title"></h1><p></p><p> LDAP  Active Directory</p><h1 class="blog-sub-title"></h1><p>RBAC</p><p> SELECT </p><h1 class="blog-sub-title"></h1><p></p><p></p><h1 class="blog-sub-title">Navicat On-Prem Server 3.1 </h1><p><a class="default-links" href="https://www.navicat.com.cn/products/navicat-on-prem-server" target="_blank">Navicat On-Prem Server 3.1</a> </p><p>Navicat On-Prem Server  SSL/TLS </p><p>Navicat On-Prem Server  LDAP  Active Directory </p><p></p><h1 class="blog-sub-title"></h1><p></p></body></html>]]></description>
</item>
<item>
<title>云数据库服务的隐性成本（以及何时本地部署更具成本效益）</title>
<link>http://www.navicat.com</link>
<description><![CDATA[  <!DOCTYPE HTML><html><head><title></title></head><body><b>2026  3  27 </b> Robert Gravelle <br/><br/><p></p><h1 class="blog-sub-title"></h1><p></p><p></p><h1 class="blog-sub-title"></h1><p></p><p></p><h1 class="blog-sub-title"></h1><p> DBA </p><p></p><h1 class="blog-sub-title"></h1><p> 60%  70%</p><p> IT </p><p></p><h1 class="blog-sub-title"> Navicat On-Prem Server 3.1 </h1><p> <a class="default-links" href="https://www.navicat.com.cn/products/navicat-on-prem-server" target="_blank">Navicat On-Prem Server 3.1</a> </p><p>Navicat On-Prem Server 3.1 </p><p></p><p> Navicat On-Prem Server 3.1 </p><h1 class="blog-sub-title"></h1><p></p></body></html>]]></description>
</item>
<item>
<title>AI 代码补全如何改变 DBA 编写 SQL 的方式</title>
<link>http://www.navicat.com</link>
<description><![CDATA[  <!DOCTYPE HTML><html><head><title>AI  DBA  SQL </title></head><body><b>2026  3  20 </b> Robert Gravelle <br/><br/><p> SQL </p><h1 class="blog-sub-title">AI </h1><p> SQL IDE FROM </p><figure>      <figcaption>Navicat 17 </figcaption>      <img alt="code_completion (31K)" src="https://www.navicat.com/link/Blog/Image/2026/20260320/CN/code_completion.jpg" width="515" />    </figure><p> AI  90 AI  SQL  JOIN </p><h1 class="blog-sub-title"> DBA </h1><p>AI  AI  DBA AI </p><p>AI NULL  SQL </p><p>AI  SQL  AI DBA AI </p><h1 class="blog-sub-title">Navicat On-Prem Server 3.1  AI </h1><p>20262 <a class="default-links" href="https://www.navicat.com.cn/products/navicat-on-prem-server" target="_blank">Navicat On-Prem Server 3.1</a>  AI  AI</p><p>AI  SQL </p> <figure>      <figcaption>Navicat On-Prem Server 3.1  AI </figcaption>      <img alt="ai_assistant_new_chat (30K)" src="https://www.navicat.com/link/Blog/Image/2026/20260320/CN/ai_assistant_new_chat.jpg" width="340" />    </figure><p> AI  SQL </p><figure>      <figcaption>Navicat On-Prem Server 3.1  AI</figcaption>      <img alt="ask_ai_suggest_code (32K)" src="https://www.navicat.com/link/Blog/Image/2026/20260320/CN/ask_ai_suggest_code.jpg" width="535" />    </figure><h1 class="blog-sub-title"></h1><p>AI  DBA AI  AI </p></body></html>]]></description>
</item>
<item>
<title>本地部署与云数据库托管：如何为组织选择合适的方案</title>
<link>http://www.navicat.com</link>
<description><![CDATA[  <!DOCTYPE HTML><html><head><title></title></head><body><b>2026  3  10 </b> Robert Gravelle <br/><br/><p></p><h1 class="blog-sub-title"></h1><p>on-prem AWSAzureGoogle Cloud </p><p></p><h1 class="blog-sub-title"></h1><p></p><p> VPN </p><h1 class="blog-sub-title"></h1><p> HIPAAGDPRPCI-DSSSOX </p><p> IT </p><h1 class="blog-sub-title"></h1><p><a class="default-links" href="https://www.navicat.com.cn/products/navicat-on-prem-server" target="_blank">Navicat On-Prem Server</a> </p><p> Navicat </p><p> 3.1 20262 AI  AI AI  AI  3.0  MySQLMariaDB  PostgreSQL Fujitsu Enterprise Postgres SQL </p><h1 class="blog-sub-title"></h1><p> IT  <a class="default-links" href="https://www.navicat.com.cn/products/navicat-on-prem-server" target="_blank">Navicat On-Prem Server</a></p><p></p></body></html>]]></description>
</item>
<item>
<title>数据库事务隔离级别的实践指南</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title></title></head><body><b>2026  2  24 </b> Robert Gravelle <br/><br/><p></p><h1 class="blog-sub-title"></h1><p></p><h1 class="blog-sub-title"></h1><p>  </p><h1 class="blog-sub-title"></h1><p>  </p><h1 class="blog-sub-title"></h1><p> 1000 </p><h1 class="blog-sub-title"></h1><p>  </p><h1 class="blog-sub-title"> Navicat </h1><p><a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat</a>  Navicat  Navicat  SQL  SQL  SQL Server SET TRANSACTION ISOLATION LEVEL READ COMMITTED MySQL SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READNavicat </p><p> Navicat Navicat </p><h1 class="blog-sub-title"></h1><p></p></body></html>]]></description>
</item>
<item>
<title>数据库连接池原理解析</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title></title></head><body><b>2026  2  18 </b> Robert Gravelle <br/><br/><p></p><p></p><h1 class="blog-sub-title"></h1><p> 50  100 </p><h1 class="blog-sub-title"></h1><p></p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;">  <li></li>   <li></li>    <li></li>     <li></li></ul><p> 100  20 </p><h1 class="blog-sub-title"></h1><p> 10  30 </p><p> try-finally </p><p></p><h1 class="blog-sub-title"></h1><p><a class="default-links" href="https://www.navicat.com.cn/products/navicat-monitor" target="_blank">Navicat Monitor</a>  Navicat Monitor </p><h1 class="blog-sub-title"></h1><p></p></body></html>]]></description>
</item>
<item>
<title>数据库凭证的安全管理</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title></title></head><body><b>2026  2  13 </b> Robert Gravelle <br/><br/><p></p><h1 class="blog-sub-title"></h1><p></p><p></p><p> HashiCorp VaultAWS Secrets Manager  Azure Key Vault </p><h1 class="blog-sub-title"></h1><p></p><p></p><p></p><h1 class="blog-sub-title"></h1><p> Git </p><p></p><p></p><h1 class="blog-sub-title">Navicat </h1><p><a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat</a>Navicat </p><p>Navicat  SSH / SSH </p><p>Navicat  SSL   <a class="default-links" href="https://www.navicat.com.cn/products/navicat-cloud" target="_blank">Navicat Cloud</a> SSL </p><h1 class="blog-sub-title"></h1><p></p></body></html>]]></description>
</item>
<item>
<title>构建韧性数据库架构</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title></title></head><body><b>2026  2  10 </b> Robert Gravelle <br/><br/><p></p>    <h1 class="blog-sub-title"></h1>        <p></p>    <h1 class="blog-sub-title"></h1>        <p></p>        <p>RTORPORTO  RPO </p>    <h1 class="blog-sub-title"></h1>        <p></p>        <p></p>    <h1 class="blog-sub-title"></h1>        <p></p>        <p></p>    <h1 class="blog-sub-title">Navicat </h1>        <p><a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat</a></p>    <ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;">    <li></li>    <li></li>     <li>Navicat </li>    </ul>        <p><a class="default-links" href="https://www.navicat.com.cn/products/navicat-monitor" target="_blank">Navicat Monitor</a>  MySQLMariaDBPostgreSQL  SQL Server Amazon RDSAmazon AuroraOracle CloudGoogle Cloud  Microsoft Azure </p>    <h1 class="blog-sub-title"></h1>        <p></p></body></html>]]></description>
</item>
<item>
<title>数据库许可模式的未来：探索数据基础设施付费模式的转型之路</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE html><head>    <title></title></head><body><b>2026  2  6 </b> Robert Gravelle <br/><br/>    <p></p>    <h1 class="blog-sub-title"></h1>    <p></p>    <h1 class="blog-sub-title"></h1>    <p> I/O  <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat</a> </p>    <h1 class="blog-sub-title"></h1>    <p> PostgreSQL  MySQL  <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat</a> </p>    <h1 class="blog-sub-title"></h1>    <p>MongoDBElasticsearch  Redis </p>    <h1 class="blog-sub-title"></h1>    <p> <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat</a>  MySQLPostgreSQLMongoDBSQL Server  Oracle </p>    <h1 class="blog-sub-title"></h1>    <p></p></body></html>]]></description>
</item>
<item>
<title>利用 PostgreSQL 的强大力量：Supabase 简介</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> PostgreSQL Supabase </title></head><body><b>2026  1  30 </b> Robert Gravelle <br/><br/>        <p>Supabase  GitHub  100  Supabase Navicat</p>    <h1 class="blog-sub-title"> Supabase?</h1>        <p>Supabase  Postgres  Supabase  PostgreSQL  35  Firebase  SQL  Postgres  NoSQL </p>        <p>Supabase  API</p>    <h1 class="blog-sub-title"></h1>        <p>Supabase  PostgREST  RESTful API CRUD  API  API </p>        <p> Supabase Realtime Elixir Supabase Realtime  PostgreSQL  WebSockets </p>        <p> GoTrue  JWT Supabase Storage  S3  PostgreSQL </p>        <p>Edge  Supabase  Deno  300% pgvector  Supabase  AI </p>    <h1 class="blog-sub-title"></h1>        <p>Supabase  PostgreSQL  SQL  SQL </p>        <p>AISupabase  AI  postgres.new PostgreSQL </p>    <h1 class="blog-sub-title">Navicat  Supabase</h1>        <p>Navicat  Supabase <a class="default-links" href="https://www.navicat.com.cn/products/navicat-for-postgresql" target="_blank">Navicat for PostgreSQL</a>  <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat Premium</a>  Supabase  Supabase </p>        <p> Supabase  Navicat  Supabase Navicat  SQL Navicat 17.3  AI  Supabase </p>        <p>Navicat  Supabase  Supabase Navicat Premium  Supabase  MySQLMongoDBSQL Server </p>    <h1 class="blog-sub-title"></h1>        <p>Supabase  PostgreSQL  Navicat  MVP Supabase </p></body></html>]]></description>
</item>
<item>
<title>数据库自动化的投资回报率：量化自动化调优、补丁与优化的商业价值</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title></title></head><body><b>2026  1  23 </b> Robert Gravelle <br/><br/><p></p>        <h1 class="blog-sub-title"></h1>        <p></p>        <h1 class="blog-sub-title"></h1>        <p> 20%  40%</p>        <h1 class="blog-sub-title"></h1>        <p> 30%  50% </p>        <h1 class="blog-sub-title"> Navicat </h1>        <p><a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat</a> </p>        <p>Navicat  PDF  Navicat </p>        <h1 class="blog-sub-title"></h1>        <p> IT </p></body></html>]]></description>
</item>
<item>
<title>数据库的可观测性：性能管理的新前沿</title>
<link>http://www.navicat.com</link>
<description><![CDATA[  <!DOCTYPE HTML><html><head><title></title></head><body><b>2026  1  16 </b> Robert Gravelle <br/><br/><p> CPU </p><h1 class="blog-sub-title"></h1><p></p><p></p><h1 class="blog-sub-title"></h1><p></p><p></p><h1 class="blog-sub-title">Navicat Monitor</h1><p><a class="default-links" href="https://www.navicat.com.cn/products/navicat-monitor" target="_blank">Navicat Monitor</a>  MySQLMariaDBPostgreSQL  SQL Server  RDS AuroraOracle CloudMicrosoft Azure</p><p>SNMP  Slack </p><p>Navicat Monitor CPU </p><h1 class="blog-sub-title"></h1><p></p></body></html>]]></description>
</item>
<item>
<title>数据库技能差距危机：应对数据库专业人员短缺的问题</title>
<link>http://www.navicat.com</link>
<description><![CDATA[  <!DOCTYPE HTML><html><head><title></title></head><body><b>2026  1  9 </b> Robert Gravelle <br/><br/><p></p><h1 class="blog-sub-title"></h1><p> MySQLPostgreSQLMongoDBOracle  SQL Server </p><h1 class="blog-sub-title"></h1><p> <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat</a>  MySQLPostgreSQLMongoDBSQL ServerOracle </p><h1 class="blog-sub-title"></h1><p> DBA  DBA </p><h1 class="blog-sub-title"></h1><p></p></body></html>]]></description>
</item>
<item>
<title>多云数据库经济</title>
<link>http://www.navicat.com</link>
<description><![CDATA[  <!DOCTYPE HTML><html><head><title></title></head><body><b>2026  1  2 </b> Robert Gravelle <br/><br/><p></p><h1 class="blog-sub-title"></h1><p></p><p></p><h1 class="blog-sub-title"></h1><p></p><p></p><h1 class="blog-sub-title"></h1><p></p><p></p><h1 class="blog-sub-title"> Navicat </h1><p><a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat Premium</a>  MySQLRedisPostgreSQLMongoDBMariaDBSQL ServerOracleSnowflake  SQLite GaussDBOceanBaseTiDBIvorySQLPolarDB </p><p>Navicat  2.0  <a class="default-links" href="https://www.navicat.com.cn/products/navicat-cloud" target="_blank">Navicat Cloud</a> </p><h1 class="blog-sub-title"></h1><p></p></body></html>]]></description>
</item>
<item>
<title>重构共识：分布式数据库一致性的新方法</title>
<link>http://www.navicat.com</link>
<description><![CDATA[  <!DOCTYPE HTML><html><head><title></title></head><body><b>2025  12  24 </b> Robert Gravelle <br/><br/><p>Raft  Paxos </p><p></p><h1 class="blog-sub-title"></h1><p> Raft  Paxos </p><p>CRDTCRDT </p><h1 class="blog-sub-title"></h1><p></p><p></p>    <h1 class="blog-sub-title"> Navicat </h1><P>Navicat <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat Premium</a>  MySQLPostgreSQLMongoDBRedis </P><p>Navicat  Amazon RDSAmazon AuroraMicrosoft Azure SQL Google Cloud SQL  MongoDB Atlas SSH  SSL Navicat </p><h1 class="blog-sub-title"></h1><p> Raft  Paxos </p></body></html>]]></description>
</item>
<item>
<title>数据库容器和 Kubernetes 演进</title>
<link>http://www.navicat.com</link>
<description><![CDATA[  <!DOCTYPE HTML><html><head><title> Kubernetes </title></head><body><b>2025  12  19 </b> Robert Gravelle <br/><br/><p> Kubernetes </p><h1 class="blog-sub-title">StatefulSets </h1><p> Kubernetes  2014 Kubernetes 1.5  StatefulSet  Deployment StatefulSet  Pod  Pod  Pod </p><p>StatefulSets StatefulSets </p><h1 class="blog-sub-title">Operator Kubernetes </h1><p> StatefulSets  Kubernetes Operator Operator  Kubernetes API</p><p> Kubernetes  PostgreSQL  MongoDB </p><h1 class="blog-sub-title"></h1><p>Kubernetes  Pod </p><p>Kubernetes  IOPS  IOPS  Pod  Pod </p><h1 class="blog-sub-title"></h1><p><a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat</a>  Docker  Kubernetes Navicat  MySQLPostgreSQLMongoDBRedis </p><p>Navicat Navicat Monitor  Navicat On-Prem Server  Docker  Navicat </p><h1 class="blog-sub-title"></h1><p> StatefulSetsKubernetes </p></body></html>]]></description>
</item>
<item>
<title>数据库与 WebAssembly 的结合：将数据处理引入到浏览器及更多领域</title>
<link>http://www.navicat.com</link>
<description><![CDATA[  <!DOCTYPE HTML><html><head><title> WebAssembly </title></head><body><b>2025  12  12 </b> Robert Gravelle <br/><br/><p>WebAssemblyWASMedge  edge  WASM </p><h1 class="blog-sub-title">WebAssembly </h1><p>WebAssembly  WASM WindowsmacOSLinux WASM  WASM </p><h1 class="blog-sub-title">WASM  WASM </h1><p> WebAssembly SQLite  WASM edge  SQL DuckDB  OLAP  WASM  WASM  edge </p><p> WASM PostgreSQL  WASM  PostgreSQL MySQL  WASM  Web MongoDB  NoSQL  WASM  Redis  WASM  edge </p><h1 class="blog-sub-title"></h1><p>WASM Web Edge </p><h1 class="blog-sub-title"> Navicat  WASM </h1><p> WASM <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat</a>  WASM  PostgreSQLMySQLMongoDB  Redis WASM </p><h1 class="blog-sub-title"></h1><p> WebAssembly  WASM  edge WASM </p></body></html>]]></description>
</item>
<item>
<title>AI 时代的数据库安全</title>
<link>http://www.navicat.com</link>
<description><![CDATA[  <!DOCTYPE HTML><html><head><title>AI </title></head><body><b>2025  12  5 </b> Robert Gravelle <br/><br/><p></p><h1 class="blog-sub-title"> AI </h1><p> SQL </p><p></p><h1 class="blog-sub-title">AI </h1><p>AI </p><p></p><h1 class="blog-sub-title"> Navicat </h1><p><a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat</a>  SSH  SSL/TLS </p><p>Navicat  PAMLDAPKerberos MFASSO</p><h1 class="blog-sub-title"></h1><p></p></body></html>]]></description>
</item>
<item>
<title>元宇宙中的数据库：满足新的虚拟世界需求</title>
<link>http://www.navicat.com</link>
<description><![CDATA[  <!DOCTYPE HTML><html><head><title></title></head><body><b>2025  11  28 </b> Robert Gravelle <br/><br/><p></p><h1 class="blog-sub-title"></h1><p> 3D  50 </p><h1 class="blog-sub-title"></h1><p>-</p><h1 class="blog-sub-title"></h1><p></p><h1 class="blog-sub-title"> Navicat </h1><p>Navicat <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat Premium</a>  PostgreSQL  PostGIS Navicat  Amazon RDSAzure Database for PostgreSQL  Google Cloud SQLNavicat  Redis  <a class="default-links" href="https://www.navicat.com.cn/products/navicat-data-modeler" target="_blank">Navicat Data Modeler</a></p><h1 class="blog-sub-title"></h1><p></p></body></html>]]></description>
</item>
<item>
<title>地理空间数据库的复兴： 基于定位的应用程序的变革</title>
<link>http://www.navicat.com</link>
<description><![CDATA[ <!DOCTYPE HTML><html><head><title> </title></head><body><b>2025  11  21 </b> Robert Gravelle <br/><br/><p>GIS MySQLSQL Server  PostgreSQL IoT</p><h1 class="blog-sub-title"></h1><p> PostGIS  PostgreSQLMySQL Microsoft SQL Server  Oracle Spatial </p><p> GIS </p><p> R </p><h1 class="blog-sub-title"></h1><p></p><p> Neo4j </p><p></p><h1 class="blog-sub-title"></h1><p> HERE </p><p></p><p></p><h1 class="blog-sub-title">Navicat </h1><p><a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat Premium</a>  PostgreSQLMySQLSQL Server  Oracle</p><p> SQL </p><p>Navicat  ER </p><h1 class="blog-sub-title"></h1><p></p><p></p></body></html>]]></description>
</item>
<item>
<title>数据资产货币化：数据库市场和共享指南</title>
<link>http://www.navicat.com</link>
<description><![CDATA[  <!DOCTYPE HTML><html><head><title></title></head><body><b>2025  11  14 </b> Robert Gravelle <br/><br/><p></p><h1 class="blog-sub-title"></h1><p> 2024  14.9  2030  57.3 </p><p> Gartner  2024 90% </p><h1 class="blog-sub-title"></h1><p></p><p> S3 </p><p></p><h1 class="blog-sub-title"></h1><p>Snowflake Data Marketplace  Snowflake </p><p> AWS Data Exchange Datarade  GoogleBCG Datarade Marketplace  Opendatabay </p><p>2024  35%</p><h1 class="blog-sub-title"></h1><p></p><p> GDPR  CCPA </p><p></p><h1 class="blog-sub-title">Navicat </h1><p>Navicat 2025  3  Snowflake </p><p><a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat Premium</a>  MySQLPostgreSQLMongoDBMariaDBSQL ServerOracleSQLiteRedis  Snowflake</p><p>Navicat  PAMLDAPKerberosMFASSO SSH  SSL/TLS </p><p> <a class="default-links" href="https://www.navicat.com.cn/products/navicat-on-prem-server" target="_blank">Navicat On-Prem Server</a>  Navicat </p><h1 class="blog-sub-title"></h1><p></p><p></p></body></html>]]></description>
</item>
<item>
<title>数据库即代码：将基础设施即代码扩展到数据库管理</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title></title></head><body><b>2025  11  7 </b> Robert Gravelle <br/><br/><p>IaC 25 Data-as-CodeDaC</p><h1 class="blog-sub-title"></h1><p>DaC  SQL </p><p></p><p></p><h1 class="blog-sub-title"></h1><p></p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;">    <li><strong></strong> SQL DDL</li>        <li><strong></strong></li>        <li><strong></strong>CI/CD</li>        <li><strong></strong></li></ul><h1 class="blog-sub-title"></h1><p>Liquibase  Flyway  database-agnostic</p><p></p><p><a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat Premium</a> Navicat </p><h3> SQL</h3><p>Navicat  SQL  DaC </p><h3></h3><p> SQL  DaC </p><h3></h3><p>Navicat  DaC  SQL </p><h3>SQL </h3><p>Navicat  SQL  SQL  SQL  DaC  SQL </p><h3></h3><p>Navicat Data Modeler  SQL </p><h1 class="blog-sub-title"></h1><p></p></body></html>]]></description>
</item>
<item>
<title>跨数据库查询引擎的介绍</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title></title></head><body><b>2025  10  31 </b> Robert Gravelle <br/><br/><p> SQL </p><h1 class="blog-sub-title"></h1><p> SQL  SQL NoSQL </p><p> SQL </p><h1 class="blog-sub-title"></h1><p>Trino PrestoTrino  Facebook  MySQL  PostgreSQL  Apache KafkaAmazon S3  Elasticsearch  PB </p><p>Apache Drill  Drill  JSONParquet  Avro Drill </p><p> Apache Spark SQL Dremio</p><h1 class="blog-sub-title"></h1><p></p><p></p><p> ETL</p><h1 class="blog-sub-title">Navicat Premium </h1><p>Navicat Premium  <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat Premium</a> </p><p>Navicat Premium Navicat </p><h1 class="blog-sub-title"></h1><p> <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat</a> </p></body></html>]]></description>
</item>
<item>
<title>自调优数据库系统的兴起</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title></title></head><body><b>2025  10  17 </b> Robert Gravelle <br/><br/><p></p><h1 class="blog-sub-title"></h1><p></p><p></p><h1 class="blog-sub-title">AI </h1><p></p><p></p><p></p><h1 class="blog-sub-title"></h1><p> - </p><p></p><p></p><h1 class="blog-sub-title"></h1><p>DBA </p><p> <a class="default-links" href="https://www.navicat.com.cn/products/navicat-monitor" target="_blank">Navicat Monitor</a> Navicat MonitorNavicat Monitor </p><figure><figcaption>Navicat Monitor </figcaption><img alt="Navicat Monitor Query Analyzer" src="https://www.navicat.com/link/Blog/Image/2025/20251017/CN/Screenshot_Navicat_Monitor_Query_Analyzer.png"</figure><h1 class="blog-sub-title"></h1><p></p></body></html>]]></description>
</item>
<item>
<title>GraphQL 初学者指南</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title>GraphQL </title></head><body><b>2025  10  8 </b> Robert Gravelle <br/><br/><p> Web REST API -GraphQL  API  Web  GraphQL GraphQL GraphQL  API  API  API </p><h1 class="blog-sub-title"> GraphQL</h1><p>GraphQL  API GraphQL  Facebook  2012  2015  REST API </p><p> GraphQL GraphQL  REST  GraphQL </p><p>GraphQL GraphGraphQL  API </p><h1 class="blog-sub-title">GraphQL </h1><p>GraphQL  REST API  RESTGraphQL </p><p> API  REST GraphQL </p><p>GraphQL  API </p><h1 class="blog-sub-title">GraphQL </h1><p>GraphQL  API </p><p> GraphQL GraphQL  API </p><p> GraphQL </p><h1 class="blog-sub-title"> Navicat  GraphQL</h1><p> GraphQL  API  GraphQL  <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat</a> </p><p>Navicat  GraphQL  GraphQL  PostgreSQLMySQLMongoDB  Redis  GraphQL  Navicat  GraphQL </p><p> GraphQL  GraphQL  API  REST <a class="default-links" href="https://www.navicat.com.cn/products/navicat-monitor" target="_blank">Navicat </a>  GraphQL </p><h1 class="blog-sub-title"></h1><p>GraphQL  API GraphQL  API <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat</a>  GraphQL API  GraphQL </p></body></html>]]></description>
</item>
<item>
<title>对话式数据库接口：从 SQL 到自然语言的数据库交互</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> SQL </title></head><body><b>2025  9  26 </b> Robert Gravelle <br/><br/><p> SQL </p><p> 1000  SQL  NoSQL  <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat</a> </p><h1 class="blog-sub-title"></h1><p></p><p></p><p> </p><h1 class="blog-sub-title">NoSQL </h1><p> NoSQL </p><p>NoSQL NoSQL MongoDB  JSON  Neo4j </p><p> SQL NoSQL  NoSQL  MongoDB  NoSQL </p><h1 class="blog-sub-title"></h1><p><a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat</a> </p><p> Navicat  MySQL  PostgreSQL  MongoDB  NoSQL </p><p>Navicat </p><h1 class="blog-sub-title"></h1><p></p></body></html>]]></description>
</item>
<item>
<title>Navicat On-Prem Server 3.0 介绍</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title>Navicat On-Prem Server 3.0 </title></head><body><b>2025  9  19 </b> Robert Gravelle <br/><br/><p>2024  10  28 <a class="default-links" href="http://navicat.com.cn/company/aboutus/blog/1091-%E9%80%9A%E8%BF%87-navicat-on-prem-server-%E6%97%A0%E7%BC%9D%E7%AE%A1%E7%90%86-mysql-%E5%92%8C-mariadb" target="_blank"> Navicat On-Prem Server  MySQL  MariaDB </a>  Navicat  -  Navicat CloudNavicat Cloud  Navicat  Navicat On-Prem Server  Navicat </p> <p>Navicat  Navicat On-Prem Server 3.0</p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;">  <li> PostgreSQL  Fujitsu Enterprise Postgres </li>  <li> SQL </li>  <li></li>  <li></li></ul>    <p> Navicat On-Prem Server 3.0 MySQLMariaDB  PostgreSQL </p><h1 class="blog-sub-title"> 3.0</h1><p> Navicat On-Prem Server 3.0 </p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;"><li> <a class="default-links" href="https://www.navicat.com.cn/download/navicat-on-prem-server" target="_blank"></a> </li><li> Navicat On-Prem Server</li><li></li><li></li><li>Navicat On-Prem Server </li><li> 3.0 <p><img alt="welcome_screen (56K)" src="https://www.navicat.com/link/Blog/Image/2025/20250919/CN/welcome_screen.jpg" height="653" width="757" /></p></li></ul><p></p><h1 class="blog-sub-title">PostgreSQL  Fujitsu Enterprise Postgres </h1><p>+ PostgreSQLFujitsuHighGo</p><img alt="connection_comparison (53K)" src="https://www.navicat.com/link/Blog/Image/2025/20250919/CN/connection_comparison.jpg" height="521" width="345" /><h1 class="blog-sub-title"></h1><p> Navicat </p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li> SQL SQL </li><li></li></ul><p></p><img alt="query_editor (97K)" src="https://www.navicat.com/link/Blog/Image/2025/20250919/CN/query_editor.jpg" height="721" width="634" /><p> SQL </p><h1 class="blog-sub-title"></h1><p></p><img alt="object_filter (35K)" src="https://www.navicat.com/link/Blog/Image/2025/20250919/CN/object_filter.png" height="450" width="747" /><h1 class="blog-sub-title"></h1><p></p><figure>  <figcaption>  </figcaption> <br>  <img alt="new_connection_dialog (93K)" src="https://www.navicat.com/link/Blog/Image/2025/20250919/CN/new_connection_dialog.jpg" height="725" width="752" /></figure><br><figure>  <figcaption>  </figcaption><br>  <img alt="new_connection_dialog_list_view (64K)" src="https://www.navicat.com/link/Blog/Image/2025/20250919/CN/new_connection_dialog_list_view.jpg" height="639" width="733" /></figure><h1 class="blog-sub-title"></h1><p>Navicat On-Prem Server 3.0 BI Navicat On-Prem Server 3.0  MySQLMariaDBPostgreSQL  Fujitsu Enterprise PostgresFEP</p><p>Navicat On-Prem Server 3.0  WindowsmacOS  Linux  <a class="default-links" href="https://www.navicat.com.cn/download/navicat-on-prem-server" target="_blank"> </a>  14 </p></body></html>]]></description>
</item>
<item>
<title>内存优先数据库如何重塑企业存储</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title></title></head><body><b>2025  9  12 </b> Robert Gravelle <br/><br/><p>PostgreSQL  MySQL  Redis </p><h1 class="blog-sub-title"></h1><p></p><p> RAM </p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;">    <li></li>    <li></li>    <li></li></ul><h1 class="blog-sub-title"></h1><p>PostgreSQLMySQL  Oracle </p><p>PostgreSQL  ACID MySQL  Oracle </p><p></p><h1 class="blog-sub-title"></h1><p>RedisMemcached  Apache Ignite Redis </p><p>Redis  RDB  AOF Redis </p><p></p><h1 class="blog-sub-title"> Navicat </h1><p><a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat</a> </p><p>Navicat  Redis Navicat </p><h1 class="blog-sub-title"></h1><p></p></body></html>]]></description>
</item>
<item>
<title>使用现代数据库可观测性平台超越基本监控</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title></title></head><body><b>2025  8  29 </b> Robert Gravelle <br/><br/><p> CPU </p><h1 class="blog-sub-title"></h1><p></p><p></p><h1 class="blog-sub-title"></h1><p><strong>Datadog's Database Monitoring</strong> </p><p><strong>SolarWinds Database Performance Analyzer</strong> </p><p><strong>Percona Monitoring and Management</strong>  MySQLPostgreSQL  MongoDB </p><h1 class="blog-sub-title"></h1><p><strong>Oracle's Autonomous Database</strong> </p><p><strong>Microsoft SQL Server</strong>  Query Store SQL Server  <strong>Azure Monitor</strong> </p><p><strong>PostgreSQL</strong>  pg_stat_statements  pg_stat_activity </p><h1 class="blog-sub-title">Navicat Monitor: </h1><p><a class="default-links" href="https://www.navicat.com/products/navicat-monitor" target="_blank">Navicat Monitor</a>  MySQLMariaDBPostgreSQLSQL Server </p><p>Navicat Monitor </p><h1 class="blog-sub-title"></h1><p></p></body></html>]]></description>
</item>
<item>
<title>隐私保护数据库：在允许访问的同时保护数据</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE html><html><head>    <title></title></head><body><b>2025  8  19 </b> Robert Gravelle <br/><br/><p>GDPR</p><h1 class="blog-sub-title"></h1><p></p><p><strong></strong></p><p><strong></strong></p><p><strong></strong></p><p><strong></strong></p><h1 class="blog-sub-title"></h1><p><strong>CryptDB</strong>  SQL </p><p><strong>Opaque</strong>  enclaves </p><p><strong>PrivateSQL</strong> </p><p><strong>Microsoft's SEAL</strong></p><h1 class="blog-sub-title"></h1><p></p><p> <strong>PostgreSQL Anonymizer</strong> </p><p><strong>Oracle Database</strong> </p><p><strong>Microsoft SQL Server</strong>  <strong>Always Encrypted</strong> </p><p><strong>Amazon's Aurora</strong> </p><h1 class="blog-sub-title">Navicat </h1><p><a class="default-links" href="https://www.navicat.com/products/navicat-premium" target="_blank">Navicat</a> </p><p></p><p>Navicat </p><h1 class="blog-sub-title"></h1><p> <a class="default-links" href="https://www.navicat.com/products/navicat-premium" target="_blank">Navicat</a> </p></body></html>]]></description>
</item>
<item>
<title>数据库分片服务指南</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title></title></head><body><b>2025  8  8 </b> Robert Gravelle <br/><br/><p></p><p> ID </p><p></p><h1 class="blog-sub-title"></h1><p></p><p></p><p></p><h1 class="blog-sub-title"></h1><p></p> <ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;">  <li>Amazon Web Services  Amazon RDS  Amazon Aurora  DynamoDB </li>  <li>Google Cloud  Cloud Spanner Cloud Spanner </li>    <li>MongoDB Atlas </li>    <li>Microsoft Azure  Cosmos DB </li></ul><p></p><h1 class="blog-sub-title">Navicat </h1><p><a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat</a> </p><p>Navicat </p><p>Navicat  SQL  Navicat </p><p>Navicat </p><h1 class="blog-sub-title"></h1><p> <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat</a> </p></body></html>]]></description>
</item>
<item>
<title>Navicat 17.3 回顾：人工智能驱动的数据库管理占据主导地位</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title>Navicat 17.3 </title></head><body><b>2025  7  29 </b> Robert Gravelle <br/><br/><p> Navicat 17.3 Navicat 17.3  PremiumSoft  Navicat </p><h1 class="blog-sub-title"></h1><p> 17.3  Navicat Fujitsu Enterprise Postgres  PostgreSQL  Azure Cosmos DB for MongoDB </p><p> Navicat IvorySQL  PostgreSQL  PostgreSQL </p><p> Navicat </p><img alt="new_connection_dialog (174K)" src="https://www.navicat.com/link/Blog/Image/2025/20250729/CN/new_connection_dialog.jpg" height="732" width="902" /><h1 class="blog-sub-title">AI </h1><p>Navicat 17.3  AI  ChatGPTDeepseekGoogle GeminiOllama  GrokClaude  Navicat </p><p> AI  AI AI AI  SQL </p><p> AI </p><p> AI  SQL SQL </p><img alt="ai_menu (57K)" src="https://www.navicat.com/link/Blog/Image/2025/20250729/CN/ai_menu.jpg" height="240" width="711" /> <h1 class="blog-sub-title"></h1><p></p><img alt="text_compare (152K)" src="https://www.navicat.com/link/Blog/Image/2025/20250729/CN/text_compare.jpg" height="882" width="734" /><p></p><img alt="expand_button (24K)" src="https://www.navicat.com/link/Blog/Image/2025/20250729/CN/expand_button.jpg" height="372" width="326" /><h1 class="blog-sub-title"></h1><p>Navicat 17.3 </p><p>Navicat 17.3 </p><p>Navicat 17.3  <a class="default-links" href="https://www.navicat.com.cn/navicat-17-highlights" target="_blank">Navicat 17 </a> Navicat 17.3 </p></body></html>]]></description>
</item>
<item>
<title>通过可持续发展为重点的数据库构建未来绿色数据基础设施</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE html><html><head>    <title></title></head><body><b>2025  7  22 </b> Robert Gravelle <br/><br/><p> 1% </p><p></p><h1 class="blog-sub-title"></h1><p></p><p></p><p></p><h1 class="blog-sub-title"></h1><p></p><p></p><p></p><h1 class="blog-sub-title"></h1><p></p><p></p><p></p><h1 class="blog-sub-title"></h1><p> <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat</a> </p><p>Navicat  SQL </p><h1 class="blog-sub-title"></h1><p></p></body></html>]]></description>
</item>
<item>
<title>现代数据库中的量子抗性加密</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title></title></head><body><b>2025  7  9 </b> Robert Gravelle <br/><br/><p> RSAECC Diffie-Hellman  Shor </p>  <p>IBMGoogle Y2Q</p><h1 class="blog-sub-title"></h1><p>PQC</p><p>NIST  CRYSTALS-KyberCRYSTALS-DilithiumSPHINCS+</p><h1 class="blog-sub-title"></h1><p>IBM DB2  CRYSTALS-Kyber  CRYSTALS-Dilithium Oracle </p><p>Microsoft SQL Server  NIST  PostgreSQL   Amazon RDS  Aurora  AWS Google Cloud SQL  TLS Azure SQL  Microsoft </p><p>CockroachDB  MongoDB Atlas  Apple  FoundationDB  TLS </p><h1 class="blog-sub-title">NavicatQuantum </h1><p><a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat</a> </p><p>Navicat </p><h1 class="blog-sub-title"></h1><p> - </p><p></p></body></html>]]></description>
</item>
<item>
<title>区块链数据库：创新与传统数据管理的碰撞</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title></title></head><body><b>2025  7  4 </b> Robert Gravelle <br/><br/>  <p> Navicat </p>        <h1 class="blog-sub-title"></h1>  <p></p>    <p></p>    <h1 class="blog-sub-title"></h1>  <p></p>  <ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;">    <li><strong>BigchainDB</strong> </li>        <li><strong>Hyperledger Fabric</strong>,  Linux </li>        <li><strong>Amazon QLDB (Quantum Ledger Database)</strong> </li>        <li><strong>FlureeDB</strong> </li>        <li><strong>Blockstore</strong>  key-value </li>  </ul>    <h1 class="blog-sub-title"></h1>  <p></li>  <ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;">    <li><strong>PostgreSQL</strong>  pg_crypto </li>        <li><strong>MongoDB</strong> </li>        <li><strong>Oracle Blockchain Tables</strong>  Oracle  SQL </li>        <li><strong>Microsoft SQL Server Ledger</strong> </li>        <li><strong>Immudb</strong> </li>  </ul>  <h1 class="blog-sub-title"> Navicat </h1>  <p><a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat</a> Navicat </p>    <p>Navicat Navicat </p>    <h1 class="blog-sub-title"></h1>  <p></p>    <p> <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat</a> </p></body></html>]]></description>
</item>
<item>
<title>现代数据库中嵌入式 AI/ML 功能的兴起</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> AI/ML </title></head><body><b>2025  6  27 </b> Robert Gravelle <br/><br/>  <h1 class="blog-sub-title"></h1>  <p>AIML AI/ML  AI/ML </p>  <h1 class="blog-sub-title"></h1>  <p></p>  <p> AI/ML </p>  <h1 class="blog-sub-title"></h1>  <p> AI/ML </p>  <p> SQL </p>  <p></p>  <h1 class="blog-sub-title"> AI/ML </h1>  <p>Microsoft SQL Server  R  Python Oracle's Autonomous Database PostgreSQL  MADlib  SQL </p>  <p>Amazon Redshift ML  SQL Google BigQuery ML  SQL  Snowflake  Snowpark </p>  <h1 class="blog-sub-title"> AI </h1>  <p> AI   <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat</a>  AI Navicat AI  17.2 Navicat  AI  SQL  AI  Navicat  AI  ChatGPTGoogle GeminiDeepSeek  Ollama</p>  <h1 class="blog-sub-title"></h1>  <p> AI/ML  AI/ML </p>  <p> AI/ML </p></body></html>]]></description>
</item>
<item>
<title>不可变数据库：数据完整性的演变？</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title></title></head><body><b>2025  6  23 </b> Robert Gravelle <br/><br/><p> Navicat </p>  <h1 class="blog-sub-title"></h1>    <p></p>      <p></p><h1 class="blog-sub-title"></h1><p></p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li><strong>Datomic</strong>  datoms</li><li><strong>LMDB</strong></li><li><strong>InfluxDB</strong> </li><li><strong>EventStoreDB</strong> </li><li> <strong>BigchainDB</strong><strong>Amazon Quantum Ledger Database</strong> QLDB<strong>Hyperledger Fabric</strong></li></ul><h1 class="blog-sub-title"></h1><p></p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"> <li><strong>PostgreSQL</strong>  pg_audit </li><li>Microsoft <strong>SQL Server</strong>  SQL Server 2016 </li><li><strong>Oracle</strong> Flashback Query</li><li><strong>MongoDB</strong> Change Streams</li><li><strong>Amazon DynamoDB</strong> Point-in-Time Recovery, PITR35</li></ul><h1 class="blog-sub-title"> Navicat </h1><p><a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat</a>  PostgreSQLMySQLMariaDBSQL ServerOracle  MongoDB</p><p>Navicat Navicat </p><h1 class="blog-sub-title"></h1><p> <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat</a> </p></body></html>]]></description>
</item>
<item>
<title>通过数据虚拟化与数据联合实现无缝信息访问</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE html><html><head>    <title></title></head><body><b>2025  6  18 </b> Robert Gravelle <br/><br/>    <p>--NoSQL SaaS </p>    <h1 class="blog-sub-title"></h1>    <p></p>    <p> </p>    <h1 class="blog-sub-title"></h1>    <p> ETL </p>    <h1 class="blog-sub-title"></h1>    <p>-- --</p>    <h1 class="blog-sub-title"></h1>    <p><a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat</a>  Navicat Navicat  MySQLPostgreSQLSQL ServerOracle  MariaDBNavicat </p>    <h1 class="blog-sub-title"></h1>    <p>----</p></body></html>]]></description>
</item>
<item>
<title>数据库开发运维的集成：弥合开发与运维之间的鸿沟</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE html><html><head>    <title></title></head><body><b>2025  6  13 </b> Robert Gravelle <br/><br/>    <p></p>    <h1 class="blog-sub-title"></h1>    <p> </p>    <h1 class="blog-sub-title"></h1>    <p> Git </p>        <p></p>        <p></p>        <p></p>    <h1 class="blog-sub-title"></h1>    <p></p>    <h1 class="blog-sub-title"></h1>    <p>  </p>        <p></p>        <p></p>    <h1 class="blog-sub-title"></h1>    <p> <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat</a> </p>    <ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;">     <li>Navicat </li>     <li></li>      <li>Navicat  SQL </li>    </ul>        <h1 class="blog-sub-title"></h1>    <p></p></body></html>]]></description>
</item>
<item>
<title>Edge Databases：赋能分布式计算环境</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE html><html><head>    <title>Edge Databases</title></head><body><b>2025  5  30 </b> Robert Gravelle <br/><br/>    <p>Edge </p>    <h1 class="blog-sub-title"> Edge Databases</h1>    <p>Edge Databases </p>        <p></p>    <h1 class="blog-sub-title">Edge Database </h1>    <p>Edge Databases </p>        <ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;">    <li></li>        <li></li>        <li> </li>        <li></li>    </ul>        <h1 class="blog-sub-title"> Edge Databases </h1>    <p> Edge </p>    <ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;">      <li>SQLite SQLite  600KB SQL </li>            <li>CouchDB  PouchDB </li>            <li>RxDB </li>            <li>Firebase Realtime Database </li>            <li>Berkeley DB </li>    </ul>    <h1 class="blog-sub-title">Edge Databases </h1>    <p>MySQLPostgreSQL  SQL Server </p>        <p>Amazon DynamoDBGoogle Cloud Spanner  Azure Cosmos DB </p>        <p>Edge Databases </p>    <h1 class="blog-sub-title">Edge Databases </h1>    <p> <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat</a> </p>    <h1 class="blog-sub-title"></h1>    <p>Edge </p></body></html>]]></description>
</item>
<item>
<title>低代码/无代码数据库接口的兴起：数据管理民主化</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>/</title></head><body><b>2025  5  22 </b> Robert Gravelle <br/><br/><p>SQL Navicat </p><h1 class="blog-sub-title"></h1><p></p><p></p><h1 class="blog-sub-title"></h1><p>/ IT </p><p>/</p><h1 class="blog-sub-title">Navicat</h1><p><a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat</a> Navicat  SQL Visual Query Builder SQL </p><p>Navicat  SQL Navicat  SQL </p><p>Navicat  SQL  SQL </p><h1 class="blog-sub-title"></h1><p>/</p><p>/<a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat</a> </p></body></html>]]></description>
</item>
<item>
<title>Data Vault 2.0：企业数据建模的现代方法</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Data Vault 2.0</title></head><body><b>2025  5  16 </b> Robert Gravelle <br/><br/>    <p>Data Vault 2.0  Data Vault 2.0 </p>    <h1 class="blog-sub-title"></h1>  <p>-Dan LinstedtKimballInmonData Vault 1.0 Data Vault 2.0  2013 </p>    <h1 class="blog-sub-title">Data Vault 2.0 </h1>  <p>Data Vault 2.0 </p>  <ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;">    <li>--</li>     <li></li><li></li>  </ul>     <p>Data Vault 2.0 </p>    <h1 class="blog-sub-title"></h1>  <p>Data Vault 2.0 </p>    <p> Data Vault 2.0  30-40%Data Vault 2.0 </p>    <h1 class="blog-sub-title"></h1>  <p> Data Vault 2.0 </p>    <h1 class="blog-sub-title">Navicat Data Modeler  Data Vault 2.0</h1>  <p><a class="default-links" href="https://www.navicat.com.cn/products/navicat-data-modeler" target="_blank">Navicat Data Modeler</a>  Data Vault 2.0  Data Vault 2.0  Navicat Data Modeler </p>    <h1 class="blog-sub-title"></h1>  <p>Data Vault 2.0 Data Vault 2.0 </p></body></html>]]></description>
</item>
<item>
<title>流式优先架构：彻底改变实时数据处理</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title></title></head><body><b>2025  5  9 </b> Robert Gravelle <br/><br/>    <p> RDBMS</p>    <h1 class="blog-sub-title"></h1>    <p></p>    <h1 class="blog-sub-title"></h1>    <p>Apache Kafka Kafka  LinkedIn UberNetflix  Airbnb  Kafka Apache Flink </p>    <h1 class="blog-sub-title"></h1>    <p></p>    <ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;">    <li>PostgreSQL  pg_stream </li>     <li>MongoDB  API  oplog</li>    <li>Oracle  Oracle Stream Analytics</li>     <li>Microsoft SQL Server  Azure Stream Analytics </li>    </ul>    <h1 class="blog-sub-title"></h1>    <p></p>    <ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;">    <li></li>     <li></li>    <li></li>    </ul>    <p></p>    <h1 class="blog-sub-title"></h1>    <p><a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat</a> </p>    <h1 class="blog-sub-title"></h1>    <p></p></body></html>]]></description>
</item>
<item>
<title>数据库即服务（DBaaS）领域的最新创新</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>DBaaS</title></head><body><b>2025  4  28 </b> Robert Gravelle <br/><br/>    <p>DBaaS DBaaS </p>    <h1 class="blog-sub-title"></h1>    <p>DBaaSAWS Aurora Azure SQL  MongoDB Atlas </p>    <h1 class="blog-sub-title"></h1>    <p> DBaaS Oracle Autonomous Database  Microsoft Azure SQL Database </p>    <h1 class="blog-sub-title"></h1>    <p>CockroachDBMongoDB Atlas  DataStax Astra </p>    <h1 class="blog-sub-title"></h1>    <p>DBaaS InfluxDB Cloud  TimescaleDB Neo4j Aura  Amazon Neptune Pinecone  Weaviate </p>    <h1 class="blog-sub-title"></h1>    <p><a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat</a>  Amazon RDSAzure SQL Database  Google Cloud SQL  AWSAzureGCP </p>    <h1 class="blog-sub-title"></h1>    <p> DBaaS DBaaS </p></body></html>]]></description>
</item>
<item>
<title>跨界融合：传统数据库与时间序列解决方案如何协同工作</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE html><html><head>    <title></title></head><body><b>2025  4  17 </b> Robert Gravelle <br/><br/>         <p>TSDB</p>        <p>RDBMS</p>    <h1 class="blog-sub-title"></h1>    <p>TSDB</p>        <p> TimescaleDB PostgreSQL  PostgreSQL TimescaleDB RDBMSSQL </p>        <p> Microsoft  Oracle Microsoft SQL Server  Oracle Database RDBMS</p>        <h1 class="blog-sub-title"></h1>    <p>TSDB MySQL  Oracle RDBMSInfluxDBPrometheus  Graphite  TSDB  ETL API </p>        <p> Amazon TimestreamAzure Data Explorer  Google Cloud  BigQuery  SQL </p>        <h1 class="blog-sub-title"> Navicat </h1>    <p>Navicat  <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat</a>  MySQLPostgreSQL SQL Server RDBMS SQL  Navicat</p>        <h1 class="blog-sub-title"></h1>    <p> <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat</a> </p></body></html>]]></description>
</item>
<item>
<title>现代数据库如何推动数据隐私保护</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE html><html><head>    <title></title></head><body>  <b>2025  4  14 </b> Robert Gravelle <br/><br/>    <p></p>    <h1 class="blog-sub-title"></h1>    <p></p>    <h1 class="blog-sub-title">PostgreSQL </h1>    <p>PostgreSQL  </p>    <h1 class="blog-sub-title">Oracle </h1>    <p>Oracle TDEOracle </p>    <h1 class="blog-sub-title">Microsoft SQL Server </h1>    <p> SQL Server Always EncryptedDynamic Data MaskingRow-Level Security</p>    <h1 class="blog-sub-title">MongoDB </h1>    <p>MongoDB </p>    <h1 class="blog-sub-title"></h1>    <p><a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat</a> Navicat </p>    <h1 class="blog-sub-title"></h1>    <p> <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat</a> </p></body></html>]]></description>
</item>
<item>
<title>零 ETL 数据库如何改变现代数据集成</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title> ETL </title></head><body><b>2025  3  28 </b> Robert Gravelle <br/><br/>    <p>ETL ETL  ETL </p>    <h1 class="blog-sub-title"> ETL </h1>    <p> ETL --</p>    <p> ETL Snowflake  ETL Google BigQuery  Redshift  Aurora  ETL </p>    <h1 class="blog-sub-title"></h1>    <p> ETL </p>   <ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;">      <li>PostgreSQL  ETL  Snowflake  Amazon Redshift </li>        <li>MySQL  ETL  Aurora MySQL  Redshift  ETL  MySQL </li>        <li> Atlas MongoDB  ETL  MongoDB </li>        <li>Redis  ETL  ETL </li>  </ul>    <h1 class="blog-sub-title"></h1>    <p> ETL  ETL  ETL </p>    <p> ETL </p>    <p> <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat</a>  ETL </p>    <h1 class="blog-sub-title"></h1>    <p> ETL  <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat</a></p></body></html>]]></description>
</item>
<item>
<title>混合事务/分析处理：缩小操作与分析之间的差距</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE html><html lang="en"><head>  <meta charset="UTF-8">  <title>/</title></head><body><b>2025  3  20 </b> Robert Gravelle <br/><br/>    <p> OLTPOLAP/HTAP HTAP  HTAP  HTAP </p>    <h1 class="blog-sub-title">HTAP </h1>    <p>HTAP ETLHTAP </p><img alt="HTAP_diagram (55K)" src="https://www.navicat.com/link/Blog/Image/2025/20250320/HTAP_diagram.png" height="436" width="830" />    <h1 class="blog-sub-title"> HTAP</h1>    <p> SAP HANA  MemSQL  HTAP  HTAP MongoDB  HTAP MongoDB </p>    <p>PostgreSQL  HTAP FDWPostgreSQL  TimescaleDB  PostgreSQL  Citus  PostgreSQL </p>    <p>MySQL NDB  HTAPInnoDB MySQL  HTAP </p>    <h1 class="blog-sub-title">HTAP </h1>  <p> HTAP <a class="default-links" href="https://www.navicat.com/en/products/navicat-premium" target="_blank">Navicat</a> Navicat  HTAP </p>    <h1 class="blog-sub-title"></h1>    <p> HTAP HTAP </p>    <p>HTAP  HTAP </p></body></html>]]></description>
</item>
<item>
<title>Navicat 17.2：AI 支持与云功能升级驱动更智能的数据库管理</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title>Navicat 17.2AI </title></head><body><b>2025  3  10 </b> Robert Gravelle <br/><br/><p>20248Navicat17.1Enhanced Query ExplainExpanded Database Connectivity17.2 Beta </p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;">  <li>AI <br/>   Navicat  AI   </li>  <li> Snowflake <br/>  Navicat  Snowflake   </li>  <li><br/>  </li>  <li>BI <br/>    </li></ul><p></p><h1 class="blog-sub-title">AI </h1><p>AI Navicat AI  AI  Navicat SQL  ChatGPTGoogle GeminiDeepSeek Ollama  AI  </p><p> AI  AI </p><img alt="ai_assistant (66K)" src="https://www.navicat.com/link/Blog/Image/2025/20250310/ai_assistant.jpg"/><h1 class="blog-sub-title"> Snowflake </h1><p>Snowflake  AWSAzure  Google Cloud </p><p> Navicat  snowflake </p><img alt="snowflake_support (77K)" src="https://www.navicat.com/link/Blog/Image/2025/20250310/snowflake_support.jpg"/><h1 class="blog-sub-title"></h1><p></p><p></p><img alt="new_model_types (84K)" src="https://www.navicat.com/link/Blog/Image/2025/20250310/new_model_types.jpg"/><h1 class="blog-sub-title">BI </h1><p>Navicat 17 BI </p><img alt="bi_data_profiling (77K)" src="https://www.navicat.com/link/Blog/Image/2025/20250310/bi_data_profiling.jpg"/><h1 class="blog-sub-title"></h1><p>Navicat 17.2 </p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li> &amp; </li><li> MongoDB </li><li></li></ul><h1 class="blog-sub-title"></h1><p> Navicat 17.2  <a class="default-links" href="https://www.navicat.com.cn" target="_blank">Navicat </a> </p></body></html>]]></description>
</item>
<item>
<title>数据湖仓一体架构&mdash;&mdash;企业数据管理的演进</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title></title></head><body><b>2025  3  5 </b> Robert Gravelle <br/><br/><p></p><h1 class="blog-sub-title"></h1><p> Apache Parquet ACID </p><h1 class="blog-sub-title"></h1><p> Delta LakeApache Hudi  Apache Iceberg </p><h1 class="blog-sub-title"></h1><p> Apache Spark  TrinoSQLDatabricks SQL  Snowflake </p><h1 class="blog-sub-title"></h1><p>PostgreSQL  ACID  JSON </p><p>MongoDB </p><p>Redis </p><h1 class="blog-sub-title"></h1><p> <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat</a> Navicat  PostgreSQLMongoDBRedis </p><h1 class="blog-sub-title"></h1><p>  <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat</a> </p></body></html>]]></description>
</item>
<item>
<title>通过数据库网格架构构建现代分布式数据系统</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title></title></head><body><b>2025  2  27 </b> Robert Gravelle <br/><br/><p> PostgreSQL  MongoDB </p><h1 class="blog-sub-title"></h1><p></p><h1 class="blog-sub-title"></h1><p>z</p><p></p><p></p><h1 class="blog-sub-title"></h1><p></p> <ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li><strong>PostgreSQL</strong>  ACID PostgreSQL </li><li><strong>MongoDB</strong>  JSON </li><li> <strong>Redis</strong> Redis  pub/sub </li><li> <strong>Elasticsearch</strong> </li></ul><h1 class="blog-sub-title"></h1><p></p><p> </p><p><a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat</a> </p><h1 class="blog-sub-title"></h1><p> <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat</a> </p></body></html>]]></description>
</item>
<item>
<title>多模式数据库如何向现代数据管理变革</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title></title></head><body><b>2025  2  20 </b> Robert Gravelle <br/><br/><p></p><h1 class="blog-sub-title"></h1><p>--</p><p></p><h1 class="blog-sub-title"></h1><p> SQL  AI/ML </p><p>MongoDB  PostgreSQL </p><h1 class="blog-sub-title"></h1><p></p><p><strong></strong> PostgreSQL  JSON </p><p><strong></strong>  Navicat </p><p><strong></strong> </p><p><strong></strong> </p><h1 class="blog-sub-title"></h1><p></p><p><strong></strong> </p><p><strong></strong> </p><p><strong></strong> </p><h1 class="blog-sub-title"></h1><p><a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat</a>  <a class="default-links" href="https://www.navicat.com.cn/products/navicat-for-mongodb" target="_blank">MongoDB</a>  <a class="default-links" href="https://www.navicat.com.cn/products/navicat-for-postgresql" target="_blank">PostgreSQL</a> </p><h1 class="blog-sub-title"></h1><p></p><p> Navicat </p></body></html>]]></description>
</item>
<item>
<title>PostgreSQL 的崛起与无服务器数据库的新时代</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title>PostgreSQL </title></head><body><b>2025  2  13 </b> Robert Gravelle <br/><br/><img alt="PostgreSQL's Rise header (45K)" src="https://www.navicat.com/link/Blog/Image/2025/20250213/PostgreSQL's%20Rise%20header.jpg" height="372" width="732" /><p> <a class="default-links" href="https://survey.stackoverflow.co/2023/" target="_blank">2023  Stack Overflow </a> PostgreSQL  MySQL  PostgreSQL </p><p>  MySQL  PlanetScale  PostgreSQL  Neon <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat</a>  Navicat </p><p></p><h1 class="blog-sub-title">PlanetScale MySQL </h1><p>PlanetScale  Vitess  MySQL  Vitess  YouTube  Git  PlanetScale </p><p></p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;">  <li></li>  <li></li>  <li></li>  <li></li>  <li></li></ul><h1 class="blog-sub-title">NeonPostgreSQL n</h1><p>Neon  PostgreSQL Neon  PostgreSQL </p><p></p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;">  <li> PostgreSQL </li>  <li></li>  <li></li>  <li></li>  <li></li></ul><h1 class="blog-sub-title"></h1><p> PlanetScale  Neon  MySQL PlanetScale  Git </p><p>Neon  PostgreSQL -</p><h1 class="blog-sub-title"></h1><p>PlanetScale  Neon MySQL  PostgreSQL </p><p>  Stack Overflow  PostgreSQL  <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat</a> PlanetScale  Neon Navicat </p></body></html>]]></description>
</item>
<item>
<title>在 Navicat 17 中扩展 PostgreSQL 数据类型 - 第四部分</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> Navicat 17  PostgreSQL  - </title></head><body><b>2025  1  27 </b> Robert Gravelle <br/><br/><h1 class="blog-sub-title"></h1><p>PostgreSQL PostgreSQL  PostgreSQL  MySQL <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat Premium 17</a>  PostgreSQL </p><h1 class="blog-sub-title"></h1><p>PostgreSQL  10  20 </p><p>PostgreSQL</p><p> <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat Premium 17</a>  <a class="default-links" href="https://neon.tech/postgresql/postgresql-getting-started/postgresql-sample-database" target="_blank"> DVD </a> </p><h1 class="blog-sub-title"></h1><p> PostgreSQL </p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;">  <li>int4range</li>  <li>int8rangebigint </li>  <li>numrange</li>  <li>tsrange: </li>  <li>tstzrange</li>  <li>daterange</li></ul>   <p> DVD Rental </p><pre>-- Creating a custom minutes range type with specific validationCREATE TYPE runtime_range AS RANGE (    subtype = integer,    subtype_diff = int4mi);CREATE TABLE film_runtime_categories (   category_name VARCHAR(50),   typical_runtime runtime_range,   CHECK (lower(typical_runtime) &gtl= 30 AND upper(typical_runtime) &lt;= 240));-- Adding rows to the tableINSERT INTO film_runtime_categories VALUES    ('Short Film', '[30,45]');INSERT INTO film_runtime_categories VALUES    ('Feature Film', '[75,180]');</pre><h3> Navicat 17 </h3><p> Navicat  <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat Premium 17</a>  <a class="default-links" href="https://www.navicat.com/products/navicat-for-postgresql" target="_blank">Navicat for PostgreSQL 17</a> </p><img alt="type_menu_command (33K)" src="https://www.navicat.com/link/Blog/Image/2025/20250127/CN/type_menu_command.jpg"/><p></p><img alt="range_menu_item (31K)" src="https://www.navicat.com/link/Blog/Image/2025/20250127/CN/range_menu_item.jpg"/><p> SQL  int4 </p><img alt="range_type_general_tab (35K)" src="https://www.navicat.com/link/Blog/Image/2025/20250127/CN/range_type_general_tab.jpg"/><p>SQL  Navicat </p><img alt="range_type_sql_preview (22K)" src="https://www.navicat.com/link/Blog/Image/2025/20250127/CN/range_type_sql_preview.jpg"/><p></p><p> runtime_range </p><img alt="range_type_save_as_dialog (38K)" src="https://www.navicat.com/link/Blog/Image/2025/20250127/CN/range_type_save_as_dialog.jpg"/><p> PostgreSQL runtime_rangefilm_runtime_categoriestypical_runtime</p><img alt="runtime_range_type_in_table_designer (74K)" src="https://www.navicat.com/link/Blog/Image/2025/20250127/CN/runtime_range_type_in_table_designer.jpg"/><p></p><img alt="typical_runtime_check (42K)" src="https://www.navicat.com/link/Blog/Image/2025/20250127/CN/typical_runtime_check.jpg"/><h1 class="blog-sub-title"></h1><p> <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat Premium 17</a>  5 </p></body></html>]]></description>
</item>
<item>
<title>在 Navicat 17 中扩展 PostgreSQL 数据类型 - 第三部分</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> Navicat 17  PostgreSQL  - </title></head><body><b>2025  1  17 </b> Robert Gravelle <br/><br/><h1 class="blog-sub-title"></h1><p> <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat Premium 17</a>  PostgreSQL  <a class="default-links" href="https://www.navicat.com.cn/company/aboutus/blog/1104-%E5%9C%A8-navicat-17-%E4%B8%AD%E6%89%A9%E5%B1%95-postgresql-%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B.html" target="_blank"> 1 </a>  <a class="default-links" href="https://neon.tech/postgresql/postgresql-getting-started/postgresql-sample-database" target="_blank"> DVD </a> </p><h1 class="blog-sub-title"></h1><p>ENUMs</p><p> PostgreSQL  CREATE TYPE </p><pre>CREATE TYPE user_status AS ENUM ('active', 'inactive', 'suspended', 'pending');</pre><p></p><pre>CREATE TYPE movie_rating AS ENUM ('G', 'PG', 'PG-13', 'R', 'NC-17');</pre><p></p><pre>CREATE TABLE films (  film_id SERIAL PRIMARY KEY,  title VARCHAR(255),  rating movie_rating);</pre><h1 class="blog-sub-title"> Navicat 17 </h1><p> Navicat  <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat Premium 17</a>  <a class="default-links" href="https://www.navicat.com.cn/products/navicat-for-postgresql" target="_blank">Navicat for PostgreSQL 17</a>   </p><img alt="type_menu_command (33K)" src="https://www.navicat.com/link/Blog/Image/2025/20250117/CN/type_menu_command.jpg"  /><p></p><img alt="enum_menu_item (38K)" src="https://www.navicat.com/link/Blog/Image/2025/20250117/CN/enum_menu_item.jpg" /><p> G</p><img alt="enum_type_label (21K)" src="https://www.navicat.com/link/Blog/Image/2025/20250117/CN/enum_type_label.jpg"/><p></p><img alt="completed_type_labels (25K)" src="https://www.navicat.com/link/Blog/Image/2025/20250117/CN/completed_type_labels.jpg" /><p>SQL  Navicat </p><img alt="enum_type_sql_preview (19K)" src="https://www.navicat.com/link/Blog/Image/2025/20250117/CN/enum_type_sql_preview.jpg"  /><p></p><p>film_rating</p><img alt="enum_type_save_as_dialog (34K)" src="https://www.navicat.com/link/Blog/Image/2025/20250117/CN/enum_type_save_as_dialog.jpg"  /><h1 class="blog-sub-title"> film_rating </h1><p> PostgreSQL film_rating VARCHAR  ENUM</p><p> Navicat filmTyperatingfilm_rating, film_rating</p><img alt="film_table_with_enum_type (119K)" src="https://www.navicat.com/link/Blog/Image/2025/20250117/CN/film_table_with_enum_type.jpg"/><p></p><p></p><p> ENUM  Navicat </p><img alt="adding_a_new_row_to_the_film_table (48K)" src="https://www.navicat.com/link/Blog/Image/2025/20250117/CN/adding_a_new_row_to_the_film_table.jpg"/><h1 class="blog-sub-title"></h1><p> <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat Premium 17</a> </p></body></html>]]></description>
</item>
<item>
<title>在 Navicat 17 中扩展 PostgreSQL 数据类型 - 第二部分</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> Navicat 17  PostgreSQL  - </title></head><body><b>2025  1  3 </b> Robert Gravelle <br/><br/><h1 class="blog-sub-title"></h1><p> <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat Premium 17</a>  PostgreSQL   <a class="default-links" href="http://navicat.com.cn/company/aboutus/blog/1104-%E5%9C%A8-navicat-17-%E4%B8%AD%E6%89%A9%E5%B1%95-postgresql-%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B.html" target="_blank"> 1 </a>  <a class="default-links" href="https://neon.tech/postgresql/postgresql-getting-started/postgresql-sample-database" target="_blank">DVD Rental database</a>  NOT NULL  CHECK </p><h1 class="blog-sub-title">PostgreSQL </h1><p> CREATE TYPE </p><p>PostgreSQL  CREATE TYPE </p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;"><li></li><li></li><li></li><li> intvarchar  numeric  PostgreSQL </li></ul><p></p><h1 class="blog-sub-title">CREATE TYPE </h1><p> CREATE TYPE  IDfilm_summary</p><pre>CREATE TYPE film_summary AS (    film_id INT4,    title VARCHAR(255),    release_year CHAR(4));</pre><h1 class="blog-sub-title"> Navicat 17 </h1><p><a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat Premium 17</a>  <a class="default-links" href="https://www.navicat.com.cn/products/navicat-for-postgresql" target="_blank">Navicat for PostgreSQL 17</a> </p><img alt="type_menu_command (33K)" src="https://www.navicat.com/link/Blog/Image/2025/20250103/CN/type_menu_command.jpg"/><p></p><img alt="composite_menu_item (16K)" src="https://www.navicat.com/link/Blog/Image/2025/20250103/CN/composite_menu_item.jpg"  /><p>film_summaryfilm <span style="color:red;"></span> :</p><img alt="fields_in_table_designer (85K)" src="https://www.navicat.com/link/Blog/Image/2025/20250103/CN/fields_in_table_designer.jpg"/><p></p><img alt="composite_type_fields (30K)" src="https://www.navicat.com/link/Blog/Image/2025/20250103/CN/composite_type_fields.jpg" /><p>SQL  Navicat </p><img alt="sql_preview_tab (22K)" src="https://www.navicat.com/link/Blog/Image/2025/20250103/CN/sql_preview_tab.jpg" /><p></p><p>film_summary</p><img alt="save_as_dialog (31K)" src="https://www.navicat.com/link/Blog/Image/2025/20250103/CN/save_as_dialog.jpg"/><h1 class="blog-sub-title"> film_summary </h1><p>film_summary Navicat  </p><img alt="function_buttons (23K)" src="https://www.navicat.com/link/Blog/Image/2025/20250103/CN/function_buttons.jpg" /><p> CREATE FUNCTION  CREATE FUNCTION </p><pre>CREATE FUNCTION get_film_summary (f_id INT4)  RETURNS film_summaryAS $BODY$  SELECT     film_id,    title,    release_year  FROM    film  WHERE    film_id = f_id;$BODY$  LANGUAGE SQL VOLATILE;</pre><img alt="get_film_summary_function_definition (40K)" src="https://www.navicat.com/link/Blog/Image/2025/20250103/CN/get_film_summary_function_definition.jpg"/><p>SQL</p><p>f_id</p><img alt="input_parameter_prompt (35K)" src="https://www.navicat.com/link/Blog/Image/2025/20250103/CN/input_parameter_prompt.jpg"/><p></p><img alt="function_results (28K)" src="https://www.navicat.com/link/Blog/Image/2025/20250103/CN/function_results.jpg"/><h1 class="blog-sub-title"></h1><p> <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat Premium 17</a>  3 </p></body></html>]]></description>
</item>
<item>
<title>在 Navicat 17 中扩展 PostgreSQL 数据类型 - 第一部分</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> Navicat 17  PostgreSQL </title></head><body><b>2024  12  27 </b> Robert Gravelle <br/><br/><h1 class="blog-sub-title"></h1><p>PostgreSQLPostgreSQLCREATE DOMAINCREATE TYPE <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat Premium 17</a>  <a class="default-links" href="https://neon.tech/postgresql/postgresql-getting-started/postgresql-sample-database" target="_blank">DVD Rental database</a> </p><h1 class="blog-sub-title">CREATE DOMAIN  CREATE TYPE </h1><p> CREATE DOMAIN  CREATE TYPE </p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;">    <li>CREATE DOMAIN  NOT NULLCHECK </li>    <li>CREATE TYPE </li></ul>    <h1 class="blog-sub-title"></h1><p> NULL </p><pre>CREATE DOMAIN email AS VARCHAR(255)CHECK (  VALUE ~ '^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}$');-- Use in a table definitionCREATE TABLE customer_contacts (  customer_id INT,  contact_email email);</pre><p><a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat Premium 17</a>  <a class="default-links" href="https://www.navicat.com.cn/products/navicat-for-postgresql" target="_blank">Navicat for PostgreSQL 17</a> ( <span style="color:red;"></span> </p><img alt="others_context_menu (45K)" src="https://www.navicat.com/link/Blog/Image/2024/20241227/CN/others_context_menu.jpg" /><p> SQL </p><h3></h3><p> VARCHARBase Typepg_catalogvarchar VARCHAR  255</p><img alt="email_domain_general_tab (39K)" src="https://www.navicat.com/link/Blog/Image/2024/20241227/CN/email_domain_general_tab.jpg"/><h3></h3><p>  RegEx </p><img alt="email_domain_checks_tab (21K)" src="https://www.navicat.com/link/Blog/Image/2024/20241227/CN/email_domain_checks_tab.jpg"  /><h3>SQL </h3><p> CREATE DOMAIN  SQL </p><img alt="email_domain_preview_and_save_as_dialog (38K)" src="https://www.navicat.com/link/Blog/Image/2024/20241227/CN/email_domain_preview_and_save_as_dialog.jpg"/><p></p><h1 class="blog-sub-title"></h1><p>dvdrentalstaff VARCHAR(Domain)publicemail</p><img alt="setting_column_to_email_domain (92K)" src="https://www.navicat.com/link/Blog/Image/2024/20241227/CN/setting_column_to_email_domain.jpg" /><p></p><img alt="failed_check (63K)" src="https://www.navicat.com/link/Blog/Image/2024/20241227/CN/failed_check.jpg"/><h1 class="blog-sub-title"></h1><p> dvdrental  2  <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat Premium 17</a> </p></body></html>]]></description>
</item>
<item>
<title>从 DAT 文件填充 MySQL 8 表</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> DAT  MySQL 8 </title></head><body><b>2024  12  20 </b> Robert Gravelle <br/><br/><p>Navicat / CSVTXTXMLDBF  <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium-lite" target="_blank">Navicat Premium Lite 17</a>  Navicat  <a class="default-links" href="https://neon.tech/postgresql/postgresql-getting-started/postgresql-sample-database" target="_blank">PostgreSQL "dvdrental" database</a>  MySQL 8 </p><p> PostgreSQL DAT  MySQL 8  film </p><img alt="film_table_definition (96K)" src="https://www.navicat.com/link/Blog/Image/2024/20241220/CN/film_table_definition.jpg"/><p> Navicat  macOS  Ctrl-Click...</p><img alt="import_wizard_command (78K)" src="https://www.navicat.com/link/Blog/Image/2024/20241220/CN/import_wizard_command.jpg"/><p> TXTCSVXML  JSON .dat  .txt.csv  .dat </p><img alt="import_wizard_data_format (48K)" src="https://www.navicat.com/link/Blog/Image/2024/20241220/CN/import_wizard_data_format.jpg"/><p> DAT 3061.dat</p><img alt="import_wizard_open_file_dialog (152K)" src="https://www.navicat.com/link/Blog/Image/2024/20241220/CN/import_wizard_open_file_dialog.jpg"/><p>LFTAB"</p><img alt="import_wizard_delimiter (45K)" src="https://www.navicat.com/link/Blog/Image/2024/20241220/CN/import_wizard_delimiter.jpg"/><p> DAT //"YMD" (-)  (/)  YYYY-MM-DD hh:mm:ss.ms2013-05-26 14:50:58.951 </p><img alt="import_wizard_additional_options (58K)" src="https://www.navicat.com/link/Blog/Image/2024/20241220/CN/import_wizard_additional_options.jpg" /><p></p><img alt="import_wizard_target_table (40K)" src="https://www.navicat.com/link/Blog/Image/2024/20241220/CN/import_wizard_target_table.jpg" /><p> DAT last_update  special_features </p><p style="font-family: courier new;">5 African Egg A Fast-Paced Documentary of a Pastry Chef And a Dentist who must Pursue a Forensic Psychologist in The Gulf of Mexico 2006 1 6 2.99 130 22.99 G 2013-05-26 14:50:58.951 {"Deleted Scenes"} 'african':1 'chef':11 'dentist':14 'documentari':7 'egg':2 'fast':5 'fast-pac':4 'forens':19 'gulf':23 'mexico':25 'must':16 'pace':6 'pastri':10 'psychologist':20 'pursu':17</p><p> macOS  Ctrl-Click last_update  special_features </p><img alt="import_wizard_field_mappings (75K)" src="https://www.navicat.com/link/Blog/Image/2024/20241220/CN/import_wizard_field_mappings.jpg"/><p> 13 (f13) </p><p></p><img alt="import_wizard_import_mode (62K)" src="https://www.navicat.com/link/Blog/Image/2024/20241220/CN/import_wizard_import_mode.jpg" /><p>  Navicat  INSERT </p><pre>INSERT INTO `film` VALUES   (1, 'African Egg', 'A Fast-Paced...'),   (2, 'Rumble Royale', 'A historical drama...'),   (3, 'Catherine the Great', 'A new take on...'),   etc...</pre><img alt="import_wizard_advanced_options (74K)" src="https://www.navicat.com/link/Blog/Image/2024/20241220/CN/import_wizard_advanced_options.jpg" height="536" width="687" /><p> </p><p> 3  1003  1000 </p><img alt="import_wizard_results (111K)" src="https://www.navicat.com/link/Blog/Image/2024/20241220/CN/import_wizard_results.jpg" height="512" width="682" /><h1 class="blog-sub-title"></h1><p>Navicat  CSVTXTXMLDBFODBC </p><p> Navicat Premium Lite 17  <a class="default-links" href="https://www.navicat.com.cn/download/navicat-premium-lite" target="_blank"></a>  WindowsmacOS  Linux </p></body></html>]]></description>
</item>
<item>
<title>在 Navicat 17 中与团队成员共享数据库对象</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> Navicat 17 </title></head><body><b>2024  12  13 </b> Robert Gravelle <br/><br/><p>Navicat  <a class="default-links" href="https://www.navicat.com.cn/products/navicat-on-prem-server" target="_blank">Navicat On-Prem Server</a>BI Navicat On-Prem Server  <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium"target="_blank">Navicat Premium 17</a> </p><h1 class="blog-sub-title"> Navicat Premium 17  Navicat On-Prem </h1><p> Navicat On-Prem Server  Navicat  On-Prem Server Navicat </p><img alt="on-prem_server_in_navigation_pane (110K)" src="https://www.navicat.com/link/Blog/Image/2024/20241213/CN/on-prem_server_in_navigation_pane.jpg"/><p> On-Prem Server  Navicat  On-Prem Server  IP</p><img alt="manage_cloud_dialog (95K)" src="https://www.navicat.com/link/Blog/Image/2024/20241213/CN/manage_cloud_dialog.jpg"/><p>On-Prem ServerOn-Prem Server</p><h1 class="blog-sub-title"></h1><p></p><p>DVDRental MySQL DB Navicat Premium customer - payment table join</p><img alt="code_snippet (51K)" src="https://www.navicat.com/link/Blog/Image/2024/20241213/CN/code_snippet.jpg"/><p> On-Prem Server</p><img alt="shared_code_snippet (22K)" src="https://www.navicat.com/link/Blog/Image/2024/20241213/CN/shared_code_snippet.jpg"/><h1 class="blog-sub-title"></h1><p>On-Prem Server</p><p> (BI) </p><img alt="copy_command (50K)" src="https://www.navicat.com/link/Blog/Image/2024/20241213/CN/copy_command.jpg" /><p> On-Prem Server </p><img alt="paste_command (38K)" src="https://www.navicat.com/link/Blog/Image/2024/20241213/CN/paste_command.jpg"/><p> Navicat On-Prem Server BI </p><img alt="shared_bi_workspace (25K)" src="https://www.navicat.com/link/Blog/Image/2024/20241213/CN/shared_bi_workspace.jpg"/><h1 class="blog-sub-title"></h1><p> <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat Premium 17</a>  <a class="default-links" href="https://www.navicat.com.cn/products/navicat-on-prem-server" target="_blank">Navicat On-Prem Server</a>  Navicat 17 BIOn-Prem Server </p><p> Navicat Premium 17  <a class="default-links" href="https://www.navicat.com/download/navicat-premium" target="_blank">14 </a> On-Prem Server <a class="default-links" href="https://www.navicat.com.cn/download/navicat-on-prem-server" target="_blank"></a>  WindowsmacOS  Linux </p></body></html>]]></description>
</item>
<item>
<title>在 Navicat 17 中创建自定义 PostgreSQL 聚合</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> Navicat 17  PostgreSQL </title></head><body><b>2024  12  6 </b> Robert Gravelle <br/><br/><p>PostgreSQL  SUMAVG  COUNT  SQL <a class="default-links" href="https://www.navicat.com.cn/products/navicat-for-postgresql" target="_blank">Navicat for PostgreSQL</a>  <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat Premium</a> GUINavicat  pgSQL  <a class="default-links" href="https://neon.tech/postgresql/postgresql-getting-started/postgresql-sample-database" target="_blank">DVD Rental database</a> </p><h1 class="blog-sub-title"></h1><p> SQL  SUMAVGCOUNTMIN  MAX</p><p>SQL  SQL  </p><h1 class="blog-sub-title"></h1><p> array_append_state() </p><p> Navicat </p><img alt="new_function_button (110K)" src="https://www.navicat.com/link/Blog/Image/2024/20241206/CN/new_function_button.jpg" /><p>Navicat </p><pre>CREATE FUNCTION "public"."<strong>array_append_state</strong>" (<strong>current_state text[], new_value text</strong>)  RETURNS <strong>text[]</strong> AS $BODY$BEGIN  <strong>RETURN array_append(current_state, new_value);</strong>END$BODY$  LANGUAGE 'plpgsql' VOLATILE;</pre>  <img alt="array_append_state_function (58K)" src="https://www.navicat.com/link/Blog/Image/2024/20241206/CN/array_append_state_function.jpg"/><p></p><p></p><p>array_to_comma_string() </p><pre>CREATE FUNCTION "public"."<strong>array_to_comma_string</strong>" (<strong>state text[]</strong>)  RETURNS <strong>text</strong> AS $BODY$BEGIN  <strong>RETURN array_append(state, ', ');</strong>END$BODY$  LANGUAGE 'plpgsql' VOLATILE;</pre><img alt="array_to_comma_string_function (54K)" src="https://www.navicat.com/link/Blog/Image/2024/20241206/CN/array_to_comma_string_function.jpg"/><h1 class="blog-sub-title"> comma_concat() </h1><p> Navicat </p><img alt="aggregate_menu_command (38K)" src="https://www.navicat.com/link/Blog/Image/2024/20241206/CN/aggregate_menu_command.jpg"/><p>text[]{}</p><img alt="comma_concat_function_definition (58K)" src="https://www.navicat.com/link/Blog/Image/2024/20241206/CN/comma_concat_function_definition.jpg" /><p> SQL</p><pre>CREATE AGGREGATE "public"."Untitled" (In "pg_catalog"."text")(  SFUNC = "public"."array_append_state",  STYPE = "pg_catalog"."text[]",  FINALFUNC = "public"."array_to_comma_string",  INITCOND = "{}",  PARALLEL = UNSAFE);ALTER AGGREGATE "public"."Untitled"("pg_catalog"."text") OWNER TO "postgres";</pre><p>Navicat </p><img alt="save_as_dialog (50K)" src="https://www.navicat.com/link/Blog/Image/2024/20241206/CN/save_as_dialog.jpg"/><h1 class="blog-sub-title"></h1><p></p><pre>SELECT     c.name AS category,    comma_concat(f.title) AS moviesFROM category cJOIN film_category fc ON c.category_id = fc.category_idJOIN film f ON fc.film_id = f.film_idGROUP BY c.nameORDER BY c.name;</pre><img alt="query_with_results (202K)" src="https://www.navicat.com/link/Blog/Image/2024/20241206/CN/query_with_results.jpg"/><h1 class="blog-sub-title"></h1><p> Navicat Premium  PostgreSQL  DVD </p><p> Navicat Premium 17  <a class="default-links" href="https://www.navicat.com.cn/download/navicat-premium" target="_blank"> 14 </a> WindowsmacOS  Linux </p></body></html>]]></description>
</item>
<item>
<title>Navicat On-Prem Server：无缝地查询开发和协同合作</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title>Navicat On-Prem Server</title></head><body><b>2024  11  22 </b> Robert Gravelle <br/><br/><p> Navicat <a class="default-links" href="https://www.navicat.com.cn/products/navicat-on-prem-server" target="_blank">Navicat On-Prem Server</a> BI  On-Prem Server </p><h1 class="blog-sub-title"></h1><p> <a class="default-links" href="https://www.navicat.com.cn/company/aboutus/blog/1095-%E9%96%8B%E5%A7%8B%E4%BD%BF%E7%94%A8-navicat-on-prem-server-%E7%AC%AC-3-%E9%83%A8%E5%88%86.html" target="_blank"></a> dvdrental MySQL 8DVDRrental MySQL DB</p><img alt="dvdrental_connection (11K)" src="https://www.navicat.com/link/Blog/Image/2024/20241122/CN/dvdrental_connection.jpg"/><p></p><img alt="open_connection_screen (29K)" src="https://www.navicat.com/link/Blog/Image/2024/20241122/CN/open_connection_screen.jpg"/><p></p><p></p><img alt="db_list (29K)" src="https://www.navicat.com/link/Blog/Image/2024/20241122/CN/db_list.jpg" /><p></p><img alt="dvdrental_tables (72K)" src="https://www.navicat.com/link/Blog/Image/2024/20241122/CN/dvdrental_tables.jpg" width="800" /><h1 class="blog-sub-title"></h1><p> On-Prem Server  </p><p></p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;"><li>...</li><li></li></ul><p></p><img alt="new_query_command_and_button (47K)" src="https://www.navicat.com/link/Blog/Image/2024/20241122/CN/new_query_command_and_button.jpg" width="800" /><p>s</p><p> 99 </p><img alt="query_definition (19K)" src="https://www.navicat.com/link/Blog/Image/2024/20241122/CN/query_definition.jpg" /><p></p><img alt="query_save_dialog (27K)" src="https://www.navicat.com/link/Blog/Image/2024/20241122/CN/query_save_dialog.jpg" /><h1 class="blog-sub-title"></h1><p></p><img alt="new_query_in_queries_list (22K)" src="https://www.navicat.com/link/Blog/Image/2024/20241122/CN/new_query_in_queries_list.jpg" width="800"/><p>DVDRrental MySQL DB</p><img alt="dvdrentals_project_with_queries_icon (20K)" src="https://www.navicat.com/link/Blog/Image/2024/20241122/CN/dvdrentals_project_with_queries_icon.jpg" /><p>DVDRrental MySQL DB 0.99 </p><h1 class="blog-sub-title"></h1><p></p><img alt="manage_members_menu_item (27K)" src="https://www.navicat.com/link/Blog/Image/2024/20241122/CN/manage_members_menu_item.jpg"  /><p></p><img alt="collaborate_with_dialog (28K)" src="https://www.navicat.com/link/Blog/Image/2024/20241122/CN/collaborate_with_dialog.jpg" /><p> ->  -> Navicat On-Prem Server  LDAP  AD </p><img alt="add_new_user_dialog (64K)" src="https://www.navicat.com/link/Blog/Image/2024/20241122/CN/add_new_user_dialog.jpg" width="800"/><h1 class="blog-sub-title"></h1><p> Navicat On-Prem Server</p><p> Navicat On-Prem Server   <a class="default-links" href="https://www.navicat.com.cn/download/navicat-on-prem-server" target="_blank"> 14 </a>  WindowsmacOS Homebrew Linux </p></body></html>]]></description>
</item>
<item>
<title>Navicat On-Prem Server 的使用 - 第三部分</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title>Navicat On-Prem Server  - </title></head><body><b>2024  11  18 </b> Robert Gravelle <br/><br/><h1 class="blog-sub-title"></h1><p> <a class="default-links" href="https://www.navicat.com.cn/company/aboutus/blog/1091-%E9%80%9A%E8%BF%87-navicat-on-prem-server-%E6%97%A0%E7%BC%9D%E7%AE%A1%E7%90%86-mysql-%E5%92%8C-mariadb.html" target="_blank"></a>  Navicat <a class="default-links" href="https://www.navicat.com.cn/products/navicat-on-prem-server" target="_blank">Navicat On-Prem Server</a> Navicat  Navicat On-Prem Server </p><h1 class="blog-sub-title"></h1><p> On-Prem Server + </p><img alt="new_project_command (32K)" src="https://www.navicat.com/link/Blog/Image/2024/20241118/CN/new_project_command.jpg"  /><p></p><p></p><img alt="dvdrental_project (24K)" src="https://www.navicat.com/link/Blog/Image/2024/20241118/CN/dvdrental_project.jpg"/><h1 class="blog-sub-title"></h1><p>BI...</p><img alt="manage_members_command (13K)" src="https://www.navicat.com/link/Blog/Image/2024/20241118/CN/manage_members_command.jpg"/><p></p><p></p><img alt="manage_members_icon (19K)" src="https://www.navicat.com/link/Blog/Image/2024/20241118/CN/manage_members_icon.jpg"/><p>+</p><img alt="collaborate_dialog (22K)" src="https://www.navicat.com/link/Blog/Image/2024/20241118/CN/collaborate_dialog.jpg"/><p>/</p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li></li><li></li><li></li></ul><img alt="adding_a_member (24K)" src="https://www.navicat.com/link/Blog/Image/2024/20241118/CN/adding_a_member.jpg" /><p></p><h1  class="blog-sub-title"></h1><p> (BI) </p><p>+</p><img alt="new_connection_command (22K)" src="https://www.navicat.com/link/Blog/Image/2024/20241118/CN/new_connection_command.jpg"/><p></p><p></p><img alt="connection_type (76K)" src="https://www.navicat.com/link/Blog/Image/2024/20241118/CN/connection_type.jpg"/><p></p><img alt="connection_properties (44K)" src="https://www.navicat.com/link/Blog/Image/2024/20241118/CN/connection_properties.jpg"/><p> ""</p><p></p><img alt="dvdrental_connection (11K)" src="https://www.navicat.com/link/Blog/Image/2024/20241118/CN/dvdrental_connection.jpg"/><h1 class="blog-sub-title"></h1><p> <a class="default-links" href="https://www.navicat.com.cn/products/navicat-on-prem-server" target="_blank">Navicat On-Prem Server</a>  Navicat </p></body></html>]]></description>
</item>
<item>
<title>通过 Navicat-only Syntax 进行查询自定义</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> Navicat-only Syntax </title></head><body><b>2024  11  13 </b> Robert Gravelle <br/><br/><p> Navicat  Navicat Premium Lite SQL  SQL  Navicat-only Syntax <a class="default-links" href="https://dev.mysql.com/doc/sakila/en/sakila-installation.html" target="_blank">MySQL Sakila </a>  <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat Premium 17</a> </p><h1 class="blog-sub-title"></h1><p> SQL  SQL  SQL  Navicat  <strong style="font-family:courier new;color:blue;">()</strong> </p><img alt="query_editor_with_code_snippets_pane (158K)" src="https://www.navicat.com/link/Blog/Image/2024/20241113/CN/query_editor_with_code_snippets_pane.jpg" /><p>Navicat-only Syntax</p><img alt="navicat-only_syntax_drop-down_item (21K)" src="https://www.navicat.com/link/Blog/Image/2024/20241113/CN/navicat-only_syntax_drop-down_item.jpg" /><h1 class="blog-sub-title"></h1><p> nn 1 2</p><p>Customize Result Tab Name Navicat </p><img alt="customize_result_tab_name_syntax (9K)" src="https://www.navicat.com/link/Blog/Image/2024/20241113/CN/customize_result_tab_name_syntax.jpg"/><p>tab_nameStatement SQL </p><img alt="custom_result_tab (91K)" src="https://www.navicat.com/link/Blog/Image/2024/20241113/CN/custom_result_tab.jpg"/><p></p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li></li><li> <p><img alt="auto-complete (49K)" src="https://www.navicat.com/link/Blog/Image/2024/20241113/CN/auto-complete.jpg" /></p></li></ul><h1 class="blog-sub-title"></h1><p>  Navicat  SELECT  </p><p>Runtime Parameter</p><img alt="runtime_parameter_syntax (29K)" src="https://www.navicat.com/link/Blog/Image/2024/20241113/CN/runtime_parameter_syntax.jpg" /><p>Navicat </p><img alt="input_parameter_dialog (70K)" src="https://www.navicat.com/link/Blog/Image/2024/20241113/CN/input_parameter_dialog.jpg" /><h1 class="blog-sub-title"></h1><p> Navicat -only Syntax  <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat Premium 17</a>  Navicat Premium 17  <a class="default-links" href="https://www.navicat.com.cn/download/navicat-premium" target="_blank"> 14 </a> WindowsmacOS  Linux </p></body></html>]]></description>
</item>
<item>
<title>Navicat On-Prem Server 的使用 - 第二部分</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title>Navicat On-Prem Server  - </title></head><body><b>2024  11  8 </b> Robert Gravelle <br/><br/><h1 class="blog-sub-title"></h1><p><a class="default-links" href="https://www.navicat.com.cn/products/navicat-on-prem-server" target="_blank">Navicat On-Prem Server</a>  100% Navicat On-Prem Server  MySQL  MariaDB </p><p> Windows 10  MySQL 8 Community Server  Navicat On-Prem Server </p><h1 class="blog-sub-title"></h1><p> 1  Navicat On-Prem Server  Navicat On-Prem Server  http://<your_ip_address>:<port_number> Navicat On-Prem Server  3030 URL  "http://127.0.0.1:3030/"</p><p>Web URL  IP  IP  IP  Navicat On-Prem Server 0.0.0.0 IPv4 :: IPv4  IPv6 </p><p></p><img alt="app_server (37K)"  src="https://www.navicat.com/link/Blog/Image/2024/20241108/CN/app_server.jpg" /><p></p><h1 class="blog-sub-title"></h1><p>Navicat On-Prem Server /</p><p> ClickatellTwilio </p><img alt="sms_settings (66K)"  src="https://www.navicat.com/link/Blog/Image/2024/20241108/CN/sms_settings.jpg" /><p> SMTP </p><img alt="email_settings (55K)"  src="https://www.navicat.com/link/Blog/Image/2024/20241108/CN/email_settings.jpg"/><p></p><h1 class="blog-sub-title"></h1><p></p><img alt="confirmation (60K)"  src="https://www.navicat.com/link/Blog/Image/2024/20241108/CN/confirmation.jpg" /><p></p><p> Navicat On-Prem Server</p><h1 class="blog-sub-title"></h1><p> Windows 10  MySQL 8 Community Server  Navicat On-Prem Server</p><p> Navicat On-Prem Server  <a class="default-links" href="https://www.navicat.com.cn/download/navicat-on-prem-server" target="_blank"> 14 </a>  WindowsmacOS Homebrew Linux </p></body></html>]]></description>
</item>
<item>
<title>Navicat On-Prem Server 的使用 - 第一部分</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title>Navicat On-Prem Server  - </title></head><body><b>2024  11  1 </b> Robert Gravelle <br/><br/><h1 class="blog-sub-title">On-Prem Server </h1><p>Navicat On-Prem Server  Navicat Navicat On-Prem Sever  Navicat Cloud Navicat Cloud  Navicat  Navicat On-Prem Server  Linux 2  Docker  Navicat On-Prem Server Windows 10  MySQL 8 Community Server  Navicat On-Prem Server </p> <h1 class="blog-sub-title"> Navicat On-Prem Server</h1><p>Navicat On-Prem Server </p><img alt="taskbar_icon (7K)" src="https://www.navicat.com/link/Blog/Image/2024/20241101/CN/taskbar_icon.jpg" /><p> Navicat On-Prem Server</p><img alt="taskbar_menu (26K)" src="https://www.navicat.com/link/Blog/Image/2024/20241101/CN/taskbar_menu.jpg" /><h1 class="blog-sub-title"></h1><p> Navicat On-Prem Server  Navicat On-Prem Server  <code>http://&lt;your_ip_address&gt;:&lt;port_number&gt;</code> Navicat On-Prem Server  3030 URL http://127.0.0.1:3030/</p><p> On-Prem Server Navicat On-Prem Server  Navicat On-Prem Server</p><p></p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;"><li>1</li><li>On-Prem Server </li><li></li><li></li><li></li><li></li></ul><p></p><h1 class="blog-sub-title"></h1><p>Admin Navicat On-Prem Server </p><img alt="admin_details (48K)" src="https://www.navicat.com/link/Blog/Image/2024/20241101/CN/admin_details.jpg" /><p></p><h1 class="blog-sub-title"> On-Prem Server </h1><p> On-Prem Server On-Prem Server</p><img alt="prem_server_details (39K)" src="https://www.navicat.com/link/Blog/Image/2024/20241101/CN/prem_server_details.jpg" /><p></p><h1 class="blog-sub-title"></h1><p> Navicat </p><ul><li>MySQL</li><li>MariaDB</li><li>PostgreSQL</li><li>SQL Server</li><li>Amazon RDS</li></ul><p></p><img alt="repo_server_details (61K)" src="https://www.navicat.com/link/Blog/Image/2024/20241101/CN/repo_server_details.jpg"/><p> SSL  TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_256_GCM_SHA384, TLS_AES_128_GCM_SHA256, TLS_AES_256_GCM_SHA384, TLS_CHACHA20_POLY1305_SHA256 </p><img alt="ssl_cipher_suites (30K)" src="https://www.navicat.com/link/Blog/Image/2024/20241101/CN/ssl_cipher_suites.jpg" /><h1 class="blog-sub-title"></h1><p> Navicat On-Prem Server  1  Windows 10  MySQL 8 Community Server On-Prem Server </p><p> Navicat On-Prem Server <a class="default-links" href="https://www.navicat.com.cn/download/navicat-on-prem-server" target="_blank"> 14 </a>  WindowsmacOS Homebrew Linux </p></body></html>]]></description>
</item>
<item>
<title>通过 Navicat On-Prem Server 无缝管理 MySQL 和 MariaDB</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> Navicat On-Prem Server  MySQL  MariaDB</title></head><body><b>2024  10  28 </b> Robert Gravelle <br/><br/><p>Navicat BI Navicat Navicat Cloud  <a class="default-links" href="https://www.navicat.com.cn/products/navicat-on-prem-server" target="_blank">Navicat On-Prem Server</a>Navicat Cloud  Navicat  Navicat On-Prem Server  Navicat  Navicat On-Prem Server  MySQL  MariaDB </p><h1 class="blog-sub-title">Navicat On-Prem Server </h1><p>Navicat On-Prem Server Navicat On-Prem Server Navicat </p><p> Navicat On-Prem Server MySQL  MariaDB </p><img alt="Desktop_On-Prem.png" src="https://navicat.com.cn/images/Desktop_On-Prem_CS.png" width="800" /><h1 class="blog-sub-title"></h1><p> Navicat On-Prem ServerBI </p><p></p><p></p><img alt="Screenshot_Navicat_On-Prem_Server_Team_Member.png" src="https://www.navicat.com/images/product_screenshot/Screenshot_Navicat_On-Prem_Server_Team_Member.png" width="800" /><p></p><img alt="" src="https://www.navicat.com/images/product_screenshot/Screenshot_Navicat_On-Prem_Server_Activity_Log.png" width="800" /><h1 class="blog-sub-title">MySQL  MariaDB </h1><p>Navicat On-Prem Server </p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"> <li></li>  <li></li>  <li> SQL </li> </ul><p>MySQL  MariaDB </p><p></p><p>Navicat On-Prem Server </p><p>Navicat On-Prem Server  Navicat  SQL </p><h1 class="blog-sub-title"></h1><p> Navicat On-Prem Server  MySQL  MariaDB <a class="default-links" href="https://www.navicat.com.cn/products/navicat-on-prem-server" target="_blank">Navicat On-Prem Server</a>  SMS LDAP/AD Web </p><p> Navicat On-Prem Server  <a class="default-links" href="https://www.navicat.com/en/download/navicat-on-prem-server" target="_blank"> 14 </a>  WindowsmacOS Homebrew Linux </p></body></html>]]></description>
</item>
<item>
<title>SQL 反连接</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title>SQL </title></head><body><b>2024  10  21 </b> Robert Gravelle <br/><br/><p> SQL  JOIN </p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;">    <li></li>    <li></li>    <li></li></ul><p> PostgreSQL <a class="default-links" href="https://www.postgresqltutorial.com/postgresql-getting-started/postgresql-sample-database/" target="_blank">dvdrental </a>    <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium-lite" target="_blank">Navicat Premium Lite 17</a> </p> <h1 class="blog-sub-title"></h1><p></p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;"><li></li><li></li></ul><p> <span style="font-weight:bold; color:rgb(19, 96, 254);"></span> </p><img alt="anti-join_venn_diagram (56K)" src="https://www.navicat.com/link/Blog/Image/2024/20241021/CN/anti-join_venn_diagram.jpg"  /><p></p><h1 class="blog-sub-title"> EXISTS </h1><p> dvdrental SQL  EXISTS NOT EXISTS </p><pre>SELECT *FROM actor aWHERE NOT EXISTS (  SELECT * FROM film_actor fa  WHERE a.actor_id = fa.actor_id)</pre><p> Navicat Premium Lite 17 </p><img alt="left_anti-join (85K)" src="https://www.navicat.com/link/Blog/Image/2024/20241021/CN/left_anti-join.jpg"/><h1 class="blog-sub-title"> NOT IN!</h1><p> EXISTS  IN NOT EXISTS  NOT IN  film_actoractor_id NOT NULL </p><img alt="film_actor_table_design (82K)" src="https://www.navicat.com/link/Blog/Image/2024/20241021/CN/film_actor_table_design.jpg"/><p> actor_id  NOT NULL NOT IN </p><img alt="left_anti-join_using_not_in (78K)" src="https://www.navicat.com/link/Blog/Image/2024/20241021/CN/left_anti-join_using_not_in.jpg"/><p> actor_id </p><pre>SELECT *FROM actorWHERE actor_id NOT IN (1, 2, 3, 4, 5, NULL)</pre><img alt="no_results_using_not_in (57K)" src="https://www.navicat.com/link/Blog/Image/2024/20241021/CN/no_results_using_not_in.jpg"/><p> SQL NULL  actor_id predicateUNKNOWN</p><p> NOT IN  NOT EXISTS DBA </p><h1 class="blog-sub-title"></h1><p> IS NULL  WHERE  LEFT JOIN </p><pre>SELECT a.*FROM actor a  LEFT JOIN film_actor fa  ON a.actor_id = fa.actor_idWHERE fa.actor_id IS NULL</pre><img alt="left_anti-join_using_left_join (80K)" src="https://www.navicat.com/link/Blog/Image/2024/20241021/CN/left_anti-join_using_left_join.jpg"/><p>/</p><h1 class="blog-sub-title"></h1><p> SQL NOT EXISTS </p><p> Navicat Premium Lite 17  <a class="default-links" href="https://www.navicat.com/download/navicat-premium-lite" target="_blank"> 14 </a>   WindowsmacOS  Linux </p></body></html>]]></description>
</item>
<item>
<title>SQL 半连接</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title>SQL </title></head><body><b>2024  10  15 </b> Robert Gravelle <br/><br/><p> ANSI SQL  SQL Semi Join <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium-lite" target="_blank">Navicat Premium Lite 17</a>  PostgreSQL <a class="default-links" href="https://www.postgresqltutorial.com/postgresql-getting-started/postgresql-sample-database/" target="_blank">dvdrental </a>  SELECT  MySQL Sakila </p><h1 class="blog-sub-title"></h1><p>ANSI SQL  Cloudera Impala </p><pre>SELECT *FROM actorLEFT SEMI JOIN film_actor USING (actor_id)</pre><p>Semihalf SQL EXISTS  IN</p><h1 class="blog-sub-title"> EXISTS </h1><p> EXISTS </p><pre>SELECT *FROM actor aWHERE EXISTS (  SELECT *   FROM film_actor fa  WHERE a.actor_id = fa.actor_id)</pre><p> <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium-lite" target="_blank">Navicat Premium Lite 17</a> </p><img alt="semi_join_exists (147K)" src="https://www.navicat.com/link/Blog/Image/2024/20241015/CN/semi_join_exists.jpg" /><p>EXISTS  film_actor   WHERE  SEMI JOIN  EXISTS()</p><h1 class="blog-sub-title"> IN </h1><p>IN  EXISTS  SEMI JOIN  EXISTS </p><pre>SELECT *FROM actorWHERE actor_id IN (  SELECT actor_id FROM film_actor)</pre><p> <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium-lite" target="_blank">Navicat Premium Lite 17</a> </p><img alt="semi_join_in (157K)" src="https://www.navicat.com/link/Blog/Image/2024/20241015/CN/semi_join_in.jpg" /><p>EXISTS </p><h1 class="blog-sub-title"></h1><p> ANSI SQL  SEMIINNER JOIN</p><p> Navicat Premium Lite 17 <a class="default-links" href="https://www.navicat.com.cn/download/navicat-premium-lite" target="_blank"> 14 </a>  WindowsmacOS  Linux </p></body></html>]]></description>
</item>
<item>
<title>使用 Having 子句筛选聚合字段</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> Having </title></head><body><b>2024  10  8 </b> Robert Gravelle <br/><br/><p> SQL  WHERE  HAVING  SELECT </p><h1 class="blog-sub-title"> Having </h1><p> SQL  GROUP BY </p><p> GROUP BY  GROUP BY  HAVING  WHERE HAVING HAVING  WHERE  GROUP BY ORDER BY </p><pre>SELECT column_listFROM table_nameWHERE where_conditionsGROUP BY column_listHAVING having_conditionsORDER BY order_expression</pre><h1 class="blog-sub-title"></h1><p> HAVING  <a class="default-links" href="https://dev.mysql.com/doc/sakila/en/" target="_blank">Sakila </a>  SELECT </p><p> HAVING  3 </p><pre>SELECT  c.customer_id,  c.first_name,  c.last_name,  COUNT(r.rental_id) AS total_rentalsFROM   customer AS c    LEFT JOIN rental AS r ON c.customer_id = r.customer_idGROUP BY c.customer_idHAVING total_rentals >= 3ORDER BY total_rentals DESC;</pre><p> <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat Premium</a> </p><img alt="top movie renters (89K)" src="https://www.navicat.com/link/Blog/Image/2024/20241008/CN/top%20movie%20renters.jpg" /><p></p><h3> WHERE  HAVING </h3><p> GROUP BY  ORDER BY WHERE  HAVING  WHERE </p><pre>SELECT  c.customer_id,  c.first_name,  c.last_name,  COUNT(r.rental_id) AS total_rentalsFROM   customer AS c    LEFT JOIN rental AS r ON c.customer_id = r.customer_idWHERE r.rental_date BETWEEN '2005-01-01' AND '2005-06-30'GROUP BY c.customer_idHAVING total_rentals >= 3ORDER BY total_rentals DESC;</pre><p> <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat Premium</a> </p><img alt="top movie renters for first half of 2005 (96K)" src="https://www.navicat.com/link/Blog/Image/2024/20241008/CN/top%20movie%20renters%20for%20first%20half%20of%202005.jpg"/><h1 class="blog-sub-title"></h1><p> WHERE  AND  OR HAVING  HAVING </p><pre>HAVING total_rentals >= 3 AND total_rentals &lt;= 10</pre><h1 class="blog-sub-title"></h1><p> HAVING </p><p> <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat Premium</a>  14 </p></body></html>]]></description>
</item>
<item>
<title>使用 EXISTS 编写 SELECT 查询</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> EXISTS  SELECT </title></head><body><b>2024  9  26 </b> Robert Gravelle <br/><br/><p> SQL  EXISTS  IN  EXISTS  EXISTS  IN</p><h1 class="blog-sub-title">EXISTS </h1><p> EXISTS  SELECTUPDATEINSERT  DELETE  SELECT </p><pre>SELECT column_name(s) FROM table_nameWHERE EXISTS ( SELECT column_name(s)                FROM table_name               WHERE condition );</pre>  <p> PostgreSQL  Navicat for PostgreSQL </p><p><img alt="customer_table (29K)" src="https://www.navicat.com/link/Blog/Image/2024/20240926/CN/customer_table.jpg" /></p><p><img alt="account_table (28K)" src="https://www.navicat.com/link/Blog/Image/2024/20240926/CN/account_table.jpg"/></p><p> customer_id </p><pre>SELECT *FROM customer CWHERE EXISTS ( SELECT *               FROM account A               WHERE C.customer_id = A.customer_id );</pre>  <p> Navicat Premium </p><img alt="customers_with_accounts (49K)" src="https://www.navicat.com/link/Blog/Image/2024/20240926/CN/customers_with_accounts.jpg"/><h3> NOT EXISTS</h3><p> EXISTS  NOT  NOT EXISTS </p><pre>SELECT *FROM account AWHERE NOT EXISTS ( SELECT *                   FROM customer C                   WHERE A.customer_id = C.customer_id );</pre>  <p> ID  #4 </p><img alt="accounts_without_customers (47K)" src="https://www.navicat.com/link/Blog/Image/2024/20240926/CN/accounts_without_customers.jpg" /><h1 class="blog-sub-title"> Joins  EXISTS</h1><p> EXISTS  LEFT JOIN EXISTS </p><pre>SELECT C.*FROM customer C  LEFT JOIN account A ON C.customer_id = A.customer_id;</pre><img alt="left_join (36K)" src="https://www.navicat.com/link/Blog/Image/2024/20240926/CN/left_join.jpg" /><h1 class="blog-sub-title">IN vs EXISTS </h1><p> IN  IN  EXISTS</p><pre>SELECT * FROM customer WHERE customer_id IN (SELECT customer_id FROM account);</pre> <p> SELECT *IN </p><img alt="in_query (43K)" src="https://www.navicat.com/link/Blog/Image/2024/20240926/CN/in_query.jpg" /><p> <strong> IN  EXISTS</strong></p><h1 class="blog-sub-title"></h1><p> EXISTS  EXISTS IN</p><p> Navicat Premium 17 <a class="default-links" href="https://www.navicat.com.cn/download/navicat-premium" target="_blank">14</a> WindowsmacOS  Linux </p></body></html>]]></description>
</item>
<item>
<title>了解通用 SQL 语法</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> SQL </title></head><body><b>2024  9  12 </b> Robert Gravelle <br/><br/><p> 90 Sun Microsystems [] JavaJava  SQL Java  SQL </p><h1 class="blog-sub-title">ANSI SQL </h1><p>ANSIAmerican National Standards Institute HTMLCSS  ECMAScript SQL /ANSI SQL </p><p>ANSI SQL  SQL </p><h1 class="blog-sub-title"> SQL</h1><p> SQL  SQL SELECTWHEREGROUP BYORDER BY  SUM()AVG()MIN()  MAX() SQL ServerMySQLPostgreSQLSQLite  Oracle</p><pre>Select        c.customer_id,    c.customer_name,    SUM(p.amount) AS total_salesFROM customers AS c    LEFT JOIN purchases AS p    ON c.customers_id = p.customer_idWHERE    c.customer_location = 'Canada'GROUP BY    c.customer_name ASC;</pre><h1 class="blog-sub-title"> SQL</h1><p>SQLANSI SQLMySQLSQLMySQLMicrosoft SQL ServerMicrosoftSQLT-SQLSQL ServerSQLPostgreSQLSQLiteANSISQLite</p><p></p><h3></h3><p>  <code>WHERE name = 'Rob' Or WHERE name = 'rob'</code>:</p><table border=1 cellspacing=2 width=500><tr><th>MySQL</th><th>PostgreSQL</th><th>SQLite</th><th>SQL Server</th></tr><tr><td></td><td></td><td></td><td></td></tr></table><h3></h3><p></p><table border=1 cellspacing=2 width=500><tr><th>MySQL</th><th>PostgreSQL</th><th>SQLite</th><th>SQL Server</th></tr><tr><td></td><td></td><td></td><td></td></tr></table><h3></h3><p>MySQLPostgreSQL  SQLite AS SELECT SUM(score) AS avg_score SQL Server  <code>SELECT SUM(score) AS avg_score</code>SQL Server  AS  <code>SELECT SUM(score) = avg_score</code></p><h3>Date/Time </h3><p></p><table border=1 cellspacing=2 width=500><tr><th>MySQL</th><th>PostgreSQL</th><th>SQLite</th><th>SQL Server</th></tr><tr><td>CURDATE() CURTIME() EXTRACT()</td><td>CURRENT_DATE() CURRENT_TIME() EXTRACT()</td><td width=100>DATE('now') strftime()</td><td>GETDATE() DATEPART()</td></tr></table><h1 class="blog-sub-title">Navicat Premium</h1><p><a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat Premium</a>  SQL  SQL  </p><img alt="code_snippets (119K)" src="https://www.navicat.com/link/Blog/Image/2024/20240912/CN/code_snippets.jpg"/><p> Navicat 17  <a class="default-links" href="https://www.navicat.com.cn/download/navicat-premium" target="_blank"> 14 </a> WindowsmacOS  Linux</p></body></html>]]></description>
</item>
<item>
<title>Navicat BI 中创建自定义字段：计算字段</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title>Navicat BI </title></head><body><b>2024  9  6 </b> Robert Gravelle <br/><br/><p> Navicat BI  Navicat BI  <a class="default-links" href="https://www.postgresqltutorial.com/postgresql-getting-started/postgresql-sample-database/" target="_blank">dvdrental</a> </p> <h1 class="blog-sub-title"></h1><p>/ODBC  SQL  Navicat  SELECT </p><img alt="customer_rental_info_data_source (111K)" src="https://www.navicat.com/link/Blog/Image/2024/20240906/CN/customer_rental_info_data_source.jpg" height="754" width="723" /><p></p><img alt="customer_rental_info_data_source_with_data (253K)" src="https://www.navicat.com/link/Blog/Image/2024/20240906/CN/customer_rental_info_data_source_with_data.jpg" height="795" width="956" /><p> rental_date  return_date  return_date macOS  Control ...</p><img alt="new_calculated_field_menu_command (44K)" src="https://www.navicat.com/link/Blog/Image/2024/20240906/CN/new_calculated_field_menu_command.jpg" height="317" width="389" /><p> DATEDIFF() D</p><img alt="new_calculated_field_dialog (116K)" src="https://www.navicat.com/link/Blog/Image/2024/20240906/CN/new_calculated_field_dialog.jpg" height="832" width="942" /><p></p><p></p><img alt="customer_rental_info_data_source_with_calculated_field (156K)" src="https://www.navicat.com/link/Blog/Image/2024/20240906/CN/customer_rental_info_data_source_with_calculated_field.jpg" height="683" width="678" /> <h1 class="blog-sub-title"></h1><p> ID  X  Y  customer_id  X  rental_duration (Average)  Y  X  Y  rental_duration </p><img alt="avg_rental_duration_per_customer_chart_in_design_mode (116K)" src="https://www.navicat.com/link/Blog/Image/2024/20240906/CN/avg_rental_duration_per_customer_chart_in_design_mode.jpg" height="812" width="702" /><p></p><img alt="avg_rental_duration_per_customer_chart_in_present_mode (104K)" src="https://www.navicat.com/link/Blog/Image/2024/20240906/CN/avg_rental_duration_per_customer_chart_in_present_mode.jpg" height="672" width="1440" /> <h1 class="blog-sub-title"></h1><p> customer_id  AGGCOUNT() </p><img alt="aggcount_function (102K)" src="https://www.navicat.com/link/Blog/Image/2024/20240906/CN/aggcount_function.jpg" height="832" width="942" /><p> number_of_rentals </p><img alt="avg_rental_duration_per_customer_chart_in_design_mode_with_num_or_rentals (118K)" src="https://www.navicat.com/link/Blog/Image/2024/20240906/CN/avg_rental_duration_per_customer_chart_in_design_mode_with_num_or_rentals.jpg" height="768" width="694" /><p>customer_id  rental_duration</p><img alt="data_point_details (17K)" src="https://www.navicat.com/link/Blog/Image/2024/20240906/CN/data_point_details.jpg" height="161" width="255" /> <h1 class="blog-sub-title"></h1><p> Navicat BI BI Navicat BI <a class="default-links" href="https://navicat.com.cn/download/navicat-bi" target="_blank"> 14 </a>.  It's available for Windows, macOS, and Linux operating systems. </p></body></html>]]></description>
</item>
<item>
<title>在 Navicat BI 中创建自定义字段：自定义排序顺序</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> Navicat BI </title></head><body><b>2024  8  23 </b> Robert Gravelle <br/><br/><p> Navicat BI /ODBC </p><p><a class="default-links" href="https://www.postgresqltutorial.com/postgresql-getting-started/postgresql-sample-database/" target="_blank">dvdrental</a> </p><h1 class="blog-sub-title"></h1><p>Rentals by Month</p><p> Navicat for PostgreSQL </p><img alt="rentals_by_month_query (17K)" src="https://www.navicat.com/link/Blog/Image/2024/20240823/CN/rentals_by_month_query.png" height="590" width="446" /><p></p><img alt="rentals_by_month_data_source (141K)" src="https://www.navicat.com/link/Blog/Image/2024/20240823/CN/rentals_by_month_data_source.jpg" height="713" width="934" /><p></p><img alt="rentals_by_month_data_source_with_data (58K)" src="https://www.navicat.com/link/Blog/Image/2024/20240823/CN/rentals_by_month_data_source_with_data.jpg" height="540" width="443" /><h1 class="blog-sub-title">Sales by Month</h1><p></p><img alt="rentals_by_month_chart_sorted_by_month_name (77K)" src="https://www.navicat.com/link/Blog/Image/2024/20240823/CN/rentals_by_month_chart_sorted_by_month_name.jpg" height="782" width="689" /><p> MacOS  Control  -> ...</p><img alt="custom-sorted_menu_command (29K)" src="https://www.navicat.com/link/Blog/Image/2024/20240823/CN/custom-sorted_menu_command.jpg" height="260" width="395" /><p></p><img alt="new_custom-sorted_field_dialog (49K)" src="https://www.navicat.com/link/Blog/Image/2024/20240823/CN/new_custom-sorted_field_dialog.jpg" height="513" width="642" /><p></p><p></p><p></p><img alt="data_source_results_with_custom_sorted_field (66K)" src="https://www.navicat.com/link/Blog/Image/2024/20240823/CN/data_source_results_with_custom_sorted_field.jpg" height="445" width="658" /><p></p><p></p><img alt="rentals_by_month_chart_sorted_by_month (104K)" src="https://www.navicat.com/link/Blog/Image/2024/20240823/CN/rentals_by_month_chart_sorted_by_month.jpg" height="813" width="894" /><h1 class="blog-sub-title"></h1><p></p><p> Navicat BI  <a class="default-links" href="https://navicat.com.cn/download/navicat-bi" target="_blank"> 14 </a> WindowsmacOS  Linux  Navicat BI  Navicat Premium Navicat for MySQLOraclePostgreSQLSQLiteSQL Server  MariaDB</p></body></html>]]></description>
</item>
<item>
<title>Navicat Premium Lite: 简化版的数据库管理和开发工具</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title>Navicat Premium Lite: </title></head><body><b>2024  8  16 </b> Robert Gravelle <br/><br/><p>Navicat Premium Navicat Premium Lite  Navicat Premium Lite </p><h1 class="blog-sub-title"></h1><p>Navicat Premium Lite  Navicat Premium  JSON </p><img alt="data_viewer (231K)" src="https://www.navicat.com/link/Blog/Image/2024/20240816/CN/data_viewer.jpg" height="636" width="987" /><h1 class="blog-sub-title"></h1><p>Navicat Premium Lite  PostgreSQL </p><img alt="object_designer (168K)" src="https://www.navicat.com/link/Blog/Image/2024/20240816/CN/object_designer.jpg" height="636" width="987" /><p> PostgreSQL </p><img alt="rules_tab (160K)" src="https://www.navicat.com/link/Blog/Image/2024/20240816/CN/rules_tab.jpg" height="639" width="990" /><h1 class="blog-sub-title"></h1><p> Navicat Premium Lite SQL </p><img alt="query_editor (207K)" src="https://www.navicat.com/link/Blog/Image/2024/20240816/CN/query_editor.jpg" height="639" width="988" /><p> SQL </p><h1 class="blog-sub-title"></h1><p> TEXT (.txt) CSVXML  JSON Excel (.xls  .xlsx)MS Access  DBase </p><img alt="export_wizard (127K)" src="https://www.navicat.com/link/Blog/Image/2024/20240816/CN/export_wizard.jpg" height="636" width="987" /><h1 class="blog-sub-title"></h1><p> Navicat  Navicat Cloud  Navicat On-Prem Server  Navicat Premium Lite  Navicat Cloud </p><h1 class="blog-sub-title"></h1><p> SSH  SSL  PAMX.509  GSSAPI </p><img alt="ssh_tunnel (76K)" src="https://www.navicat.com/link/Blog/Image/2024/20240816/CN/ssh_tunnel.jpg" height="732" width="902" /><h1 class="blog-sub-title"></h1><p>Navicat Premium Lite  <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium-feature-matrix" target="_blank"></a>Navicat Premium Lite </p><p> MySQLRedisPostgreSQLSQL ServerOracleMariaDBSQLite  MongoDB<a class="default-links" href="https://www.navicat.com.cn/download/navicat-premium-lite" target="_blank">Navicat Premium Lite</a>Navicat Premium Lite  WindowsmacOS  Linux </p></body></html>]]></description>
</item>
<item>
<title>在 Navicat BI 创建自定义字段：映射字段的介绍</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> Navicat BI </title></head><body><b>2024  8  7 </b> Robert Gravelle <br/><br/><p> Navicat BI  Navicat BI  <a class="default-links" href="https://www.postgresqltutorial.com/postgresql-getting-started/postgresql-sample-database/" target="_blank">"dvdrental" </a> </p><h1 class="blog-sub-title"></h1><p>IT</p><p> SELECT Sum of Payments per Movie Category CASE  GamesVideo Games</p><img alt="field_mapping_query (105K)" src="https://www.navicat.com/link/Blog/Image/2024/20240806/CN/field_mapping_query.jpg" height="790" width="526" /><h1 class="blog-sub-title"> New Releases vs. Other Categories </h1><p>Rentals by Category</p><p> Navicat BI  macOS  Control  &lt;&gt;</p><img alt="duplicate_menu_item (40K)" src="https://www.navicat.com/link/Blog/Image/2024/20240806/CN/duplicate_menu_item.jpg" height="264" width="434" /><p>Rentals by Category 1</p><img alt="rename_data_source (56K)" src="https://www.navicat.com/link/Blog/Image/2024/20240806/CN/rename_data_source.jpg" height="279" width="432" /><p>New Releases vs. Other Categories</p><img alt="renamed_data_source (10K)" src="https://www.navicat.com/link/Blog/Image/2024/20240806/CN/renamed_data_source.jpg" height="141" width="257" /><h1 class="blog-sub-title"></h1><p>name macOS  Control ...</p><img alt="new_mapped_field_menu_item (41K)" src="https://www.navicat.com/link/Blog/Image/2024/20240806/CN/new_mapped_field_menu_item.jpg" height="255" width="411" /><p>mapped_category_names</p><p>New</p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;"><li>New</li><li>New</li><li>New Release</li></ul><p>Null</p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;"><li>...</li><li>NULLUncategorized<p><img alt="add_one_to_one_values_dialog (79K)" src="https://www.navicat.com/link/Blog/Image/2024/20240806/CN/add_one_to_one_values_dialog.jpg" height="553" width="642" /></p></li><li></li></ul><p>Other Categories</p><img alt="new_mapped_field_dialog (59K)" src="https://www.navicat.com/link/Blog/Image/2024/20240806/CN/new_mapped_field_dialog.jpg" height="553" width="642" /><p>mapped_category_names</p><img alt="data_grid_with_mapped_category_names_field (119K)" src="https://www.navicat.com/link/Blog/Image/2024/20240806/CN/data_grid_with_mapped_category_names_field.jpg" height="507" width="726" /><p></p><h1 class="blog-sub-title"></h1><p> Navicat BI New Releases vs. Other Categories</p><p> Navicat BI  <a class="default-links" href="https://navicat.com.cn/download/navicat-bi" target="_blank">14 </a> WindowsmacOS  Linux </p></body></html>]]></description>
</item>
<item>
<title>Navicat for MySQL 17:实现更明智的业务决策</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title>Navicat for MySQL 17:</title></head><body><b>2024  7  26 </b> Robert Gravelle <br/><br/><p>5  12 Navicat  Navicat PremiumNavicat BI  Navicat Data Modeler Navicat Navicat for MySQL Navicat Premium  Navicat for MySQL 17 </p><h1 class="blog-sub-title"></h1><p> <a class="default-links" href="https://navicat.com.cn/company/aboutus/blog/1058-navicat-data-modeler-4-%E7%9A%84%E4%BB%8B%E7%BB%8D" target="_blank">Navicat Data Modeler 4</a>Navicat for MySQL 17 </p><img alt="model_workspace (94K)" src="https://www.navicat.com/link/Blog/Image/2024/20240726/CN/model_workspace.jpg" height="485" width="798" /><p></p><img alt="pr_audit_customer_table (146K)" src="https://www.navicat.com/link/Blog/Image/2024/20240726/CN/pr_audit_customer_table.jpg" height="689" width="1011" /><h3></h3><p> <a class="default-links" href="https://navicat.com.cn/company/aboutus/blog/1054-%E5%9C%A8-navicat-17-%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E6%95%B0%E6%8D%AE%E5%AD%97%E5%85%B8" target="_blank"> Navicat 17 </a>  Navicat 17  Navicat </p><img alt="data_dictionary (125K)" src="https://www.navicat.com/link/Blog/Image/2024/20240726/CN/data_dictionary.jpg" height="737" width="993" /><h1 class="blog-sub-title"></h1><p> 5  7 <a class="default-links" href="https://navicat.com.cn/company/aboutus/blog/1053-navicat-17-%E7%9A%84%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90" target="_blank">Navicat 17 </a> Navicat  Navicat for MySQL 17</p><img alt="data_profiler (200K)" src="https://www.navicat.com/link/Blog/Image/2024/20240726/CN/data_profiler.jpg" height="699" width="788" /><p></p><h1 class="blog-sub-title"></h1><p> <a class="default-links" href="https://navicat.com.cn/company/aboutus/blog/1055-%E5%9C%A8-navicat-17-%E4%B8%AD%E6%8E%A2%E7%B4%A2%E8%A1%A8%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6" target="_blank">Navicat 17 </a></p><img alt="table_profile (119K)" src="https://www.navicat.com/link/Blog/Image/2024/20240726/CN/table_profile.jpg" height="498" width="694" /><p></p><h1 class="blog-sub-title"></h1><p> Navicat for MySQL </p><ol><li></li><li><p><img alt="visual_query_explain (109K)" src="https://www.navicat.com/link/Blog/Image/2024/20240726/CN/visual_query_explain.jpg" height="681" width="817" /></p></li></ol><h1 class="blog-sub-title"></h1><p>Navicat for MySQL 17 </p><img alt="connection_properties (203K)" src="https://www.navicat.com/link/Blog/Image/2024/20240726/CN/connection_properties.jpg" height="637" width="918" /><h1 class="blog-sub-title"></h1><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li>Navicat URI URI </li><li>BI <a class="default-links" href="https://navicat.com.cn/company/aboutus/blog/1066-navicat-bi-%E6%95%99%E7%A8%8B%EF%BC%9A%E5%88%9B%E5%BB%BA%E5%B7%A5%E4%BD%9C%E5%8C%BA%E5%92%8C%E6%95%B0%E6%8D%AE%E6%BA%90" target="_blank">Navicat BI </a> </li></ul><h1 class="blog-sub-title"></h1><p> <a class="default-links" href="https://navicat.com.cn/products/navicat-for-mysql" target="_blank">Navicat for MySQL 17</a> </p><p> <a class="default-links" href="https://navicat.com.cn/navicat-17-highlights" target="_blank"></a> </p><p>Navicat for MySQL 17  WindowsLinux  macOS  <a class="default-links" href="https://www.navicat.com.cn/download/navicat-for-mysql" target="_blank"></a></p></body></html>]]></description>
</item>
<item>
<title>在 Navicat BI 中创建自定义字段：串联字段</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> Navicat BI </title></head><body><b>2024  7  19 </b> Robert Gravelle <br/><br/><p> Navicat BI  1  Navicat BI  <a class="default-links" href="https://www.postgresqltutorial.com/postgresql-getting-started/postgresql-sample-database/" target="_blank">dvdrental</a> </p><h1 class="blog-sub-title"></h1><p>dvdrental concat() </p><img alt="concatenation_in_query (55K)" src="https://www.navicat.com/link/Blog/Image/2024/20240719/CN/concatenation_in_query.jpg" height="545" width="509" /><p></p><h1 class="blog-sub-title">Rentals by Category</h1><p> <a class="default-links" href="https://navicat.com.cn/company/aboutus/blog/1071-%E5%9C%A8-navicat-bi-%E5%88%9B%E5%BB%BA%E8%87%AA%E5%AE%9A%E4%B9%89%E5%AD%97%E6%AE%B5%EF%BC%9A%E7%B1%BB%E5%9E%8B%E6%9B%B4%E6%94%B9%E5%AD%97%E6%AE%B5.html" target="_blank"></a> </p><img alt="avg_sales_by_date_chart (245K)" src="https://www.navicat.com/link/Blog/Image/2024/20240719/CN/avg_sales_by_date_chart.jpg" height="900" width="1347" /><p> IDComedy Comedy(5)</p><p>Rentals by Category</p><p> BI  Rentals by Category</p><img alt="rentals_by_category_data_source_in_workspace (35K)" src="https://www.navicat.com/link/Blog/Image/2024/20240719/CN/rentals_by_category_data_source_in_workspace.jpg" height="216" width="534" /><p>-></p><img alt="concatenated_field_menu_item (24K)" src="https://www.navicat.com/link/Blog/Image/2024/20240719/CN/concatenated_field_menu_item.jpg" height="172" width="464" /><p>()</p><pre>["Sales per Category".name] (["Sales per Category".category_id])</pre><img alt="new_concatenated_field_dialog (54K)" src="https://www.navicat.com/link/Blog/Image/2024/20240719/CN/new_concatenated_field_dialog.jpg" height="552" width="642" /><p>category_id_and_name</p><img alt="updated_sales_per_category_data_source (132K)" src="https://www.navicat.com/link/Blog/Image/2024/20240719/CN/updated_sales_per_category_data_source.jpg" height="536" width="816" /><h1 class="blog-sub-title">Average Sales by Date</h1><p>Average Sales by Date BI  </p><img alt="avg_sales_by_date_chart_in_workspace (47K)" src="https://www.navicat.com/link/Blog/Image/2024/20240719/CN/avg_sales_by_date_chart_in_workspace.jpg" height="231" width="518" /><p>category_id_and_name</p><img alt="dragging_and_dropping_category_id_and_name_field_to_group (43K)" src="https://www.navicat.com/link/Blog/Image/2024/20240719/CN/dragging_and_dropping_category_id_and_name_field_to_group.jpg" height="222" width="537" /><p> ID</p><img alt="avg_sales_by_date_chart_with_concatenated_category_field (114K)" src="https://www.navicat.com/link/Blog/Image/2024/20240719/CN/avg_sales_by_date_chart_with_concatenated_category_field.jpg" height="546" width="772" /><p></p><img alt="hovering_over_a_chart_category (83K)" src="https://www.navicat.com/link/Blog/Image/2024/20240719/CN/hovering_over_a_chart_category.jpg" height="454" width="271" /><h1 class="blog-sub-title"></h1><p> Navicat BI </p><p> Navicat BI   <a class="default-links" href="https://navicat.com.cn/download/navicat-bi" target="_blank"> 14 </a> WindowsmacOS  Linux </p></body></html>]]></description>
</item>
<item>
<title>在 Navicat BI 创建自定义字段：类型更改字段</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> Navicat BI </title></head><body><b>2024  7  11 </b> Robert Gravelle <br/><br/><p> Navicat 17 BI Navicat BI  <a class="default-links" href="https://www.postgresqltutorial.com/postgresql-getting-started/postgresql-sample-database/" target="_blank">dvdrental</a></p><h1 class="blog-sub-title"></h1><p> SELECT </p><pre>SELECT  c.category_id,  c.name,  p.amount,  r.rental_dateFROM   payment as p    LEFT JOIN      rental AS r on p.rental_id = r.rental_id    LEFT JOIN      inventory AS i ON r.inventory_id = i.inventory_id    LEFT JOIN      film_category AS fc ON i.film_id = fc.film_id    LEFT JOIN      category AS c ON fc.category_id = c.category_idORDER BY c.category_id;</pre><p></p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"> <li> rental_date</li> <li></li></ul><p> rental_date </p><img alt="sales_per_category_data_source (117K)" src="https://www.navicat.com/link/Blog/Image/2024/20240711/CN/sales_per_category_data_source.jpg" height="648" width="808" /><p> rental_date  "..."</p><img alt="type_changed_field_item (85K)" src="https://www.navicat.com/link/Blog/Image/2024/20240711/CN/type_changed_field_item.jpg" height="432" width="668" /><p> rental_date Navicat  "rental_date_no_time"</p><img alt="new_type_changed_field_dialog (38K)" src="https://www.navicat.com/link/Blog/Image/2024/20240711/CN/new_type_changed_field_dialog.jpg" height="552" width="642" /><p></p><p> " "</p><img alt="rental_date_no_time_field (125K)" src="https://www.navicat.com/link/Blog/Image/2024/20240711/CN/rental_date_no_time_field.jpg" height="352" width="813" /><p><table border="1" cellspacing="0" cellpadding="7"><tr><td> DateTime  <p><img alt="timestamp (196K)" src="https://www.navicat.com/link/Blog/Image/2024/20240711/CN/timestamp.jpg" height="324" width="760" /></p></td></tr></table> </p><p></p><img alt="avg_sales_by_date_chart (245K)" src="https://www.navicat.com/link/Blog/Image/2024/20240711/CN/avg_sales_by_date_chart.jpg" height="900" width="1347" /><h1 class="blog-sub-title"></h1><p>  "DD MMM YYYY " "DD MMM YYYY "</p><img alt="date_properties (37K)" src="https://www.navicat.com/link/Blog/Image/2024/20240711/CN/date_properties.jpg" height="686" width="261" /><p></p><img alt="chart_with_custom_date_format (123K)" src="https://www.navicat.com/link/Blog/Image/2024/20240711/CN/chart_with_custom_date_format.jpg" height="620" width="768" /><h1 class="blog-sub-title"></h1><p> Navicat BI </p><p> Navicat BI  <a class="default-links" href="https://navicat.com.cn/download/navicat-bi" target="_blank">14 </a> WindowsmacOS  Linux </p></body></html>]]></description>
</item>
<item>
<title>Navicat BI 教程：图表设计和仪表板</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title>Navicat BI </title></head><body><b>2024  7  3 </b> Robert Gravelle <br/><br/><p>Business IntelligenceBI Navicat BI BI  Navicat BI </p><h1 class="blog-sub-title"> Total Sales Percentages by Category </h1><p> Dvdrental Total Sales Percentages by Category</p><p> BI </p><img alt="new_chart_button (30K)" src="https://www.navicat.com/link/Blog/Image/2024/20240703/CN/new_chart_button.jpg" height="191" width="456" /><p> Dvdrental </p><img alt="new_chart_dialog (19K)" src="https://www.navicat.com/link/Blog/Image/2024/20240703/CN/new_chart_dialog.jpg" height="203" width="362" /><p></p><img alt="pie_chart_button (72K)" src="https://www.navicat.com/link/Blog/Image/2024/20240703/CN/pie_chart_button.jpg" height="325" width="877" /><p> name sum</p><img alt="pie_chart_with_fields_populated (140K)" src="https://www.navicat.com/link/Blog/Image/2024/20240703/CN/pie_chart_with_fields_populated.jpg" height="805" width="888" /><h3></h3><p></p><img alt="title_properties (45K)" src="https://www.navicat.com/link/Blog/Image/2024/20240703/CN/title_properties.jpg" height="824" width="342" /><p>/</p><img alt="customized_chart (148K)" src="https://www.navicat.com/link/Blog/Image/2024/20240703/CN/customized_chart.jpg" height="822" width="919" /><h1 class="blog-sub-title"></h1><p></p><img alt="new_dashboard_button (30K)" src="https://www.navicat.com/link/Blog/Image/2024/20240703/CN/new_dashboard_button.jpg" height="211" width="481" /><p>Total Sales Percentage by Category Dashboard</p><img alt="dashboard_dialog (16K)" src="https://www.navicat.com/link/Blog/Image/2024/20240703/CN/dashboard_dialog.jpg" height="152" width="362" /><p></p><img alt="film_categories_dashboard (296K)" src="https://www.navicat.com/link/Blog/Image/2024/20240703/CN/film_categories_dashboard.jpg" height="984" width="1280" /><p> Navicat BI </p><h1 class="blog-sub-title"></h1><p> Navicat BI  1 </p><p> Navicat BI  <a class="default-links" href="https://navicat.com.cn/download/navicat-bi" target="_blank">14 </a> WindowsmacOS  Linux </p></body></html>]]></description>
</item>
<item>
<title>Navicat BI 教程：创建工作区和数据源</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title>Navicat BI </title></head><body><b>2024  6  21 </b> Robert Gravelle <br/><br/><p>Navicat BI  Navicat BI </p><h1 class="blog-sub-title"></h1><p> PostgreSQL <a class="default-links" href="https://www.postgresqltutorial.com/postgresql-getting-started/postgresql-sample-database/" target="_blank">"dvdrental" </a> </p><img alt="chart_preview (65K)" src="https://www.navicat.com/link/Blog/Image/2024/20240621/CN/chart_preview.jpg" height="673" width="635" /><h1 class="blog-sub-title"></h1><p>Navicat BI  Navicat Premium  Navicat Premium 17 </p><p></p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;"><li> Navicat  BI </li><li><p><img alt="new_workspace_button (57K)" src="https://www.navicat.com/link/Blog/Image/2024/20240621/CN/new_workspace_button.jpg" height="292" width="951" /></p></li></ul><p> BI </p><img alt="new_workspace (94K)" src="https://www.navicat.com/link/Blog/Image/2024/20240621/CN/new_workspace.jpg" height="668" width="1051" /><h1 class="blog-sub-title"></h1><p>BI  ODBC  ExcelAccessCSV URL </p><p></p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;"><li></li><li></li><li></li></ul><p> Navicat  dvdrental  BI </p><p> SQL  payment  amount </p><pre>SELECT  c.category_id,  c.name,  sum(p.amount)FROM   payment as p    LEFT JOIN      rental AS r on p.rental_id = r.rental_id    LEFT JOIN      inventory AS i ON r.inventory_id = i.inventory_id    LEFT JOIN      film_category AS fc ON i.film_id = fc.film_id    LEFT JOIN      category AS c ON fc.category_id = c.category_idGROUP BY c.category_id, c.nameORDER BY c.category_id;</pre><p> Navicat Sum of Payments per Movie Category</p><p><img alt="sum_of_payments_per_movie_category_query (111K)" src="https://www.navicat.com/link/Blog/Image/2024/20240621/CN/sum_of_payments_per_movie_category_query.jpg" height="702" width="564" /></p><p> BI </p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;"><li> BI </li><li>Dvdrental PostgreSQL <p><img alt="data_source_name_and_db (61K)" src="https://www.navicat.com/link/Blog/Image/2024/20240621/CN/data_source_name_and_db.jpg" height="712" width="802" /></p></li><li></li><li> dvdrental  PostgreSQL <p><img alt="postgresql_connection (52K)" src="https://www.navicat.com/link/Blog/Image/2024/20240621/CN/postgresql_connection.jpg" height="712" width="802" /></p></li></ul><p> PostgreSQL  dvdrental</p><img alt="import_query_button (81K)" src="https://www.navicat.com/link/Blog/Image/2024/20240621/CN/import_query_button.jpg" height="579" width="521" /><p></p><img alt="import_query_dialog (70K)" src="https://www.navicat.com/link/Blog/Image/2024/20240621/CN/import_query_dialog.jpg" height="523" width="762" /><p></p><img alt="dvdrental_data_source (31K)" src="https://www.navicat.com/link/Blog/Image/2024/20240621/CN/dvdrental_data_source.jpg" height="190" width="463" /><h1 class="blog-sub-title"></h1><p> Navicat BI ///KPI/</p><p> Navicat BI  <a class="default-links" href="https://navicat.com.cn/download/navicat-bi" target="_blank">14 </a> WindowsmacOS  Linux </p></body></html>]]></description>
</item>
<item>
<title>使用 Navicat BI 解锁数据的力量</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> Navicat BI </title></head><body><b>2024  6  5 </b> Robert Gravelle <br/><br/><p>BIBI  Navicat BI Navicat BI  Navicat Chart Creator Navicat BI </p><img alt="dashboard (194K)" src="https://www.navicat.com/link/Blog/Image/2024/20240605/CN/dashboard.jpg" height="717" width="1153" /><h1 class="blog-sub-title"></h1><p>Navicat BI  MySQLPostgreSQLSQL ServerOracleSQLiteMariaDBMongoDB  Snowflake  Sybase  DB2  ODBC </p><p> ExcelAccessCSV URL </p><p></p><img alt="data_source (153K)" src="https://www.navicat.com/link/Blog/Image/2024/20240605/CN/data_source.jpg" height="717" width="1153" /><h1 class="blog-sub-title"></h1><p>Navicat BI ///KPI/</p><img alt="chart (169K)" src="https://www.navicat.com/link/Blog/Image/2024/20240605/CN/chart.jpg" height="717" width="1153" /><h1 class="blog-sub-title"></h1><p></p><img alt="linked_charts (95K)" src="https://www.navicat.com/link/Blog/Image/2024/20240605/CN/linked_charts.jpg" height="687" width="976" /><h1 class="blog-sub-title"></h1><p>Navicat BI  Navicat  BI  Navicat </p><h1 class="blog-sub-title"></h1><p> Navicat BI  Navicat BI</p><p>Navicat BI  Navicat Premium  <a class="default-links" href="https://navicat.com.cn/download/navicat-bi" target="_blank">14 </a> WindowsmacOS  Linux  </p></body></html>]]></description>
</item>
<item>
<title>Navicat Data Modeler 4 的介绍</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title>Navicat Data Modeler 4 </title></head><body><b>2024  5  27 </b> Robert Gravelle <br/><br/><p> Navicat  17 Navicat Data Modeler  Navicat BI Navicat Chart Creator <a class="default-links" href="https://www.navicat.com.cn/navicat-data-modeler-4-highlights" target="_blank">Navicat Data Modeler 4</a> Navicat BI </p><h1 class="blog-sub-title">Navicat Data Modeler 4</h1><p>Navicat Data Modeler  Navicat Data Modeler 4 </p><img alt="navicat_modeler_4 (212K)" src="https://www.navicat.com/link/Blog/Image/2024/20240527/CN/navicat_modeler_4.jpg" height="682" width="1052" /><h1 class="blog-sub-title"></h1><p>Navicat Data Modeler 4 </p><img alt="workspaces (105K)" src="https://www.navicat.com/link/Blog/Image/2024/20240527/CN/workspaces.jpg" height="547" width="1052" /><h1 class="blog-sub-title"></h1><p>Navicat Data Modeler 4 Navicat Data Modeler 4 </p><ul><li></li><li>/<p><img alt="group_elements (146K)" src="https://www.navicat.com/link/Blog/Image/2024/20240527/CN/group_elements.jpg" height="451" width="562" /></p></li><li></li><li></li></ul><h1 class="blog-sub-title"></h1><p> PDF </p><img alt="data_dictionary (137K)" src="https://www.navicat.com/link/Blog/Image/2024/20240527/CN/data_dictionary.jpg" height="652" width="993" /><h1 class="blog-sub-title"></h1><p>Navicat Data Modeler 4</p><img alt="synchronize database to model (71K)" src="https://www.navicat.com/link/Blog/Image/2024/20240527/CN/synchronize%20database%20to%20model.jpg" height="727" width="886" /><h1 class="blog-sub-title"></h1><p></p><img alt="compare_model_workspace (100K)" src="https://www.navicat.com/link/Blog/Image/2024/20240527/CN/compare_model_workspace.jpg" height="658" width="886" /><h1 class="blog-sub-title"></h1><p> Navicat Data Modeler 4  <a class="default-links" href="https://www.navicat.com.cn/download/navicat-data-modeler" target="_blank">14 </a> WindowsmacOS  Linux </p></body></html>]]></description>
</item>
<item>
<title>在 Navicat 17 中管理连接</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> Navicat 17 </title></head><body><b>2024  5  17 </b> Robert Gravelle <br/><br/><p>Navicat 17 Navicat 17  URI  URI </p><h1 class="blog-sub-title">URI </h1><p> URI Navicat  URI  Navicat </p><img alt="navicat_uri (108K)" src="https://www.navicat.com/link/Blog/Image/2024/20240517/navicat_uri.jpg" height="549" width="877" /><h1 class="blog-sub-title"></h1><p> Navicat  URI </p><img alt="manage_connection (160K)" src="https://www.navicat.com/link/Blog/Image/2024/20240517/manage_connection.jpg" height="732" width="902" /><h1 class="blog-sub-title"></h1><p></p><p></p><img alt="manage_connection_button (37K)" src="https://www.navicat.com/link/Blog/Image/2024/20240517/manage_connection_button.jpg" height="490" width="229" /><p></p><img alt="manage_connection_tab (161K)" src="https://www.navicat.com/link/Blog/Image/2024/20240517/manage_connection_tab.jpg" height="571" width="1096" /><h3></h3><p> Navicat  mac  Control -></p><img alt="create_new_group (31K)" src="https://www.navicat.com/link/Blog/Image/2024/20240517/create_new_group.jpg" height="277" width="549" /><p></p><p></p><h3></h3><p> mac  Control </p><img alt="add_color (43K)" src="https://www.navicat.com/link/Blog/Image/2024/20240517/add_color.jpg" height="321" width="459" /><h3></h3><p> mac  Control </p><img alt="add_star_command (33K)" src="https://www.navicat.com/link/Blog/Image/2024/20240517/add_star_command.jpg" height="251" width="334" /><h1 class="blog-sub-title"></h1><p> Navicat 17 </p><p> Navicat 17  <a class="default-links" href="https://www.navicat.com.cn/download/navicat-premium" target="_blank">14 </a> WindowsmacOS  Linux </p></body></html>]]></description>
</item>
<item>
<title>在 Navicat 17 中探索表配置文件</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> Navicat 17 </title></head><body><b>2024  5  9 </b> Robert Gravelle <br/><br/><p> Navicat 17</p><h1 class="blog-sub-title"></h1><p> <a class="default-links" href="https://www.postgresqltutorial.com/postgresql-getting-started/postgresql-sample-database/" target="_blank">dvdrental</a>  Navicat 17  rental </p><img alt="dvdrental_db_rental_table (204K)" src="https://www.navicat.com/link/Blog/Image/2024/20240509/dvdrental_db_rental_table.jpg" height="672" width="837" /><p></p><p></p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li></li><li></li><li></li><li></li><li></li></ul><p> rental </p><p></p><p> rental_date </p><img alt="rental date column moved and resized (95K)" src="https://www.navicat.com/link/Blog/Image/2024/20240509/rental%20date%20column%20moved%20and%20resized.jpg" height="582" width="341" /><p></p><img alt="sorting a column (29K)" src="https://www.navicat.com/link/Blog/Image/2024/20240509/sorting%20a%20column.jpg" height="165" width="322" /><p></p><img alt="rental date column sorted in ascending order (67K)" src="https://www.navicat.com/link/Blog/Image/2024/20240509/rental%20date%20column%20sorted%20in%20ascending%20order.jpg" height="398" width="327" /><h3></h3><p> rental  Navicat 17 </p><img alt="Save Profile command (36K)" src="https://www.navicat.com/link/Blog/Image/2024/20240509/Save%20Profile%20command.jpg" height="217" width="330" /><p></p><img alt="Save As dialog (19K)" src="https://www.navicat.com/link/Blog/Image/2024/20240509/Save%20As%20dialog.jpg" height="161" width="402" /><h3></h3><p> rental ->-></p><img alt="Loading a table profile (43K)" src="https://www.navicat.com/link/Blog/Image/2024/20240509/Loading%20a%20table%20profile.jpg" height="173" width="526" /><h1 class="blog-sub-title"></h1><p>->-></p><img alt="default profile (56K)" src="https://www.navicat.com/link/Blog/Image/2024/20240509/default%20profile.jpg" height="172" width="669" /><h1 class="blog-sub-title"></h1><p>-> SQL </p><img alt="Profile screen (42K)" src="https://www.navicat.com/link/Blog/Image/2024/20240509/Profile%20screen.jpg" height="592" width="722" /><p></p><p> mac  Control ...</p><img alt="Open Containing Folder (18K)" src="https://www.navicat.com/link/Blog/Image/2024/20240509/Open%20Containing%20Folder.jpg" height="141" width="459" /><h1 class="blog-sub-title"></h1><p> Navicat 17  <a class="default-links" href="https://www.postgresqltutorial.com/postgresql-getting-started/postgresql-sample-database/" target="_blank">dvdrental</a>  rental </p><p>5  13   <a class="default-links" href="https://www.navicat.com/en/products/navicat-premium" target="_blank">Navicat Premium</a>  17</p></body></html>]]></description>
</item>
<item>
<title>在 Navicat 17 创建一个数据字典</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> Navicat 17 </title></head><body><b>2024  5  8 </b> Robert Gravelle <br/><br/><p> 5  13  Navicat 17 GUI  Navicat 17 </p><h1 class="blog-sub-title"></h1><p></p><p></p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;">    <li></li>    <li></li>    <li></li>    <li></li>    <li></li></ul><h1 class="blog-sub-title"> PostgreSQL dvdrental </h1><p>PostgreSQL <a class="default-links" href="https://www.postgresqltutorial.com/postgresql-getting-started/postgresql-sample-database/" target="_blank">dvdrental</a>  PostgreSQLDVD  DVD </p><p> Navicat 17 </p><h1 class="blog-sub-title"></h1><p> -> </p><img alt="data_dictionary_command (52K)" src="https://www.navicat.com/link/Blog/Image/2024/20240508/data_dictionary_command.jpg" height="402" width="398" /><p></p><p></p><img alt="choose_database_dialog (76K)" src="https://www.navicat.com/link/Blog/Image/2024/20240508/choose_database_dialog.jpg" height="681" width="759" /><p></p><h1 class="blog-sub-title"></h1><p></p><img alt="choose_objects_dialog (109K)" src="https://www.navicat.com/link/Blog/Image/2024/20240508/choose_objects_dialog.jpg" height="816" width="664" /><p></p><p></p><img alt="search_feature (72K)" src="https://www.navicat.com/link/Blog/Image/2024/20240508/search_feature.jpg" height="816" width="664" /><h1 class="blog-sub-title"></h1><p>Navicat </p><img alt="templates (66K)" src="https://www.navicat.com/link/Blog/Image/2024/20240508/templates.jpg" height="816" width="664" /><p></p><img alt="template_customization (108K)" src="https://www.navicat.com/link/Blog/Image/2024/20240508/template_customization.jpg" height="816" width="1040" /><p></p> <ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li></li><li></li><li>/</li><li></li><li></li></ul><img alt="header_footer_customization (134K)" src="https://www.navicat.com/link/Blog/Image/2024/20240508/header_footer_customization.jpg" height="816" width="1040" /><h1 class="blog-sub-title"></h1><p>PDF</p><img alt="set_file_path (39K)" src="https://www.navicat.com/link/Blog/Image/2024/20240508/set_file_path.jpg" height="480" width="603" />s<p> Navicat </p><img alt="processing_results (104K)" src="https://www.navicat.com/link/Blog/Image/2024/20240508/processing_results.jpg" height="480" width="603" /><p></p><img alt="data_dictionary_in_adobe (105K)" src="https://www.navicat.com/link/Blog/Image/2024/20240508/data_dictionary_in_adobe.jpg" height="689" width="693" /><h1 class="blog-sub-title"></h1><p>  Navicat 17  5  13  <a class="default-links" href="https://www.navicat.com/en/products/navicat-premium" target="_blank">Navicat Premium</a>  17</p></body></html>]]></description>
</item>
<item>
<title>Navicat 17 的数据分析</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title>Navicat 17 </title></head><body><b>2024  5  7 </b> Robert Gravelle <br/><br/><p> Navicat 17 5  13  17  PostgreSQL <a class="default-links" href="https://www.postgresqltutorial.com/postgresql-getting-started/postgresql-sample-database/" target="_blank">dvdrental</a>  rental </p><h1 class="blog-sub-title"></h1><p></p><img alt="data_profiling_button (77K)" src="https://www.navicat.com/link/Blog/Image/2024/20240507/data_profiling_button.jpg" height="277" width="767" /><p></p><img alt="profiling_options (57K)" src="https://www.navicat.com/link/Blog/Image/2024/20240507/profiling_options.jpg" height="219" width="695" /><h1 class="blog-sub-title"></h1><p> rental  2006  rental_date  2006  1  1  00:00:00  2006  6  30  23:59:59 </p><img alt="filtering_by_rental_date (62K)" src="https://www.navicat.com/link/Blog/Image/2024/20240507/filtering_by_rental_date.jpg" height="409" width="385" /><p></p><img alt="limit_records_feature (24K)" src="https://www.navicat.com/link/Blog/Image/2024/20240507/limit_records_feature.jpg" height="243" width="431" /><h1 class="blog-sub-title"></h1><p></p><p></p><p></p><img alt="customer_id_stats (182K)" src="https://www.navicat.com/link/Blog/Image/2024/20240507/customer_id_stats.jpg" height="851" width="767" /><h1 class="blog-sub-title"></h1><p></p><img alt="distribution_by_value (20K)" src="https://www.navicat.com/link/Blog/Image/2024/20240507/distribution_by_value.jpg" height="279" width="225" /><p></p><img alt="compact_layout (77K)" src="https://www.navicat.com/link/Blog/Image/2024/20240507/compact_layout.jpg" height="276" width="769" /><h1 class="blog-sub-title"></h1><p></p><img alt="hover_stats_on_column_header (16K)" src="https://www.navicat.com/link/Blog/Image/2024/20240507/hover_stats_on_column_header.jpg" height="258" width="184" /><p></p><img alt="spotlight_feature (136K)" src="https://www.navicat.com/link/Blog/Image/2024/20240507/spotlight_feature.jpg" height="852" width="767" /><p></p><p></p><h1 class="blog-sub-title"></h1><p> Navicat 17  <a class="default-links" href="https://www.postgresqltutorial.com/postgresql-getting-started/postgresql-sample-database/" target="_blank">dvdrental</a> rental </p><p>5  13  <a class="default-links" href="https://www.navicat.com/en/products/navicat-premium" target="_blank">Navicat Premium</a> 17</p></body></html>]]></description>
</item>
<item>
<title>探索 PostgreSQL 中不同类型的约束</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE html><head>    <title> PostgreSQL </title></head><body><b>2024  5  3 </b> Robert Gravelle <br/><br/>    <p>PostgreSQL  PostgreSQL   <a class="default-links" href="https://www.postgresqltutorial.com/postgresql-getting-started/postgresql-sample-database/" target="_blank">"dvdrental" </a> </p>    <h1 class="blog-sub-title">1. </h1>    <p>customers 18</p>    <pre><code>ALTER TABLE customersADD CONSTRAINT check_age CHECK (age >= 18);    </code></pre>    <h1 class="blog-sub-title">2. </h1>    <p>customer</p>    <pre><code>ALTER TABLE customersALTER COLUMN email SET NOT NULL;    </code></pre>    <h1 class="blog-sub-title">3. </h1>    <p>customer</p>    <pre><code>ALTER TABLE customersADD CONSTRAINT unique_email UNIQUE (email);    </code></pre>    <h1 class="blog-sub-title">4. </h1>    <p>customercustomer_id</p>    <pre><code>ALTER TABLE customersADD CONSTRAINT pk_customer_id PRIMARY KEY (customer_id);    </code></pre>    <h1 class="blog-sub-title">5. </h1>    <p>rental</p>    <pre><code>ALTER TABLE rentalADD CONSTRAINT fk_customer_idFOREIGN KEY (customer_id)REFERENCES customers(customer_id);    </code></pre>    <h1 class="blog-sub-title">6. </h1>    <p>bookings</p>    <pre><code>ALTER TABLE bookingsADD CONSTRAINT exclude_overlapping_bookingsEXCLUDE USING GIST (room_id WITH =, booking_range WITH &&);    </code></pre>    <h1 class="blog-sub-title">Navicat </h1>    <p><a class="default-links" href="https://www.navicat.com.cn/download/navicat-for-postgresql" target="_blank">Navicat for PostgreSQL 16</a>  PostgreSQL </p>    <img src="https://www.navicat.com/link/Blog/Image/2024/20240503/CN/Screenshot_Navicat_16_PostgreSQL_Windows_02_ObjectDesign.png" alt="Screenshot_Navicat_16_PostgreSQL_Windows_02_ObjectDesign.png" />    <p></p>    <h1 class="blog-sub-title"></h1>    <p>PostgreSQL </p>    <p> PostgreSQL Navicat 16 for PostgreSQL   <a class="default-links" href="https://www.navicat.com.cn/download/navicat-for-postgresql" target="_blank"></a>  14 </p></body></html>]]></description>
</item>
<item>
<title>Navicat 17：先睹为快</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title>Navicat 17</title></head><body><b>2024  4  30 </b> Robert Gravelle <br/><br/><p>Navicat 17 5  13  Navicat 16  Navicat 17 5  13 </p><h1 class="blog-sub-title"></h1><p></p><img alt="model_workspace (259K)" src="https://www.navicat.com/link/Blog/Image/2024/20240430/model_workspace.jpg" height="854" width="962" /><h1 class="blog-sub-title"></h1><p></p><img alt="data_profile (203K)" src="https://www.navicat.com/link/Blog/Image/2024/20240430/data_profile.jpg" height="853" width="774" /><h1 class="blog-sub-title"></h1><p></p><img alt="data_dictionary (97K)" src="https://www.navicat.com/link/Blog/Image/2024/20240430/data_dictionary.jpg" height="720" width="993" /><h1 class="blog-sub-title"></h1><p></p><img alt="query_pinned_result (205K)" src="https://www.navicat.com/link/Blog/Image/2024/20240430/query_pinned_result.jpg" height="851" width="583" /><p></p><h1 class="blog-sub-title"></h1><p> MySQLMariaDB  PostgreSQL </p><img alt="visual_explain (113K)" src="https://www.navicat.com/link/Blog/Image/2024/20240430/visual_explain.jpg" height="850" width="767" /><h1 class="blog-sub-title"></h1><p></p><img alt="table_profile (90K)" src="https://www.navicat.com/link/Blog/Image/2024/20240430/table_profile.jpg" height="392" width="766" /><p></p><h1 class="blog-sub-title">Navicat URI</h1><p></p><img alt="navicat_uri (108K)" src="https://www.navicat.com/link/Blog/Image/2024/20240430/navicat_uri.jpg" height="549" width="877" /><h1 class="blog-sub-title"></h1><p>Navicat 17 </p><img alt="manage_connection (160K)" src="https://www.navicat.com/link/Blog/Image/2024/20240430/manage_connection.jpg" height="732" width="902" /><h1 class="blog-sub-title">BI</h1><p>BI</p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;">  <li></li>  <li></li> </ul>  <img alt="calculated_field (83K)" src="https://www.navicat.com/link/Blog/Image/2024/20240430/calculated_field.jpg" height="824" width="689" /><h1 class="blog-sub-title"></h1><p> MongoDB </p><h1 class="blog-sub-title"> Redis </h1><p>Navicat  RedisNavicat 17  Redis Redis  Redis  Redis </p><h1 class="blog-sub-title"></h1><p> Navicat 17 5  13 </p></body></html>]]></description>
</item>
<item>
<title>了解 PostgreSQL 的索引类型</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE html><head>    <title> PostgreSQL </title></head><body><b>2024  4  26 </b> Robert Gravelle <br/><br/><p>PostgreSQL  PostgreSQL  DML  <a class="default-links" href="https://www.navicat.com.cn/download/navicat-for-postgresql" target="_blank">Navicat for PostgreSQL 16</a>  <a class="default-links" href="https://www.postgresqltutorial.com/postgresql-getting-started/postgresql-sample-database/" target="_blank">"dvdrental" </a> </p><h1 class="blog-sub-title">1. B B-Tree</h1><p>B  PostgreSQL paymentcustomer_id B </p><pre><code>CREATE INDEX btree_customer_id_idx ON payment(customer_id);</code></pre><p> Navicat btree_customer_id_idxcustomer_idB-Trees</p><img alt="PostgreSQL index types (10K)" src="https://www.navicat.com/link/Blog/Image/2024/20240426/CN/PostgreSQL%20index%20types.jpg" height="154" width="245" /><p> btree_customer_id_idx </p><img alt="btree_customer_id_idx_index (35K)" src="https://www.navicat.com/link/Blog/Image/2024/20240426/CN/btree_customer_id_idx_index.jpg" height="127" width="648" /><p></p><h1 class="blog-sub-title">2. </h1><p>Hashinventoryfilm_id DML </p><pre><code>CREATE INDEX hash_film_id_idx ON inventory USING HASH(film_id);</code></pre><p> Navicat </p><img alt="hash_film_id_idx_index (34K)" src="https://www.navicat.com/link/Blog/Image/2024/20240426/CN/hash_film_id_idx_index.jpg" height="129" width="624" /><h1 class="blog-sub-title">3. GiST </h1><p>GiST</p><p> geometry  GiST </p><pre><code>CREATE INDEX index_geometry ON table_name USING GIST (geometry_column);</code></pre><h1 class="blog-sub-title">4. SP-GiST </h1><p>SP-GiST</p><p> tsvector  SP-GiST <pre><code>CREATE INDEX index_text_search ON table_name USING SPGIST (tsvector_column);</code></pre><h1 class="blog-sub-title">5. GIN </h1><p>GINfilmtitle GIN </p><pre><code>CREATE INDEX gin_title_idx ON film USING gin(to_tsvector('english', title));</code></pre><p> Navicat film gin_title_idx </p><img alt="gin_title_idx_index (47K)" src="https://www.navicat.com/link/Blog/Image/2024/20240426/CN/gin_title_idx_index.jpg" height="129" width="814" /><h1 class="blog-sub-title">6. BRIN </h1><p>BRINrentalrental_date BRIN </p><pre><code>CREATE INDEX brin_rental_date_idx ON rental USING brin(rental_date);</code></pre><p> Navicat  brin_rental_date_idx </p><img alt="brin_rental_date_idx_index (39K)" src="https://www.navicat.com/link/Blog/Image/2024/20240426/CN/brin_rental_date_idx_index.jpg" height="126" width="755" /><h1 class="blog-sub-title"></h1><p>PostgreSQL  <a class="default-links" href="https://www.navicat.com.cn/download/navicat-for-postgresql" target="_blank">Navicat for PostgreSQL 16</a> </p></body></html>]]></description>
</item>
<item>
<title>掌握 PostgreSQL 规则语法</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE html><html><head>    <title> PostgreSQL </title></head><body><b>2024  4  19 </b> Robert Gravelle <br/><br/><p>PostgreSQL  PostgreSQL  <a class="default-links" href="https://www.postgresqltutorial.com/postgresql-getting-started/postgresql-sample-database/" target="_blank">dvdrental</a> </p><h1 class="blog-sub-title">PostgreSQL </h1><p>PostgreSQL </p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;">    <li><strong>CREATE RULE </strong> <code>CREATE RULE</code> </li>    <li><strong></strong> <code>SELECT</code><code>INSERT</code><code>UPDATE</code><code>DELETE</code> <code>ALL</code></li>    <li><strong></strong> SQL  <code>SELECT</code><code>INSERT</code><code>UPDATE</code><code>DELETE</code></li>    <li><strong></strong> <code>WHERE</code> </li></ul><h1 class="blog-sub-title">dvdrental</h1><h3> 1</h3><p>customer</p><pre><code>CREATE TABLE customer_audit (    action_type VARCHAR(10),    customer_id INT,    audit_timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP);</code></pre><p> <a class="default-links" href="https://www.navicat.com.cn/download/navicat-for-postgresql" target="_blank">Navicat for PostgreSQL 16</a> </p><img alt="customer_audit_table_design (55K)" src="https://www.navicat.com/link/Blog/Image/2024/20240419/CN/customer_audit_table_design.jpg" height="322" width="644" /><p></p><pre><code>CREATE RULE log_customer_insert AS    ON INSERT TO customer    DO ALSO        INSERT INTO customer_audit (action_type, customer_id)        VALUES ('INSERT', NEW.customer_id);</code></pre><p> Navicat  log_customer_insert </p><img alt="log_customer_insert_rule (46K)" src="https://www.navicat.com/link/Blog/Image/2024/20240419/CN/log_customer_insert_rule.jpg" height="229" width="570" /><h3> 2</h3><p></p><pre><code>CREATE RULE prevent_return_date_update AS    ON UPDATE TO rental    WHERE OLD.return_date IS NOT NULL AND NEW.return_date IS DISTINCT FROM OLD.return_date    DO INSTEAD NOTHING;</code></pre><p> Navicat  prevent_return_date_update </p><img alt="prevent_return_date_update_rule (53K)" src="https://www.navicat.com/link/Blog/Image/2024/20240419/CN/prevent_return_date_update_rule.jpg" height="246" width="584" /><p> <a class="default-links" href="https://navicat.com.cn/company/aboutus/blog/1047-%E4%BA%86%E8%A7%A3-postgresql-%E8%A7%84%E5%88%99.html" target="_blank"></a>  enforce_min_rental_duration </p><h3> 3</h3><p>address</p><pre><code>CREATE RULE transform_phone_number AS    ON INSERT TO address    DO ALSO        UPDATE address        SET phone = '+1-' || SUBSTRING(phone FROM 3)        WHERE address_id = NEW.address_id;</code></pre><p> Where  Definition  Navicat  transform_phone_number </p><img alt="transform_phone_number_rule (63K)" src="https://www.navicat.com/link/Blog/Image/2024/20240419/CN/transform_phone_number_rule.jpg" height="533" width="557" /><h1 class="blog-sub-title"></h1><p>PostgreSQL  PostgreSQL </p></body></html>]]></description>
</item>
<item>
<title>了解 PostgreSQL 规则</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE html><head>    <title> PostgreSQL </title></head><body><b>2024  4  11 </b> Robert Gravelle <br/><br/><p>PostgreSQL  PostgreSQL  <a class="default-links" href="https://www.postgresqltutorial.com/postgresql-getting-started/postgresql-sample-database/" target="_blank">DVD Rental DatabaseDVD </a></p><h1 class="blog-sub-title"> PostgreSQL </h1><p>PostgreSQL </p><p>PostgreSQL </p><h1 class="blog-sub-title"></h1><p> PostgreSQL </p><ol>    <li><strong></strong>        <ul>            <li></li>            <li> INSERTUPDATE  DELETE </li>        </ul>    </li><br/>    <li><strong></strong>        <ul>            <li></li>            <li></li>        </ul><br/>    </li>    <li><strong></strong>        <ul>            <li></li>            <li></li>        </ul><br/>    </li>    <li><strong></strong>        <ul>            <li></li>            <li></li>        </ul>    </li></ol><h1 class="blog-sub-title">dvdrental</h1><p> PostgreSQL dvdrental</p><p></p><pre><code>CREATE RULE enforce_min_rental_duration AS    ON INSERT TO rental    WHERE (NEW.return_date - NEW.rental_date) &lt; INTERVAL '1 day'    DO INSTEAD NOTHING;</code></pre><p> Navicat INSTEADALSO Navicat </p><img alt="enforce_min_rental_duration_rule (49K)" src="https://www.navicat.com/link/Blog/Image/2024/20240410/CN/enforce_min_rental_duration_rule.jpg" height="239" width="591" /><p></p><h1 class="blog-sub-title"></h1><p>PostgreSQL </p><p> Navicat 16 for PostgreSQL <a class="default-links" href="https://www.navicat.com.cn/download/navicat-for-postgresql" target="_blank"></a>  14 </p></body></html>]]></description>
</item>
<item>
<title>通过检查约束确保 PostgreSQL 的数据完整性</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE html><head>    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <title> PostgreSQL </title></head><body><b>2024  3  25 </b> Robert Gravelle <br/><br/>    <p> PostgreSQL  PostgreSQL  <a class="default-links" href="https://www.postgresqltutorial.com/postgresql-getting-started/postgresql-sample-database/" target="_blank">DVD Rental Database</a> </p>    <h1 class="blog-sub-title"></h1>    <p> <code>CHECK</code> </p>    <h1 class="blog-sub-title"></h1>    <p>dvdrentalrentalrental_duration <a class="default-links" href="https://www.navicat.com.cn/products/navicat-for-postgresql" target="_blank">Navicat</a> </p>    <img alt="rentals_with_rental_period_table_definition (48K)" src="https://www.navicat.com/link/Blog/Image/2024/20240325/CN/rentals_with_rental_period_table_definition.jpg" height="189" width="655" /><p>rentals_with_rental_period</p>    <pre><code>ALTER TABLE rentals_with_rental_periodADD CONSTRAINT rental_duration_checkCHECK (rental_duration &gt; 0);    </code></pre>    <p>In Navicat we can add a check constraint in the "Checks" tab of the Table Designer. We just need to supply an expression and optional name.  Navicat will create a unique name for us if we don't supply one! </p>        <img alt="rental_duration_check_in_navicat (28K)" src="https://www.navicat.com/link/Blog/Image/2024/20240325/CN/rental_duration_check_in_navicat.jpg" height="127" width="646" />        <p> Navicat Navicat </p>        <p>rentals_with_rental_period</p>    <h1 class="blog-sub-title"></h1>    <p>dvdrentalfilmGPGPG-13RNC-17</p>    <pre><code>ALTER TABLE filmADD CONSTRAINT film_rating_checkCHECK (rating IN ('G', 'PG', 'PG-13', 'R', 'NC-17'));    </code></pre>    <p> Navicat </p>        <img alt="film_rating_check_in_navicat (34K)" src="https://www.navicat.com/link/Blog/Image/2024/20240325/CN/film_rating_check_in_navicat.jpg" height="132" width="696" />        <p>film</p>    <h1 class="blog-sub-title">NULL</h1>    <p> <code>NULL</code>  <code>NULL</code> filmrental_rate <code>NULL</code> </p>    <pre><code>ALTER TABLE filmADD CONSTRAINT film_rental_rate_checkCHECK (rental_rate &gt; 0 AND rental_rate IS NOT NULL);    </code></pre>    <p> Navicat </p>        <img alt="film_rental_rate_check_in_navicat (43K)" src="https://www.navicat.com/link/Blog/Image/2024/20240325/CN/film_rental_rate_check_in_navicat.jpg" height="154" width="694" />        <h1 class="blog-sub-title"></h1>    <p> PostgreSQL </p></body></html>]]></description>
</item>
<item>
<title>探索 PostgreSQL 的外部数据包装器和统计函数</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE html><html ><head>    <title> PostgreSQL </title></head><body> <b>2024  3  15 </b> Robert Gravelle <br/><br/>    <p>        PostgreSQL <code>file_fdw_handler</code><code>file_fdw_validator</code><code>pg_stat_statements</code><code>pg_stat_statements_info</code>  <code>pg_stat_statements_reset</code>  Navicat     </p>    <h1 class="blog-sub-title"></h1>    <p>        PostgreSQL FDWX<code>file_fdw_handler</code>  <code>file_fdw_validator</code>     </p>    <p>        <code>file_fdw_handler</code>  PostgreSQL  SQL  <code>external_data</code>  <code>data.csv</code>  CSV     </p>    <pre><code>        CREATE SERVER file_server FOREIGN DATA WRAPPER file_fdw;        CREATE FOREIGN TABLE external_data (            id INT,            name TEXT,            age INT        ) SERVER file_server OPTIONS (filename '/path/to/data.csv');    </code></pre>    <p>        <code>file_fdw_validator</code>     </p>    <pre><code>        SELECT file_fdw_validator('filename', '/path/to/data.csv');    </code></pre>    <h1 class="blog-sub-title"></h1>    <p>PostgreSQL  <code>pg_stat_statements</code> <code>pg_stat_statements</code><code>pg_stat_statements_info</code>  <code>pg_stat_statements_reset</code>     </p>    <p>        <code>pg_stat_statements</code>  SQL  <code>pg_stat_statements</code>, <code>postgresql.conf</code>  <code>shared_preload_libraries</code> <pre><code>shared_preload_libraries = 'pg_stat_statements'</code></pre> <p> PostgreSQL </p>    <pre><code>        SELECT * FROM pg_stat_statements;    </code></pre>    <p>        <code>pg_stat_statements_info</code>  <code>pg_stat_statements</code>     </p>    <pre><code>        SELECT * FROM pg_stat_statements_info;    </code></pre>    <p>        <code>pg_stat_statements_reset</code>  <code>pg_stat_statements</code>     </p>    <pre><code>        SELECT pg_stat_statements_reset();    </code></pre>    <h1 class="blog-sub-title"> Navicat  PostgreSQL </h1>    <p> <a class="default-links" href="https://www.navicat.com.cn/download/navicat-for-postgresql" target="_blank">Navicat for PostgreSQL</a>  <a class="default-links" href="https://www.navicat.com.cn/download/navicat-premium" target="_blank">Navicat Premium</a> 16 :</p>        <img alt="PostgreSQL_functions_in_Navicat (113K)" src="https://www.navicat.com/link/Blog/Image/2024/20240315/CN/PostgreSQL_functions_in_Navicat.jpg" height="599" width="1110" />        <p></p>        <img alt="execute_function_button (62K)" src="https://www.navicat.com/link/Blog/Image/2024/20240315/CN/execute_function_button.jpg" height="254" width="441" />        <p></p>        <img alt="input_parameter_dialog (33K)" src="https://www.navicat.com/link/Blog/Image/2024/20240315/CN/input_parameter_dialog.jpg" height="252" width="484" />        <p></p>        <img alt="pg_stat_statements_results (330K)" src="https://www.navicat.com/link/Blog/Image/2024/20240315/CN/pg_stat_statements_results.jpg" height="489" width="710" />        <p>        PostgreSQL  <code>file_fdw_handler</code>, <code>file_fdw_validator</code>, <code>pg_stat_statements</code>, <code>pg_stat_statements_info</code>,  <code>pg_stat_statements_reset</code> PostgreSQL </p></body></html>]]></description>
</item>
<item>
<title>探索 PostgreSQL 的高级数据类型 - 第二部分</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE html><html><head>    <title> PostgreSQL  - </title></head><body><b>2024  3  8 </b> Robert Gravelle <br/><br/>    <h1 class="blog-sub-title"></h1>    <p> DML/SQL  <a class="default-links" href="https://www.navicat.com.cn/download/navicat-for-postgresql" target="_blank">Navicat for PostgreSQL 16</a> </p>    <h1 class="blog-sub-title"></h1>    <p> PostgreSQL </p>    <h1 class="blog-sub-title"></h1>    <p> <a class="default-links" href="https://www.postgresqltutorial.com/postgresql-getting-started/postgresql-sample-database/" target="_blank">dvdrental sample database</a>rentals_with_rental_period</p>    <pre><code>CREATE TABLE rentals_with_rental_period (    rental_id SERIAL PRIMARY KEY,    customer_id INT,    rental_duration INT,    rental_period DATERANGE);INSERT INTO rentals_with_rental_period (customer_id, rental_duration, rental_period)VALUES(1, 7, '[2024-02-01, 2024-02-08]'),(2, 5, '[2024-01-15, 2024-01-20]');    </code></pre>    <p> Navicat</p>        <img alt="rentals_with_rental_period_in_table_designer (59K)" src="https://www.navicat.com/link/Blog/Image/2024/20240309/CN/rentals_with_rental_period_in_table_designer.jpg" height="257" width="666" />        <p>[) Navicat</p>        <img alt="rentals_with_rental_period_table (24K)" src="https://www.navicat.com/link/Blog/Image/2024/20240309/CN/rentals_with_rental_period_table.jpg" height="127" width="496" />    <p>rental_period <code>@></code> </p>    <img alt="range_query (40K)" src="https://www.navicat.com/link/Blog/Image/2024/20240309/CN/range_query.jpg" height="241" width="563" />    <h1 class="blog-sub-title"></h1>    <p></p>    <pre><code>CREATE TABLE product_price (    product_id SERIAL PRIMARY KEY,    price_range NUMRANGE);INSERT INTO product_price (price_range)VALUES('[10.00, 20.00)'),('[20.00, 30.00)'),('[30.00, )');    </code></pre>    <p>price_range <code>@></code> </p>    <pre><code>SELECT * FROM product_priceWHERE price_range @> 25.00;    </code></pre>        <h1 class="blog-sub-title"></h1>    <p>PostgreSQL </p><p> PostgreSQL Navicat 16 for PostgreSQL  <a class="default-links" href="https://www.navicat.com.cn/download/navicat-for-postgresql" target="_blank"></a>  14 </p></body></html>]]></description>
</item>
<item>
<title>探索 PostgreSQL 的高级数据类型 - 第 1 部分</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE html><head>    <title> PostgreSQL  -  1 </title></head><body> <b>2024  3  1 </b> Robert Gravelle <br/><br/>    <h1 class="blog-sub-title"></h1>    <p>PostgreSQL  <a class="default-links" href="https://www.postgresqltutorial.com/postgresql-getting-started/postgresql-sample-database/" target="_blank">dvdrental sample database</a> </p>    <h1 class="blog-sub-title">Array</h1>    <p>PostgreSQL films_with_actors</p>    <pre><code>CREATE TABLE films_with_actors (    film_id SERIAL PRIMARY KEY,    title VARCHAR(255),    actors TEXT[]);INSERT INTO films_with_actors (title, actors) VALUES('Inception', ARRAY['Leonardo DiCaprio', 'Joseph Gordon-Levitt']),('The Shawshank Redemption', ARRAY['Tim Robbins', 'Morgan Freeman']);    </code></pre>        <p> Navicat </p>        <img alt="films_with_actors_table_design (57K)" src="https://www.navicat.com/link/Blog/Image/2024/20240301/CN/films_with_actors_table_design.jpg" height="310" width="639" />        <p>[]Navicat 1</p>        <p>{} Navicat </p>        <img alt="films_with_actors_table_with_data (24K)" src="https://www.navicat.com/link/Blog/Image/2024/20240301/CN/films_with_actors_table_with_data.jpg" height="98" width="564" />        <p>actors[1]</p>        <img alt="selecting_array_values (39K)" src="https://www.navicat.com/link/Blog/Image/2024/20240301/CN/selecting_array_values.jpg" height="263" width="562" />    <h1 class="blog-sub-title">Enum</h1>    <p>EnumeratedEnum films_with_actorsrating DDL </p>    <pre><code>CREATE TYPE rating AS ENUM ('G', 'PG', 'PG-13', 'R', 'NC-17');ALTER TABLE films_with_actors ADD COLUMN rating rating;    </code></pre>       <p> Navicat  CREATE TYPE  rating Enum (Type) rating </p>      <img alt="rating_column (61K)" src="https://www.navicat.com/link/Blog/Image/2024/20240301/CN/rating_column.jpg" height="361" width="636" />        <p> rating </p>        <img alt="rating_column_in_grid_view (32K)" src="https://www.navicat.com/link/Blog/Image/2024/20240301/CN/rating_column_in_grid_view.jpg" height="157" width="628" />        <h1 class="blog-sub-title"></h1>    <p>PostgreSQL  PostgreSQL  Range Range </p><p> PostgreSQL Navicat 16 for PostgreSQL  <a class="default-links" href="https://www.navicat.com.cn/download/navicat-for-postgresql" target="_blank"></a>  14 </p></body> ]]></description>
</item>
<item>
<title>为什么在下一个 IT 项目中选择使用 PostgreSQL</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE html><head>    <title> IT  PostgreSQL</title></head><body><b>2024  2  23 </b> Robert Gravelle <br/><br/>    <p> PostgreSQL </p>    <h1 class="blog-sub-title"></h1>    <p>PostgreSQL  PostgreSQL</p>    <h1 class="blog-sub-title"></h1>    <p>PostgreSQL </p>    <h1 class="blog-sub-title"></h1>    <p>PostgreSQL hstore JSON</p>    <h1 class="blog-sub-title">ACID </h1>    <p>PostgreSQL  ACID</p>    <h1 class="blog-sub-title"></h1>    <p>PostgreSQL  2.0 PostgreSQL </p>    <h1 class="blog-sub-title"></h1>    <p>PostgreSQL </p>    <h1 class="blog-sub-title"></h1>    <p>PostgreSQL PostgreSQL</p>    <h1 class="blog-sub-title"></h1>    <p> PostgreSQL  IT ACID</p>            <p> PostgreSQL Navicat 16 for PostgreSQL  <a class="default-links" href="https://www.navicat.com.cn/download/navicat-for-postgresql" target="_blank"></a>  14 </p></body></body></html>]]></description>
</item>
<item>
<title>PostgreSQL 实体化视图的使用</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title>PostgreSQL </title></head><body><b>2024  2  16 </b> Robert Gravelle <br/><br/><p> <a class="default-links" href="https://www.postgresqltutorial.com/postgresql-getting-started/postgresql-sample-database/" target="_blank">DVD Rental Database</a>  PostgreSQL PostgreSQL DML  <a class="default-links" href="https://www.navicat.com.cn/products/navicat-for-postgresql" target="_blank">Navicat</a> GUI </p>    <h1 class="blog-sub-title"></h1>        <p></p>        <pre><code>REFRESH MATERIALIZED VIEW mv_category_revenue;</code></pre>                <p> Navicat  macOS  control-click-></p>        <img alt="refresh_materialized_view (53K)" src="https://www.navicat.com/link/Blog/Image/2024/20240216/CN/refresh_materialized_view.jpg" height="344" width="577" />    <h1 class="blog-sub-title"></h1>    <p></p>    <pre><code>SELECT * FROM mv_category_revenue;</code></pre>    <p></p>    <p> Navicat </p>        <img alt="materialized_view_in_autocomplete_list (62K)" src="https://www.navicat.com/link/Blog/Image/2024/20240216/CN/materialized_view_in_autocomplete_list.jpg" height="303" width="546" />        <p></p>        <img alt="materialized_view_query (107K)" src="https://www.navicat.com/link/Blog/Image/2024/20240216/CN/materialized_view_query.jpg" height="696" width="579" />        <h1 class="blog-sub-title"></h1>    <p> DROP MATERIALIZED VIEW  mv_category_revenue </p>        <pre><code>DROP MATERIALIZED VIEW mv_category_revenue;</code></pre>        <p> Navicat </p>    <ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;">     <li></li>      <li>          <p><img alt="delete_materialized_view_button (63K)" src="https://www.navicat.com/link/Blog/Image/2024/20240216/CN/delete_materialized_view_button.jpg" height="380" width="725" /></p>    </li>    <li></li>    </ul>    <p> macOS  control-click</p>     <img alt="delete_materialized_view_menu_command (40K)" src="https://www.navicat.com/link/Blog/Image/2024/20240216/CN/delete_materialized_view_menu_command.jpg" height="290" width="463" /><h1 class="blog-sub-title"></h1><p> DML  <a class="default-links" href="https://www.navicat.com.cn/products/navicat-for-postgresql" target="_blank">Navicat</a> GUI </p></body></html>]]></description>
</item>
<item>
<title>PostgreSQL 的实体化视图介绍</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE html><html lang="en"><head>    <title>PostgreSQL </title></head><body><b>2024  2  8 </b> Robert Gravelle <br/><br/>    <p>PostgreSQL  <a class="default-links" href="https://www.postgresqltutorial.com/postgresql-getting-started/postgresql-sample-database/" target="_blank">DVD Rental Database</a>  PostgreSQL</p>    <h1 class="blog-sub-title"></h1>    <p></p>    <p> 2.0 </p>    <h1 class="blog-sub-title"> DVD Rental </h1>    <p> DVD Rental  MySQL  Sakila  PostgreSQL  PostgreSQL <a class="default-links" href="https://www.postgresqltutorial.com/postgresql-sample-database/" target="_blank">PostgreSQL Sample Database</a> DVD Rental </p>    <p> ZIP dvdrental.zip, PostgreSQL  dvdrental.tar .tar dvdrental pg_restore  .tar  dvdrental </p>    <pre>        <code>pg_restore -U postgres -d dvdrental D:\sampledb\postgres\dvdrental.tar</code>    </pre>    <p> dvdrental.tar </p>    <p> <a class="default-links" href="https://www.postgresqltutorial.com/postgresql-getting-started/load-postgresql-sample-database/" target="_blank"></a> </p>        <h1 class="blog-sub-title"></h1>    <p></p>    <ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;">        <li> PostgreSQL </li>        <li> DML </li>        <pre><code>CREATE MATERIALIZED VIEW mv_category_revenue ASSELECT    c.name AS category,    SUM(p.amount) AS total_revenueFROM    category c    JOIN film_category fc ON c.category_id = fc.category_id    JOIN film f ON fc.film_id = f.film_id    JOIN inventory i ON f.film_id = i.film_id    JOIN rental r ON i.inventory_id = r.inventory_id    JOIN payment p ON r.rental_id = p.rental_idGROUP BY    c.name;</code></pre>        <p> DVD Rental </p>                    <p> <a class="default-links" href="https://www.navicat.com.cn/products/navicat-for-postgresql" target="_blank">Navicat For PostgreSQL</a> <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat Premium</a>16</p>         <ul style="margin-left: 24px; line-height: 24px;">          <li type="I">+             <p><img alt="materialized_view_buttons (57K)" src="https://www.navicat.com/link/Blog/Image/2024/20240208/CN/materialized_view_buttons.jpg" height="377" width="664" /> </p>          </li>            <li type="I"> SELECT           <p><img alt="materialized_view_select_statement (51K)" src="https://www.navicat.com/link/Blog/Image/2024/20240208/CN/materialized_view_select_statement.jpg" height="265" width="472" /></p></li>          <li type="I">          <p><img alt="materialized_view_preview (89K)" src="https://www.navicat.com/link/Blog/Image/2024/20240208/CN/materialized_view_preview.jpg" height="658" width="469" /></p></li>              <li type="I"> CREATE MATERIALIZED VIEW mv_category_revenue          <p><img alt="materialized_view_name (85K)" src="https://www.navicat.com/link/Blog/Image/2024/20240208/CN/materialized_view_name.jpg" height="452" width="643" /></p>          </li>          <li type="I">Navicat           <p><img alt="materialized_view_in_database_Navigation_Pane (96K)" src="https://www.navicat.com/link/Blog/Image/2024/20240208/CN/materialized_view_in_database_Navigation_Pane.jpg" height="396" width="746" /></p>          </li>                                                     </ul>        </ul>    <h1 class="blog-sub-title"></h1>    <p>PostgreSQL  DVD Rental </p></body></html>]]></description>
</item>
<item>
<title>SQLite 的使用</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE html><head>    <title>SQLite </title></head><body><b>2024  2  2 </b> Robert Gravelle <br/><br/>    <p>SQLite RDBMS SQLite Chinook  SQL </p>    <h1 class="blog-sub-title"> SQLite</h1>    <h3>Windows</h3>    <ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;">        <li> SQLite <a class="default-links" href="https://www.sqlite.org/download.html" target="_blank">https://www.sqlite.org/download.html</a>.</li>        <li>Precompiled Binaries for Windows</li>        <li>32-bit  64-bit</li>        <li> ZIP </li>        <li> <code>sqlite3.dll</code> </li>        <li> SQLite <code>sqlite3.dll</code>  PATH </li>    </ul>    <h3>macOS</h3>    <ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;">        <li> macOS  SQLite</li>        <li></li>        <li> <code>sqlite3</code>  Enter  SQLite shell</li>    </ul>    <h3>Linux:</h3>    <ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;">        <li> Linux  SQLite</li>        <ul>            <li>Debian/Ubuntu<code>sudo apt-get install sqlite3</code></li>            <li>Red Hat/Fedora<code>sudo dnf install sqlite</code></li>            <li>Arch Linux: <code>sudo pacman -S sqlite</code></li>        </ul>        <li> <code>sqlite3</code>  SQLite shell  </li>    </ul>    <h1 class="blog-sub-title"> Navicat  Chinook </h1>    <ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;">        <li> <a class="default-links" href="https://www.sqlitetutorial.net/wp-content/uploads/2018/03/chinook.zip">Chinook </a> <p> <code>chinook.db</code>  Navicat </p></li>        <li>->->SQLite            <p><img alt="new_sqlite_connection_menu_item (64K)" src="https://www.navicat.com/link/Blog/Image/2024/20240202/CN/new_sqlite_connection_menu_item.jpg" height="493" width="445" /></p>        </li>        <li>Chinook [] Chinook         <p><img alt="new_sqlite_connection_dialog (55K)" src="https://www.navicat.com/link/Blog/Image/2024/20240202/CN/new_sqlite_connection_dialog.jpg" height="707" width="562" /></p>        </li>        <li>        <p><img alt="chinook_in_connections_pane (35K)" src="https://www.navicat.com/link/Blog/Image/2024/20240202/CN/chinook_in_connections_pane.jpg" height="541" width="279" /></p>        </li>    </ul>    <h1 class="blog-sub-title">Chinook  SQL </h1>    <h3> Chinook </h3>    <p> Chinook </p>    <ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;">      <li> Chinook </li>      <li>-> main </li>    </ul>        <h3></h3>    <p> Chinook  <code>SELECT</code> SELECT * FROM artists;</p>    <img alt="select_artists_query (120K)" src="https://www.navicat.com/link/Blog/Image/2024/20240202/CN/select_artists_query.jpg" height="715" width="584" />    <h3></h3>    <p>SELECT trackid, name, composer FROM tracks WHERE composer = 'Ludwig van Beethoven';</p>    <img alt="select_specific_artist_query (83K)" src="https://www.navicat.com/link/Blog/Image/2024/20240202/CN/select_specific_artist_query.jpg" height="357" width="762" />    <h3></h3>    <p> <code>UPDATE</code> </p>    <img alt="editing_a_record (141K)" src="https://www.navicat.com/link/Blog/Image/2024/20240202/CN/editing_a_record.jpg" height="502" width="754" />    <h3></h3>    <p> <code>INSERT</code>  Navicat </p>    <img alt="add_record_button (24K)" src="https://www.navicat.com/link/Blog/Image/2024/20240202/CN/add_record_button.jpg" height="183" width="307" />    <p></p>    <img alt="new_record (11K)" src="https://www.navicat.com/link/Blog/Image/2024/20240202/CN/new_record.jpg" height="121" width="260" />        <h3></h3>    <p> Navicat :</p>    <img alt="deleting_a_record (38K)" src="https://www.navicat.com/link/Blog/Image/2024/20240202/CN/deleting_a_record.jpg" height="231" width="496" /><h1 class="blog-sub-title"></h1>    <p> SQLite Chinook  SQL SQLite <a class="default-links" href="https://www.navicat.com.cn/products/navicat-for-sqlite" target="_blank">Navicat for SQLite</a>  <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat Premium</a>16  SQLite </p></body></html>]]></description>
</item>
<item>
<title>在 Navicat Monitor 3 中创建自定义指标</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> Navicat Monitor 3 </title></head><body><b>2024  1  26 </b> Robert Gravelle <br/><br/><p><a class="default-links" href="https://www.navicat.com.cn/download/navicat-monitor" target="_blank">Navicat Monitor 3</a>  Web  Navicat Monitor I/O</p><img alt="db_metrics (39K)" src="https://www.navicat.com/link/Blog/Image/2024/20240126/CN/db_metrics.jpg" height="624" width="284" /><p> Sakila </p><h1 class="blog-sub-title"></h1><p></p><img alt="custom_metrics_link (98K)" src="https://www.navicat.com/link/Blog/Image/2024/20240126/CN/custom_metrics_link.jpg" height="891" width="969" /><ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;"><li>+ </li><li>Average Payment<>:/|* Sakila  payment The average payment in the Sakila payment table.</li><li>MySQL</li><li> MySQL</li><li> NULL  AVGMIN  MAX AVGSELECT AVG(amount) FROM sakila.payment; Navicat </li><li><p><img alt="Test_Metric_Collection_results (35K)" src="https://www.navicat.com/link/Blog/Image/2024/20240126/CN/Test_Metric_Collection_results.jpg" height="377" width="849" /></p></li><li><p><br /><img alt="New_Custom_Metrics_screen_details (55K)" src="https://www.navicat.com/link/Blog/Image/2024/20240126/CN/New_Custom_Metrics_screen_details.jpg" height="1072" width="1048" /></p></li><li>Average Payment Alert<p><img alt="alerts_disabled (63K)" src="https://www.navicat.com/link/Blog/Image/2024/20240126/CN/alerts_disabled.jpg" height="1262" width="1048" /></p></li><li><p><img alt="summary_screen (32K)" src="https://www.navicat.com/link/Blog/Image/2024/20240126/CN/summary_screen.jpg" height="634" width="1046" /></p></li><li><p><img alt="Average_Payment_custom_metric_in_Custom_Metrics_list (23K)" src="https://www.navicat.com/link/Blog/Image/2024/20240126/CN/Average_Payment_custom_metric_in_Custom_Metrics_list.jpg" height="238" width="1075" /></p></li></ul><h1 class="blog-sub-title"></h1><p><a class="default-links" href="https://www.navicat.com.cn/download/navicat-monitor" target="_blank">Navicat Monitor 3</a> </p></body></html>]]></description>
</item>
<item>
<title>永远不要在数据库中存储这三类信息</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE html><html><head>  <title></title></head><body><b>2024  1  19 </b> Robert Gravelle <br/><br/>  <p></p>  <h1 class="blog-sub-title">1. </h1>  <p></p>  <p></p>  <h1 class="blog-sub-title">2. </h1>  <p> PCI DSSPCI DSS </p>  <p></p>  <h1 class="blog-sub-title">3. PII</h1>  <p>PII </p>  <p> PII</p>  <h1 class="blog-sub-title"></h1>  <p></p>  <h3></h3>   <p></p>  <h3></h3>  <p></p>  <p>  <a class="default-links" href="https://navicat.com.cn/products/navicat-premium" target="_blank">Navicat 16</a> </p>    <img alt="navicat-trigger (53K)" src="https://www.navicat.com/link/Blog/Image/2024/20240119/CN/navicat-trigger.jpg" height="272" width="485" />     <h1 class="blog-sub-title"></h1>    <p></p></body></html>]]></description>
</item>
<item>
<title>保护关系数据库安全的措施</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE html><html><head>  <title></title></head><body><b>2024  1  12 </b> Robert Gravelle <br/><br/>  <p></p>  <h1 class="blog-sub-title"></h1>  <p></p> <ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;">    <li><strong>User Authentication</strong> </li>    <li><strong>RBAC</strong>  RBAC</li>  </ul>  <h1 class="blog-sub-title"></h1>  <p></p>  <ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;">    <li><strong></strong> </li>    <li><strong>SSLTLS</strong>  SSL  TLS </li>  </ul>  <h1 class="blog-sub-title"></h1>  <p></p>  <ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;">    <li><strong></strong> </li>    <li><strong></strong> </li>  </ul>  <h1 class="blog-sub-title"></h1>  <p></p>  <h1 class="blog-sub-title"></h1>  <p> <a class="default-links" href="https://www.navicat.com.cn/products/navicat-monitor" target="_blank">Navicat Monitor 3</a>  MySQLMariaDBPostgreSQL  SQL Server Amazon RDSAmazon AuroraOracle Cloud  Microsoft Azure Navicat Monitor 3 </p>  <ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;">    <li><strong></strong> Navicat Monitor 3  CPU  I/O</li>    <li><strong></strong> </li>    <li><strong></strong> </li>  </ul><br>  <figure>    <figcaption>Navicat Monitor 3 </figcaption>    <img src="https://www.navicat.com/link/Blog/Image/2024/20240112/CN/navicat%20monitor%20dashboard.jpg" alt="Navicat Monitor 3 Dashboard" />  </figure>  <h1 class="blog-sub-title"></h1>  <p> <a class="default-links" href="https://www.navicat.com.cn/products/navicat-monitor" target="_blank">Navicat Monitor 3</a> </p></body></html>]]></description>
</item>
<item>
<title>为 MySQL 表选择合适的存储引擎</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE html><html><head>    <title> MySQL </title></head><body>    <b>2024  1  5 </b> Robert Gravelle <br/><br/>    <p>MySQL  MySQL </p>    <h1 class="blog-sub-title"></h1>    <p>MySQL  InnoDB  MyISAM </p>    <h3></h3>    <p></p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;">        <li><strong>InnoDB:</strong>  MySQL InnoDB  ACID </li>        <li><strong>MyISAM:</strong> MyISAM  2.0 </li>        <li><strong>MRG_MyISAM:</strong>  MyISAM </li>        <li><strong>MEMORY:</strong>  RAM  MEMORY </li>        <li><strong>Blackhole:</strong> </li>        <li><strong>CSV:</strong>  CSV  text  CSV </li>        <li><strong>Performance_Schema:</strong> </li>        <li><strong>ARCHIVE:</strong> </li>    </ul>    <h3>InnoDB  MyISAM </h3>    <p> InnoDB  MyISAM </p>    <p>InnoDB  ACID MyISAM MyISAM  InnoDB </p>    <p>InnoDB InnoDB  MyISAMMyISAM </p>    <p>InnoDB MVCC MyISAM </p>    <h1 class="blog-sub-title">Navicat </h1>    <p> MySQL <a class="default-links" href="https://navicat.com.cn/products/navicat-premium" target="_blank">Navicat</a> </p>    <img alt="Navicat_table_properties (132K)" src="https://www.navicat.com/link/Blog/Image/2024/20240105/CN/Navicat_table_properties.jpg" height="479" width="831" />    <p></p>    <img alt="storage_engines_in_navicat (38K)" src="https://www.navicat.com/link/Blog/Image/2024/20240105/CN/storage_engines_in_navicat.jpg" height="239" width="509" />    <p> InnoDB </p>    <img alt="InnoDB_engine_properties (62K)" src="https://www.navicat.com/link/Blog/Image/2024/20240105/CN/InnoDB_engine_properties.jpg" height="558" width="508" />    <p>MEMORY </p>    <img alt="Memory_engine_properties (45K)" src="https://www.navicat.com/link/Blog/Image/2024/20240105/CN/Memory_engine_properties.jpg" height="372" width="506" />    <h1 class="blog-sub-title"></h1>    <p> MySQL </p></body></html>]]></description>
</item>
<item>
<title>Navicat 中编辑器设置的配置</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title>Navicat </title></head><body><b>2023  12  29 </b> Robert Gravelle <br/><br/><p>Navicat  SQL  SQL  SQL Navicat  Navicat  SQL </p><h1 class="blog-sub-title"></h1><p>Navicat SQL -></p><img alt="editor_screen (64K)" src="https://www.navicat.com/link/Blog/Image/2023/20231229/CN/editor_screen.jpg" height="627" width="882" /><h1 class="blog-sub-title"></h1><p> Navicat  SQL Navicat </p><p>SQL SQL</p><p></p><img alt="code_formatting (32K)" src="https://www.navicat.com/link/Blog/Image/2023/20231229/CN/code_formatting.jpg" height="306" width="419" /><h1 class="blog-sub-title"></h1><p>Navicat </p><p></p><img alt="color_dialog (67K)" src="https://www.navicat.com/link/Blog/Image/2023/20231229/CN/color_dialog.jpg" height="514" width="612" /><p> Courier 12pt</p><img alt="custom_font_and_colors (62K)" src="https://www.navicat.com/link/Blog/Image/2023/20231229/CN/custom_font_and_colors.jpg" height="306" width="656" /><h1 class="blog-sub-title"></h1><p>Navicat </p><p></p><img alt="matching_brackets (14K)" src="https://www.navicat.com/link/Blog/Image/2023/20231229/CN/matching_brackets.jpg" height="62" width="368" /><h1 class="blog-sub-title"></h1><p> (MB): MB </p><img alt="query_without_syntax_highlighting (55K)" src="https://www.navicat.com/link/Blog/Image/2023/20231229/CN/query_without_syntax_highlighting.jpg" height="295" width="526" /><h1 class="blog-sub-title"></h1><p></p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li><strong></strong> </li><li><strong></strong> </li><li><strong></strong> 5</li></ul><h1 class="blog-sub-title">Navicat </h1><p> Navicat  SQL  <a class="default-links" href="https://navicat.com.cn/products/navicat-premium/" target="_blank">Navicat</a>  SQL </p></body></html>]]></description>
</item>
<item>
<title>聚合查询的介绍</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE html><html><head>    <title></title></head><body><b>2023  12  21 </b> Robert Gravelle <br/><br/>    <p> SQL / SQL </p>        <h1 class="blog-sub-title"></h1>    <p>SQL </p>    <h3>1. COUNT()</h3>    <p><code>COUNT()</code> </p>    <pre>        <code>SELECT COUNT(*) AS total_records FROM employees;</code>    </pre>    <h3>2. SUM()</h3>    <p><code>SUM()</code> </p>    <pre>        <code>SELECT SUM(salary) AS total_salary FROM employees;</code>    </pre>    <h3>3. AVG()</h3>    <p><code>AVG()</code> </p>    <pre>        <code>SELECT AVG(age) AS average_age FROM students;</code>    </pre>    <h3>4. MAX()  MIN()</h3>    <p><code>MAX()</code>  <code>MIN()</code> </p>    <pre>        <code>SELECT MAX(price) AS max_price, MIN(price) AS min_price FROM products;</code>    </pre>        <h1 class="blog-sub-title"> GROUP BY </h1>    <p>SQL  <code>GROUP BY</code> </p>    <h3> COUNT() )</h3>    <pre>        <code>SELECT department, COUNT(*) AS employee_countFROM employeesGROUP BY department;</code>    </pre>    <h3> AVR() </h3>    <pre>        <code>SELECT department, AVG(salary) AS average_salaryFROM employeesGROUP BY department;</code>    </pre>        <h1 class="blog-sub-title"> HAVING </h1>    <p><code>HAVING</code>  <code>GROUP BY</code> </p>    <pre>        <code>SELECT department, AVG(salary) AS average_salaryFROM employeesGROUP BY departmentHAVING AVG(salary) > 50000;</code>    </pre>        <h1 class="blog-sub-title"></h1>    <p>SQL </p>    <pre>        <code>SELECT department, COUNT(*) AS employee_count, AVG(salary) AS average_salaryFROM employeesGROUP BY department;</code>    </pre>        <h1 class="blog-sub-title"> Navicat </h1>        <p> SQL  <a class="default-links" href="https://navicat.com.cn/products/navicat-premium" target="_blank">Navicat</a> Navicat  Sigma  (&Sigma;)</p>        <img alt="AVG_function_in_autocomplete_list (57K)" src="https://www.navicat.com/link/Blog/Image/2023/20231221/CN/AVG_function_in_autocomplete_list.jpg" height="319" width="552" />            <h1 class="blog-sub-title"></h1>    <p> SQL  <code>GROUP BY</code>  <code>HAVING</code> </p></body></html>]]></description>
</item>
<item>
<title>查看关系型数据库查询的运行时间</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE html><head>    <title></title></head><body><b>2023  12  15 </b> Robert Gravelle <br/><br/>    <p> MySQLPostgreSQLMicrosoft SQL Server</p>    <h1 class="blog-sub-title">MySQL</h1>    <h3> SQL Profiler</h3>    <pre>        <code>SET profiling = 1;-- Your SQL Query Goes HereSHOW PROFILES;        </code>    </pre>    <p>Duration</p>    <img alt="profiling_results (131K)" src="https://www.navicat.com/link/Blog/Image/2023/20231215/CN/profiling_results.jpg" height="607" width="571" />    <p> SQL </p>    <pre>        <code>SELECT SUM(Duration) AS TotalDurationFROM information_schema.profilingWHERE Query_ID > 1;        </code>    </pre>        <img alt="summing_duration (24K)" src="https://www.navicat.com/link/Blog/Image/2023/20231215/CN/summing_duration.jpg" height="214" width="395" />    <h1 class="blog-sub-title">PostgreSQL</h1>    <h3>Timing</h3>    <p>PostgreSQL  Timing</p>    <pre>        <code>\timing-- Your SQL Query Goes Here        </code>    </pre>    <p></p>    <h3> pg_stat_statements</h3>    <p>PostgreSQL  pg_stat_statments  SQL  PostgreSQL </p>        <pre>        <code>SELECT total_time, calls, queryFROM pg_stat_statementsWHERE query = 'Your SQL Query Goes Here';        </code>    </pre>    <p></p>    <h1 class="blog-sub-title">Microsoft SQL Server</h1>    <h3> SET STATISTICS TIME</h3>    <p>SQL Server  SET STATISTICS TIME ON :</p>    <pre>        <code>SET STATISTICS TIME ON-- Your SQL Query Goes HereSET STATISTICS TIME OFF        </code>    </pre>    <h3> sys.dm_exec_query_stats</h3>    <p> sys.dm_exec_query_stats </p>    <pre>        <code>SELECT total_elapsed_time, execution_count, textFROM sys.dm_exec_query_statsCROSS APPLY sys.dm_exec_sql_text(sql_handle)WHERE text LIKE 'Your SQL Query Goes Here%';        </code>    </pre>    <p></p>    <h1 class="blog-sub-title">Oracle </h1>    <h3> SQL*Plus AUTOTRACE</h3>    <p>Oracle  SQL*Plus AUTOTRACE  SQL </p>    <pre>        <code>SET AUTOTRACE ON-- Your SQL Query Goes HereSET AUTOTRACE OFF        </code>    </pre>    <p>CPU </p>    <h3> V$SQL</h3>    <p> V$SQL </p>        <pre>        <code>SELECT elapsed_time, executions, sql_textFROM V$SQLWHERE sql_text LIKE 'Your SQL Query Goes Here%';        </code>    </pre>    <p></p>    <h1 class="blog-sub-title"> Navicat </h1>    <p> <a class="default-links" href="https://navicat.com.cn/products/navicat-premium">Navicat</a> </p>    <img alt="query_information_in_navicat (46K)" src="https://www.navicat.com/link/Blog/Image/2023/20231215/CN/query_information_in_navicat.jpg" height="282" width="611" />        <h1 class="blog-sub-title"></h1>    <p> MySQLPostgreSQLMicrosoft SQL Server  Oracle </p></body></html>]]></description>
</item>
<item>
<title>关于 Redis 与传统关系型数据库的选择</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE html><head>    <title> Redis </title></head><body><b>2023  12  8 </b> Robert Gravelle <br/><br/><p>Redis  MySQL  Redis  MySQL  SQL Server  Oracle</p><h1 class="blog-sub-title"></h1><p>Redis  MySQL Redis MySQL </p><p><strong>Redis </strong></p><img alt="hash (78K)" src="https://www.navicat.com/link/Blog/Image/2023/20231208/CN/hash.jpg" height="538" width="716" /><p><strong>MySQL </strong></p><img alt="ups_table (195K)" src="https://www.navicat.com/link/Blog/Image/2023/20231208/CN/ups_table.jpg" height="714" width="719" /><p></p><h1 class="blog-sub-title"></h1><p>Redis Redis  RAM MySQL </p><p><strong>Redis </strong></p><pre><code>//  Redis redisClient.get("user:123", (err, result) => {    const userData = JSON.parse(result);    console.log(userData);});</code></pre><p><strong>MySQL </strong></p><pre><code>-- MySQL  users SELECT * FROM users WHERE id = 123;</code></pre><p></p><h1 class="blog-sub-title"></h1><p>Redis  Redis AOF MySQL </p><p><strong>Redis </strong></p><pre><code>//  Redis  5 config set save "300 1";</code></pre><p></p><h1 class="blog-sub-title"></h1><p>Redis MySQL </p><p><strong>Redis </strong></p><pre><code>//  Redis redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002</code></pre><p><strong>MySQL </strong></p><pre><code>--  users -- user_idCREATE TABLE users_shard_1 SELECT * FROM users WHERE user_id % 3 = 1;CREATE TABLE users_shard_2 SELECT * FROM users WHERE user_id % 3 = 2;CREATE TABLE users_shard_3 SELECT * FROM users WHERE user_id % 3 = 0;</code></pre><p></p><h1 class="blog-sub-title"></h1><p> Redis  MySQL </p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;">    <li><strong>Redis </strong>        <ul style="list-style-type: circle; margin-left: 24px; line-height: 24px;">            <li>Redis </li>            <li></li>            <li></li>        </ul>    </li>    <li><strong>MySQL </strong>        <ul style="list-style-type: circle; margin-left: 24px; line-height: 24px;">            <li>MySQL  ACID </li>            <li>MySQL </li>            <li> </li>        </ul>    </li></ul><p></p><h1 class="blog-sub-title"> Redis</h1><p> Redis  <a class="default-links" href="https://www.navicat.com.cn/products/navicat-for-redis" target="_blank">Navicat for Redis</a>  GUI  Redis </p> <figure>  <figcaption>macOS  Navicat for Redis </figcaption>  <img alt="Navicat for Redis Main Screen on macOS" src="https://www.navicat.com/link/Blog/Image/2023/20231208/CN/Screenshot_Navicat_16.2_Redis_Mac_01_MainScreen.jpg" height="693" width="1167" /></figure> <h1 class="blog-sub-title"></h1><p> Redis  MySQL </p></body></html>]]></description>
</item>
<item>
<title>在 Navicat 中格式化日期和时间</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> Navicat </title></head><body><b>2023  12  1 </b> Robert Gravelle <br/><br/><p>Navicat  <a class="default-links" href="https://navicat.com.cn/products/navicat-premium/"target="_blank">Navicat Premium</a> </p><h1 class="blog-sub-title">Navicat </h1><p>-></p><img alt="options_command (43K)" src="https://www.navicat.com/link/Blog/Image/2023/20231201/CN/options_command.jpg" height="277" width="445" /><p></p><img alt="date_and_time_display_formats_on_the_records_screen (70K)" src="https://www.navicat.com/link/Blog/Image/2023/20231201/CN/date_and_time_display_formats_on_the_records_screen.jpg" height="627" width="882" /><h1 class="blog-sub-title"></h1><p> Sakila Sakila  last_update actor </p><img alt="last_update_column_in_sakila_actor_table (120K)" src="https://www.navicat.com/link/Blog/Image/2023/20231201/CN/last_update_column_in_sakila_actor_table.jpg" height="471" width="718" /><p>Navicat  MySQL YYYY-MM-DD hh:mm:ss2019-10-12 14:35:1824</p><h3> SQL  ODBC </h3><p>YYYY-MM-DD hh:mm:ss SQL  ODBC  SQL  SQL  Navicat </p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li>c -  </li><li>d - 1-31</li><li>dd - 01-31</li><li>ddd - Sun-Sat</li><li>dddd - Sunday-Saturday</li><li>ddddd - </li><li>dddddd - </li><li>m - 1-12 m  h  hh </li><li>mm - 01-12 mm  h  hh </li><li>mmm - Jan-Dec</li><li>mmmm - January-December</li><li>yy - 00-99</li><li>yyyy - 0000-9999</li><li>h - 00-23</li><li>hh - 00-23</li><li>n - 0-59</li><li>nn - 00-59</li><li>s - 0-59</li><li>ss - 0-59</li><li>t - </li><li>tt - </li><li>am/pm -  h  hh  12  'am' 'pm'am/pm </li><li>a/p - hhh 12  'a' 'p'a/p </li><li>ampm -  h  hh  12 </li><li>/ - </li><li>: - </li><li>'xx'  "xx" - </li></ul><p> Navicat  AM  PM  12 </p><p>mmm d, yyyy hh:mm:ss AM/PM</p><img alt="output_field (16K)" src="https://www.navicat.com/link/Blog/Image/2023/20231201/CN/output_field.jpg" height="175" width="441" /><p> actor  last_update </p><img alt="last_update_column_in_sakila_actor_table_with_new_format (73K)" src="https://www.navicat.com/link/Blog/Image/2023/20231201/CN/last_update_column_in_sakila_actor_table_with_new_format.jpg" height="329" width="505" /><p> classicmodels  orders </p><img alt="classicmodels_orders_table_with_new_format (146K)" src="https://www.navicat.com/link/Blog/Image/2023/20231201/CN/classicmodels_orders_table_with_new_format.jpg" height="364" width="853" /><h1 class="blog-sub-title"></h1><p> <a class="default-links" href="https://navicat.com.cn/products/navicat-premium/" target="_blank">Navicat Premium</a>  Navicat  Navicat for MySQL  Navicat for SQL Server</p></body></html>]]></description>
</item>
<item>
<title>了解 Navicat 的连接配置文件</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> Navicat </title></head><body><b>2023  11  24 </b> Robert Gravelle <br/><br/><p><a class="default-links" href="https://navicat.com.cn/products/navicat-premium" target="_blank">Navicat 16</a>  100 </p><h1 class="blog-sub-title"></h1><p>Navicat </p><h1 class="blog-sub-title"></h1><p></p><img alt="Toggle Connection Profiles Pane button" src="https://www.navicat.com/link/Blog/Image/2023/20231124/CN/Toggle%20Connection%20Pane%20button.jpg" height="381" width="577" /><p></p><p></p><img alt="New Connection Profile link (7K)" src="https://www.navicat.com/link/Blog/Image/2023/20231124/CN/New%20Connection%20Profile%20link.jpg" height="163" width="251" /><p></p><img alt="New Connection Profile name (11K)" src="https://www.navicat.com/link/Blog/Image/2023/20231124/CN/New%20Connection%20Profile%20name.jpg" height="152" width="245" /><p></p><img alt="Databases tab (97K)" src="https://www.navicat.com/link/Blog/Image/2023/20231124/CN/Databases%20tab.jpg" height="707" width="802" /><p></p><img alt="Switch Profile prompt (14K)" src="https://www.navicat.com/link/Blog/Image/2023/20231124/CN/Switch%20Profile%20prompt.jpg" height="127" width="355" /><p> MySQL </p><img alt="New Connection Profile in main connections pane (26K)" src="https://www.navicat.com/link/Blog/Image/2023/20231124/CN/New%20Connection%20Profile%20in%20main%20connections%20pane.jpg" height="444" width="263" /><p></p><img alt="Open Most Used Databases connection (28K)" src="https://www.navicat.com/link/Blog/Image/2023/20231124/CN/Open%20Most%20Used%20Databases%20connection.jpg" height="545" width="263" /><h1 class="blog-sub-title"></h1><p></p><img alt="switching connection profile (45K)" src="https://www.navicat.com/link/Blog/Image/2023/20231124/CN/switching%20connection%20profile.jpg" height="172" width="434" /><p></p><img alt="Close and switch connection profile prompt (17K)" src="https://www.navicat.com/link/Blog/Image/2023/20231124/CN/Close%20and%20switch%20connection%20profile%20prompt.jpg" height="127" width="287" /><p></p><h1 class="blog-sub-title"></h1><p><a class="default-links" href="https://navicat.com.cn/products/navicat-premium" target="_blank">Navicat 16</a>  Navicat</p></body></html>]]></description>
</item>
<item>
<title>了解 Navicat 的连接配置文件</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> Navicat </title></head><body><b>2023  11  24 </b> Robert Gravelle <br/><br/><p><a class="default-links" href="https://navicat.com.cn/products/navicat-premium" target="_blank">Navicat 16</a>  100 </p><h1 class="blog-sub-title"></h1><p>Navicat </p><h1 class="blog-sub-title"></h1><p></p><img alt="Toggle Connection Profiles Pane button" src="https://www.navicat.com/link/Blog/Image/2023/20231124/CN/Toggle%20Connection%20Pane%20button.jpg" height="381" width="577" /><p></p><p></p><img alt="New Connection Profile link (7K)" src="https://www.navicat.com/link/Blog/Image/2023/20231124/CN/New%20Connection%20Profile%20link.jpg" height="163" width="251" /><p></p><img alt="New Connection Profile name (11K)" src="https://www.navicat.com/link/Blog/Image/2023/20231124/CN/New%20Connection%20Profile%20name.jpg" height="152" width="245" /><p></p><img alt="Databases tab (97K)" src="https://www.navicat.com/link/Blog/Image/2023/20231124/CN/Databases%20tab.jpg" height="707" width="802" /><p></p><img alt="Switch Profile prompt (14K)" src="https://www.navicat.com/link/Blog/Image/2023/20231124/CN/Switch%20Profile%20prompt.jpg" height="127" width="355" /><p> MySQL </p><img alt="New Connection Profile in main connections pane (26K)" src="https://www.navicat.com/link/Blog/Image/2023/20231124/CN/New%20Connection%20Profile%20in%20main%20connections%20pane.jpg" height="444" width="263" /><p></p><img alt="Open Most Used Databases connection (28K)" src="https://www.navicat.com/link/Blog/Image/2023/20231124/CN/Open%20Most%20Used%20Databases%20connection.jpg" height="545" width="263" /><h1 class="blog-sub-title"></h1><p></p><img alt="switching connection profile (45K)" src="https://www.navicat.com/link/Blog/Image/2023/20231124/CN/switching%20connection%20profile.jpg" height="172" width="434" /><p></p><img alt="Close and switch connection profile prompt (17K)" src="https://www.navicat.com/link/Blog/Image/2023/20231124/CN/Close%20and%20switch%20connection%20profile%20prompt.jpg" height="127" width="287" /><p></p><h1 class="blog-sub-title"></h1><p><a class="default-links" href="https://navicat.com.cn/products/navicat-premium" target="_blank">Navicat 16</a>  Navicat</p></body></html>]]></description>
</item>
<item>
<title>一些必备的 Redis 命令</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE html><head>    <title> Redis </title></head><body><b>2023  11  17 </b> Robert Gravelle <br/><br/><p>Redis  Redis  Navicat  Redis </p> <h1 class="blog-sub-title">1. LPUSH  RPUSH</h1><p>Redis  LPUSH  RPUSH</p><pre><code>> LPUSH my_list "element1"(integer) 1> RPUSH my_list "element2"(integer) 2> LRANGE my_list 0 -11) "element1"2) "element2"</code></pre><p></p> <h1 class="blog-sub-title">2. LPOP  RPOP</h1><p>Redis  <code>LPOP</code>  <code>RPOP</code> RPOP </p><pre><code>> LPOP my_list"element1"> RPOP my_list"element2"</code></pre><p></p> <h1 class="blog-sub-title">3. SADD  SMEMBERS</h1><p>Redis  <code>SADD</code>  <code>SMEMBERS</code> </p><pre><code>> SADD my_set "member1"(integer) 1> SADD my_set "member2"(integer) 1> SMEMBERS my_set1) "member1"2) "member2"</code></pre><p></p> <h1 class="blog-sub-title">4. ZADD  ZRANGE</h1><p>Redis  <code>ZADD</code>  <code>ZRANGE</code> </p><pre><code>> ZADD my_sorted_set 1 "element1"(integer) 1> ZADD my_sorted_set 2 "element2"(integer) 1> ZRANGE my_sorted_set 0 -1 WITHSCORES1) "element1"2) "1"3) "element2"4) "2"</code></pre><p></p> <h1 class="blog-sub-title">5. HSET  HGET</h1><p>Redis  <code>HSET</code>  <code>HGET</code> </p><pre><code>> HSET my_hash field1 "value1"(integer) 1> HSET my_hash field2 "value2"(integer) 1> HGET my_hash field1"value1"</code></pre><p></p> <h1 class="blog-sub-title">6. PUBLISH  SUBSCRIBE</h1><p>Redis  <code>PUBLISH</code>  <code>SUBSCRIBE</code> </p><pre><code># Terminal 1&gt; SUBSCRIBE my_channelReading messages... (press Ctrl-C to quit)1) "subscribe"2) "my_channel"3) (integer) 1# Terminal 2&gt; PUBLISH my_channel "Hello, Redis!"(integer) 1</code></pre><p></p> <h1 class="blog-sub-title">7. SCAN</h1><p><code>SCAN</code>  Redis </p><pre><code>&gt; SCAN 01) "0"2) 1) "my_list"   2) "my_set"   3) "my_sorted_set"   4) "my_hash"   5) "my_channel"</code></pre><p></p> <h1 class="blog-sub-title"> Navicat 16 for Redis </h1><p> <a class="default-links" href="https://navicat.com.cn/products/navicat-for-redis" target="_blank">Navicat</a>  Redis -></p><img alt="console_button (9K)" src="https://www.navicat.com/link/Blog/Image/2023/20231117/CN/console_button.jpg" height="87" width="260" /><p> SCAN </p><img alt="console (24K)" src="https://www.navicat.com/link/Blog/Image/2023/20231117/CN/console.jpg" height="292" width="445" /> <h1 class="blog-sub-title">Redis </h1><p>Redis  Redis  <a class="default-links" href="https://navicat.com.cn/download/navicat-for-redis" target="_blank">Navicat 16 for Redis</a> </p></body></html>]]></description>
</item>
<item>
<title>在 Redis 中使用 JSON 文档：命令行界面（CLI）和 Navicat 集成</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE html><head>    <title> Redis  JSON CLI Navicat </title></head><body><b>2023  11  10 </b> Robert Gravelle <br/><br/>    <p>Redis NoSQL  Redis JSON  Redis  JSON CLI macOS  <a class="default-links" href="https://navicat.com.cn/products/navicat-for-redis" target="_blank">Navicat 16 for Redis</a>  JSON </p>    <h1 class="blog-sub-title"> Redis  JSON </h1>    <p>JSONJavaScript Redis  6.0  JSON  JSON </p>    <p>Redis  JSON  Redis </p>    <h1 class="blog-sub-title">CLI JSON </h1>    <ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;">        <li>            <h3> JSON </h3>            <p> Redis  JSON  <code>JSON.SET</code>  </p>            <pre><code>JSON.SET mykey . '{"name": "John Doe", "age": 30, "email": "john@example.com"}'</code></pre>            <p> JSON  <code>mykey</code> </p>        </li>        <li>            <h3> JSON </h3>            <p> <code>JSON.GET</code>  JSON </p>            <pre><code>JSON.GET mykey</code></pre>            <p><code>mykey</code> JSON </p>        </li>        <li>            <h3> JSON </h3>            <p> <code>JSON.SET</code>  JSON </p>            <pre><code>JSON.SET mykey . '{"name": "John Doe", "age": 31, "email": "john@example.com"}'</code></pre>        </li>        <li>            <h3> JSON </h3>            <p>Redis  <code>path</code>  <code>JSON.GET</code>  JSON </p>            <pre><code>JSON.GET mykey .name</code></pre>            <p> <code>name</code> </p>        </li>        <li>            <h3> JSON </h3>            <p> JSON </p>            <pre><code>DEL mykey</code></pre>        </li>    </ul>    <h1 class="blog-sub-title">Navicat for Redis </h1>    <p> Redis CLI  JSON  Navicat Navicat for RedismacOS16.2.6  JSON </p>    <p>Navicat for Redis (macOS) 16.2.6 </p>    <img alt="Screenshot_Navicat_16.2_Redis_Mac_01_MainScreen (400K)" src="https://www.navicat.com/link/Blog/Image/2023/20231110/CN/Screenshot_Navicat_16.2_Redis_Mac_01_MainScreen.png" height=auto width="1500" />    <ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;">        <li>            <h3> Navicat  Redis</h3>            <ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;">                <li> Navicat->Redis</li>                <li></li>                <li></li>            </ul>        </li>        <li>            <h3> JSON </h3>            <p> Navicat  Redis  JSON </p>            <ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;">                <li> JSON </li>                <li></li>            </ul>        </li>        <li>            <h3> JSON </h3>            <p>Navicat  JSON  JSON </p>        </li>    </ul>    <h1 class="blog-sub-title"> Redis  JSON </h1>    <p>Redis  JSON  JSON Redis  macOS  <a class="default-links" href="https://navicat.com.cn/products/navicat-for-redis" target="_blank">Navicat 16 for Redis</a>  JSON  JSON  Navicat </p></body></html>]]></description>
</item>
<item>
<title>Redis 与其他数据库的不同之处</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE html><head>    <title>Redis </title></head><body><b>2023  11  3 </b> Robert Gravelle <br/><br/><p>RedisRemote Dictionary Server Redis  <a class="default-links" href="https://www.navicat.com.cn/products/navicat-for-redis" target="_blank">Navicat for Redis</a> </p><h1 class="blog-sub-title"></h1><p>Redis Redis  RAM  Redis </p><p> Redis  I/O </p><h1 class="blog-sub-title"></h1><p>Redis </p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;">    <li><strong>String</strong>Stringinteger        <br><strong></strong><br><code>SET user:1 "John Doe"</code></li>    <li><strong>List</strong>pushpop        <br><strong></strong><br><code>LPUSH mylist "item1"</code></li>    <li><strong>Set</strong>        <br><strong></strong><br><code>SADD tags "Redis" "Database" "NoSQL"</code></li>    <li><strong>Hash</strong>        <br><strong></strong><br><code>HSET user:1 username "johndoe" email "john@example.com"</code></li></ul><p></p><h1 class="blog-sub-title">Pub/Sub/</h1><p>Redis /</p><p>Redis Pub/Sub </p><pre><code>PUBLISH game:updates "New message: Hello, world!"</code></pre><h1 class="blog-sub-title"> Lua </h1><p>Redis  Lua </p><p> Lua </p><pre><code>local sender_balance = tonumber(redis.call('GET', KEYS[1]))local receiver_balance = tonumber(redis.call('GET', KEYS[2]))local amount = tonumber(ARGV[1])if sender_balance >= amount then    redis.call('DECRBY', KEYS[1], amount)    redis.call('INCRBY', KEYS[2], amount)    return "SUCCESS"else    return "INSUFFICIENT FUNDS"end</code></pre><h1 class="blog-sub-title">Navicat for Redis</h1><p><a class="default-links" href="https://www.navicat.com.cn/products/navicat-for-redis" target="_blank">Navicat for Redis</a>  GUI  Redis  Navicat for Redis </p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;">    <li><strong></strong>Navicat for Redis  Redis </li>    <li><strong></strong> Navicat Redis </li>    <li><strong></strong></li>    <li><strong></strong>Navicat </li>    <li><strong></strong>Navicat for Redis </li></ul><br> <figure>  <figcaption>Navicat for Redis  macOS </figcaption>  <img alt="Navicat for Redis Main Screen on macOS" src="https://www.navicat.com/link/Blog/Image/2023/20231103/CN/Screenshot_Navicat_16.2_Redis_Mac_01_MainScreen.jpg" height="693" width="1167" /></figure> <h1 class="blog-sub-title"> Redis </h1><p>Redis <a class="default-links" href="https://www.navicat.com.cn/products/navicat-for-redis" target="_blank">Navicat for Redis</a> Redis  Navicat  Redis Redis  Navicat </p></body></html>]]></description>
</item>
<item>
<title>Navicat 16.3 新增支持 Redis 集群</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title>Navicat 16.3  Redis </title></head><body><b>2023  10  27 </b> Robert Gravelle <br/><br/><p> 2023  5  Navicat  <a class="default-links" href="https://www.navicat.com.cn/products/navicat-for-redis" target="_blank">Navicat for Redis</a>  Redis  JSON  16.3   <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat Premium</a>  Navicat for Redis  Redis Cluster Redis  Navicat  Redis  Navicat Premium </p><h1 class="blog-sub-title">Redis  101</h1><p>Redis  Redis  Redis 3.0 </p><p>Redis  Redis </p><p>Redis </p><p>Redis </p><h1 class="blog-sub-title"> Redis </h1><p></p><img alt="connection_dialog (45K)" src="https://www.navicat.com/link/Blog/Image/2023/20231027/CN/connection_dialog.jpg" height="671" width="553" /><p></p><img alt="role_dropdown (30K)" src="https://www.navicat.com/link/Blog/Image/2023/20231027/CN/role_dropdown.jpg" height="276" width="518" /><p></p><h1 class="blog-sub-title">Navicat Premium 16.3 </h1><p>Navicat Premium 16.3  MongoDB  MySQL </p><p>MongoDB 5.0 </p><p>MySQL MySQL 8.0</p><h1 class="blog-sub-title"></h1><p> Navicat 16.3 Redis MongoDB  MySQL </p><p><a class="default-links" href="https://www.navicat.com.cn/download/navicat-premium" target="_blank">Navicat Premium 16.3</a>  <a class="default-links" href="https://www.navicat.com.cn/download/navicat-for-redis" target="_blank">Navicat for Redis 16.3</a> 14 WindowsmacOS  Linux </p></body></html>]]></description>
</item>
<item>
<title>在 Redis 中使用字符串类型（String）数据</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE html><head>    <title> Redis String</title></head><body><b>2023  10  20 </b> Robert Gravelle <br/><br/><p>Redis String Redis text 512  Redis  CLI  <a class="default-links" href="https://navicat.com.cn/products/navicat-for-redis" target="_blank">Navicat for Redis</a> </p><h1 class="blog-sub-title">CLI</h1><p>Redis CLI Redis  CLI </p><h3>1. </h3><p> Redis  SETKey</p><pre>    <code>SET my_key "Hello, Redis!"</code></pre><p>my_keyHello,Redis!</p><h3>2. </h3><p> GET</p><pre>    <code>GET my_key</code></pre><p>my_keyHello,Redis!</p><h3>3. </h3><p> APPEND Key</p><pre>    <code>APPEND my_key ", How are you?"</code></pre><p>my_keyHello,Redis!,How are you?</p><h3>4. </h3><p> GETRANGE </p><pre>    <code>GETRANGE my_key 0 4</code></pre><p>my_keyHello</p><h1 class="blog-sub-title">Navicat for Redis </h1><p>Navicat for Redis GUI Redis  Navicat </p><h3>1.  Redis </h3><p> Navicat   Redis </p><img alt="redis_connection_details (52K)" src="https://www.navicat.com/link/Blog/Image/2023/20231020/CN/redis_connection_details.jpg" height="707" width="562" /><h3>2.  Redis </h3><p> Redis  Redis </p><img alt="redis_keys (30K)" src="https://www.navicat.com/link/Blog/Image/2023/20231020/CN/redis_keys.jpg" height="562" width="241" /><h3>3. </h3><p>String</p><img alt="setting_a_string_value (63K)" src="https://www.navicat.com/link/Blog/Image/2023/20231020/CN/setting_a_string_value.jpg" height="508" width="680" /><p></p><img alt="new_string (34K)" src="https://www.navicat.com/link/Blog/Image/2023/20231020/CN/new_string.jpg" height="218" width="673" /><h3>4</h3><p>Navicat </p><h3>5. </h3><p></p><h1 class="blog-sub-title"></h1><p> Redis  CLI  <a class="default-links" href="https://navicat.com.cn/products/navicat-for-redis" target="_blank">Navicat for Redis</a>  Redis  Navicat for Redis  GUI </p></body></html>]]></description>
</item>
<item>
<title>在非外键字段上连接数据库表</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE html><html><head>    <title></title></head><body><b>2023  10  13 </b> Robert Gravelle <br/><br/><p>  <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat</a> </p><h1 class="blog-sub-title"></h1><p></p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;">    <li><strong></strong> </li>    <li><strong></strong> </li>    <li><strong></strong> </li>    <li><strong></strong> </li></ul><h1 class="blog-sub-title"> Navicat </h1><p>Navicat  MySQLPostgreSQLSQL Server </p><h3></h3><p><code>Customers</code><code>Orders</code>  <code>CustomerID</code>  <code>Email</code> </p><p> <code>Customers</code>  <code>Orders</code>  <code>Email</code>  SQL </p><pre><code>SELECT Customers.*, Orders.*FROM CustomersINNER JOIN Orders ON Customers.Email = Orders.CustomerEmail;</code></pre><img alt="join_on_email (28K)" src="https://www.navicat.com/link/Blog/Image/2023/20231013/CN/join_on_email.jpg" height="163" width="566" /><p></p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;">    <li><code>Customers.*</code>  <code>Orders.*</code> </li>    <li><code>INNER JOIN</code>  <code>Email</code>  <code>CustomerEmail</code> </li></ul><h3></h3><p></p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;">    <li><strong></strong> <code>Email</code> </li>    <li><strong></strong> </li>    <li><strong></strong>  email  VARCHAR</li>    <li><strong></strong> </li></ul><h1 class="blog-sub-title"></h1><p><a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat</a>  SQL </p><p></p></body></html>]]></description>
</item>
<item>
<title>Redis 的过期键</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE html><html><head>    <title>Redis </title></head><body><b>2023  10  6 </b> Robert Gravelle <br/><br/><p>Redis  Redis  redis-cli  <a class="default-links" href="https://www.navicat.com.cn/products/navicat-for-redis" target="_blank">Navicat for Redis</a>  Redis </p><h1 class="blog-sub-title"></h1><p> Redis  <code>EXPIRE</code>  <code>SETEX</code>  <code>EXPIRE</code>  <code>SETEX</code> </p><h3> EXPIRE</h3><pre>127.0.0.1:6379&gt; SET mykey "Hello, Redis"OK127.0.0.1:6379&gt; EXPIRE mykey 60(integer) 1</pre><p> <code>SET</code>  <code>mykey</code> HelloRedis <code>EXPIRE</code>  <code>mykey</code>  60 60 </p><h3> SETEX</h3><pre>127.0.0.1:6379&gt; SETEX mykey 60 "Hello, Redis"OK</pre><p> <code>SETEX</code> 60</p><h1 class="blog-sub-title">TTL</h1><p> <code>TTL</code>  -2 -1</p><pre><code>127.0.0.1:6379&gt; TTL mykey(integer) 30</code></pre><p> <code>mykey</code>  60  30 30 </p><h1 class="blog-sub-title"></h1><p> Redis Redis  <code>DEL</code> </p><pre><code>127.0.0.1:6379&gt; DEL mykey(integer) 1</code></pre><p> <code>DEL</code>  <code>mykey</code>  </p><h1 class="blog-sub-title"> Navicat </h1><p> Navicat  TTL </p><img alt="TTL_dropdown (74K)" src="https://www.navicat.com/link/Blog/Image/2023/20231006/CN/TTL_dropdown.jpg" height="635" width="698" /><p>TTL  TTL () () 60 </p><img alt="expire_in_60_seconds (21K)" src="https://www.navicat.com/link/Blog/Image/2023/20231006/CN/expire_in_60_seconds.jpg" height="306" width="694" /><p></p><h1 class="blog-sub-title"></h1><p> Redis </p><h3>1. </h3><p>Redis </p><h3>2. </h3><p> Redis  Web </p><h3>3. </h3><p> API Redis p><h3>4. </h3><p>Redis </p><h1 class="blog-sub-title"></h1><p> redis-cli  <a class="default-links" href="https://www.navicat.com.cn/products/navicat-for-redis" target="_blank">Navicat for Redis</a>  Redis Redis  Redis </p></body></html>]]></description>
</item>
<item>
<title>数据库连接性比较：Navicat 和基于 Java 的工具</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE html><html><head>    <title>Navicat  Java </title></head><body><b>2023  9  28 </b> Robert Gravelle <br/><br/><p>Java Navicat  Java </p><h1 class="blog-sub-title"></h1><p> Java </p><h1 class="blog-sub-title"></h1><p>Navicat  Java </p><h1 class="blog-sub-title"></h1><p> Java Navicat </p><h1 class="blog-sub-title"></h1><p> Navicat  Java  Navicat </p><h1 class="blog-sub-title"></h1><p>Java  Navicat </p><h1 class="blog-sub-title"></h1><p> Navicat  Java  Navicat </p><p> <a class="default-links" href="https://navicat.com.cn/products/navicat-premium" target="_blank">Navicat</a>  </p></body></html>]]></description>
</item>
<item>
<title>Redis 哈希的使用</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title>Redis </title></head><body><b>2023  9  15 </b> Robert Gravelle <br/><br/><p> Redis Hash-HashHash redis-cli  <a class="default-links" href="https://www.navicat.com.cn/products/navicat-for-redis" target="_blank">Navicat for Redis</a> Hash</p><h1 class="blog-sub-title">Hash</h1><p> Redis keyHashvalue-</p><pre>vehicle make Toyota model Crown trim Platinum year 2023 color black</pre><p>Hash HSET </p><pre>HSET key field value</pre><p> HSETRedis </p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li> 1 </li><li> 0 </li></ul><p></p><pre>HSET vehicle make "Toyota"   // 1HSET vehicle model "Crown"   // 1HSET vehicle trim "Platinum" // 1HSET vehicle year 2015       // 1HSET vehicle color "black"   // 1</pre><p> year  2022HSET  0</p><pre>HSET vehicle year 2022 // 0</pre><h1 class="blog-sub-title"> Navicat Hash</h1><p> <a class="default-links" href="https://www.navicat.com.cn/products/navicat-for-redis" target="_blank">Navicat for Redis</a>  [] </p><img alt="vehicle_hash_in_navicat_editor (70K)" src="https://www.navicat.com/link/Blog/Image/2023/20230915/CN/vehicle_hash_in_navicat_editor.jpg" height="603" width="620" /><p></p><h1 class="blog-sub-title">Hash</h1><p> HGET Hash</p><pre>HGET key field</pre><p> year  2022 2015</p><pre>HGET vehicle year // 2022</pre><p> HGETALL Hash</p><pre>HGETALL key</pre><p></p><pre>HGETALL vehicle/* Returns:makeToyotamodelCrowntrimPlatinumyear2022colorblack*/</pre><p> HGETALL </p><h1 class="blog-sub-title"></h1><p> HDEL Hash HDEL  HDEL  0</p><pre>HDEL key field [field ...]</pre><p> HDEL  year  color </p><pre>HDEL vehicle year color // 2</pre><p> Navicat  [-] </p><img alt="delete_button_in_navicat_editor (25K)" src="https://www.navicat.com/link/Blog/Image/2023/20230915/CN/delete_button_in_navicat_editor.jpg" height="314" width="621" /><h1 class="blog-sub-title"></h1><p> Redis Hash redis-cli  <a class="default-links" href="https://www.navicat.com.cn/products/navicat-for-redis" target="_blank">Navicat for Redis</a> Hash</p><p> Navicat for Redis  <a class="default-links" href="https://www.navicat.com.cn/download/navicat-for-redis" target="_blank"></a>  14 </p></body></html>]]></description>
</item>
<item>
<title>Redis 集合（Set）快速指南</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title>Redis Set</title></head><body><b>2023  9  8 </b> Robert Gravelle <br/><br/><p>Redis ListListSet Redis SetListSetSet redis-cli   <a class="default-links" href="https://www.navicat.com.cn/products/navicat-for-redis" target="_blank">Navicat for Redis</a> Set</p><h1 class="blog-sub-title">Set</h1><p> Redis  SADD Setkey</p><pre>SADD key member [member ...]</pre><p>keySetkey</p><p>vehicles</p><pre>SADD vehicles "Infiniti"         // 1SADD vehicles "Mazda"            // 1SADD vehicles "Ford" "Mercedes"    // 2SADD vehicles "Porsche" "Mercedes" // 1</pre><p>SADD Mercedes</p><h1 class="blog-sub-title"> Navicat Set</h1><p> <a class="default-links" href="https://www.navicat.com.cn/products/navicat-for-redis" target="_blank">Navicat for Redis</a> Set [] </p><img alt="vehicles_set_in_navicat_editor (69K)" src="https://www.navicat.com/link/Blog/Image/2023/20230908/CN/vehicles_set_in_navicat_editor.jpg" height="547" width="758" /><p>Navicat </p><h1 class="blog-sub-title">Set</h1><p> SREM </p><pre>SREM key member [member ...]</pre><pre>SREM vehicles "Mazda" "Mercedes" // 2SREM vehicles "Dodge" // 0</pre><p> SADD SREM </p><p> Navicat  [-] </p><img alt="delete_button_in_navicat_editor (25K)" src="https://www.navicat.com/link/Blog/Image/2023/20230908/CN/delete_button_in_navicat_editor.jpg" height="295" width="756" /><h1 class="blog-sub-title"></h1><p> SISMEMBER </p><pre>SISMEMBER key member</pre><p> 1 0</p><pre>SISMEMBER vehicles "Infiniti" // 1SISMEMBER vehicles "Alfa Romeo" // 0</pre><h1 class="blog-sub-title">Set</h1><p> SMEMBERS </p><pre>SMEMBERS key</pre><p>vehicles</p><pre>SMEMBERS vehicles// returns "Infiniti", "Ford", "Porsche"</pre><h1 class="blog-sub-title">Set</h1><p> SUNION Set</p><pre>SUNION key [key ...]</pre><p>SUNION </p><p>more_vehiclesCorvetteAlfa Romeovehiclesmore_vehicles</p><pre>SUNION vehicles more_vehicles// "Infiniti", "Ford", "Porsche", "Corvette", "Alfa Romeo"</pre><h1 class="blog-sub-title"></h1><p> Redis  Set  redis-cli <a class="default-links" href="https://www.navicat.com.cn/products/navicat-for-redis" target="blank_">Navicat for Redis</a> Set</p><p> Navicat for Redis  <a class="default-links" href="https://navicat.com.cn/download/navicat-for-redis" target="blank_"></a>  14 </p></body></html>]]></description>
</item>
<item>
<title>Navicat 荣获 DBTA 读者选择奖</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title>Navicat  DBTA </title></head><body><b>2023  8  31 </b> Robert Gravelle <br/><br/><p> 2023 DBTA  <a class="default-links" href="https://www.dbta.com/Editorial/Actions/Winners-Circle-Navicat-159974.aspx" target="_blank">2023 DBTA Readers' Choice Awards</a>Navicat  DBA Navicat Data Modeler  Navicat DBTADBTA  IT </p><p>Navicat Navicat</p><p>Best DBA Solution Navicat  Navicat , <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat Premium</a> MySQLPostgreSQLMariaDBMongoDBSQL ServerOracleSQLite, Redis Navicat 50% 500 </p><p>Navicat  CEOKen Lin DBTAKen Lin  Navicat</p><p>Navicat </p><p> Navicat  Navicat 16.2 Navicat 16.2  Redis </p><p>Navicat </p></body></html>]]></description>
</item>
<item>
<title>Redis 列表：概述</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title>Redis </title></head><body><b>2023  8  14 </b> Robert Gravelle <br/><br/><p> <a class="default-links" href="https://navicat.com.cn/company/aboutus/blog/568-redis-%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B.html" target="_blank"></a>  Redis Redis List</p><h1 class="blog-sub-title"></h1><p> Redis Listnext</p><img alt="linked_list (5K)" src="https://www.navicat.com/link/Blog/Image/2023/20230814/CN/linked_list.png" height="289" width="673" /><p></p><h1 class="blog-sub-title">List</h1><p> Redis RPUSH  LPUSH </p><h3>RPUSH </h3><p>RPUSH </p><pre>RPUSH key value [value ...]</pre><p>guitars</p><pre>RPUSH guitars "Jackson" // 1RPUSH guitars "Fender"  // 2RPUSH guitars "Gibson"  // 3</pre><p>Redis guitars </p><pre>Jackson Fender Gibson</pre><h3>LPUSH </h3><p>LPUSH  RPUSH  LPUSH </p><pre>LPUSH key value [value ...]</pre><p> LPUSH guitar</p><pre>LPUSH guitars "Ibanez" //4</pre><p>lbanez</p><pre>Ibanez Jackson Fender Gibson</pre><h1 class="blog-sub-title"> Navicat List</h1><p> <a class="default-links" href="https://www.navicat.com.cn/products/navicat-for-redis" target="_blank">Navicat for Redis</a> List [] </p><img alt="guitars_list_in_navicat_editor (66K)" src="https://www.navicat.com/link/Blog/Image/2023/20230814/CN/guitars_list_in_navicat_editor.jpg" height="545" width="639" /><p></p><p></p><h1 class="blog-sub-title"> LRANGE </h1><p>LRANGE </p><pre>LRANGE key start stop</pre><p> 0  -1 </p><pre>LRANGE guitars 0 -1 //returns Ibanez Jackson Fender Gibson</pre><p></p><pre>LRANGE guitars 0 1 //returns Ibanez Jackson</pre><h1 class="blog-sub-title">List</h1><p>LPOP List RPOP List</p><pre>LPOP guitars //returns Ibanez RPOP guitars //returns Gibson </pre><p> Navicat  [-] </p><img alt="delete_button_in_navicat_editor (30K)" src="https://www.navicat.com/link/Blog/Image/2023/20230814/CN/delete_button_in_navicat_editor.jpg" height="303" width="641" /><h1 class="blog-sub-title"></h1><p> Redis List redis-cli  <a class="default-links" href="https://www.navicat.com.cn/products/navicat-for-redis" target="_blank">Navicat for Redis</a> </p><p> Navicat for Redis <a class="default-links" href="https://navicat.com.cn/download/navicat-for-redis" target="_blank"></a>  14 </p></body></html>]]></description>
</item>
<item>
<title>在 Redis 中处理键值</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> Redis </title></head><body><b>2023  8  7 </b> Robert Gravelle <br/><br/><p>Redis  Redis  DML  redis-cli  <a class="default-links" href="https://www.navicat.com.cn/products/navicat-for-redis" target="_blank">Navicat for Redis</a> </p><h1 class="blog-sub-title"></h1><p> GET  Redis </p><pre>GET key</pre><p> <a class="default-links" href="https://www.navicat.com.cn/products/navicat-for-redis" target="_blank">Navicat for Redis</a> auth service</p><img alt="auth_service (48K)" src="https://www.navicat.com/link/Blog/Image/2023/20230807/CN/auth_service.jpg" height="201" width="738" /><p>auth0</p><img alt="GET_command (16K)" src="https://www.navicat.com/link/Blog/Image/2023/20230807/CN/GET_command.jpg" height="239" width="498" /><p>Indiana_jones_episodes,WRONGTYPE Operation against a key holding the wrong kind of value Redis  6 </p><p></p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li>string -&gt; GET <code>&lt;key&gt;</code></li><li>hash -&gt; HGET or HMGET or HGETALL <code>&lt;key&gt;</code></li><li>list -&gt; lrange <code>&lt;key&gt; &lt;start&gt; &lt;end&gt;</code></li><li>set -&gt; smembers <code>&lt;key&gt;</code></li><li>sorted set -&gt; ZRANGEBYSCORE <code>&lt;key&gt; &lt;min&gt; &lt;max&gt;</code></li><li>stream -&gt; xread count <code>&lt;count&gt;</code> streams <code>&lt;key&gt;</code> <code>&lt;ID&gt;</code>.</li></ul><p>Indiana_jones_episodes ZRANGEBYSCORE  min  max </p><img alt="ZRANGEBYSCORE_example (26K)" src="https://www.navicat.com/link/Blog/Image/2023/20230807/CN/ZRANGEBYSCORE_example.jpg" height="280" width="503" /><p></p><h1 class="blog-sub-title"></h1><p> Redis <code>SET key Value</code> </p><p> Navicat </p><img alt="update_example (54K)" src="https://www.navicat.com/link/Blog/Image/2023/20230807/CN/update_example.jpg" height="485" width="749" /><h1 class="blog-sub-title"></h1><p> Redis  DEL </p><pre>DEL key</pre><p>auth service</p><pre>DEL "auth service"</pre><p>Redis </p><p> Navicat  [-] </p><img alt="delete_button (60K)" src="https://www.navicat.com/link/Blog/Image/2023/20230807/CN/delete_button.jpg" height="515" width="745" /><h1 class="blog-sub-title"></h1><p> redis-cli  <a class="default-links" href="https://www.navicat.com.cn/products/navicat-for-redis" target="_blank">Navicat for Redis</a>  redis-cli  Navicat </p><p> Navicat for Redis  <a class="default-links" href="https://navicat.com.cn/download/navicat-for-redis" target="_blank"></a>  14 </p></body></html>]]></description>
</item>
<item>
<title>Redis Pub/Sub 指南</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title>Redis Pub/Sub </title></head><body><b>2023  7  26 </b> Robert Gravelle <br/><br/><p>Redis Pub/Sub <a class="default-links" href="https://www.navicat.com.cn/products/navicat-for-redis" target="_blank">Navicat for Redis</a>  Redis  Pub/Sub </p><h1 class="blog-sub-title"></h1><p>Pub/Sub </p><p>Redis Pub/Sub </p><h1 class="blog-sub-title">Redis</h1><p>Redis  Redis  Redis Streams</p><p>Pub/Sub  10  1 Redis  prod_mychanneltest_mychannel</p><h1 class="blog-sub-title"> Navicat for Redis </h1><p> <a class="default-links" href="https://www.navicat.com.cn/products/navicat-for-redis" target="_blank">Navicat for Redis</a>Navicat Premium Pub/Sub  Pub/Sub </p><img alt="pub-sub_screen (106K)" src="https://www.navicat.com/link/Blog/Image/2023/20230726/cn/pub-sub_screen.jpg" height="678" width="944" /><p> Redis  Redis test_channel</p><p> Navicat </p><img alt="subscribe_dialog (117K)" src="https://www.navicat.com/link/Blog/Image/2023/20230726/cn/subscribe_dialog.jpg" height="703" width="945" /><p>test_channel</p><img alt="channel_added (110K)" src="https://www.navicat.com/link/Blog/Image/2023/20230726/cn/channel_added.jpg" height="678" width="945" /><p> Navicat </p><img alt="message_received (75K)" src="https://www.navicat.com/link/Blog/Image/2023/20230726/cn/message_received.jpg" height="466" width="817" /><h1 class="blog-sub-title"></h1><p> Navicat for Redis  Redis  Pub/Sub </p><p> Navicat for Redis <a class="default-links" href="https://navicat.com.cn/download/navicat-for-redis" target="_blank"></a>  14 </p></body></html>]]></description>
</item>
<item>
<title>使用数据库别名</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title></title></head><body><b>2023  7  10 </b> Robert Gravelle <br/><br/><p>SQL  <a class="default-links" href="https://www.navicat.com.cn/download/navicat-premium" target="_blank">Navicat Premium 16.2</a> </p><h1 class="blog-sub-title">SQL </h1><p></p><h3></h3><pre>SELECT   column_name [AS] alias_name,  column_name AS 'Alias Name' -- for names with spacesFROM table_name;</pre><h3></h3><pre>SELECT column_name(s)FROM table_name [AS] alias_name;</pre><p></p><ul><li> AS </li><li></li></ul><h1 class="blog-sub-title"> JOIN </h1><p> Sakila </p><pre>SELECT *FROM film f   INNER JOIN inventory i ON i.film_id = f.film_idWHERE i.store_id = 1 AND f.title = "Academy Dinosaur";</pre><p> film  inventory  film_id </p><p> Navicat </p><img alt="film_query (80K)" src="https://www.navicat.com/link/Blog/Image/2023/20230710/CN/film_query.jpg" height="294" width="763" /><h1 class="blog-sub-title"></h1><p></p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li>"so_no"  "sales order number"</li><li>"qty"  "quantity"</li> </ul><p></p><pre>SELECTinv_no AS invoice_no,amount,due_date AS 'Due date',cust_no 'Customer No'FROMinvoices;</pre>   <p></p><img alt="expression_alias (113K)" src="https://www.navicat.com/link/Blog/Image/2023/20230710/CN/expression_alias.jpg" height="554" width="558" /><p></p><h1 class="blog-sub-title"></h1><p> SELECT  SELECT  WHERE </p><img alt="alias_error (42K)" src="https://www.navicat.com/link/Blog/Image/2023/20230710/CN/alias_error.jpg" height="241" width="730" /><p> SELECT  WHERE  WHERE  NewPrice </p><p> ORDER BY  SELECT </p><img alt="alias_in_order_by (113K)" src="https://www.navicat.com/link/Blog/Image/2023/20230710/CN/alias_in_order_by.jpg" height="532" width="562" /><p></p><p>FROM > SELECT > ORDER BY</p><h1 class="blog-sub-title"> Navicat</h1><p> Navicat </p><img alt="alias_in_navicat (65K)" src="https://www.navicat.com/link/Blog/Image/2023/20230710/CN/alias_in_navicat.jpg" height="237" width="736" /><p></p><h1 class="blog-sub-title"></h1><p> <a class="default-links" href="https://www.navicat.com.cn/download/navicat-premium" target="_blank">Navicat Premium 16.2</a> </p></body></html>]]></description>
</item>
<item>
<title>Redis 数据类型</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title>Redis </title></head><body><b>2023  6  26 </b> Robert Gravelle <br/><br/><p>Redis key-valuestringlistsetsorted sethash Redis </p><h1 class="blog-sub-title">String</h1><p>Redis Redis  512 MB </p><p> <a class="default-links" href="https://www.navicat.com.cn/products/navicat-for-redis" target="_blank">Navicat for Redis</a> -></p><img alt="creating_a_string (102K)" src="https://www.navicat.com/link/Blog/Image/2023/20230623/CN/creating_a_string.jpg" height="686" width="947" /><p></p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li></li><li></li><li></li><li>TTL</li></ul><p></p><img alt="new_string (34K)" src="https://www.navicat.com/link/Blog/Image/2023/20230623/CN/new_string.jpg" height="291" width="717" /><h1 class="blog-sub-title">Hash</h1><p> Redis hash  hash  2^32 - 1 - 40 </p><p> hash Navicat </p><img alt="hash (78K)" src="https://www.navicat.com/link/Blog/Image/2023/20230623/CN/hash.jpg" height="538" width="716" /><h1 class="blog-sub-title">List</h1><p>Redis List  Redis  2^32 - 1 4294967295  40 </p><p> Navicat list  [...] </p><img alt="list_editor (72K)" src="https://www.navicat.com/link/Blog/Image/2023/20230623/CN/list_editor.jpg" height="713" width="721" /><h1 class="blog-sub-title">Set</h1><p>Redis Set Set  list  Set </p><p>Set Sorted Setscore</p><p>Navicat  Set  List </p><img alt="set_editor (76K)" src="https://www.navicat.com/link/Blog/Image/2023/20230623/CN/set_editor.jpg" height="626" width="749" /><p>zset</p><img alt="zset_editor (23K)" src="https://www.navicat.com/link/Blog/Image/2023/20230623/CN/zset_editor.jpg" height="189" width="710" /><h1 class="blog-sub-title">Stream</h1><p>Redis stream  Redis 5.0 Stream </p><p>Navicat for Redis  Stream </p><img alt="stream_editor (24K)" src="https://www.navicat.com/link/Blog/Image/2023/20230623/CN/stream_editor.jpg" height="190" width="713" /><h1 class="blog-sub-title"> Redis </h1><p> Redis  Stream </p><p> Navicat for Redis  <a class="default-links" href="https://navicat.com.cn/download/navicat-for-redis" target="_blank"></a>  14 </p></body></html>]]></description>
</item>
<item>
<title>开始使用 Redis</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> Redis</title></head><body><b>2023  6  16 </b> Robert Gravelle <br/><br/><p>Redis  C BSD  Redis </p>  <h1 class="blog-sub-title"> Redis</h1><p>Redis </p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li>Redis </li><li>Redis  110,000  SET 81,000  GET</li><li>Redis </li><li>Redis Redis </li><li>Redis /</li><li>Redis  Web </li></ul><h1 class="blog-sub-title"> Redis</h1><p>Redis / 100  Redis </p><p> Redis fork CPU </p><h1 class="blog-sub-title"> Redis</h1><p> Redis  Redis Stack  Redis UIRedis </p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;">    <li><a class="default-links" href="https://redis.io/docs/getting-started/installation/install-redis-on-linux" target="_blank"> Linux  Redis</a></li>    <li><a class="default-links" href="https://redis.io/docs/getting-started/installation/install-redis-on-mac-os" target="_blank"> macOS  Redis</a></li>    <li><a class="default-links" href="https://redis.io/docs/getting-started/installation/install-redis-on-windows" target="_blank"> Windows  Redis</a></li>    <li><a class="default-links" href="https://redis.io/docs/stack/get-started/install" target="_blank"> Redis  Redis Stack  RedisInsight</a></li>    <li><a class="default-links" href="https://redis.io/docs/getting-started/installation/install-redis-from-source" target="_blank"> Redis</a> C  libc</li></ul><p> Redis  <a class="default-links" href="https://www.navicat.com.cn/products/navicat-for-redis" target="_blank">Navicat for Redis</a> </p><h1 class="blog-sub-title"> Redis CLI</h1><p>Navicat for Redis </p><img alt="console (42K)" src="https://www.navicat.com/link/Blog/Image/2023/20230616/CN/console.jpg" height="257" width="700" /><p> Navicat  CLI  CLI </p><img alt="auto-complete_in_console (38K)" src="https://www.navicat.com/link/Blog/Image/2023/20230616/CN/auto-complete_in_console.jpg" height="370" width="442" /><h1 class="blog-sub-title"></h1><p> Redis  Redis </p></body></html>]]></description>
</item>
<item>
<title>介绍 Navicat for Redis 功能！</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> Navicat for Redis </title></head><body><b>2023  6  9 </b> Robert Gravelle <br/><br/><p><a class="default-links" href="https://navicat.com.cn/products/navicat-premium" target="_blank">Navicat Premium</a>  16.2 Redis Navicat  Redis Navicat for Redis Redis  Redis  Redis Enterprise CloudAmazon ElastiCache  Microsoft Azure  Navicat for Redis </p>  <h1 class="blog-sub-title"></h1><p>Redis  Navicat for Redis Navicat </p><p> Windows </p><img alt="data_view (155K)" src="https://www.navicat.com/link/Blog/Image/2023/20230609/CN/data_view.jpg" height="509" width="845" /><h1 class="blog-sub-title"></h1><p> Navicat Navicat for Redis </p><p></p><img alt="Screenshot_Navicat_16.2_Redis_Windows_03_Query (126K)" src="https://www.navicat.com/link/Blog/Image/2023/20230609/CN/Screenshot_Navicat_16.2_Redis_Windows_03_Query.png" height=auto width=850 /><p></p><h1 class="blog-sub-title">Pub/Sub</h1><p>Pub/Sub </p><p>Pub/Sub </p><img alt="Screenshot_Navicat_16.2_Redis_Windows_04_PubSub (366K)" src="https://www.navicat.com/link/Blog/Image/2023/20230609/CN/Screenshot_Navicat_16.2_Redis_Windows_04_PubSub.png" height=auto width="1000" /><h1 class="blog-sub-title"></h1><p>Navicat for Redis  Navicat Cloud Navicat Cloud </p><p>Navicat Cloud</p><img alt="Screenshot_Navicat_16.2_Redis_Windows_11_NavicatCloud (410K)" src="https://www.navicat.com/link/Blog/Image/2023/20230609/CN/Screenshot_Navicat_16.2_Redis_Windows_11_NavicatCloud.png" height=auto width="1000" /><h1 class="blog-sub-title"></h1><p></p><p> Redis </p><img alt="dark_mode (163K)" src="https://www.navicat.com/link/Blog/Image/2023/20230609/CN/dark_mode.jpg" height="555" width="831" /><h1 class="blog-sub-title"></h1><p></p><p></p><img alt="Screenshot_Navicat_16.2_Redis_Windows_05_User_Management (96K)" src="https://www.navicat.com/link/Blog/Image/2023/20230609/CN/Screenshot_Navicat_16.2_Redis_Windows_05_User_Management.png" height=auto width="1000" /><h1 class="blog-sub-title"></h1><p> Navicat for Redis Navicat for Redis <a class="default-links" href="https://www.navicat.com.cn/download/navicat-for-redis" target="_blank"></a> WindowsmacOS  Linux </p></body></html>]]></description>
</item>
<item>
<title>MySQL 外键约束指南</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title>MySQL </title></head><body><b>2023  6  2 </b> Robert Gravelle <br/><br/><p> ID</p><img alt="film_id_fk (34K)" src="https://www.navicat.com/link/Blog/Image/2023/20230602/CN/film_id_fk.jpg" height="417" width="222" /><p></p><p> <a class="default-links" href="https://www.navicat.com.cn/products/navicat-for-mysql" target="_blank">Navicat 16 for MySQL </a> MySQL </p>  <h1 class="blog-sub-title"></h1><p> film  inventory film 1  inventory  </p><p>film inventory </p><p></p><p> NULLinventory  film_id film  film_id inventory  film_id</p> <p> <a class="default-links" href="https://www.navicat.com.cn/products/navicat-for-mysql" target="_blank">Navicat 16 for MySQL </a></p><h1 class="blog-sub-title"> Navicat </h1><p> Navicat  film</p><img alt="new_fk_on_film_table (39K)" src="https://www.navicat.com/link/Blog/Image/2023/20230602/CN/new_fk_on_film_table.jpg" height="147" width="719" /><p>filminventoryfilm_id</p><img alt="new_fk_on_film_table_with_fields_populated (44K)" src="https://www.navicat.com/link/Blog/Image/2023/20230602/CN/new_fk_on_film_table_with_fields_populated.jpg" height="148" width="720" /><p>MySQL </p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li>CASCADE</li><li>SET NULLNULL</li><li>RESTRICTMySQL </li><li>NO ACTIONRESTRICT</li><li>SET DEFAULTMySQL InnoDB  NDB </li></ul><p> FK  RESTRICT  CASCADE </p><img alt="new_fk_on_film_table_with_action_fields_populated (46K)" src="https://www.navicat.com/link/Blog/Image/2023/20230602/CN/new_fk_on_film_table_with_action_fields_populated.jpg" height="145" width="719" /><p>Navicat </p><h1 class="blog-sub-title"></h1><p> <a class="default-links" href="https://www.navicat.com.cn/products/navicat-for-mysql" target="_blank">Navicat 16 for MySQL </a> SQL </p></body></html>]]></description>
</item>
<item>
<title>在 Navicat 16 中创建视图</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> Navicat 16 </title></head><body><b>2023  5  19 </b> Robert Gravelle <br/><br/><p> <a class="default-links" href="https://www.navicat.com.cn/products/navicat-data-modeler" target="_blank">Navicat Data Modeler</a> </p><img alt="ups_model (189K)" src="https://www.navicat.com/link/Blog/Image/2023/20230519/CN/ups_model.jpg" height="760" width="899" />  <p> ups  ups </p><p>3NF ID  ID  ups  CSRcustomer  vehicle  ID ID </p><img alt="ups_table (195K)" src="https://www.navicat.com/link/Blog/Image/2023/20230519/CN/ups_table.jpg" height="714" width="719" /><p> ID </p><p> <a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium"  target="_blank">Navicat 16</a> ->->...</p><img alt="new_view_menu_command (46K)" src="https://www.navicat.com/link/Blog/Image/2023/20230519/CN/new_view_menu_command.jpg" height="354" width="375" /><p></p><p> SQL </p><img alt="view_definition (43K)" src="https://www.navicat.com/link/Blog/Image/2023/20230519/CN/view_definition.jpg" height="274" width="393" /><p> SQL</p><p></p><img alt="view_preview (207K)" src="https://www.navicat.com/link/Blog/Image/2023/20230519/CN/view_preview.jpg" height="745" width="629" /><p>ID </p><p> -  SQL SQL  CREATE VIEW </p><img alt="sql_preview (30K)" src="https://www.navicat.com/link/Blog/Image/2023/20230519/CN/sql_preview.jpg" height="181" width="398" /><p>Untitled</p><img alt="save_as_dialog (46K)" src="https://www.navicat.com/link/Blog/Image/2023/20230519/CN/save_as_dialog.jpg" height="332" width="541" /><p></p><img alt="ups_view_in_object_pane (20K)" src="https://www.navicat.com/link/Blog/Image/2023/20230519/CN/ups_view_in_object_pane.jpg" height="320" width="186" /><h1 class="blog-sub-title"> Navicat 16 </h1><p> ID </p></body></html>]]></description>
</item>
<item>
<title>PostgreSQL 中的多版本并发控制</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title>PostgreSQL </title></head><body><b>2023  5  12 </b> Robert Gravelle <br/><br/><p> PostgreSQL Multi-Version Concurrency Control MVCC MVCC  MVCC </p>  <h1 class="blog-sub-title">MVCC </h1><p> MVCC </p><p> MVCC  (a)  (b) </p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;"><li>write-timestamp</li><li>read-timestamp</li></ul><p>MVCC  Jan Hidders </p><blockquote><p> 51220  14 12 </p><p> 510  16  812  20 11  10  12  11  12  10  11  14  t=12  t=16 </p></blockquote><h1 class="blog-sub-title">MVCC </h1><p></p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li></li><li></li></ul><p></p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li> MVCC </li><li></li><li></li></ul><h1 class="blog-sub-title"> PostgreSQL </h1><p> MVCC </p><p> PostgreSQL  <a class="default-links" href="https://www.navicat.com.cn/download/navicat-for-postgresql"  target="_blank">Navicat 16 for PostgreSQL</a> 14 </p></body></html>]]></description>
</item>
<item>
<title>在 PostgreSQL 中设置查询超时</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> PostgreSQL </title></head><body><b>2023  5  5 </b> Robert Gravelle <br/><br/><p> <a class="default-links" href="https://www.navicat.com.cn/products/navicat-monitor" target="_blank">Navicat Monitor 3</a> </p><img alt="Screenshot_Navicat_Monitor_LongRunningQueries (102K)" src="https://www.navicat.com/link/Blog/Image/2023/20230505/CN/Screenshot_Navicat_Monitor_LongRunningQueries.png" height="673" width="840" /><p></p>  <p> PostgreSQL  statement_timeout  <a class="default-links" href="https://www.navicat.com.cn/products/navicat-for-postgresql" target="_blank">Navicat 16 For PostgreSQL</a> </p><h1 class="blog-sub-title"> statement_timeout </h1><p> 30  60  60 </p><pre>ALTER DATABASE mydatabase SET statement_timeout = '60s';</pre><p> <a class="default-links" href="https://www.navicat.com.cn/products/navicat-for-postgresql" target="_blank">Navicat 16 For PostgreSQL</a> >>PostgreSQL statement_timeout </p><img alt="statement_timeout_variable (75K)" src="https://www.navicat.com/link/Blog/Image/2023/20230505/CN/statement_timeout_variable.jpg" height="510" width="692" /><p> statement_timeout </p><p>SHOW </p><img alt="show_statement (9K)" src="https://www.navicat.com/link/Blog/Image/2023/20230505/CN/show_statement.jpg" height="107" width="267" /><h1 class="blog-sub-title"></h1><p> ALTER ROLE  statement_timeout</p><p>guest</p><img alt="guest_role (42K)" src="https://www.navicat.com/link/Blog/Image/2023/20230505/CN/guest_role.jpg" height="449" width="427" /><p> ALTER ROLE </p><pre>ALTER ROLE guest SET statement_timeout='5min';</pre><p> pg_roles  statement_timeout </p><img alt="select_rolconfig (33K)" src="https://www.navicat.com/link/Blog/Image/2023/20230505/CN/select_rolconfig.jpg" height="252" width="408" /><p>rolconfig  unnest </p><img alt="select_rolconfig_unnest (20K)" src="https://www.navicat.com/link/Blog/Image/2023/20230505/CN/select_rolconfig_unnest.jpg" height="181" width="521" /><h1 class="blog-sub-title"> PostgreSQL </h1><p><a class="default-links" href="https://www.navicat.com.cn/products/navicat-monitor" target="_blank">Navicat Monitor 3</a> </p><p> PostgreSQL </p><p> statement_timeout </p><p> Navicat 16 For PostgreSQL  <a class="default-links" href="https://www.navicat.com.cn/download/navicat-for-postgresql" target="_blank"></a>  14 </p></body></html>]]></description>
</item>
<item>
<title>使用触发器记录审核线索</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title></title></head><body><b>2023  4  28 </b>  Robert Gravelle <br/><br/><p></p><p> MySQL  <a class="default-links" href="https://www.postgresqltutorial.com/postgresql-getting-started/postgresql-sample-database/" target="_blank">Sakila </a>   rental  DVD </p><h1 class="blog-sub-title"></h1><p> DDL  rental </p><p>create table rental_audit_log(  id int NOT NULL AUTO_INCREMENT,   rental_id int NOT NULL,   old_values varchar(255),  new_values varchar(255),  done_by varchar(255) NOT NULL,  done_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,  PRIMARY KEY (id));</p><p> Navicat  DDL </p><img alt="rental_audit_trail_table_design (53K)" src="https://www.navicat.com/link/Blog/Image/2023/20230428/CN/rental_audit_trail_table_design.jpg" height="329" width="608" /><h1 class="blog-sub-title"></h1><p> 3  rental_audit_log  rental  DML INSERTUPDATE  DELETE</p><h3>AFTER INSERT </h3><p>rental_insert_audit_trigger  rental  INSERT  INSERT  JSON_OBJECT  Navicat </p><img alt="AFTER_INSERT_Trigger (62K)" src="https://www.navicat.com/link/Blog/Image/2023/20230428/CN/AFTER_INSERT_Trigger.jpg" height="471" width="495" /><p> rental  rental_audit_log </p><img alt="rental_audit_log_entry (50K)" src="https://www.navicat.com/link/Blog/Image/2023/20230428/CN/rental_audit_log_insert_entry.jpg" height="220" width="843" /><h3>AFTER UPDATE </h3><p> rental  UPDATE  rental_update_audit_trigger </p><img alt="AFTER_UPDATE_Trigger (84K)" src="https://www.navicat.com/link/Blog/Image/2023/20230428/CN/AFTER_UPDATE_Trigger.jpg" height="560" width="484" /><p> rental_update_audit_trigger rental_audit_log  robg  rental_date 2005-05-25 17:17:042005-05-31 19:47:04</p><img alt="rental_audit_log_update_entry (52K)" src="https://www.navicat.com/link/Blog/Image/2023/20230428/CN/rental_audit_log_update_entry.jpg" height="216" width="685" /><h3>AFTER DELETE </h3><p> rental  DELETE  rental_delete_audit_trigger</p><img alt="AFTER_DELETE_Trigger (69K)" src="https://www.navicat.com/link/Blog/Image/2023/20230428/CN/AFTER_DELETE_Trigger.jpg" height="468" width="481" /><p> old_values  rental_audit_log  new_values </p><img alt="rental_audit_log_delete_entry (46K)" src="https://www.navicat.com/link/Blog/Image/2023/20230428/CN/rental_audit_log_delete_entry.jpg" height="218" width="687" /><p> fsmith  2023-03-22 08:46:07  rental  1114</p><h1 class="blog-sub-title"></h1><p> MySQL  Sakila  rental  DML </p></body></html>]]></description>
</item>
<item>
<title>SQL 中命名约定的快速指南 - 第 2 部分</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title>SQL  -  2 </title></head><body><b>2023  3  31 </b>  Robert Gravelle <br/><br/><h1 class="blog-sub-title"></h1><p> SQL  2  <a class="default-links" href="https://navicat.com.cn/company/aboutus/blog/538-sql-%E4%B8%AD%E5%91%BD%E5%90%8D%E7%BA%A6%E5%AE%9A%E7%9A%84%E5%BF%AB%E9%80%9F%E6%8C%87%E5%8D%97-%E7%AC%AC-1-%E9%83%A8%E5%88%86" target="_blank"> 1 </a> 1  1  3 </p><h1 class="blog-sub-title"></h1><p> DBA id_id Sakila </p><img alt="actor_id_column (50K)" src="https://www.navicat.com/link/Blog/Image/2023/20230331/CN/actor_id_column.jpg" height="188" width="657" /><p>pk_pk_&lt;table_name&gt;</p><h1 class="blog-sub-title"></h1><p>_id customer_idemployee_id</p><p> city  country  country_id </p><img alt="country_id_foreign_key (50K)" src="https://www.navicat.com/link/Blog/Image/2023/20230331/CN/country_id_foreign_key.jpg" height="190" width="659" /><p>fk_fk_&lt;target_table&gt;_&lt;source_table&gt;</p><p>city fk_city_country</p><img alt="fk_city_country_foreign_key (36K)" src="https://www.navicat.com/link/Blog/Image/2023/20230331/CN/fk_city_country_foreign_key.jpg" height="131" width="676" /><h1 class="blog-sub-title"></h1><p> 1 </p><blockquote> employeecustomercitycountry </blockquote><p> country_namecountry_codecustomer_name customer_namecity_name  order_customer_name  city_of_residence_name</p><h1 class="blog-sub-title"></h1><p> start_date  end_date  call_start_date  call_end_date </p><h1 class="blog-sub-title"> SQL </h1><p>_customer_name  invoice_date customerName  invoiceDate SQL  <code>SELECT customer_name, invoice_date FROM orders;</code></p></body></html>]]></description>
</item>
<item>
<title>从关系数据库中选择非重复值</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title></title></head><body><b>2023  4  14 </b> Robert Gravelle <br/><br/><p> SQL  ANSI SQL  PostgreSQLSQL Server  MySQL SQL DISTINCT  SELECT </p><h1 class="blog-sub-title"></h1><p> SQL DISTINCT  SELECT / DISTINCT </p><pre>SELECT DISTINCT columns/expressionsFROM tables[WHERE conditions];</pre><p>/ SELECT  DISTINCT  NULL DISTINCT  NULL  NULLDISTINCT  NULL </p><h1 class="blog-sub-title"></h1><p>//<a class="default-links" href="https://www.navicat.com.cn/products/navicat-premium" target="_blank">Navicat Premium 16</a>  <a class="default-links" href="https://www.mysqltutorial.org/mysql-sample-database.aspx" target="_blank">classicmodels </a></p><img alt="city_query (107K)" src="https://www.navicat.com/link/Blog/Image/2023/20230414/CN/city_query.jpg" height="668" width="609" /><p></p><p> DISTINCT  SELECT </p><img alt="city_query_distinct (49K)" src="https://www.navicat.com/link/Blog/Image/2023/20230414/CN/city_query_distinct.jpg" height="555" width="382" /><p> Navicat  DISTINCT  SQL Navicat </p><img alt="autocomplete (30K)" src="https://www.navicat.com/link/Blog/Image/2023/20230414/CN/autocomplete.jpg" height="213" width="501" /><h1 class="blog-sub-title"></h1><p>DISTINCT  country </p><img alt="city_country_query (70K)" src="https://www.navicat.com/link/Blog/Image/2023/20230414/CN/city_country_query.jpg" height="560" width="396" /><p></p><p> DISTINCT  city  country </p><img alt="city_country_query_distinct (68K)" src="https://www.navicat.com/link/Blog/Image/2023/20230414/CN/city_country_query_distinct.jpg" height="558" width="395" /><h1 class="blog-sub-title">DISTINCT  Null </h1><p>DISTINCT  NULL  NULL customers </p><img alt="region_column (102K)" src="https://www.navicat.com/link/Blog/Image/2023/20230414/CN/region_column.jpg" height="521" width="408" /><p> DISTINCT  NULL</p><img alt="region_query_distinct (42K)" src="https://www.navicat.com/link/Blog/Image/2023/20230414/CN/region_query_distinct.jpg" height="556" width="430" /><h1 class="blog-sub-title"></h1><p> SQL DISTINCT  SELECT  NULL  GROUP BY </p></body></html>]]></description>
</item>
<item>
<title>SQL 中命名约定的快速指南 - 第 3 部分</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title>SQL  -  3 </title></head><body><b>2023  4  6 </b>  Robert Gravelle <br/><br/><h1 class="blog-sub-title"></h1><p> SQL  3 <a class="default-links" href="https://navicat.com.cn/company/aboutus/blog/538-sql---1-" target="_blank"> 1 </a><a class="default-links" href="https://navicat.com.cn/company/aboutus/blog/543-sql---2-" target="_blank"> 2 </a></p><h1 class="blog-sub-title"></h1><p></p><h3></h3><p> DBA </p><pre>[]_[]_[]</pre><p></p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li>Insert</li><li>Delete</li><li>Update</li><li>Select</li><li>Get</li><li>Validate</li></ul><h3></h3><p>sp_ SQL Server  master SQL Server master  user  SQL Serversp_ SQL Server</p><p>usp_</p><h3></h3><p></p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li>usp_insert_person</li><li>usp_delete_person</li><li>usp_update_person</li><li>usp_select_person</li><li>usp_get_person</li><li>usp_validate_person</li></ul><h1 class="blog-sub-title"></h1><p> SQL </p><p>fn_</p><pre>[]_[]_[]</pre><p> true  false isare</p><p></p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li>fn_count_string_instances</li><li>fn_get_customer_balance</li><li>fn_is_inventory_in_stock</li><li>fn_get_column_type</li></ul><h1 class="blog-sub-title"></h1><p></p><p>v_vw_</p><pre>[]_[]</pre><p></p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li>vw_actor_full_name</li><li>vw_sales_by_store</li><li>v_staff_list</li><li>v_sales_by_product_category</li></ul><h1 class="blog-sub-title"> SQL </h1><p> 1  2  3 </p><p></p></body></html>]]></description>
</item>
<item>
<title>SQL 中命名约定的快速指南 - 第 2 部分</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title>SQL  -  2 </title></head><body><b>2023  3  31 </b>  Robert Gravelle <br/><br/><h1 class="blog-sub-title"></h1><p> SQL  2  <a class="default-links" href="https://navicat.com.cn/company/aboutus/blog/538-sql-%E4%B8%AD%E5%91%BD%E5%90%8D%E7%BA%A6%E5%AE%9A%E7%9A%84%E5%BF%AB%E9%80%9F%E6%8C%87%E5%8D%97-%E7%AC%AC-1-%E9%83%A8%E5%88%86" target="_blank"> 1 </a> 1  3 </p><h1 class="blog-sub-title"></h1><p> DBA id_id Sakila </p><img alt="actor_id_column (50K)" src="https://www.navicat.com/link/Blog/Image/2023/20230331/CN/actor_id_column.jpg" height="189" width="661" /><p>pk_pk_&lt;table_name&gt;</p><h1 class="blog-sub-title"></h1><p>_id customer_idemployee_id</p><p> city  country  country_id </p><img alt="country_id_foreign_key (50K)" src="https://www.navicat.com/link/Blog/Image/2023/20230331/CN/country_id_foreign_key.jpg" height="193" width="661" /><p>fk_fk_&lt;target_table&gt;_&lt;source_table&gt;</p><p>city fk_city_country</p><img alt="fk_city_country_foreign_key (36K)" src="https://www.navicat.com/link/Blog/Image/2023/20230331/CN/fk_city_country_foreign_key.jpg" height="131" width="691" /><h1 class="blog-sub-title"></h1><p> 1 </p><blockquote> employeecustomercitycountry </blockquote><p> country_namecountry_codecustomer_name customer_namecity_name  order_customer_name  city_of_residence_name</p><h1 class="blog-sub-title"></h1><p> start_date  end_date  call_start_date  call_end_date </p><h1 class="blog-sub-title"> SQL </h1><p>_customer_name  invoice_date customerName  invoiceDate SQL  <code>SELECT customer_name, invoice_date FROM orders;</code></p></body></html>]]></description>
</item>
<item>
<title>在 Navicat Monitor 3 中查看 PostgreSQL 实例详细信息</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> Navicat Monitor 3  PostgreSQL </title></head><body><b>2023  3  23 </b> Robert Gravelle <br/><br/><p>Navicat Monitor 3  PostgreSQL PostgreSQL  SQL <a class="default-links" href="/company/aboutus/blog/540--navicat-monitor-3-0--postgresql.html" target="_blank"> Navicat Monitor 3.0  PostgreSQL</a></p><h1 class="blog-sub-title"></h1><p></p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li> 5 </li><li> 5 </li><li>CPU</li><li></li></ul><img alt="instance_details_page (111K)" src="/link/Blog/Image/2023/20230323/instance_details_page.jpg" height="726" width="1238" /><h3></h3><p></p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;"><li></li><li></li><li></li></ul><p></p>  <h4><b></b></h4><p></p>  <h4><b></b></h4><p></p><img alt="top_5_databases_and_tables_section (39K)" src="/link/Blog/Image/2023/20230323/top_5_databases_and_tables_section.jpg" height="235" width="973" />  <h4><b></b></h4><p>Navicat Monitor </p><p>X </p><img alt="time_interval_and_refresh_options (17K)" src="/link/Blog/Image/2023/20230323/time_interval_and_refresh_options.jpg" height="220" width="442" /><p></p><img alt="overviewInstanceChart (15K)" src="/link/Blog/Image/2023/20230323/overviewInstanceChart.png" height="154" width="294" /><p></p><h1 class="blog-sub-title"></h1><p></p><img alt="pause_and_resume_monitoring_buttons (13K)" src="/link/Blog/Image/2023/20230323/pause_and_resume_monitoring_buttons.jpg" height="130" width="518" /><p>Navicat Monitor []</p><img alt="paused_instance (17K)" src="/link/Blog/Image/2023/20230323/paused_instance.jpg" height="238" width="256" /><h1 class="blog-sub-title"> Navicat Monitor 3  PostgreSQL </h1><p> <a class="default-links" href="/discover-navicat-monitor" target="_blank">Navicat Monitor 3</a> </p></body></html>]]></description>
</item>
<item>
<title>使用 Navicat Monitor 3 跟踪 PostgreSQL 实例查询</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> Navicat Monitor 3  PostgreSQL </title></head><body><b>2023  3  16 </b> Robert Gravelle <br/><br/><p>Navicat Monitor 3  SQL </p><h1 class="blog-sub-title"></h1><p> SQL  PostgreSQLSQL </p><p></p><h1 class="blog-sub-title"></h1><p> SQL <img alt="icon_addTrace (4K)" src="/link/Blog/Image/2023/20230316/icon_addTrace.png"  style="max-width:100%;" />+ </p> <figure>  <figcaption></figcaption>  <img alt="new_trace_icon_on_long_running_queries_page (40K)" src="/link/Blog/Image/2023/20230316/new_trace_icon_on_long_running_queries_page.jpg"  style="max-width:100%;" /></figure> <p> SQL + </p><img alt="selected_postgreSQL_instance (19K)" src="/link/Blog/Image/2023/20230316/selected_postgreSQL_instance.jpg"  style="max-width:100%;" /><p><img alt="icon_addTrace (4K)" src="/link/Blog/Image/2023/20230316/icon_addTrace.png"  style="max-width:100%;" />+  Navicat Monitor </p><p></p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li></li><li></li><li></li><li> QueryID </li><li>SQL </li><li></li><li></li></ul><p></p><img alt="new_trace_dialog (56K)" src="/link/Blog/Image/2023/20230316/new_trace_dialog.jpg"  style="max-width:100%;" /><p></p><h1 class="blog-sub-title"></h1><p></p><img alt="trace_results (179K)" src="/link/Blog/Image/2023/20230316/trace_results.jpg"  style="max-width:100%;" /><p> 3 </p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;"><li></li><li></li><li></li></ul><h1 class="blog-sub-title"> Navicat Monitor 3  PostgreSQL </h1><p> Navicat Monitor 3  PostgreSQL</p></body></html>]]></description>
</item>
<item>
<title>使用 Navicat Monitor 3.0 监控 PostgreSQL</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> Navicat Monitor 3.0  PostgreSQL</title></head><body><b>2023  3  10 </b> Robert Gravelle <br/><br/><p>Navicat Monitor  3 2  3  PostgreSQL  PostgreSQL  SQL </p><p> Navicat Monitor 3.0  PostgreSQL </p><h1 class="blog-sub-title"> PostgreSQL </h1><p> PostgreSQL + </p><img alt="new_instance_button (34K)" src="/link/Blog/Image/2023/20230310/new_instance_button.jpg" height="259" width="454" /><p> PostgreSQL  PostgreSQL </p><img alt="new_postgresql_instance_dialog (68K)" src="/link/Blog/Image/2023/20230310/new_postgresql_instance_dialog.jpg" height="833" width="664" /><p>Navicat Monitor  SSH </p><p>PostgreSQL </p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li> IP </li><li> TCP/IP </li><li></li><li></li><li> Unix  Windows</li></ul><p>Navicat Monitor  CPU </p><p></p><h1 class="blog-sub-title"></h1><p> PostgreSQL > </p><img alt="activate_tokens_button (122K)" src="/link/Blog/Image/2023/20230310/activate_tokens_button.jpg" height="984" width="1280" /><p>PostgreSQL Test DB 1</p><img alt="activated_pstgresql_instance (35K)" src="/link/Blog/Image/2023/20230310/activated_pstgresql_instance.jpg" height="293" width="754" /><p> I/O</p><h1 class="blog-sub-title"></h1><p> SQL </p><img alt="query_analyzer (170K)" src="/link/Blog/Image/2023/20230310/query_analyzer.jpg" height="977" width="1066" /><p></p><h1 class="blog-sub-title"> Navicat Monitor 3.0  PostgreSQL </h1><p> Navicat Monitor 3.0 PostgreSQL </p><p>Navicat Monitor 3.0  WindowsmacOS Homebrew Linux<a class="default-links" href="/download/navicat-monitor" target="_blank"> Navicat Monitor 3.0 14 </a></p></body></html>]]></description>
</item>
<item>
<title>Navicat Monitor 3.0 现已推出！</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title>Navicat Monitor 3.0 </title></head><body><b>2023  3  3 </b> Robert Gravelle <br/><br/><p><a class="default-links" href="/company/press/351-navicat-monitor--2-.html" target="_blank">Navicat Monitor 2.0 </a>3.0 </p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li> PostgreSQL </li><li> PostgreSQL  SQL </li><li></li><li></li><li></li></ul><p>Navicat Monitor </p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li></li><li></li><li></li><li></li><li></li><li> SNMP </li><li></li><li></li><li></li></ul><p> Navicat Monitor 3.0</p><h1 class="blog-sub-title"> Navicat Monitor</h1><p>Navicat Monitor  Navicat Monitor I/O</p><p>Navicat Monitor </p><h1 class="blog-sub-title"> PostgreSQL </h1><p> 2  SQL Server  3  PostgreSQL </p><img alt="new_instance_menu (25K)" src="/link/Blog/Image/2023/20230303/new_instance_menu.jpg" height="379" width="358" /><p> PostgreSQL  PostgreSQL  PostgreSQL </p><img alt="new_postgresql_instance_dialog (68K)" src="/link/Blog/Image/2023/20230303/new_postgresql_instance_dialog.jpg" height="833" width="664" /><p> SQL  PostgreSQL </p><img alt="postgresql_trace (167K)" src="/link/Blog/Image/2023/20230303/postgresql_trace.jpg" height="783" width="1185" /><h1 class="blog-sub-title"></h1><p> SQL  3 </p><img alt="query_analyzer (129K)" src="/link/Blog/Image/2023/20230303/query_analyzer.jpg" height="894" width="965" /><p></p><img alt="long_running_queries (83K)" src="/link/Blog/Image/2023/20230303/long_running_queries.jpg" height="608" width="982" /><p> PDF </p><h1 class="blog-sub-title"> Navicat Monitor 3.0 </h1><p> Navicat Monitor 3.0  PostgreSQL </p><p>Navicat Monitor 3.0  WindowsmacOS Homebrew Linux<a class="default-links" href="/download/navicat-monitor" target="_blank"> Navicat Monitor 3.0 14 </a></p></body></html>]]></description>
</item>
<item>
<title>SQL 中命名约定的快速指南 - 第 1 部分</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title>SQL  -  1 </title></head><body><b>2023  2  15 </b> Robert Gravelle <br/><br/><h1 class="blog-sub-title"></h1><p> 1  2  3 </p><h1 class="blog-sub-title"></h1><p>DB</p><p></p><h1 class="blog-sub-title"></h1><p> MySQL classicmodels  sakila </p><img alt="classicmodels_and_sakila_table_names (62K)" src="/link/Blog/Image/2023/20230215/classicmodels_and_sakila_table_names.jpg" height="801" width="316" /><p> DBA  usersrolesusers_have_rolesuser_has_role</p><h1 class="blog-sub-title"></h1><p> employeecustomercitycountry </p><p> classicmodels ordersorder_details</p><figure>  <figcaption>orders </figcaption>  <img alt="orders_table (250K)" src="/link/Blog/Image/2023/20230215/orders_table.jpg" height="558" width="694" /></figure><figure>  <figcaption>order_details </figcaption>  <img alt="order_details_table (250K)" src="/link/Blog/Image/2023/20230215/order_details_table.jpg" height="561" width="498" /></figure><p>order_detailsproduct_details</p><h1 class="blog-sub-title"></h1><p>user_has_roleuser_roleSakila film_actorfilm_category</p><img alt="sakila_model (141K)" src="/link/Blog/Image/2023/20230215/sakila_model.jpg" height="602" width="755" /><h1 class="blog-sub-title"> SQL </h1><p> product  invoice invoice_iteminvoice_productinvoice_contains_product</p></body></html>]]></description>
</item>
<item>
<title>使用 Navicat 和 ChatGPT 强化你的查询</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> Navicat  ChatGPT </title></head><body><b>2023  2  9 </b> Robert Gravelle <br/><br/><p>AI OpenAI  <a class="default-links" href="https://chatgptonline.net/" target="_blank">ChatGPT</a> ChatGPT  DBMS  ChatGPT  Navicat </p><h1 class="blog-sub-title"></h1><p>ChatGPT ChatGPT  <a class="default-links" href="https://blog.ouseful.info/" target="_blank">OUseful.Info </a>racerresults ChatGPT </p><pre>Treat the following as a tab separated dataset. Using just the first, third and fourth columns, treat the data as if it were a relational SQL database table called "racerresults" with columns "Race", "Driver" and "Team", and the "Race" column as a primary key column. Display a SQL statement that could create the corresponding table and populate it with the data.Bahrain20 Mar 2022Charles LeclercFERRARI571:37:33.584Saudi Arabia27 Mar 2022Max VerstappenRED BULL RACING RBPT501:24:19.293Australia10 Apr 2022Charles LeclercFERRARI581:27:46.548Emilia Romagna24 Apr 2022Max VerstappenRED BULL RACING RBPT631:32:07.986Miami08 May 2022Max VerstappenRED BULL RACING RBPT571:34:24.258Spain22 May 2022Max VerstappenRED BULL RACING RBPT661:37:20.475Monaco29 May 2022Sergio PerezRED BULL RACING RBPT641:56:30.265erc...</pre><p>ChatGPT  CREATE TABLE  INSERT </p><img alt="raceresults_create_and_insert_statements (122K)" src="/link/Blog/Image/2023/20230209/raceresults_create_and_insert_statements.jpg" style="max-width:100%;" /><p></p><h1 class="blog-sub-title"> ChatGPT </h1><p>ChatGPT  Navicat  SQL Navicat  macOS </p><img alt="queryBuilder (136K)" src="/link/Blog/Image/2023/20230209/queryBuilder.png" style="max-width:100%;" /><p> ChatGPT SQL </p><img alt="historical_figures (56K)" src="/link/Blog/Image/2023/20230209/historical_figures.jpg" style="max-width:100%;" /><p> ChatGPT  ChatGPT  SQL </p><img alt="oldest_historical_figure_query (166K)" src="/link/Blog/Image/2023/20230209/oldest_historical_figure_query.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p>ChatGPT </p><img alt="historical_figures_with_emojis (131K)" src="/link/Blog/Image/2023/20230209/historical_figures_with_emojis.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"> Navicat  ChatGPT </h1><p> ChatGPT ChatGPT  ChatGPT</p></body></html>]]></description>
</item>
<item>
<title>相关子查询</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title></title></head><body><b>2023  2  2 </b> Robert Gravelle <br/><br/><p></p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;"><li></li><li></li></ul><p></p><p> <a class="default-links" href="/download/navicat-premium" target="_blank">Navicat Premium 16</a> </p><h1 class="blog-sub-title"></h1><p> SELECTUPDATE  DELETE  SELECT </p><pre>SELECT column1, column2, ....FROM table1 outerWHERE column1 operator  (SELECT column1, column2   FROM table2   WHERE expr1 = outer.expr2);</pre>                               <p></p><h1 class="blog-sub-title"></h1><p> stackoverflow  <a class="default-links" href="https://dev.mysql.com/doc/sakila/en/sakila-structure.html" target="_blank">Sakila </a></p><p> SELECT </p><pre>SELECT   F.title AS title,   CO.country_id AS country_id,  CO.country AS country_name,   count(F.film_id) as timesFROM customer C INNER JOIN address A ON C.address_id = A.address_idINNER JOIN city CI ON A.city_id = CI.city_idINNER JOIN country CO ON CI.country_id = CO.country_idINNER JOIN rental R ON C.customer_id = R.customer_idINNER JOIN inventory I ON R.inventory_id = I.inventory_idINNER JOIN film F ON I.film_id = F.film_idGROUP BY F.film_id, CO.country_id;</pre><p> <a class="default-links" href="/download/navicat-premium" target="_blank">Navicat Premium 16</a> </p><img alt="most viewed film per country inner query (170K)" src="/link/Blog/Image/2023/20230202/most_viewed_film_per_country_inner_query.jpg" height="823" width="579" /><p></p><img alt="most viewed film per country correlated query (159K)" src="/link/Blog/Image/2023/20230202/most_viewed_film_per_country_correlated_query.jpg" height="829" width="555" /><p></p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li></li><li>GROUP_CONCAT(title ORDER BY times DESC SEPARATOR '|||') </li><li>SUBSTRING_INDEX('...', '|||', 1) |||</li></ul><h1 class="blog-sub-title"></h1><p> <a class="default-links" href="/download/navicat-premium" target="_blank">Navicat Premium 16</a> </p></body></html>]]></description>
</item>
<item>
<title>如何在 SQL 中执行搜索和替换</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> SQL </title></head><body><b>2023  1  18 </b> Robert Gravelle <br/><br/><p>DBA SQL REPLACE() </p><h1 class="blog-sub-title"></h1><p> classicmodels  products </p><img alt="products_table (114K)" src="link/Blog/Image/2023/20230118/products_table.jpg" style="max-width:100%;" /><p> Chef Anton "" 4 </p><ol><li> LIKE  Chef Anton </li><li></li><li></li><li> SELECT  UPDATE</li></ol><p></p><h3> Chef Anton Products </h3><p> LIKE  Chef Anton Chef Anton's '% <a href="/download/navicat-premium">Navicat Premium 16</a></p><img alt="like_query (49K)" src="link/Blog/Image/2023/20230118/like_query.jpg" style="max-width:100%;" /><h3></h3><p> LEN() Chef Anton's RIGHT() </p><img alt="select_right_query (55K)" src="link/Blog/Image/2023/20230118/select_right_query.jpg" style="max-width:100%;" /><h3></h3><p> SELECT  REPLACE() </p><img alt="replace_query (68K)" src="link/Blog/Image/2023/20230118/replace_query.jpg" style="max-width:100%;" /><p> CONCAT() </p><pre>SELECT CONCAT(         LEFT(ProductName, LENGTH('Chef Anton\'s ')),  '"', RIGHT(ProductName, LENGTH(ProductName)-LENGTH('Chef Anton\'s ')),  '"'       ) AS product_name FROM products WHERE ProductName LIKE 'Chef Anton\'s %'; </pre><h3> SELECT  UPDATE</h3><p> SELECT  UPDATE SELECT  UPDATE  UPDATE </p><img alt="update_query (60K)" src="link/Blog/Image/2023/20230118/update_query.jpg" style="max-width:100%;" /><p> products </p><img alt="updated_products_table (39K)" src="link/Blog/Image/2023/20230118/updated_products_table.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"> SQL </h1><p> SELECT </p></body></html>]]></description>
</item>
<item>
<title>在 Navicat 16 中创建自定义代码段</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> Navicat 16 </title></head><body><b>2023  1  9 </b>Robert Gravelle <br/><br/><p> 12  Essentials Navicat  16 Navicat  Navicat  SQL  SQL  2018  3  14 <a class="default-links" href="/company/aboutus/blog/315--navicat-" target="_blank"> Navicat </a></p><h1 class="blog-sub-title"></h1><p></p><img alt="new_code_snippet_button (49K)" src="/link/Blog/Image/2023/20230109/new_code_snippet_button.jpg" style="max-width:100%;" /><p> Windows </p><img alt="create_snippet_in_context_menu (93K)" src="/link/Blog/Image/2023/20230109/create_snippet_in_context_menu.jpg" style="max-width:100%;" /><p></p><img alt="new_snippet_dialog (36K)" src="/link/Blog/Image/2023/20230109/new_snippet_dialog.jpg" style="max-width:100%;" /><p>DLL</p><p></p><p></p><img alt="new_snippet_dialog_filled_in (45K)" src="/link/Blog/Image/2023/20230109/new_snippet_dialog_filled_in.jpg" style="max-width:100%;" /><p></p><img alt="new_code_snippet_in_code_snippet_pane (56K)" src="/link/Blog/Image/2023/20230109/new_code_snippet_in_code_snippet_pane.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p> TAB  Count() </p><img alt="placeholder_example (4K)" src="/link/Blog/Image/2023/20230109/1.jpg" style="max-width:100%;" />  <p><i></i></p><img alt="placeholder_button (24K)" src="/link/Blog/Image/2023/20230109/2.jpg" style="max-width:100%;" /><p></p><img alt="code_snippet with placeholder (20K)" src="/link/Blog/Image/2023/20230109/code_snippet_with_placeholder.jpg" style="max-width:100%;" /><p><i></i></p><h1 class="blog-sub-title"></h1><p> Navicat 16  Essentials</p></body></html>]]></description>
</item>
<item>
<title>使用 SQL 别名简化查询并自定义结果</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> SQL </title></head><body><b>2022  12  20 </b> Robert Gravelle <br/><br/><p> SQL / <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium 16</a> </p><h1 class="blog-sub-title"></h1><p></p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li>emp_no Employee Number</li><li>qty quantity</li></ul><p></p><p></p><pre>column_name [AS] alias_name</pre><p>AS </p><p></p><pre>column_name AS 'Alias Name'</pre><p></p><img alt="column_aliases (131K)" src="/link/Blog/Image/2022/20221219/column_aliases.jpg" style="max-width:100%;" /><h3></h3><p></p><img alt="query_with_expression (110K)" src="/link/Blog/Image/2022/20221219/query_with_expression.jpg" style="max-width:100%;" /><p></p><img alt="expression_alias (111K)" src="/link/Blog/Image/2022/20221219/expression_alias.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p></p><p></p><pre>SELECT column1, column2....FROM table_name [AS] alias_nameWHERE [condition];</pre><p> SELECT  actor_id  actors  film_actor </p><img alt="qualified_columns (48K)" src="/link/Blog/Image/2022/20221219/qualified_columns.jpg" style="max-width:100%;" /><p></p><img alt="table_aliases (44K)" src="/link/Blog/Image/2022/20221219/table_aliases.jpg" style="max-width:100%;" /><p></p><p> Navicat </p><img alt="autocomplete (49K)" src="/link/Blog/Image/2022/20221219/autocomplete.jpg" style="max-width:100%;" /><p></p><h1 class="blog-sub-title"></h1><p> <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium 16</a> </p><p> Navicat Premium 16 <a class="default-links" href="/download/navicat-premium" target="_blank"></a>14 </p></body></html>]]></description>
</item>
<item>
<title>Navicat 16 和表空间 - 第 3 部分</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title>Navicat 16  -  3 </title></head><body><b>2022  12  13 </b> Robert Gravelle <br/><br/><h1 class="blog-sub-title"></h1><p>Navicat 16  3  <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium 16</a>  MySQL <a class="default-links" href="/company/aboutus/blog/524-navicat-16---1-.html" target="_blank"> 1 </a> </p><h1 class="blog-sub-title"></h1><p> Navicat  SQL -></p><img alt="tablespace_command (12K)" src="/link/Blog/Image/2022/20221213/tablespace_command.jpg" style="max-width:100%;" /><p></p><img alt="new_tablespace_command (18K)" src="/link/Blog/Image/2022/20221213/new_tablespace_command.jpg" style="max-width:100%;" /><p> MySQL</p><ul><li>MySQL 5.7 InnoDB MySQL NDB Cluster 7.5  NDB </li><li>.ibd</li><li>MySQL  1024  1 MB </li><li>MySQL  1024  1 MB  KMGTP  E </li></ul><p>SQL  SQL </p><img alt="new_tablespace_sql_preview_tab (18K)" src="/link/Blog/Image/2022/20221213/new_tablespace_sql_preview_tab.jpg" style="max-width:100%;" /><p>Navicat  CREATE TABLESPACE </p><img alt="new_tablespace_general_tab (31K)" src="/link/Blog/Image/2022/20221213/new_tablespace_general_tab.jpg" style="max-width:100%;" /><p>Navicat </p><img alt="tablespace_name_dialog (12K)" src="/link/Blog/Image/2022/20221213/tablespace_name_dialog.jpg" style="max-width:100%;" /><p>classicmodels</p><img alt="classicmodels_tablespace_in_objects_list (21K)" src="/link/Blog/Image/2022/20221213/classicmodels_tablespace_in_objects_list.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p> MySQL</p><img alt="design_tablespace_general_tab (18K)" src="/link/Blog/Image/2022/20221213/design_tablespace_general_tab.jpg" style="max-width:100%;" /><p></p><h1 class="blog-sub-title"></h1><p></p><img alt="delete_tablespace_confirm_dialog (39K)" src="/link/Blog/Image/2022/20221213/delete_tablespace_confirm_dialog.jpg" style="max-width:100%;" /><p></p><h1 class="blog-sub-title">Navicat 16 </h1><p> <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium 16</a> </p></body></html>]]></description>
</item>
<item>
<title>Navicat 16 和表空间 - 第 2 部分</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title>Navicat 16  -  2 </title></head><body><b>2022  12  6 </b> Robert Gravelle <br/><br/><h1 class="blog-sub-title"></h1><p><i>"What is it? It's it" - Epic, Faith No More</i></p><p> Navicat 16  1  Navicat 16 </p><h1 class="blog-sub-title"></h1><p></p><img width="512" alt="DB2 Tablespace RAM and Disk" src="/link/Blog/Image/2022/20221206/DB2_Tablespace_RAM_and_Disk.jpg" style="max-width:100%;"><h1 class="blog-sub-title"></h1><p></p><p></p><img width="512" alt="Oracle Table in a Tablespace" src="/link/Blog/Image/2022/20221206/512px-Oracle_Table_in_a_Tablespace.jpg" style="max-width:100%;"><h1 class="blog-sub-title"></h1><p></p><h3>Oracle</h3><p>Oracle SYSTEMSYSAUXUSERSUNDOTBS1  TEMP</p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li>SYSTEM SYSAUX </li><li>USERS </li><li>UNDOTBS1 </li><li>TEMP </li></ul><h3>MySQL</h3><p> InnoDB </p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li></li><li>File-Per-Table </li><li>Undo </li></ul><h3>DB2</h3><p></p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li>Catalog </li><li>User </li><li>Temporary </li></ul><h1 class="blog-sub-title"></h1><p> Navicat 16 </p></body></html>]]></description>
</item>
<item>
<title>Navicat 16 和表空间 - 第 1 部分</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title>Navicat 16  -  1 </title></head><body><b>2022  11  25 </b> Robert Gravelle <br/><br/><h1 class="blog-sub-title"></h1><p> Navicat 16  Navicat 16 </p><h1 class="blog-sub-title"></h1><p></p><h3></h3><p>/</p><h3></h3><p> CREATE TABLESPACE </p><pre>CREATE TABLESPACE tbs1    DATAFILE 'tbs1_data.dbf'    SIZE 1m;</pre><h3></h3><p> DB2</p><h3></h3><p> CREATE  ALTER TABLESPACE </p><h1 class="blog-sub-title"></h1><p>Navicat 16  Navicat 16 </p></body></html>]]></description>
</item>
<item>
<title>一条语句更新多个表</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title></title></head><body><b>2022  11  17 </b> Robert Gravelle <br/><br/><p>SQL UPDATE </p>    <pre>UPDATE table1, table2, ...    SET column1 = value1,        column2 = value2,        ...[WHERE conditions]</pre><p> join </p><p> UPDATE  MySQL 8  <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium 16</a> </p><h1 class="blog-sub-title"></h1><p></p><ul><li> UPDATE </li><li> ORDER BY LIMIT </li></ul><p> UPDATE </p><h1 class="blog-sub-title"></h1><p> UPDATE librarybook UPDATE </p><p></p><h3>library </h3><p><img alt="library_table_definition (32K)" src="/link/Blog/Image/2022/20221117/library_table_definition.jpg" style="max-width:100%;" /></p><p><img alt="library_table_contents (18K)" src="/link/Blog/Image/2022/20221117/library_table_contents.jpg" style="max-width:100%;" /></p><h3>book </h3><p><img alt="book_table_definition (38K)" src="/link/Blog/Image/2022/20221117/book_table_definition.jpg" style="max-width:100%;" /></p><p><img alt="book_table_contents (17K)" src="/link/Blog/Image/2022/20221117/book_table_contents.jpg" style="max-width:100%;" /></p><p></p><pre>UPDATE library l, book b    SET l.book_count = l.book_count - 2,        b.book_count = b.book_count + 2WHERE l.id = b.book_idAND b.id = '1AG';</pre><p><i>l.id = b.book_id</i> <i>b.id = '1AG'</i>  '1AG' </p><p></p><p>UPDATE SET  UPDATE  Navicat </p><img alt="update_result (44K)" src="/link/Blog/Image/2022/20221117/update_result.jpg" style="max-width:100%;" /><p> '1AG'  103 </p><img alt="updated_table_contents (27K)" src="/link/Blog/Image/2022/20221117/updated_table_contents.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p> UPDATE  MySQL 8  <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium 16</a>  UPDATE </p></body></html>]]></description>
</item>
<item>
<title>在子查询和联接之间选择</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title></title></head><body><b>2022  11  11 </b> Robert Gravelle <br/><br/><p><a class="default-links" href="/company/aboutus/blog/company/aboutus/blog/396-" target="_blank"></a></p><h1 class="blog-sub-title"></h1><p> <a class="default-links" href="https://dev.mysql.com/doc/sakila/en/" target="_blank">MySQL Sakila </a> SELECT  SELECT </p><pre>SELECT    co.Country,    COUNT(DISTINCT ci.city_id) AS city_cnt,    COUNT(a.city_id)           AS address_cntFROM country coINNER JOIN city ci    ON co.country_id = ci.country_idINNER JOIN address a    ON ci.city_id = a.city_idGROUP BY    co.country_id;SELECT     Co.Country,    (Select COUNT(1)  FROM City Ci  WHERE Ci.country_id=co.country_id) AS city_cnt,    (Select COUNT(1)  FROM Address A    INNER JOIN city c on a.city_id=c.city_id  WHERE C.country_id=co.country_id) AS address_cntFrom Country Co;</pre><p> <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat</a> SQL <i> 2</i> <i> 1</i> </p><img alt="country, cities, and addresses (142K)" src="/link/Blog/Image/2022/20221111/country,_cities,_and_addresses.jpg" height="827" width="695" /><h1 class="blog-sub-title"></h1><p></p><p><i></i><i></i><i></i> 0.020</p><img alt="join query elapsed time (138K)" src="/link/Blog/Image/2022/20221111/join_query_elapsed_time.jpg" height="875" width="695" /><p><i></i> <i>0.021</i> </p><img alt="subquery elapsed time (123K)" src="/link/Blog/Image/2022/20221111/subquery_elapsed_time.jpg" height="848" width="694" /><h1 class="blog-sub-title"></h1><p> Navicat <i></i> </p><p><i> 1</i>  3  SIMPLE </p><img alt="explain1 (99K)" src="/link/Blog/Image/2022/20221111/explain1.jpg" height="535" width="674" /><p><i> 2</i>  PRIMARY  DEPENDENT SUBQUERY</p><img alt="explain2 (42K)" src="/link/Blog/Image/2022/20221111/explain2.jpg" height="135" width="680" /><h1 class="blog-sub-title"></h1><p><a class="default-links" href="/company/aboutus/blog/company/aboutus/blog/396-" target="_blank"></a></p></body></html>]]></description>
</item>
<item>
<title>在关系数据库中允许空值的一些缺点</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title></title></head><body><b>2022  11  7 </b> Robert Gravelle <br/><br/><p> 2020 <a class="default-links" href="/company/aboutus/blog/361--null-" target="_blank"> NULL </a>NULL  NULL </p><p> NULL  NULL</p><h1 class="blog-sub-title"></h1><p> NULL  NULL NULL </p><h1 class="blog-sub-title"></h1><p></p><h1 class="blog-sub-title"> SQL</h1><p> NULL  NULL  SQL </p><p> <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium 16</a> NULL</p><img alt="edit_menu (46K)" src="/link/Blog/Image/2022/20221107/edit_menu.jpg" style="max-width:100%;" /><p> Navicat  NULL</p><p> name </p><img alt="null_query (64K)" src="/link/Blog/Image/2022/20221107/null_query.jpg" style="max-width:100%;" /> <p> 5  4578  10  combo_count  5 NULL  length()  NULL</p><p> NULL  NULL </p><h1 class="blog-sub-title"></h1><p> NULL  DBA  NULL </p></body></html>]]></description>
</item>
<item>
<title>如何在 Navicat 16 中仅备份数据库结构</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> Navicat 16 </title></head><body><b>2022  10  28 </b> Robert Gravelle <br/><br/><p>DBA</p><p> MySQL mysqldump <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat </a> </p><h1 class="blog-sub-title"></h1><p>Navicat  SQL  Navicat Premium   MySQL  SQL Server MongoDB  NoSQL </p><p><i> > </i></p><img alt="data_transfer_menu_command (41K)" src="/link/Blog/Image/2022/20221028/data_transfer_menu_command.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p>/ SQL </p><p> SQL </p><img alt="Source and Target Screen (80K)" src="/link/Blog/Image/2022/20221028/Source_and_Target_Screen.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p></p><p><i></i></p><img alt="Options Screen (73K)" src="/link/Blog/Image/2022/20221028/Options_Screen.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p>/</p><img alt="Database Objects Screen (80K)" src="/link/Blog/Image/2022/20221028/Database_Objects_Screen.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p></p><p></p><img alt="Summary Screen (58K)" src="/link/Blog/Image/2022/20221028/Summary_Screen.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p></p><img alt="Progress Screen (115K)" src="/link/Blog/Image/2022/20221028/Progress_Screen.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p> MySQL mysqldump <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat </a>  SQL </p></body></html>]]></description>
</item>
<item>
<title>在 MySQL 中模拟外部联接</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> MySQL </title></head><body><b>2022  10  24 </b> Robert Gravelle <br/><br/><p> SELECT  JOIN DB MySQL JOIN  LEFTINNER  RIGHT  LEFT  RIGHT  INNER JOIN  OUTER JOIN</p><h1 class="blog-sub-title">LEFT </h1><p>LEFT JOIN  NULL</p><pre>SELECT    select_listFROM    T1LEFT JOIN T2 ON    join_predicate;</pre>    <p> VEN  LEFT JOIN  T1  T2 </p>    <img alt="left_join_diagram (31K)" src="/link/Blog/Image/2022/20221024/left_join_diagram.jpg" style="max-width:100%;" /><p></p><h1 class="blog-sub-title">RIGHT </h1><p>RIGHT JOIN   NULL</p><pre>SELECT     select_listFROM     T1RIGHT JOIN T2 ON join_predicate;</pre><p> VEN  RIGHT JOIN  T1  T2 </p><img alt="right_join_diagram (18K)" src="/link/Blog/Image/2022/20221024/right_join_diagram.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"> OUTER JOIN</h1><p> MySQL  FULL OUTER JOIN UNION ALL  LEFT JOININNER JOIN  RIGHT JOIN  <i>join_column IS NULL</i> LEFT  RIGHT </p><p> SQL  MySQL </p><h3></h3><p> LEFT  WHERE  NULL</p><img alt="pm_Left_join_query (37K)" src="/link/Blog/Image/2022/20221024/pm_Left_join_query.jpg" style="max-width:100%;" /><h3></h3><p> RIGHT  WHERE </p><img alt="pm_Right_join_query (40K)" src="/link/Blog/Image/2022/20221024/pm_Right_join_query.jpg" style="max-width:100%;" /><h3></h3><p>INNERJOIN</p><img alt="pm_Inner_join_query (45K)" src="/link/Blog/Image/2022/20221024/pm_Inner_join_query.jpg" style="max-width:100%;" /><p> UNION ALL  OUTER JOIN </p><img alt="pm_query (140K)" src="/link/Blog/Image/2022/20221024/pm_query.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p> LEFT  RIGHT  INNER JOIN  OUTER JOIN ORDER BY / LIMIT filesort</p></body></html>]]></description>
</item>
<item>
<title>了解 SQL 外部联接</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> SQL </title></head><body><b>2022  10  11 </b> Robert Gravelle <br/><br/><p>Outer Join SQL </p><p> Outer Join </p><h1 class="blog-sub-title">OUTER JOIN </h1><p> A BOUTER JOIN FULL OUTER JOIN VEN  OUTER JOIN </p><img alt="outer_join_diagram (12K)" src="/link/Blog/Image/2022/20221010/outer_join_diagram.jpg" style="max-width:100%;" /><p>FULL OUTER JOIN Clave</p><p></p><h1 class="blog-sub-title">OUTER JOIN </h1><p> <a class="default-links" href="http://downloads.alphasoftware.com/a5v12Download/northwindmysql.zip" target="_blank">Northwind </a></p><p> SQL </p><pre>SELECT Customers.CustomerName, Orders.OrderIDFROM CustomersFULL OUTER JOIN Orders ON Customers.CustomerID=Orders.CustomerIDORDER BY Customers.CustomerName;</pre><p> OUTER JOIN  Null <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium 16</a></p><img alt="outer_join_query1 (74K)" src="/link/Blog/Image/2022/20221010/outer_join_query1.jpg" style="max-width:100%;" /><p> Null ContactName  Null </p><p> SQL </p><pre>SELECT     m.name member,     p.title projectFROM     pm.members m    FULL OUTER JOIN pm.projects p         ON p.id = m.project_id;</pre>        <p> Null  Null </p><img alt="outer_join_query2 (30K)" src="/link/Blog/Image/2022/20221010/outer_join_query2.jpg" style="max-width:100%;" /><p> Jack Daniel </p><h1 class="blog-sub-title"></h1><p> WHERE</p></body></html>]]></description>
</item>
<item>
<title>在数据库中存储枚举</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title></title></head><body><b>2022  10  5 </b> Robert Gravelle <br/><br/><p> IT ENUM</p><p></p><h1 class="blog-sub-title"></h1><p> Java </p><pre>public enum Day {    SUNDAY, MONDAY, TUESDAY, WEDNESDAY,    THURSDAY, FRIDAY, SATURDAY }</pre><p> URL  Java</p><pre>public enum Environment {    PROD("https://prod.domain.com:1088/"),     SIT("https://sit.domain.com:2019/"),     CIT("https://cit.domain.com:8080/"),     DEV("https://dev.domain.com:21323/");     private String url;     Environment(String envUrl) {        this.url = envUrl;    }     public String getUrl() {        return url;    }}</pre><p></p><pre>public enum Suit {   Spade,   Heart,   Diamond,   Club }</pre><p></p><pre>Name          Suit------------  ----John Smith    2Ian Boyd      1Name          Suit------------  -------John Smith    DiamondIan Boyd      Heart</pre><p></p><p></p><p> <i>Unknown</i> Suit </p>public enum Suit {   Unknown = 4,  Heart = 1,  Club = 3,  Diamond = 2,  Spade = 0 }      <p></p><h1 class="blog-sub-title"></h1><p> MySQL  SQL Server ENUM ENUM </p><p> <a class="default-links" href="/products/navicat-for-mysql" target="_blank">Navicat for MySQL</a>  MySQL  SELECT </p><img alt="mysql_enum (57K)" src="/link/Blog/Image/2022/20221005/mysql_enum.jpg" style="max-width:100%;" /><p> ENUM </p><img alt="mysql_enum_error (52K)" src="/link/Blog/Image/2022/20221005/mysql_enum_error.jpg" style="max-width:100%;" /><p></p><h1 class="blog-sub-title"></h1><p></p><p> <a class="default-links" href="/products/navicat-for-mysql" target="_blank">Navicat for MySQL</a> 14 </p></body></html>]]></description>
</item>
<item>
<title>选择主键 - 第 3 部分</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> -  3 </title></head><body><b>2022  9  14 </b> Robert Gravelle <br/><br/><h1 class="blog-sub-title"></h1><p>PK<a class="default-links" href="/company/aboutus/blog/511---1-.html" target="_blank"> 1 </a><a class="default-links" href="/company/aboutus/blog/512---2-.html" target="_blank"> 2 </a></p><h1 class="blog-sub-title"></h1><p></p><p> ISO  VIN  ID </p><h1 class="blog-sub-title"> GUID </h1><p> GUIDGUID Globally Unique IDentifier 16 </p><p> GUID  SQL Server NEWID() </p><pre>SELECT NEWID()</pre><p> UNIQUEIDENTIFIER  default  NEWID() </p><pre>USE EngDBGO CREATE TABLE EnglishStudents1(Id UNIQUEIDENTIFIER PRIMARY KEY default NEWID(),StudentName VARCHAR (50) )GO INSERT INTO EnglishStudents1 VALUES (default,'Shane')INSERT INTO EnglishStudents1 VALUES (default,'Jonny')</pre><p> EngStudents1 NEWID()  Id default Id </p><h3>GUIDs vs. UUIDs</h3><p> GUID Microsoft  UUID RFC4122  UUID</p><p>UUID  128  UUID  UUIDv4  UUID  UUIDv4 </p><p> Microsoft GUID  GUID  RFC4122 GUID  UUID </p><p> GUID  Microsoft  UUID  16 128  Microsoft  GUID UUID</p><h1 class="blog-sub-title"></h1><p>GUIDS  UUID varchar</p></body></html>]]></description>
</item>
<item>
<title>Navicat 16.1 的新功能 - 第 4 部分</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title>Navicat 16.1  -  4 </title></head><body><b>2022  8  31</b> Navicat <br/><br/><h1 class="blog-sub-title" style="font-size: 24px;"></h1><p style="margin: 15px 0;">Navicat </p><ul style="list-style-type: disc; margin-left: 24px; line-height: 20px; margin-bottom: 15px;"><li> & </li><li> & </li></ul><img src="/link/Blog/Image/2022/20220831/Data_Sync.png" style="max-width: 100%;" /><h1 class="blog-sub-title" style="font-size: 24px;"> SQL </h1><p style="margin: 15px 0;"> SQL   SQL </p><ul style="list-style-type: disc; margin-left: 24px; line-height: 20px; margin-bottom: 15px;"><li></li><li></li><li></li></ul><img src="/link/Blog/Image/2022/20220831/SQL_Dump.png" style="max-width: 100%;" /><!--<h1 class="blog-sub-title" style="font-size: 24px;">Miscellaneous</h1><p style="margin: 15px 0;">We think you will appreciate the improvement for asking to save your query before closing the window. Previously, this option was disabled by default. However, we now activate this option as default setting.</p><img src="/link/Blog/Image/2022/20220831/Ask_Close.png" style="max-width: 100%;" />--></body></html>]]></description>
</item>
<item>
<title>Navicat 16.1 的新功能 - 第 3 部分</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title>Navicat 16.1  -  3 </title></head><body><b>2022  8  31</b> Navicat <br/><br/><h1 class="blog-sub-title" style="font-size: 24px;"></h1><h1 class="blog-sub-title"></h1><p style="margin: 15px 0;"> Navicat 16.1 </p><img src="/link/Blog/Image/2022/20220831/Trend_Line.png" style="max-width: 100%;" /><h1 class="blog-sub-title"></h1><p></p><img src="/link/Blog/Image/2022/20220831/Charts_Properties.png" style="max-width: 100%;" /><h1 class="blog-sub-title"></h1><p>January J</p><img src="/link/Blog/Image/2022/20220831/Charts_Month.png" style="max-width: 100%;" /><h1 class="blog-sub-title"></h1><p></p><img src="/link/Blog/Image/2022/20220831/Charts_Color.png" style="max-width: 100%;" /><h1 class="blog-sub-title"></h1><ul style="list-style-type: disc; margin-left: 24px; line-height: 20px; margin-bottom: 15px;"><li></li><li></li><li></li><li></li></ul></body></html>]]></description>
</item>
<item>
<title>Navicat 16.1 的新功能 - 第 2 部分</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title>Navicat 16.1  -  2 </title></head><body><b>2022  8  31</b> Navicat <br/><br/><h1 class="blog-sub-title" style="font-size: 24px;"></h1><h1 class="blog-sub-title"></h1><p style="margin: 15px 0;"></p><img src="/link/Blog/Image/2022/20220831/View_Highlight.png" style="max-width: 100%;" /><p style="margin: 15px 0;"> Navicat </p><img src="/link/Blog/Image/2022/20220831/Column_Space.png" style="max-width: 100%;" /><h1 class="blog-sub-title"></h1><p>  </p><img src="/link/Blog/Image/2022/20220831/Column.png" style="max-width: 100%;" /><h1 class="blog-sub-title" style="font-size: 24px; margin-top: 100px;"></h1><p></p><ul style="list-style-type: disc; margin-left: 24px; line-height: 20px; margin-bottom: 15px;"><li> MariaDB 10.2.1  CHECK </li><li> PostgreSQL </li></ul><h1 class="blog-sub-title" style="font-size: 24px; margin-top: 100px;"></h1><h1 class="blog-sub-title">MongoDB </h1><p> MongoDB </p><img src="/link/Blog/Image/2022/20220831/Completion_MongoDB.png" style="max-width: 100%;" /><h1 class="blog-sub-title"></h1><p> SQL </p><img src="/link/Blog/Image/2022/20220831/Snippets.png" style="max-width: 100%;" /></body></html>]]></description>
</item>
<item>
<title>Navicat 16.1 的新功能 - 第 1 部分</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title>Navicat 16.1  -  1 </title></head><body><b>2022  8  31</b> Navicat <br/><br/><h1 class="blog-sub-title" style="font-size: 24px;"></h1><h1 class="blog-sub-title"></h1><ul style="list-style-type: disc; margin-left: 24px; line-height: 20px; margin-bottom: 15px;"><li> Ctrl+F</li><li></li></ul><img src="/link/Blog/Image/2022/20220831/New_Connection_Profile.png" style="max-width: 100%;" /><h1 class="blog-sub-title"></h1><p></p><ul style="list-style-type: disc; margin-left: 24px; line-height: 20px; margin-bottom: 15px;"><li></li><li> - </li><li> SSH/HTTP </li><li> DDL  -  DDL </li></ul><div class="row"><div class="col-xs-5"><img src="/link/Blog/Image/2022/20220831/Information_Pane_1.png" style="max-width: 100%;" /></div><div class="col-xs-7"><img src="/link/Blog/Image/2022/20220831/Information_Pane_2.png" style="max-width: 100%;" /></div></div><h1 class="blog-sub-title"></h1><p></p><img src="/link/Blog/Image/2022/20220831/Move_Tab.png" style="max-width: 100%;" /><h1 class="blog-sub-title" style="font-size: 24px; margin-top: 100px;"></h1><h1 class="blog-sub-title"> OceanBase </h1><p> OceanBase  Navicat Navicat </p><img src="/link/Blog/Image/2022/20220831/OceanBase.png" style="max-width: 100%;" /><h1 class="blog-sub-title">MongoDB </h1><p> MongoDB </p><ul style="list-style-type: disc; margin-left: 24px; line-height: 20px; margin-bottom: 15px;"><li>MongoDB  1.16.2  1.21.1</li><li> MongoDB Atlas Serverless</li><li> 1.21.1 1.16.2</li></ul><img src="/link/Blog/Image/2022/20220831/MongoDB.png" style="max-width: 100%;" /><h1 class="blog-sub-title"></h1><p></p><img src="/link/Blog/Image/2022/20220831/Password.png" style="max-width: 100%;" /></body></html>]]></description>
</item>
<item>
<title>选择主键 - 第 2 部分</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> -  2 </title></head><body><b>2022  8  23 </b> Robert Gravelle <br/><br/><h1 class="blog-sub-title"></h1><p><a class="default-links" href="/company/aboutus/blog/511---1-.html" target="_blank"> 1 </a></p><h1 class="blog-sub-title"></h1><p> IT  CHAR  VARCHARBINARYVARBINARYBLOBTEXTENUM  SET INTEGERSMALLINTDECIMAL  NUMERIC FLOATREAL  DOUBLE PRECISION</p><h1 class="blog-sub-title"></h1><p>PK PRIMARY KEY </p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;"><li> NULL </li><li></li><li></li></ul><p></p><h3></h3><p></p><p><a class="default-links" href="https://www.mysqltutorial.org/mysql-primary-key/" target="_blank">Mysqltutorial.org</a>  MySQL </p><blockquote> MySQL  INTBIGINT</blockquote><p>MySQL  Oracle <a class="default-links" href="https://www.oracletutorial.com/oracle-basics/oracle-primary-key/" target="_blank"></a> Oracle </p><p></p><blockquote>SSNVIN</blockquote><h1 class="blog-sub-title">...</h1><p></p></body></html>]]></description>
</item>
<item>
<title>选择主键 - 第 1 部分</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> -  1 </title></head><body><b>2022  8  12 </b> Robert Gravelle <br/><br/><h1 class="blog-sub-title"></h1><p>PK PK  PK  PK PK</p>   <h1 class="blog-sub-title"></h1><p><strong></strong> <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium 16</a>  </p><img alt="natural_key (110K)" src="/link/Blog/Image/2022/20220812/natural_key.jpg" style="max-width:100%;" /><p> <i>productCode</i> </p><img alt="productCode (202K)" src="/link/Blog/Image/2022/20220812/productCode.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p>GUID<strong></strong> <i>customerNumber</i>  PK</p><img alt="surrogate_key (133K)" src="/link/Blog/Image/2022/20220812/surrogate_key.jpg" style="max-width:100%;" /><p></p><img alt="customerNumber (163K)" src="/link/Blog/Image/2022/20220812/customerNumber.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p></p><p>PK <i>productCode</i> </p><h1 class="blog-sub-title"></h1><p> </p><p> Navicat 16<a class="default-links" href="/products/navicat-premium" target="_blank"></a> 14 </p></body></html>]]></description>
</item>
<item>
<title>探索一些常见的存储过程迷思</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title></title></head><body><b>2022  8  5 </b> Robert Gravelle <br/><br/><p> SQL ORM Hibernate  Entity Framework</p><p><a class="default-links" href="/company/aboutus/blog/509-" target="_blank"></a> ORM </p><h1 class="blog-sub-title"></h1><p> SQL ORM ad-hocSQL  Frans Bouma <a class="default-links" href="https://weblogs.asp.net/fbouma/38178" target="_blank">Stored Procedures are bad, m'kay?</a></p><h1 class="blog-sub-title"> SQL </h1><p> SQL  SQL SQL </p><pre>create procedure GetStudents(@School nvarchar(50))asbegin    declare @sql nvarchar(100)    set @sql = 'SELECT STUDENT FROM SCHOOL WHERE SCHOOL LIKE ' + @School    exec @sqlend</pre><p> SQL  SQL PythonTypeScript  Java </p><pre>String sql = "SELECT STUDENT FROM SCHOOL WHERE SCHOOL LIKE ? ";PreparedStatement prepStmt = conn.prepareStatement(sql);prepStmt.setString(1, "Waterloo%");ResultSet rs = prepStmt.executeQuery();</pre><p> SQL  SQL </p><h1 class="blog-sub-title"></h1><p></p></body></html>]]></description>
</item>
<item>
<title>存储过程是过时的工具吗？</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title></title></head><body><b>2022  7  27 </b> Robert Gravelle <br/><br/><p>Object Relational Mapper ORM NHibernate  Entity Framework</p><h1 class="blog-sub-title"></h1><p><a class="default-links" href="/company/aboutus/blog/blog/277-" target="_blank"></a></p><blockquote>stored procedure procStructured Query LanguageSQL</blockquote><p></p><h1 class="blog-sub-title"></h1><p></p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li></li><li> Oracle  MySQL </li><li> </li><li>/ O/R  ORM </li><li> DRYDon't repeat yourself/</li></ul><p></p><h1 class="blog-sub-title"></h1><p>ORM NHibernate  Entity Framework</p></body></html>]]></description>
</item>
<item>
<title>查找在给定时间范围内购买超过 N 件商品的客户</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> <i>N</i> </title></head><body><b>2022  7  18 </b> Robert Gravelle <br/><br/><p> Count()  GROUP BY  HAVING </p><h1 class="blog-sub-title"></h1><p> <a class="default-links" href="https://dev.mysql.com/doc/sakila/en/" target="_blank">Sakila </a> DVD filmactorfilm-actor  filmstore  rental  inventory  customer_id  rental  <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium 16</a> 20 </p><img alt="basic_query (61K)" src="/link/Blog/Image/2022/20220718/basic_query.jpg" style="max-width:100%;" /><p> <i>customer_id</i>  <i>num_of_films_rented</i> </p><h1 class="blog-sub-title"></h1><p> ID  customer  LEFT JOIN</p><img alt="customer_data (125K)" src="/link/Blog/Image/2022/20220718/customer_data.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p> Navicat <i>...</i></p><img alt="reverse_tables_to_model (68K)" src="/link/Blog/Image/2022/20220718/reverse_tables_to_model.jpg" style="max-width:100%;" /><p></p><img alt="schema_diagram (264K)" src="/link/Blog/Image/2022/20220718/schema_diagram.jpg" style="max-width:100%;" /><p> 2005 </p><img alt="rentals_by_category (107K)" src="/link/Blog/Image/2022/20220718/rentals_by_category.jpg" style="max-width:100%;" /><p> 5 </p><h1 class="blog-sub-title"></h1><p> ORDER BY  <i>num_of_films_rented</i> DESC 2005 </p><img alt="ordered_by_count (111K)" src="/link/Blog/Image/2022/20220718/ordered_by_count.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p> Count()  GROUP BY  HAVING /</p></body></html>]]></description>
</item>
<item>
<title>从表中选择奇数或偶数行</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title></title></head><body><b>2022  7  8 </b> Robert Gravelle <br/><br/><p></p><h1 class="blog-sub-title"></h1><p> ORDER BY </p><p> <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium 16</a>  classicmodels  orders  PKorderNumber </p><img alt="orders_table_design (17K)" src="/link/Blog/Image/2022/20220707/orders_table_design.png" style="max-width:100%;" /><p> orderNumber </p><img alt="orders_table (212K)" src="/link/Blog/Image/2022/20220707/orders_table.jpg" style="max-width:100%;" /><p></p><h1 class="blog-sub-title"></h1><p> 2  0 </p><p> PostgreSQLMySQL  Oracle  MOD() </p><p></p><pre>SELECT * FROM table_name WHERE mod(column_name,2) = 0;</pre><p></p><pre>SELECT * FROM table_name WHERE mod(column_name,2) <> 0;</pre><p>SQL Server  MOD  % </p><p></p><pre>SELECT *FROM table_name where column_name % 2 = 0;</pre><p>This syntax will find rows where our target column has odd values:</p><pre>SELECT *FROM table_name where column_name % 2 <> 0;</pre><h1 class="blog-sub-title"></h1><p> SQL  SQL Server  classicmodels  orders </p><p></p><img alt="even_rows_in_mysql (170K)" src="/link/Blog/Image/2022/20220707/even_rows_in_mysql.jpg" style="max-width:100%;" /><p></p><img alt="odd_rows_in_mysql (204K)" src="/link/Blog/Image/2022/20220707/odd_rows_in_mysql.jpg" style="max-width:100%;" /><p>SQL Server  MOD  % </p><p></p><img alt="even_rows_in_sql_server (215K)" src="/link/Blog/Image/2022/20220707/even_rows_in_sql_server.jpg" style="max-width:100%;" /><p></p><img alt="odd_rows_in_sql_server (211K)" src="/link/Blog/Image/2022/20220707/odd_rows_in_sql_server.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p> 2 </p></body></html>]]></description>
</item>
<item>
<title>数据库工具对决：HeidiSQL 与 Navicat - 第 3 部分</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title>HeidiSQL  Navicat -  3 </title></head><body><b>2022  6  24 </b> Robert Gravelle e<br/><br/><h1 class="blog-sub-title"> SQL </h1><p> HeidiSQL Navicat PremiumSQL </p><h1 class="blog-sub-title"></h1><p>HeidiSQL  Windows  Windows <a class="default-links" href="https://www.heidisql.com/download.php" target="_blank"></a> 32/64 SHA1 32  64  Wine  HeidiSQLWineWine Is Not an Emulator  LinuxmacOS  BSD  POSIX  Windows  Wine HeidiSQL  Windows 8  10  Windows 7  11  4.0  Wine  HeidiSQL </p><p>Navicat Premium  Windows32  64 macOS64  Linux64  Navicat Navicat <a class="default-links" href="/support/help/request" target="_blank"></a></p><h1 class="blog-sub-title"></h1><p>HeidiSQL  MySQL  MariaDB MS SQL Server PostgreSQL</p><p>Navicat Premium  MySQLMariaDBMongoDBSQL ServerOraclePostgreSQL  SQLite Amazon RDSAmazon AuroraAmazon RedshiftMicrosoft AzureOracle Cloud  MongoDB Atlas</p><h1 class="blog-sub-title">SQL </h1><p>Navicat  HeidiSQL  HeidiSQL Navicat Premium</p><img alt="heidisql_vs_navicat_auto_complete (91K)" src="/link/Blog/Image/2022/20220624/heidisql_vs_navicat_auto_complete.jpg" style="max-width:100%;" /><p> SQL  HeidiSQL Navicat Premium</p><img alt="heidisql_vs_navicat_query_extras (78K)" src="/link/Blog/Image/2022/20220624/heidisql_vs_navicat_query_extras.jpg" style="max-width:100%;" /><p>HeidiSQL  Navicat  SQL </p><img alt="Navicat Visual Query Builder" src="/link/Blog/Image/2018/20180103/query_builder_with_tables.jpg" style="max-width:100%;"/><p>HeidiSQL <a class="default-links" href="https://www.heidisql.com/forum.php?t=12029" target="_blank"></a></p><h1 class="blog-sub-title"></h1><p> HeidiSQL  Navicat Premium  3  SQL Navicat   Navicat Cloud DBeaver  Navicat Navicat Premium </p></body></html>]]></description>
</item>
<item>
<title>数据库工具对决：HeidiSQL 与 Navicat - 第 2 部分</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title>HeidiSQL  Navicat -  2 </title></head><body><b>2022  6  22 </b> Robert Gravelle <br/><br/><h1 class="blog-sub-title"></h1><p> HeidiSQL  Navicat Premium  Navicat Premium  MySQLMariaDBMongoDBSQL ServerOraclePostgreSQL  SQLiteNavicat  Amazon RDSAmazon AuroraAmazon RedshiftMicrosoft AzureOracle Cloud  MongoDB Atlas HeidiSQL  MySQL/MariaDB </p><h1 class="blog-sub-title"></h1><p> UI/UX HeidiSQL </p><img alt="heidisql_gui (313K)" src="/link/Blog/Image/2022/20220622/heidisql_gui.jpg" style="max-width:100%;" /><p>HeidiSQL UI </p><img alt="text_wrapping (13K)" src="/link/Blog/Image/2022/20220622/text_wrapping.jpg" style="max-width:100%;" /><p></p><p><a class="default-links" href="/products/navicat-premium" target="_blank">Navicat 16</a>  GUI </p><img alt="navicat_gui (242K)" src="/link/Blog/Image/2022/20220622/navicat_gui.jpg" style="max-width:100%;" /><p>Navicat  DDL </p><h1 class="blog-sub-title"></h1><p> HeidiSQL</p><p><strong></strong></p><ul style="list-style-type: disc; margin-left: 24px; line-height: 20px;"><li></li><li></li><li> -  GNU GPL </li><li></li><li></li><li></li><li>HeidiSQL </li><li> SSH </li></ul><p><strong></strong></p><ul style="list-style-type: disc; margin-left: 24px; line-height: 20px;"><li>HeidiSQL </li><li> Windows</li><li></li><li> DPI DPI  DPI</li></ul><p>Navicat Premium</p><p><strong></strong></p><ul style="list-style-type: disc; margin-left: 24px; line-height: 20px;"><li></li><li></li><li></li><li></li><li> SSH  SSLSecure Sockets Layer</li><li></li><li> Navicat  Navicat MonitorNavicat Data ModelerNavicat Report Viewer  Navicat Data Modeler Essentials</li></ul><p><strong></strong></p><ul style="list-style-type: disc; margin-left: 24px; line-height: 20px;"><li> PostgreSQLSQL Server  SQLite Navicat Premium</li><li></li><li>It's somewhat resource-intensive as it requires fairly high memory while running.</li></ul><h1 class="blog-sub-title">...</h1><p> 3  SQL </p></body></html>]]></description>
</item>
<item>
<title>数据库工具对决：HeidiSQL 与 Navicat - 第 1 部分</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title>HeidiSQL  Navicat -  1 </title></head><body><b>2022  6  17 </b> Robert Gravelle <br/><br/><h1 class="blog-sub-title"></h1><p><img src="/link/Blog/Image/2022/20220617/heidi_vs_navicat_header.png" style="max-width:100%;"/></p><p></p><p> 6 <a class="default-links" href="/company/aboutus/blog/412-dbeaver--navicat" target="_blank"> DBeaver  Navicat Premium 15</a> HeidiSQL  <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium 16</a> </p><h1 class="blog-sub-title"></h1><p><strong></strong> </p><p>Ansgar Becker  2002 Becker HeidiSQL Heidi Klum  Becker Heidi MariaDBMySQLMicrosoft SQLPostgreSQL  SQLite </p><p>HeidiSQL  1999  MySQL MySQL-Front2004 Becker  MySQL-Front  Nils Hoyer2006  4 Becker  SourceForge HeidiSQL</p><ul style="list-style-type: disc; margin-left: 24px; line-height: 20px;"><li>2011  3  7.0  Microsoft SQL Server</li><li>2014  3  9.0  PostgreSQL</li><li>2020  3  11.0  SQLite</li></ul><p>HeidiSQL  MariaDB  MySQL  8.0 HeidiSQL  22 </p><p><strong></strong></p><p>Navicat Premium  Navicat /Navicat Premium </p><p>Navicat  Ken Lin  2001  MySQL 2008 Navicat for MySQL  ICT 2008 Navicat Premium  2009  Navicat </p><h1 class="blog-sub-title"></h1><p></p></body></html>]]></description>
</item>
<item>
<title>将 MySQL 表导出到 CSV</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> MySQL  CSV</title></head><body><b>2022  6  10 </b> Robert Gravelle <br/><br/><p>CSV Comma-Separated ValuesXML  JSON CSV  Microsoft Excel  Google  MySQL  CSV </p><h1 class="blog-sub-title"></h1><p> MySQL  CSV  CSV </p><p> <i>secure-file-priv</i>  MySQL  LOAD DATA  SELECT INTO FILE  MySQL </p><pre>SHOW VARIABLES LIKE "secure_file_priv"  </pre><p></p><pre>TABLE tableName INTO OUTFILE 'path/outputFile.csv'FIELDS TERMINATED BY ','OPTIONALLY ENCLOSED BY '"'ESCAPED BY ''LINES TERMINATED BY '\n';</pre><p> SELECT </p><pre>SELECT columnName, ...FROM tableNameWHERE columnName = 'value'LIMIT 1000INTO OUTFILE 'path/outputFile.csv'FIELDS TERMINATED BY ','OPTIONALLY ENCLOSED BY '"'ESCAPED BY ''LINES TERMINATED BY '\n';</pre><p> UNION </p><pre>(SELECT 'columnHeading', ...)UNION(SELECT column, ...FROM tableNameINTO OUTFILE 'path-to-file/outputFile.csv'FIELDS ENCLOSED BY '"' TERMINATED BY ','ESCAPED BY '"'LINES TERMINATED BY '\n')</pre><h1 class="blog-sub-title"> mysqldump</h1><p>mysqldump  MySQL </p><pre>mysqldump -u [username] -p -t -T/path/to/directory [database] [tableName] --fields-terminated-by=,</pre><h1 class="blog-sub-title"> Navicat </h1><p><a class="default-links" href="/products/navicat-for-mysql" target="_blank">Navicat 16 for MySQL</a>  .xlsx.json  .sql -> </p><img alt="export_formats (50K)" src="/link/Blog/Image/2022/20220610/export_formats.jpg" style="max-width:100%;" /><p></p><img alt="select_tables (71K)" src="/link/Blog/Image/2022/20220610/select_tables.jpg" style="max-width:100%;" /><p></p><img alt="select_fields (40K)" src="/link/Blog/Image/2022/20220610/select_fields.jpg" style="max-width:100%;" /><p>Navicat </p><img alt="other_options (49K)" src="/link/Blog/Image/2022/20220610/other_options.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p>CSV CSV  DBA </p></body></html>]]></description>
</item>
<item>
<title>如何在执行前测试 Insert 和 Update 语句</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> Insert  Update </title></head><body><b>2022  6  2 </b> Robert Gravelle <br/><br/><p> UPDATE  UPDATE Data Manipulation LanguageDML</p><p> INSERTUPDATE  DELETE </p><h1 class="blog-sub-title"></h1><p></p><p>DB</p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 20px;"><li></li><li></li></ul><p>explaindescribe</p><pre>explain update ...;</pre><p> Navicat  EXPLAIN </p><img alt="explain (99K)" src="/link/Blog/Image/2022/20220602/explain.jpg" style="max-width:100%" /><p></p><img alt="explain_success (65K)" src="/link/Blog/Image/2022/20220602/explain_success.jpg" style="max-width:100%" /><h1 class="blog-sub-title"></h1><p></p><h3></h3><p>autocommit COMMIT  ROLLBACK </p><p> MySQL </p><pre>SET autocommit=0OrSET autocommit = OFF</pre><p> SQL Server </p><pre>SET IMPLICIT_TRANSACTIONS OFF</pre><p></p><pre>-- 1. start a new transactionSTART TRANSACTION;-- 2. insert a new order for customer 145INSERT INTO orders(orderNumber,                   orderDate,                   requiredDate,                   shippedDate,                   status,                   customerNumber)VALUES(@orderNumber,       '2005-05-31',       '2005-06-10',       '2005-06-11',       'In Process',        145);        -- 3. then, after evaluating the results,--    rollback the changesROLLBACK;</pre><p></p><h1 class="blog-sub-title"> SELECT</h1><p> DML  SELECT SELECT  SELECT </p><pre>INSERT INTO orders...BECOMESSELECT * FROM ORDERS...</pre><h1 class="blog-sub-title"></h1><p> DML </p><p> Navicat 16<a class="default-links" href="/products/navicat-for-mysql" target="_blank"></a> 14 </p></body></html>]]></description>
</item>
<item>
<title>嵌套连接的说明</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title></title></head><body><b>2022  5  26 </b> Robert Gravelle <br/><br/><p></p><h1 class="blog-sub-title"></h1><p></p><p></p><pre>for all the rows in outer table   for all the rows in the inner table     if outer_row and inner row satisfy the join condition       emit the rows   next inner next outer</pre><p></p><p> nested-loop-over-index</p><pre>for all the rows that pass the filter from the outer table   use join qualifier from outer table row on index on inner table     if row found using index lookup       emit the rows next outer </pre><h1 class="blog-sub-title"></h1><p></p><p>/</p><pre>FROM  Table1 [ join type ] JOIN Table2                 ON condition2 [ join type ] JOIN Table3                 ON condition3 </pre>                <p>SQL  ANSI </p><pre>FROM  Table1 [ join type ] JOIN Table2 [ join type ] JOIN Table3                 ON condition3                 ON condition2 </pre><p></p><pre>FROM  Table1 [ join type ] JOIN ( Table2                     [ join type ] JOIN Table3                                     ON condition3 )                 ON condition2 </pre>                <p> Table2  Table3  Table1 Table2  Table3  Table2  Table3 </p><p> <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a> </p><img alt="syntax_comparison (98K)" src="/link/Blog/Image/2022/20220526/syntax_comparison.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p></p></body></html>]]></description>
</item>
<item>
<title>第三方数据库管理工具的好处</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title></title></head><body><b>2022  5  19 </b> Robert Gravelle <br/><br/><p> SQL  Monty Python DBMT DBMT  DBA  DBMT </p><h1 class="blog-sub-title"> DBMS</h1><p> DBMS  IT  PostgreSQL  Amazon Amazon  Amazon </p><p> DBMS  DBMS  <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a> DBMS PC </p><h1 class="blog-sub-title"></h1><p> DBMT  DBMT </p><p> SSH  SSH SSH </p><p> DBMT  MySQL  MariaDB  PAM MongoDB  Kerberos  X.509  PostgreSQL  GSSAPI Navicat </p><h1 class="blog-sub-title"></h1><p>Navicat  Navicat Cloud Amazon Simple Storage ServiceAmazon S3256  AES WindowsmacOSLinux  iOS Navicat Cloud  Navicat </p><h1 class="blog-sub-title"></h1><p> <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a> </p></body></html>]]></description>
</item>
<item>
<title>一些最常见的 SQL 查询错误 - 第 5 部分</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> SQL  -  5 </title></head><body><b>2022  5  16 </b> Robert Gravelle <br/><br/><h1 class="blog-sub-title"></h1>  <p> 3  <a class="default-links" href="/company/aboutus/blog/488-sql-.html" target="_blank">SQL </a> SQL </p><h1 class="blog-sub-title"></h1><p></p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 20px;"><li>FROM</li><li>WHERE</li><li>GROUP BY</li><li>HAVING</li><li>SELECT</li></ul><p> FROM  WHERE  GROUP BY</p><p> WHERE </p><p>WHERE a=1 AND b=2 WHERE a=1</p><h1 class="blog-sub-title"></h1><p> <i>accounts</i>  SELECT  <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat 16</a> </p><img alt="accounts_table_design (33K)" src="/link/Blog/Image/2022/20220516/accounts_table_design.jpg" style="max-width:100%;" /><p></p><img alt="accounts_table (24K)" src="/link/Blog/Image/2022/20220516/accounts_table.jpg" style="max-width:100%;" /><p> <i>account_number </i> <i>account_number</i> </p><p> <i>account_number</i>  50 </p><img alt="query_1 (27K)" src="/link/Blog/Image/2022/20220516/query_1.jpg" style="max-width:100%;" /><p></p><pre>Conversion failed when converting the varchar value 'ACFB' to data type int</pre><p>CAST(account_number AS UNSIGNED INTEGER) > 50account_type LIKE 'Business%'</p><ul style="list-style-type: disc; margin-left: 24px; line-height: 20px;"><li><p></p></li><li> CASE  INTEGER <p><img alt="query_2 (43K)" src="/link/Blog/Image/2022/20220516/query_2.jpg" style="max-width:100%;" /></p></li></ul><h1 class="blog-sub-title"></h1><p> SQL  SQL /</p></body></html>]]></description>
</item>
<item>
<title>一些最常见的 SQL 查询错误 - 第 4 部分</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> SQL  -  4 </title></head><body><b>2022  5  11 </b> Robert Gravelle <br/><br/><h1 class="blog-sub-title"></h1><p> SQL  SQL / SQL </p><h1 class="blog-sub-title"></h1><p> SQL  SELECTFROM  WHERE </p><p> SELECT  <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium 16</a>  Sakila ALONE TRIP</p><img alt="subquery_single_row (98K)" src="/link/Blog/Image/2022/20220511/subquery_single_row.jpg" style="max-width:100%;" /><p>ALONE TRIP= film_id</p><p></p><img alt="subquery_multiple_rows (46K)" src="/link/Blog/Image/2022/20220511/subquery_multiple_rows.jpg" style="max-width:100%;" /><p> IN()  <i>actor_id</i></p><h1 class="blog-sub-title"></h1><p> SELECT  <a class="default-links" href="/products/navicat-data-modeler" target="_blank">Navicat Data Modeler</a>  products  factories </p><img alt="products_factories_diagram (22K)" src="/link/Blog/Image/2022/20220511/products_factories_diagram.jpg" style="max-width:100%;" /><p>products  factories  <i>sku</i> </p><p> <i>factory_id</i> <i>factory_id</i></p><img alt="product_query (31K)" src="/link/Blog/Image/2022/20220511/product_query.jpg" style="max-width:100%;" /><p></p><p></p><img alt="new_factory (11K)" src="/link/Blog/Image/2022/20220511/new_factory.jpg" style="max-width:100%;" /><p>factory </p><img alt="error_message (49K)" src="/link/Blog/Image/2022/20220511/error_message.jpg" style="max-width:100%;" /><p> JOIN </p><img alt="query_with_join (30K)" src="/link/Blog/Image/2022/20220511/query_with_join.jpg" style="max-width:100%;" /><h1 class="blog-sub-title">...</h1><p>column = (SELECT value FROM Table) IN() =</p></body></html>]]></description>
</item>
<item>
<title>一些最常见的 SQL 查询错误 - 第 3 部分</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> SQL  -  3 </title></head><body><b>2022  5  6 </b> Robert Gravelle <br/><br/><h1 class="blog-sub-title">Outer JoinCartesian Product</h1><p> SQL  SQL / SQL </p><h1 class="blog-sub-title"></h1><p></p><ul style="list-style-type: disc; margin-left: 24px; line-height: 20px;"><li>LEFT JOIN </li><li>RIGHT JOIN </li><li>FULL OUTER JOIN </li></ul><h1 class="blog-sub-title"></h1><p></p><p> 2005  6  <i>customers</i>  <i>orders</i> </p><pre>SELECT C.customerName, count(O.customerNumber) AS 2005_ordersFROM customers AS CLEFT OUTER JOIN orders AS O  ON C.customerNumber = O.customerNumberWHERE O.orderDate >= '2005-05-01'GROUP BY C.customerNameORDER BY 2005_orders DESC;</pre><p> <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium 16</a>  13  122 </p><img alt="customer_orders_bad (74K)" src="/link/Blog/Image/2022/20220506/customer_orders_bad.jpg" style="max-width:100%;" /><p></p><img alt="outer_join_without_where_clause (121K)" src="/link/Blog/Image/2022/20220506/outer_join_without_where_clause.jpg" style="max-width:100%;" /><p> <i>customerNumbers</i>  NULL <i>orders</i> </p><p> WHERE </p><img alt="outer_join_with_where_clause (90K)" src="/link/Blog/Image/2022/20220506/outer_join_with_where_clause.jpg" style="max-width:100%;" /><p> WHERE </p><p> WHERE </p><img alt="outer_join_with_date (114K)" src="/link/Blog/Image/2022/20220506/outer_join_with_date.jpg" style="max-width:100%;" /><p></p><img alt="customer_orders_good (89K)" src="/link/Blog/Image/2022/20220506/customer_orders_good.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p>WHERE  WHERE </p></body></html>]]></description>
</item>
<item>
<title>SQL 中的谓词</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title>SQL </title></head><body><b>2022  5  3 </b> Robert Gravelle <br/><br/><p> SQL  SQL  SQL  3 </p><h1 class="blog-sub-title"></h1><p> TRUEFALSE  UNKNOWN  WHERE  HAVING FROM </p><p></p><ul style="list-style-type: disc; margin-left: 24px; line-height: 20px;"><li></li><li>LIKE</li><li>BETWEEN</li><li>IN</li><li>EXISTS</li><li>IS NULL (/INTEGER/DECIMAL/FLOAT...)</li></ul><p></p><h1 class="blog-sub-title"></h1><p> <code>WHERE employee_salary > 100000</code> TRUEFALSE  UNKNOWN </p><ul style="list-style-type: disc; margin-left: 24px; line-height: 20px;"><li>= </li><li>> </li><li>< </li><li>>= </li><li><= </li><li><> </li></ul><p></p><pre>expression_1 comparison_operator expression_2</pre><p>expression2  FALSE</p><h1 class="blog-sub-title">LIKE </h1><p> SQL  LIKE LIKE </p><img alt="like_example (83K)" src="/link/Blog/Image/2022/20220503/like_example.jpg" style="max-width:100%;" /><h1 class="blog-sub-title">BETWEEN </h1><p>BETWEEN  <code>income BETWEEN 5000 AND 20000</code>  5000  20000BETWEEN </p><img alt="between_example (46K)" src="/link/Blog/Image/2022/20220503/between_example.jpg" style="max-width:100%;" /><h1 class="blog-sub-title">IN </h1><p>IN  IN  TRUE</p><img alt="in_example (53K)" src="/link/Blog/Image/2022/20220503/in_example.jpg" style="max-width:100%;" /><h1 class="blog-sub-title">EXISTS </h1><p>EXISTS  TRUE FALSE</p><p></p><img alt="exists_example (45K)" src="/link/Blog/Image/2022/20220503/exists_example.jpg" style="max-width:100%;" /><h1 class="blog-sub-title">IS NULL </h1><p> IS NULL  NULL =  NULL</p><p>IS NULL </p><pre>IS [NOT] NULL</pre><p> x  NULL <code>x IS NULL</code>  TRUE</p><p> BOOLEAN IS UNKNOWN  IS NULL </p><p> IS NOT NULL  NULL </p><img alt="is_not_null_example (24K)" src="/link/Blog/Image/2022/20220503/is_not_null_example.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p> SQL  WHERE  HAVING FROM  TRUEFALSE  UNKNOWN  SQL </p></body></html>]]></description>
</item>
<item>
<title>一些最常见的 SQL 查询错误 - 第 2 部分</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> SQL  -  2 </title></head><body><b>2022  4  26 </b> Robert Gravelle <br/><br/><h1 class="blog-sub-title"> 2  SARGable </h1><p> SQL SQL  SQL </p><p> SQL  SQL </p><h1 class="blog-sub-title"></h1><p><i></i> varchar <i>customerName</i> </p><img alt="customerName_index (95K)" src="/link/Blog/Image/2022/20220426/customerName_index.jpg" style="max-width:100%;" /><p>R LEFT()  <i>customerName</i> </p><img alt="left_query (49K)" src="/link/Blog/Image/2022/20220426/left_query.jpg" style="max-width:100%;" /><p> <i>customerName</i> </p><h3>SARGable  SARGable </h3><p> Search ARGument ABLE  SARGable DBMS  SARGable SARGable  SARGable  SARGable</p><p> SARGable  Like  SARGable</p><img alt="like_query (54K)" src="/link/Blog/Image/2022/20220426/like_query.jpg" style="max-width:100%;" /><p></p><h1 class="blog-sub-title"></h1><p> SQL  SARGable  SARGable</p><p> Navicat 16 for MySQL<a class="default-links" href="/products/navicat-for-mysql" target="_blank"></a> 14 </p></body></html>]]></description>
</item>
<item>
<title>一些最常见的 SQL 查询错误 - 第 1 部分</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> SQL  -  1 </title></head><body><b>2022  4  11 </b> Robert Gravelle <br/><br/><h1 class="blog-sub-title">NOT IN  NOT EXISTS</h1><p>anti-pattern Andrew Koenig  1995 </p><p> SQL </p><p> SQL  MySQL  SQL</p><h1 class="blog-sub-title">NOT IN  NOT EXISTS</h1><p> SELECT  <a class="default-links" href="/products/navicat-for-mysql" target="_blank">Navicat for MySQL 16</a> </p><img alt="colors (24K)" src="/link/Blog/Image/2022/20220411/colors.jpg" style="max-width:100%;" /><p></p><img alt="products (15K)" src="/link/Blog/Image/2022/20220411/products.jpg" style="max-width:100%;" /><p> NOT IN </p><p>blackgreen</p><img alt="not_in (27K)" src="/link/Blog/Image/2022/20220411/not_in.jpg" style="max-width:100%;" /><p><i>products</i>  <i>color</i>  NULL  NOT IN </p><pre>color NOT IN (Red, Blue, NULL)</pre><p></p><pre>NOT(color=Red OR color=Blue OR color=NULL)</pre><p>color=NULL UNKNOWNNOT UNKNOWN  UNKNOWN</p><p> NULL  NULL NULL NULL </p><p> EXISTS  IN</p><img alt="not_exists (39K)" src="/link/Blog/Image/2022/20220411/not_exists.jpg" style="max-width:100%;" /><p></p><p>IN  EXISTS  IN SQL  EXISTSSQL </p><h1 class="blog-sub-title"></h1><p> SQL  SELECT  NOT IN </p><p> Navicat 16 for MySQL<a class="default-links" href="/products/navicat-for-mysql" target="_blank"></a> 14 </p></body></html>]]></description>
</item>
<item>
<title>在 MySQL 中处理日期和时间 - 第 5 部分</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> MySQL  -  5 </title></head><body><b>2022  4  1 </b> Robert Gravelle <br/><br/><h1 class="blog-sub-title"></h1><p> MySQL  SELECT </p><h1 class="blog-sub-title"> Datetime </h1><p> DateTime  Timestamp Sakila  customer  create_date  Datetime</p><img alt="datetime_column (51K)" src="/link/Blog/Image/2022/20220401/datetime_column.jpg" style="max-width:100%;" /><p></p><img alt="compare_date_to_datetime (29K)" src="/link/Blog/Image/2022/20220401/compare_date_to_datetime.jpg" style="max-width:100%;" /><p> DATE()  Datetime </p><img alt="select_date_from_datetime (129K)" src="/link/Blog/Image/2022/20220401/select_date_from_datetime.jpg" style="max-width:100%;" /><p></p><h1 class="blog-sub-title"></h1><p> MySQL  DATEDIFF()  <a class="default-links" href="/products/navicat-for-mysql" target="_blank">Navicat for MySQL 16</a> </p><img alt="datediff (27K)" src="/link/Blog/Image/2022/20220401/datediff.jpg" style="max-width:100%;" /><p>DATEDIFF()  10 </p><img alt="datediff_past (26K)" src="/link/Blog/Image/2022/20220401/datediff_past.jpg" style="max-width:100%;" /><h3></h3><p> 7 </p><pre>ROUND(DATEDIFF(end_date, start_date)/7, 0) AS weeksout</pre><p>TIMESTAMPDIFF()  TIMESTAMP  DATETIME DATE  MySQL  MONTH </p><pre>SELECT TIMESTAMPDIFF(MONTH, '2012-05-05', '2012-06-04')-- Outputs: 0SELECT TIMESTAMPDIFF(MONTH, '2012-05-05', '2012-06-05')-- Outputs: 1SELECT TIMESTAMPDIFF(MONTH, '2012-05-05', '2012-06-15')-- Outputs: 1SELECT TIMESTAMPDIFF(MONTH, '2012-05-05', '2012-12-16')-- Outputs: 7</pre><h3></h3><p> DATEDIFF()  DATEDIFF() </p><img alt="average rental length in days query (90K)" src="/link/Blog/Image/2022/20220401/average_rental_length_in_days_query.jpg" style="max-width:100%;" /><p> DATEDIFF()  AVG()  1 </p><h1 class="blog-sub-title"></h1><p></p><ul style="list-style-type: disc; margin-left: 24px; line-height: 20px;"><li>MySQL </li> <li></li> <li> MySQL </li> <li></li> </ul><p> MySQL  MySQL </p></body></html>]]></description>
</item>
<item>
<title>在 MySQL 中处理日期和时间 - 第 4 部分</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> MySQL  -  4 </title></head><body><b>2022  3  22 </b> Robert Gravelle <br/><br/><h1 class="blog-sub-title"></h1><p> MySQL  MySQL </p><h1 class="blog-sub-title"> MAKEDATE() </h1>  <p><a class="default-links" href="/company/aboutus/blog/483--mysql---3-.html" target="_blank"> 3 </a> MAKEDATE()  <i>year</i>  <i>dayofyear</i>MAKEDATE(2021, 200) 2021-07-19 yearmonth  day <i>dayofyear</i> MAKEDATE()  DATE_ADD()  DATEday  1  MAKEDATE()  DATE DATE_ADD()  year  month </p><img alt="makedate_and_date_add (35K)" src="/link/Blog/Image/2022/20220322/makedate_and_date_add.jpg" style="max-width: 100%;" /><p> SELECT </p><img alt="makedate_and_date_add_with_day (44K)" src="/link/Blog/Image/2022/20220322/makedate_and_date_add_with_day.jpg" style="max-width: 100%;" /><h1 class="blog-sub-title">MAKETIME() </h1><p> TIME MAKETIME() </p><img alt="maketime (27K)" src="/link/Blog/Image/2022/20220322/maketime.jpg" style="max-width: 100%;" /><p></p><img alt="maketime_with_fractions (25K)" src="/link/Blog/Image/2022/20220322/maketime_with_fractions.jpg" style="max-width: 100%;" /><h1 class="blog-sub-title">STR_TO_DATE() </h1><p> DATETIME  DATETIME  STR_TO_DATE() </p><ul style="list-style-type: disc; margin-left: 24px; line-height: 20px;"><li> DATE </li><li> TIME </li><li> DATETIME </li></ul><p> str  STR_TO_DATE()  NULL </p><h3></h3><p> <a class="default-links" href="/products/navicat-for-mysql" target="_blank">Navicat for MySQL 16</a></p><img alt="str_to_date (47K)" src="/link/Blog/Image/2022/20220322/str_to_date.jpg" style="max-width: 100%;" /><p> str  str </p><img alt="str_to_date_times (57K)" src="/link/Blog/Image/2022/20220322/str_to_date_times.jpg" style="max-width: 100%;" /><p> 0 0 </p><img alt="str_to_date_times_with_missing_parts (46K)" src="/link/Blog/Image/2022/20220322/str_to_date_times_with_missing_parts.jpg" style="max-width: 100%;" /><p> MySQL  <a class="default-links" href="https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html#function_str-to-date" target="_blank">DATE_FORMAT() </a></p><h1 class="blog-sub-title"> MAKEDATE()MAKETIME()  STR_TO_DATE() </h1><p> DATE  TIME  MAKEDATE()  MAKETIME()  STR_TO_DATE()  DATETIME </p><img alt="str_to_date_datetime (49K)" src="/link/Blog/Image/2022/20220322/str_to_date_datetime.jpg" style="max-width: 100%;" /><h1 class="blog-sub-title"></h1><p> MySQL  MySQL  MySQL  SELECT </p></body></html>]]></description>
</item>
<item>
<title>在 MySQL 中处理日期和时间 - 第 3 部分</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> MySQL  -  3 </title></head><body><b>2022  3  14 </b> Robert Gravelle <br/><br/><h1 class="blog-sub-title"></h1><p> MySQL  MySQL </p><h1 class="blog-sub-title"></h1><p> 2021  5  SQL Server  GETDATE()  MySQL  NOW() <a class="default-links" href="/products/navicat-for-mysql" target="_blank">Navicat for MySQL 16</a> </p><img alt="now (26K)" src="/link/Blog/Image/2022/20220314/now.jpg" style="max-width:100%;" /><p> 2 TIMESTAMP  DATETIME TIMESTAMP current_timestamp() </p><img alt="get_timestamp (28K)" src="/link/Blog/Image/2022/20220314/get_timestamp.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p> MySQL  curdate()  current_date()  current_date  YYYY-MM-DD </p><img alt="curdate_etc (33K)" src="/link/Blog/Image/2022/20220314/curdate_etc.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p> curtime()  current_time()  current_time  MySQL  HH:MM:SS </p><img alt="curtime_etc (32K)" src="/link/Blog/Image/2022/20220314/curtime_etc.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p>SQL Server  DATEPART()  MySQL  EXTRACT()  SQL Server EXTRACT()  <i>part</i> <i>date</i></p><pre>EXTRACT(part FROM date)</pre><p> part </p><ul>  <li>MICROSECOND</li>  <li>SECOND</li>  <li>MINUTE</li>  <li>HOUR</li>  <li>DAY</li>  <li>WEEK</li>  <li>MONTH</li>  <li>QUARTER</li>  <li>YEAR</li>  <li>SECOND_MICROSECOND</li>  <li>MINUTE_MICROSECOND</li>  <li>MINUTE_SECOND</li>  <li>HOUR_MICROSECOND</li>  <li>HOUR_SECOND</li>  <li>HOUR_MINUTE</li>  <li>DAY_MICROSECOND</li>  <li>DAY_SECOND</li>  <li>DAY_MINUTE</li>  <li>DAY_HOUR</li>  <li>YEAR_MONTH</li></ul><p> 2  EXTRACT() 2</p><img alt="extract_month (27K)" src="/link/Blog/Image/2022/20220314/extract_month.jpg" style="max-width:100%;" /><p> 43 </p><img alt="extract_minute (28K)" src="/link/Blog/Image/2022/20220314/extract_minute.jpg" style="max-width:100%;" /><h3></h3><p> <i>part</i>  MySQL </p><p> DATE()  TIME() </p><img alt="date_and_time (32K)" src="/link/Blog/Image/2022/20220314/date_and_time.jpg" style="max-width:100%;" /><p> YEAR()MONTH()  DAYOFMONTH() DAY()</p><img alt="year_month_day (43K)" src="/link/Blog/Image/2022/20220314/year_month_day.jpg" style="max-width:100%;" /><p> HOUR()MINUTE()  SECOND()</p><img alt="hour_minute_second (39K)" src="/link/Blog/Image/2022/20220314/hour_minute_second.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"> HOUR()MINUTE()  SECOND()</h1><p> MySQL MAKEDATE()  <i>year</i> <i>dayofyear</i> </p><img alt="makedate (28K)" src="/link/Blog/Image/2022/20220314/makedate.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p> MySQL  MySQL </p></body></html>]]></description>
</item>
<item>
<title>在 MySQL 中处理日期和时间 - 第 2 部分</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> MySQL  -  2 </title></head><body><b>2022  3  4 </b> Robert Gravelle <br/><br/><h1 class="blog-sub-title">TIMESTAMP  YEAR </h1><p> MySQL  MySQL  1  DATETIME  DATETIME  TIMESTAMP  YEAR </p><h1 class="blog-sub-title">TIMESTAMP </h1><p>TIMESTAMP  MySQL  DATETIME MySQL DATETIME  TIMESTAMP 2009-11-01 14:35:001970-01-01 00:00:00 UTC 1248761460 </p><p>TIMESTAMP  4  DATETIME  5 TIMESTAMP  14  TIMESTAMP(2)</p> <p> TIMESTAMP </p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li>TIMESTAMP(14): YYYY-MM-DD HH:MM:SS</li><li>TIMESTAMP(12): YY-MM-DD HH:MM:SS</li><li>TIMESTAMP(10): YY-MM-DD HH:MM</li><li>TIMESTAMP(8): YYYY-MM-DD</li><li>TIMESTAMP(6): YY-MM-DD</li><li>TIMESTAMP(4): YY-MM</li><li>TIMESTAMP(2): YY</li></ul><p> <a class="default-links" href="/products/navicat-for-mysql" target="_blank">Navicat 16</a>  </p><img alt="timestamp_in_table_designer (44K)" src="/link/Blog/Image/2022/20220304/timestamp_in_table_designer.jpg" style="max-width:100%;" /><p>Navicat  TIMESTAMP(14)</p><img alt="timestamp_display_format (44K)" src="/link/Blog/Image/2022/20220304/timestamp_display_format.jpg" style="max-width:100%;" /><h1 class="blog-sub-title">YEAR </h1><p> DBA Interger MySQL  YEAR  YEAR  1  YEAR(2)  YEAR(4) YEAR(4)  YEAR(2) </p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li> 4 MySQL  YYYY  YEAR  1901  2155 0000</li><li> 2 MySQL  70 1970  2070 69 2069</li></ul><p> Navicat </p><img alt="year_in_table_designer (77K)" src="/link/Blog/Image/2022/20220304/year_in_table_designer.jpg" style="max-width:100%;" /><p></p><img alt="year_display_format (89K)" src="/link/Blog/Image/2022/20220304/year_display_format.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p> MySQL </p></body></html>]]></description>
</item>
<item>
<title>在 MySQL 中处理日期和时间 - 第 1 部分</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> MySQL  -  1 </title></head><body><b>2022  2  25 </b> Robert Gravelle <br/><br/><h1 class="blog-sub-title">DATETIME  DATETIME </h1><p></p>    <p>MySQL  yyyy-mm-dd  mm-dd-yyyy  DATE_FORMAT  MySQL  DATETIME  DATETIME  MySQL <p><h1 class="blog-sub-title"></h1><p>MySQL </p><table border=2 cellspacing=0 cellpadding=5>      <thead>        <tr>          <th>            Type Name          </th>          <th>                      </th>        </tr>      </thead>      <tbody>        <tr>          <td>            DATE          </td>          <td>            <code>YYYY-MM-DD</code>           </td>        </tr>        <tr>          <td>            TIME          </td>          <td>            <code>hh:mm:ss</code>           </td>        </tr>        <tr>          <td>            DATETIME          </td>          <td>            <code>YYYY-MM-DD            hh:mm:ss</code>           </td>        </tr>        <tr>          <td>            TIMESTAMP          </td>          <td>            <code>YYYY-MM-DD hh:mm:ss</code>           </td>        </tr>        <tr>          <td>            YEAR          </td>          <td>            <code>YYYY</code>  <code>YY</code>           </td>        </tr>      </tbody>    </table><p></p><h1 class="blog-sub-title">DATE </h1><p>MySQL  3  DATE DATE  1000-01-01  9999-12-31Strict ModeMySQL  2015-02-30 0000-00-00 <a class="default-links" href="/products/navicat-for-mysql" target="_blank">Navicat 16</a> DATE </p><img alt="date_column_in_table_designer (159K)" src="/link/Blog/Image/2022/20220225/date_column_in_table_designer.jpg" style="max-width:100%;" /><meta property="og:image"content="/link/Blog/Image/2022/20220225/date_column_in_table_designer.jpg" /><p> DATE </p><img alt="calendar (88K)" src="/link/Blog/Image/2022/20220225/calendar.jpg" style="max-width:100%;" /><p> INSERT  DATE</p><img alt="insert_date (25K)" src="/link/Blog/Image/2022/20220225/insert_date.jpg" style="max-width:100%;" /><h1 class="blog-sub-title">TIME </h1><p>MySQL HH:MM:SS 24 MySQL  24 HHH:MM:SS</p><p> Navicat 16 TIME </p><img alt="time_column_in_table_designer (79K)" src="/link/Blog/Image/2022/20220225/time_column_in_table_designer.jpg" style="max-width:100%;" /><p>Navicat  TIME INPUT  TIME </p><img alt="time_input_control (11K)" src="/link/Blog/Image/2022/20220225/time_input_control.jpg" style="max-width:100%;" /><p> INSERT </p><img alt="insert_time (24K)" src="/link/Blog/Image/2022/20220225/insert_time.jpg" style="max-width:100%;" /><h1 class="blog-sub-title">DATETIME </h1><p> MySQL DATETIME DATETIME  1000-01-01 00:00:00  9999-12-31 23:59:59 DATETIME MySQL  YYYY-MM-DD HH:MM:SS  DATETIME </p><p>DATETIME  5 DATETIME  YYYY-MM-DD HH:MM:SS[.fraction] 2015-12-20 10:01:00.999999</p><p> DATETIME Navicat  DATETIME INPUT  DATE  TIME </p><img alt="datetime_input_control (63K)" src="/link/Blog/Image/2022/20220225/datetime_input_control.jpg" style="max-width:100%;" /><p>DATETIME T DATETIME </p><img alt="insert_datetime (31K)" src="/link/Blog/Image/2022/20220225/insert_datetime.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p> DATETIME  DATETIME TIMESTAMP  YEAR</p></body></html>]]></description>
</item>
<item>
<title>一些有用的 MySQL 数值函数</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> MySQL </title><meta property="og:image"content="/link/Blog/Image/2022/20220218/min_max.jpg" /></head><body><b>2022  2  18 </b> Robert Gravelle <br/><br/><p> 2021  5  SQL Server <a class="default-links" href="/company/aboutus/blog/408--sql-server--" target="_blank"> SQL Server </a> MySQL <a class="default-links" href="/products/navicat-for-mysql" target="_blank">Navicat 16 for MySQL</a> </p><h1 class="blog-sub-title"> SQL Server  MySQL </h1><p><a class="default-links" href="/company/aboutus/blog/408--sql-server--" target="_blank"> SQL Server </a> AbsRoundCeiling  Floor MySQL </p><p> DBMS  MySQL </p><h1 class="blog-sub-title">AVG</h1><p> 45653</p><pre>(4 + 5 + 6 + 5 + 3) / 5 = 4.6</pre><p> 10,000  MySQL  AVG  SQL Server </p><pre>AVG(expression)</pre><p> Sakila </p><img alt="avg (84K)" src="/link/Blog/Image/2022/20220218/avg.jpg" style="max-width:100%;" /><p>GROUP BY  category_id ActionDrama</p><p> AVG  ROUND</p><h3></h3><p> 17 </p><img alt="avg_replacement_cost (104K)" src="/link/Blog/Image/2022/20220218/avg_replacement_cost.jpg" style="max-width:100%;" /><p></p><pre>( AVG( replacement_cost ) - AVG( rental_rate ) ) AS replace_sub_rental</pre><h1 class="blog-sub-title">MINMAX</h1><p> rental_date  MIN  MAX </p><img alt="min_max (73K)" src="/link/Blog/Image/2022/20220218/min_max.jpg" style="max-width:100%;" /><p> MIN  MAX rent_dates Film  rental_dates </p><h1 class="blog-sub-title"></h1><p> Navicat 16 for MySQL  MySQL  AVGMIN  MAX Navicat 16 for MySQL<a class="default-links" href="/products/navicat-for-mysql" target="_blank"></a> 14 </p></body></html>]]></description>
</item>
<item>
<title>使用 Navicat 16 创建测试数据库</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> Navicat 16 </title></head><body><b>2022  2  7 </b> Robert Gravelle <br/><br/><p> Navicat 16 <a class="default-links" href="/company/aboutus/blog/468--navicat-16-" target="_blank"></a> Navicat 16  MySQL </p><h1 class="blog-sub-title"></h1><p>DB <a class="default-links" href="https://www.mysqltutorial.org/mysql-sample-database.aspx" target="_blank">MySQL classicmodels </a> Navicat Premium 16 </p><img alt="classicmodels_db (94K)" src="/link/Blog/Image/2022/20220207/classicmodels_db.jpg" style="max-width:100%;" /><p> Navicat </p><h3></h3><p></p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 20px;"><li><p><img alt="new_database (51K)" src="/link/Blog/Image/2022/20220207/new_database.jpg" style="max-width:100%;" /></p></li><li><p><img alt="new_database_dialog (26K)" src="/link/Blog/Image/2022/20220207/new_database_dialog.jpg" style="max-width:100%;" /></p><i> </i></li><li><p><img alt="copy_database_structure (88K)" src="/link/Blog/Image/2022/20220207/copy_database_structure.jpg" style="max-width:100%;" /></p></li></ul><h3></h3><p>Navicat </p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 20px;"><li> classicmodels_test </li><li><p><img alt="models (34K)" src="/link/Blog/Image/2022/20220207/models.jpg" style="max-width:100%;" /></p><i>...</i></li><li><p><img alt="design_model_button (33K)" src="/link/Blog/Image/2022/20220207/design_model_button.jpg" style="max-width:100%;" /></p></li><li>->...</li><li> classicmodels_test <p><img alt="sync_to_database_dialog (66K)" src="/link/Blog/Image/2022/20220207/sync_to_database_dialog.jpg" style="max-width:100%;" /></p></li><li>Navicat <p><img alt="sync_to_database_dialog_compare (86K)" src="/link/Blog/Image/2022/20220207/sync_to_database_dialog_compare.jpg" style="max-width:100%;" /></p></li><li> SQL <p><img alt="sync_to_database_dialog_preview (304K)" src="/link/Blog/Image/2022/20220207/sync_to_database_dialog_preview.jpg" style="max-width:100%;" /></p></li><li><p><img alt="sync_to_database_dialog_message_log (180K)" src="/link/Blog/Image/2022/20220207/sync_to_database_dialog_message_log.jpg" style="max-width:100%;" /></p></li></ul><p><a class="default-links" href="/company/aboutus/blog/468--navicat-16-" target="_blank"> Navicat 16 </a></p><h1 class="blog-sub-title"></h1><p>Navicat 16 </p><p> Navicat 16<a class="default-links" href="/download/navicat-premium" target="_blank"></a> 14 </p></body></html>]]></description>
</item>
<item>
<title>新的独立 Navicat Charts Creator 的虚拟之旅</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> Navicat Charts Creator </title></head><body><b>2022  1  21 </b> Robert Gravelle <br/><br/><p><a class="default-links" href="/company/aboutus/blog/474--navicat-16-" target="_blank"> Navicat 16 </a>Navicat 16  <a class="default-links" href="/products/navicat-charts-creator" target="_blank">Navicat Charts Creator</a>  Navicat Charts Creator  Navicat Charts Creator </p><h1 class="blog-sub-title"></h1><p> Navicat Charts Creator Navicat Charts Creator</p><img alt="workspace (80K)" src="/link/Blog/Image/2022/20220121/workspace.jpg" style="max-width:100%;" /><h3></h3><p></p><img alt="new_workspace (73K)" src="/link/Blog/Image/2022/20220121/new_workspace.jpg" style="max-width:100%;" /><p><i> -> </i><i> -> </i></p><h1 class="blog-sub-title"></h1><p> ODBC </p><img alt="data_source (145K)" src="/link/Blog/Image/2022/20220121/data_source.jpg" style="max-width:100%;" /><h3></h3><p></p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 20px;"><li></li><li> ODBC<p><img alt="new_data_source (57K)" src="/link/Blog/Image/2022/20220121/new_data_source.jpg" style="max-width:100%;" /></p></li></ul><p>+</p><p></p><h1 class="blog-sub-title"></h1><p>Navicat Charts Creator  17 </p><img alt="control_chart (33K)" src="/link/Blog/Image/2022/20220121/control_chart.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p> Navicat Charts Creator  Navicat Charts Creator  <a class="default-links" href="/download/navicat-charts-creator" target="_blank"> Charts Creator</a>  14 </p></body></html>]]></description>
</item>
<item>
<title>在 SQL 中计算总行数的百分比</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> SQL </title></head><body><b>2022  1  14 </b> Robert Gravelle <br/><br/><p> <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium 16</a> </p><img alt="fruits_table (68K)" src="/link/Blog/Image/2022/20220114/fruits_table.jpg" style="max-width:100%;" /><p> count()  Group By </p><img alt="fruit_orders_count (38K)" src="/link/Blog/Image/2022/20220114/fruit_orders_count.jpg" style="max-width:100%;" /><p> SQL </p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 20px;"><li> OVER() </li><li></li><li> CTE</li></ul><p></p><h1 class="blog-sub-title">OVER() </h1><p>OVER </p><p>OVER  SQL </p><pre>count(*) * 100.0 / sum(count(*)) over()</pre><p> SQL </p><img alt="percentage_using_over (59K)" src="/link/Blog/Image/2022/20220114/percentage_using_over.jpg" style="max-width:100%;" /><p> over() </p><h1 class="blog-sub-title"></h1><p> OVER()  Round() </p><pre>count(*) * 100.0 / (select count(*) from &lt;YourTable&gt;)</pre><p></p><img alt="Universal_percentage (61K)" src="/link/Blog/Image/2022/20220114/Universal_percentage.jpg" style="max-width:100%;" /><h1 class="blog-sub-title">CTE</h1><p><i>With common_table_expression</i> CTE sum() </p><img alt="percentage_using_cte (70K)" src="/link/Blog/Image/2022/20220114/percentage_using_cte.jpg" style="max-width:100%;" /><p> CTE  CTE </p><h1 class="blog-sub-title"></h1><p></p><p> Navicat 16<a class="default-links" href="/download/navicat-premium" target="_blank"></a> Navicat  14 </p></body></html>]]></description>
</item>
<item>
<title>在关系数据库中编写异或（Exclusive OR）条件</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title>Exclusive OR</title></head><body><b>2022  2  11 </b> Robert Gravelle <br/><br/><p> SQL  SQL Exclusive OR XOR </p><p> OR XOR </p><h1 class="blog-sub-title"> XOR </h1><p> MySQL XOR  2020  1  1 </p><p> <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium 16</a>  Sakila </p><img alt="xor_query_1 (191K)" src="/link/Blog/Image/2022/20220211/xor_query_1.jpg" style="max-width:100%;" /><p> 2020-07-07  store_id  2 store_id  1</p><p> XOR  OR 1  2020-01-01 </p><img alt="or_query_1 (128K)" src="/link/Blog/Image/2022/20220211/or_query_1.jpg" style="max-width:100%;" /><p> TRUE  OR  XOR </p><h1 class="blog-sub-title"> XOR </h1><p> XOR x XOR y </p><pre>(x AND (NOT y)) OR ((NOT x) AND y)</pre><p> SQL</p><pre>(A OR B) AND NOT (A AND B)</pre><p> SQL Server  SQL Server  XOR </p><img alt="error_msg (27K)" src="/link/Blog/Image/2022/20220211/error_msg.jpg" style="max-width:100%;" /><p> XOR </p><pre>WHERE   (ci.city = 'Lethbridge' OR c.create_date  > '2020-01-01')AND NOT (ci.city = 'Lethbridge' AND c.create_date > '2020-01-01')</pre><p> SQL Server </p><img alt="sql_server (224K)" src="/link/Blog/Image/2022/20220211/sql_server.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p> XOR </p><p> Navicat 16<a class="default-links" href="/download/navicat-premium" target="_blank"></a> 14 </p></body></html>]]></description>
</item>
<item>
<title>可充分提高工作效率的 Navicat 16 改進</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> Navicat 16 </title></head><body><b>2022  1  7 </b> Robert Gravelle <br/><br/><p> Navicat 16  Navicat UI</p><h1 class="blog-sub-title"></h1><p>Navicat 16 </p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 20px;"><li><img alt="icon_connectionProfile" src="/link/Blog/Image/2022/20220107/icon_connectionProfile.png" height="16" width="16" />  <p><img alt="new_connection (25K)" src="/link/Blog/Image/2022/20220107/new_connection.jpg" style="max-width:100%;" /></p></li><li>+ -></li><li></li><li></li><li></li></ul><p></p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 20px;"><li></li><li></li></ul><p></p><h1 class="blog-sub-title"></h1><p> Navicat 16 </p><img alt="value_picker (69K)" src="/link/Blog/Image/2022/20220107/value_picker.jpg" style="max-width:100%;" /><p></p><img alt="value_picker_search (15K)" src="/link/Blog/Image/2022/20220107/value_picker_search.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p></p><p></p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 20px;"><li></li><li> null</li><li></li><li></li></ul><p> <i>classicmodels</i>  MySQL  <i>orders</i> </p><img alt="field_info (120K)" src="/link/Blog/Image/2022/20220107/field_info.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p> SQL  SQL </p><img alt="query_summary (72K)" src="/link/Blog/Image/2022/20220107/query_summary.jpg" style="max-width:100%;" /><p> [...] </p><img alt="full_query (32K)" src="/link/Blog/Image/2022/20220107/full_query.jpg" style="max-width:100%;" /><p>DML UPDATEINSERT INTODELETE  CREATE</p><img alt="Screenshot_Navicat_16_Query_Summary_win (79K)" src="/link/Blog/Image/2022/20220107/Screenshot_Navicat_16_Query_Summary_win.png" style="max-width:100%;"/><h1 class="blog-sub-title"></h1><p> Navicat 16  Navicat  Navicat </p><p> Navicat 16<a class="default-links" href="/download/navicat-premium" target="_blank"></a> Navicat  14 </p></body></html>]]></description>
</item>
<item>
<title>使用 Navicat 16 更有效地呈现你的数据</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> Navicat 16 </title></head><body><b>2021  12  29 </b> Robert Gravelle <br/><br/><p> Navicat 16 <a class="default-links" href="/products/navicat-charts-creator" target="_blank">Navicat Charts Creator</a>  Navicat Navicat 15  Navicat 16 Navicat  Navicat 16 </p><h1 class="blog-sub-title"></h1><p>Navicat Charts Creator </p><ul style="list-style-type: disc; margin-left: 24px; line-height: 20px;"><li><p><img style="vertical-align:top;" alt="Relational DB (3K)" src="/link/Blog/Image/2021/20211229/Relational_DB.jpg" height="94" width="95" /><strong></strong> MySQLMariaDBPostgreSQLOracleSQLite  SQL Server </p></li><li><p><img style="vertical-align:top" alt="File Types (2K)" src="/link/Blog/Image/2021/20211229/File_Types.jpg" height="96" width="80" /><strong></strong> ExcelAccessCSV</p></li><li><p><img style="vertical-align:top" alt="odbc (3K)" src="/link/Blog/Image/2021/20211229/odbc.jpg" height="92" width="87" /><strong>ODBC</strong> ODBC  SybaseSnowflake  DB2</p></li><li><p><img style="vertical-align:top" alt="Linked File (2K)" src="/link/Blog/Image/2021/20211229/Linked_File.jpg" height="94" width="79" /><strong></strong></p></li></ul><h1 class="blog-sub-title"</h1><p>Navicat 16 </p><ul style="list-style-type: disc; margin-left: 24px; line-height: 20px;"><li></li><li></li><li></li><li></li><li></li><li><li></li><li></li><li>KPI</li></ul><p>Navicat 16 </p><figure>  <figcaption></figcaption>  <img alt="tornado (30K)" src="/link/Blog/Image/2021/20211229/tornado.jpg" style="max-width:100%;" /></figure><h1 class="blog-sub-title"></h1><p> Navicat 16 </p><img alt="Related charts" src="/images/Dashboard_01_Group_Charts.gif" /><p></p><img alt="Dashboard thumbnails" src="/images/Dashboard_03_PageStyle.png" /><h1 class="blog-sub-title"></h1><p> Navicat 16   Navicat  <a class="default-links" href="/download/navicat-charts-creator" target="_blank">Charts Creator</a> </p><p> Navicat 16<a class="default-links" href="/download/navicat-premium" target="_blank"></a> Navicat  14 </p></body></html>]]></description>
</item>
<item>
<title>Navicat 16 中改进了的协同合作</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title>Navicat 16 </title></head><body><b>2021  12  23 </b> Robert Gravelle <br/><br/><p> Navicat  <a class="default-links" href="/products/navicat-cloud">Navicat Cloud</a> IT 2021 Navicat  <a class="default-links" href="/navicat-16-highlights">Navicat 16</a> Navicat Cloud  Navicat  On-Prem Server Navicat 16 </p><h1 class="blog-sub-title">Navicat Cloud</h1><p> Navicat Cloud Navicat  Navicat Cloud  Navicat Cloud  Navicat Cloud Navicat Cloud  Navicat Cloud </p><figure>  <figcaption>macOS  Navicat Premium  Navicat Cloud</figcaption>  <img alt="navicat_cloud (81K)" src="/link/Blog/Image/2021/20211223/navicat_cloud.jpg" style="max-width:100%;" /></figure><p>Navicat 16  Navicat Cloud  On-Prem Server  Navicat </p><h1 class="blog-sub-title">Navicat On-Prem Server </h1><p><a class="default-links" href="/products/navicat-on-prem-server">Navicat On-Prem Server</a>  Navicat  Navicat On-Prem </p><p>  Navicat  Navicat On-Prem </p><p>Navicat On-Prem Server </p><h1 class="blog-sub-title"></h1><p> Navicat 16 </p><img alt="navicat_products (16K)" src="/link/Blog/Image/2021/20211223/navicat_products.jpg" style="max-width:100%;" /><p>Navicat Cloud  Navicat On-Prem Server  Navicat  WindowsmacOS  Linux</p></body></html>]]></description>
</item>
<item>
<title>在 Navicat 16 中生成测试数据</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> Navicat 16 </title></head><body> <b>2021  12  16 </b> Robert Gravelle <br/><br/>  <p> Navicat 16 </p><ul style="list-style-type: disc; margin-left: 24px; line-height: 20px;"><li></li><li></li><li>On-Prem Server</li><li></li><li>UI/UX </li></ul><p> Windows  <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium 16</a> </p><h1 class="blog-sub-title"></h1><p> SQLite  chinook </p><p><a class="default-links" href="https://www.sqlitetutorial.net/wp-content/uploads/2018/03/chinook.zip"> SQLite </a></p><p>Chinook  artistsalbumsmedia tracksinvoices customers  Navicat Premium 16 </p><img alt="sqlite_sample_db (36K)" src="link/Blog/Image/2021/20211216/sqlite_sample_db.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p></p><img alt="data_generation_menu_command (43K)" src="link/Blog/Image/2021/20211216/data_generation_menu_command.jpg" style="max-width:100%;" /><p>...</p><h1 class="blog-sub-title"></h1><p></p><img alt="data_generation_wizard_screen1 (63K)" src="link/Blog/Image/2021/20211216/data_generation_wizard_screen1.jpg" style="max-width:100%;" /><p></p><img alt="data_generation_wizard_screen1_options (11K)" src="link/Blog/Image/2021/20211216/data_generation_wizard_screen1_options.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p>Navicat  1000  </p><img alt="data_generation_wizard_screen2 (106K)" src="link/Blog/Image/2021/20211216/data_generation_wizard_screen2.jpg" style="max-width:100%;" /><p>Navicat </p><img alt="table_generation_order (15K)" src="link/Blog/Image/2021/20211216/table_generation_order.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p></p><img alt="albums_test_data_preview (87K)" src="link/Blog/Image/2021/20211216/albums_test_data_preview.jpg" style="max-width:100%;" /><p></p><h1 class="blog-sub-title"></h1><p>Navicat  Artist.ArtistId  UNIQUE </p><img alt="finished_with_error (51K)" src="link/Blog/Image/2021/20211216/finished_with_error.jpg" style="max-width:100%;" /><p></p><img alt="finished_successfully (87K)" src="link/Blog/Image/2021/20211216/finished_successfully.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p> SQLite  Chinook  Navicat 16 </p><p> Navicat 16<a class="default-links" href="/download/navicat-premium" target="_blank"></a> 14 </p></body></html>]]></description>
</item>
<item>
<title>在 MySQL 和 PostgreSQL 中存储三元数据</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> MySQL  PostgreSQL </title></head><body><b>2021  12  8 </b> Robert Gravelle <br/><br/><p>Booleantrue  falseNULL NULL SQLNULL  E. F. Codd  SQL NULL /NULL  MySQL  PostgreSQL  SQL Server  Oracle</p><h1 class="blog-sub-title"></h1><p>Enumerated Type EnumEnum  Enum MySQL  PostgreSQL Enum  SQL Server  Oracle</p><h1 class="blog-sub-title"> MySQL  Enum</h1><p> Enum MySQL CREATE TABLE  Enum </p><pre>CREATE TABLE shirts (  name VARCHAR(40),  size ENUM('x-small', 'small', 'medium', 'large', 'x-large'));</pre><p>From there, you can refer to an Enum using one of its string values:</p><pre>INSERT INTO shirts (name, size) VALUES ('dress shirt','large'),        ('t-shirt','medium'),       ('polo shirt','small');  SELECT name, size FROM shirts WHERE size = 'medium';UPDATE shirts SET size = 'small' WHERE size = 'large';</pre><p></p><pre>CREATE TABLE employee (  name VARCHAR(50),  security_clearance ENUM('enhanced', 'secret', 'none'));</pre><p> Enum </p><img alt="enum_error (33K)" src="link/Blog/Image/2021/20211208/enum_error.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"> PostgreSQL  Enum</h1><p> PostgreSQL Enum  CREATE TYPE </p><pre>CREATE TYPE mood AS ENUM ('sad', 'ok', 'happy');</pre><p>Enum </p><pre>CREATE TYPE mood AS ENUM ('sad', 'ok', 'happy');CREATE TABLE person (    name text,    current_mood mood);INSERT INTO person VALUES ('Moe', 'happy');SELECT * FROM person WHERE current_mood = 'happy'; name | current_mood ------+-------------- Moe  | happy(1 row)</pre><h1 class="blog-sub-title"></h1><p> MySQL  PostgreSQL </p></body></html>]]></description>
</item>
<item>
<title>在生产中测试 SQL 的危险</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> SQL </title></head><body><b>2021  12  1 </b> Robert Gravelle <br/><br/><img alt="i-dont-always-test-my-code-but-when-i-do-its-already-in-production" src="/link/Blog/Image/2021/20211130/i-dont-always-test-my-code-but-when-i-do-its-already-in-production.jpg" style="max-width:100%;" /><p></p><h1 class="blog-sub-title"></h1><p></p><h3></h3><p>INSERT  UPDATE </p><h3></h3><p> 10,000  1  shell </p><h3><h3><p>COMMIT</p><h3></h3><p>test123password123</p><h3></h3><p>......</p><h1 class="blog-sub-title"></h1><p></p></body></html>]]></description>
</item>
<item>
<title>SQL Server 中的 Unicode 和非 Unicode 字符串数据类型</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title>SQL Server  Unicode  Unicode </title></head><body><b>2021  11  19 </b> Robert Gravelle <br/><br/><p>SQL Server charvarcharSQL Server Unicode  UnicodeUnicode  ncharnvarchar  ntext Unicode  charvarchar/varchar (max)  text</p><h1 class="blog-sub-title"> Unicode  Unicode </h1><p>Nchar NATIONAL CHARACTERnvarchar NATIONAL CHARACTER VARYINGntext NATIONAL TEXT ISO  Unicode  <a class="default-links" href="https://en.wikipedia.org/wiki/JIS_encoding" target="_blank">JIS </a> VARCHAR  ASCII NVARCHAR  ASCII </p> <p> Unicode  GB JIS/SJIS BIG5 CNS  Unicode  VARCHAR  UTF-8 NATIONAL CHARACTER</p><p>NVARCHARNATIONAL CHARACTER VARYING VARCHAR SQL Server </p><blockquote>varchar  nvarchar varchar  8  1  nvarchar  2 nvarchar  4000  SQL varchar </blockquote><h1 class="blog-sub-title"></h1><p>nvarchar  2  varchar  1 nvarchar(4000)  varchar(8000)  UNICODE nvarchar  varchar  ASCII  VARCHAR  NVARCHAR</p><h1 class="blog-sub-title"></h1><p> SQL Server  Unicode  Unicode </p></body></html>]]></description>
</item>
<item>
<title>SQL 语句中 WHERE 1=1 的作用</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title>SQL  WHERE 1=1 </title></head><body><b>2021  11  8 </b> Robert Gravelle <br/><br/><p> SELECT  WHERE 1=1  SQL  WHERE TRUE WHERE WHERE 1=1 </p><h1 class="blog-sub-title">WHERE 1=1 </h1><p> WHERE 1=1  <a class="default-links" href="/en/products/navicat-premium" target="_blank">Navicat</a>  WHERE 1=1  SELECT </p><p> Sakila  Lethbridge </p><img alt="without 1=1.jpg" src="/link/Blog/Image/2021/20211108/without_1=1.jpg" style="max-width:100%;" /><p> 0.004 </p><p> WHERE 1=1 </p><img alt="with 1=1.jpg" src="/link/Blog/Image/2021/20211108/with_1=1.jpg" style="max-width:100%;" /><p> 0.004  WHERE 1=1 </p><p>...</p><h1 class="blog-sub-title"></h1><p>WHERE 1=1  SQL </p><h3> SQL </h3><p> WHERE 1=1  AND</p><img alt="with _in_static_sql (35K)" src="/link/Blog/Image/2021/20211108/with__in_static_sql.jpg" style="max-width:100%;" /><p></p><img alt="commas (19K)" src="/link/Blog/Image/2021/20211108/commas.jpg" style="max-width:100%;" /><h3> SQL </h3><p> SQL WHERE 1=1 and customer.id=:custId IDand ...</p><pre>stmt  = "SELECT * "stmt += "FROM TABLE "stmt += "WHERE 1=1 "if user chooses option a then stmt += "and A is not null "if user chooses option b then stmt += "and B is not null "if user chooses option b then stmt += "and C is not null "if user chooses option b then stmt += "and D is not null "</pre><h1 class="blog-sub-title"></h1><p>WHERE 1=1 </p></body></html>]]></description>
</item>
<item>
<title>Null 值和 SQL Count() 函数</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title>Null  SQL Count() </title></head><body><b>2021  10  25 </b> Robert Gravelle <br/><br/><p> 2020  3 <a class="default-links" href="/company/aboutus/blog/361--null-" target="_blank"> NULL </a> NULL  NULL  NULL  SQL Count() </p><h1 class="blog-sub-title"> Null  Null </h1><p>Count() COUNT(*)  COUNT(Expression)  Null  NULL  Count()  NULL Count()  NULL  NULL </p><pre>SELECT COUNT(*) - COUNT(&lt;Column Name&gt;)</pre><p> NULL  NULL  <a class="default-links" href="https://www.mysqltutorial.org/mysql-sample-database.aspx" target="_blank">MySQL classicmodels </a> customers  <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a> </p><img alt="customer_table (113K)" src="/link/Blog/Image/2021/20211025/customer_table.jpg" style="max-width:100%;" /><p>addressline2 </p><img alt="customer_table_2 (97K)" src="/link/Blog/Image/2021/20211025/customer_table_2.jpg" style="max-width:100%;" /><p> Count()  addressLine2  Null </p><pre>SELECT COUNT(*) AS All_Rows,       COUNT(addressLine2) AS addressLine2_Count,        COUNT(*) - COUNT(addressLine2) AS Null_addressLine2_RowsFROM customers;</pre><p> <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a>  SELECT </p><img alt="count_addressLine2 (54K)" src="/link/Blog/Image/2021/20211025/count_addressLine2.jpg" style="max-width:100%;" /><p>addressLine2_Count  Null_addressLine2_Rows  All_Rows </p><h1 class="blog-sub-title"> NULL</h1><p>Count()  COUNT(Expression)  Null  SQL IF()  SQL <pre>IF(predicate, true-value, false-value)</pre><p> true IF  true  1 false false  NULL COUNT  IF  1 true</p><pre>SELECT count(IF(country = 'Australia', 1, NULL)) as Australia_Count,        count(IF(country = 'Germany', 1, NULL)) as Germany_Count,        count(IF(country = 'Canada' OR country = 'USA', 1, NULL)) as North_America_Count,        count(IF(country like 'F%', 1, NULL)) as F_Countries_Count,        count(IF(creditLimit between 20000 and 1000000, 1, NULL)) as CreditLimit_Range_Count,        count(*) as Total_CountFROM customersWHERE dob >= '1960-01-01';</pre><p> Navicat </p><img alt="null_with_count_and_if_functions (78K)" src="/link/Blog/Image/2021/20211025/null_with_count_and_if_functions.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p> NULL  SQL Count()  NULL  NULL  SQL  IF()  SUM()</p></body></html>]]></description>
</item>
<item>
<title>了解 SQL Server 的 CROSS APPLY 和 OUTER APPLY 查询 - 第 2 部分</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> SQL Server  CROSS APPLY  OUTER APPLY  -  2 </title></head><body><b>2021  10  19 </b> Robert Gravelle <br/><br/><h1 class="blog-sub-title">CROSS APPLY  OUTER APPLY </h1><p> APPLY  JOIN  APPLY  INNER JOIN  APPLY </p><h1 class="blog-sub-title">APPLY  INNER JOIN </h1><p> 1  Department  CROSS APPLY  Department  Employee  Department  Employee </p><img alt="CROSS APPLY vs INNER JOIN (88K)" src="/link/Blog/Image/2021/20211019/CROSS_APPLY_vs_INNER_JOIN.jpg" style="max-width:100%;" /><p> <a class="default-links" href="/en/products/navicat-for-sqlserver" target="_blank">Navicat</a> </p><img alt="explain_ex_1 (176K)" src="/link/Blog/Image/2021/20211019/explain_ex_1.jpg" style="max-width:100%;" /><p></p><ul><li>APPLY </li><li>JOIN  SQL Server </li></ul><h1 class="blog-sub-title"> APPLY </h1><p> APPLY </p><p> DepartmentID  Navicat </p><img alt="function_button (22K)" src="/link/Blog/Image/2021/20211019/function_button.jpg" style="max-width:100%;" /><p><i></i> <i>GetAllEmployeesForDepartment</i> </p><img alt="GetAllEmployeesForDepartment_function (43K)" src="/link/Blog/Image/2021/20211019/GetAllEmployeesForDepartment_function.jpg" style="max-width:100%;" /><p> CROSS OUTER  OUTER APPLY </p><img alt="cross_apply_vs_outer_apply (94K)" src="/link/Blog/Image/2021/20211019/cross_apply_vs_outer_apply.jpg" style="max-width:100%;" /><p> DepartmentIDCROSS APPLY  OUTER APPLY  NULL</p><p> INNER JOIN/LEFT OUTER JOIN  CROSS/OUTER APPLYThe multi-part identifier "D.DepartmentID" could not be bound.JOINed APPLY </p><h1 class="blog-sub-title"></h1><p> CROSS APPLY  OUTER APPLY  APPLY  SELECT </p></body></html>]]></description>
</item>
<item>
<title>Navicat 16 预览</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title>Navicat 16 </title></head><body><b>2021  10  11 </b> by Robert Gravelle<br/><br/><p>Navicat 15  2019  11 SQL  Linux  Navicat 16 <a class="default-links" href="https://www.navicat.com/en/download/navicat-16-beta" target="_blank"> Beta </a></p><h1 class="blog-sub-title"></h1><p>Navicat 16 </p><img alt="table_order (107K)" src="https://www.navicat.com/link/Blog/Image/2021/20211011/table_order.jpg" style="max-width:100%;" /><p> Navicat </p><img alt="test_data_preview (86K)" src="https://www.navicat.com/link/Blog/Image/2021/20211011/test_data_preview.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p> Navicat 16 Navicat /</p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;"><li></li><li></li><li></li></ul><img alt="charts (85K)" src="https://www.navicat.com/link/Blog/Image/2021/20211011/charts.jpg" style="max-width:100%;" /><p></p><h1 class="blog-sub-title">On-Prem Server</h1><p>On-Prem Server  Navicat  Navicat 16  Navicat  On-Prem Server</p><h1 class="blog-sub-title"></h1><p> Navicat 15  Navicat Cloud  16 </p><p>Navicat Cloud Portal </p><h1 class="blog-sub-title">UI/UX </h1><p> UX </p><img alt="navicat_16 (224K)" src="https://www.navicat.com/link/Blog/Image/2021/20211011/navicat_16.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p> Navicat 16 </p><p> Navicat 16 Beta <a class="default-links" href="https://www.navicat.com/en/download/navicat-16-beta" target="_blank"></a></p></body></html>]]></description>
</item>
<item>
<title>了解 SQL Server 的 CROSS APPLY 和 OUTER APPLY 查询 - 第 1 部分</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> SQL Server  CROSS APPLY  OUTER APPLY  -  1 </title></head><body><b>2021  9  27 </b> Robert Gravelle <br/><br/><h1 class="blog-sub-title"> 1 APPLY  JOIN</h1><p>SQL Server  JOIN  SQL Server JOIN SQL Server 2005  APPLY  APPLY  JOIN </p><h1 class="blog-sub-title"> CROSS APPLY  OUTER APPLY</h1><p>SQL Server  APPLY CROSS APPLY  OUTER APPLY</p><ul><li>CROSS APPLY CROSS APPLY  INNER JOIN CROSS JOIN 1=1</li><li>OUTER APPLY  NULL OUTER APPLY  LEFT OUTER JOIN</li></ul><p> JOIN  APPLY APPLY </p><p> APPLY </p><h1 class="blog-sub-title"></h1><p><a class="default-links" href="/products/navicat-for-sqlserver" target="_blank">Navicat for SQL Server</a> Department </p><img alt="Department_table_design (47K)" src="/link/Blog/Image/2021/20210927/Department_table_design.jpg" style="max-width:100%;" /><p> Employee </p><img alt="Employee_table_design (51K)" src="/link/Blog/Image/2021/20210927/Employee_table_design.jpg" style="max-width:100%;" /><p> Navicat  SQL </p><pre>INSERT [Department] ([DepartmentID], [Name])  VALUES (1, N'Engineering') INSERT [Department] ([DepartmentID], [Name])  VALUES (2, N'Administration') INSERT [Department] ([DepartmentID], [Name])  VALUES (3, N'Sales') INSERT [Department] ([DepartmentID], [Name])  VALUES (4, N'Marketing') INSERT [Department] ([DepartmentID], [Name])  VALUES (5, N'Finance') GO  INSERT [Employee] ([EmployeeID], [FirstName], [LastName], [DepartmentID]) VALUES (1, N'Orlando', N'Gee', 1 ) INSERT [Employee] ([EmployeeID], [FirstName], [LastName], [DepartmentID]) VALUES (2, N'Keith', N'Harris', 2 ) INSERT [Employee] ([EmployeeID], [FirstName], [LastName], [DepartmentID]) VALUES (3, N'Donna', N'Carreras', 3 ) INSERT [Employee] ([EmployeeID], [FirstName], [LastName], [DepartmentID]) VALUES (4, N'Janet', N'Gates', 3 ) </pre><h1 class="blog-sub-title">CROSS APPLY vs INNER JOIN</h1><p> Department  CROSS APPLY  Department  Employee  Department  Employee </p><img alt="CROSS APPLY vs INNER JOIN (88K)" src="/link/Blog/Image/2021/20210927/CROSS_APPLY_vs_INNER_JOIN.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"> 2 </h1><p> APPLY  2  APPLY  JOIN  APPLY </p></body></html>]]></description>
</item>
<item>
<title>RDBMS 索引类型概述</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title>RDBMS </title></head><body><b>2021  9  17 </b> Robert Gravelle <br/><br/><p><a class="default-links" href="/company/aboutus/blog/453-" target="_blank"></a><a class="default-links" href="/company/aboutus/blog/454-" target="_blank"></a></p><h1 class="blog-sub-title"></h1><p>Relational Database Management SystemsRDBMS</p><h1 class="blog-sub-title"></h1><p></p><p></p><p></p><p>DBMS </p><h1 class="blog-sub-title"></h1><p></p><p> DBMS </p><h3></h3><p> Navicat </p><img alt="pk (35K)" src="/link/Blog/Image/2021/20210917/pk.jpg" style="max-width:100%;" /><p> Navicat </p><img alt="secondary_index (58K)" src="/link/Blog/Image/2021/20210917/secondary_index.jpg" style="max-width:100%;" /><p></p><img alt="explain (57K)" src="/link/Blog/Image/2021/20210917/explain.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p> RDBMS  Navicat Premium  <a class="default-links" href="/en/products/navicat-premium" target="_blank">Navicat Premium</a>, you can try it for free for 14 days!</p><br/><hr/><p>Rob Gravelle  20  IT Rob Rob  CD <a class="default-links" href="https://www.amazon.com/s?k=Rob+Gravelle&i=digital-music&search-type=ss&ref=ntt_srch_drd_B001ES9TTK" target="_blank"></a></p></body></html>]]></description>
</item>
<item>
<title>在关系数据库中更改列的数据类型</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title></title></head><body><b>2021  9  10 </b> Robert Gravelle <br/><br/><p></p><h1 class="blog-sub-title">ALTER TABLE </h1><p> ALTER TABLE Data Definition LanguageDDL CREATE TABLEDROP FUNCTION  GRANT </p><pre>ALTER TABLE table_to_change    what_to_change    (additional_arguments)</pre><p>ALTER TABLE </p><h3></h3><p>ALTER TABLE </p><h4> SQL Server </h4><pre>ALTER TABLE table_nameALTER COLUMN column_name column_type;</pre>   <h4> PostgreSQL </h4><pre>ALTER TABLE table_nameALTER COLUMN column_name TYPE column_definition;</pre><h4></h4><pre>ALTER TABLE table_nameMODIFY column_name column_type;</pre><h1 class="blog-sub-title"></h1><p> Oracle ALTER </p><pre>Error report:SQL Error: ORA-01439: column to be modified must be empty to change datatype01439. 00000   column to be modified must be empty to change datatype</pre><p></p><p> <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a>  MySQL </p><img alt="brands_table_design (95K)" src="/link/Blog/Image/2021/20210910/brands_table_design.jpg" style="max-width:100%;" /><p> ALTER TABLE  <i>name</i> (VARCHAR)  255 </p><img alt="alter_name_column (27K)" src="/link/Blog/Image/2021/20210910/alter_name_column.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"> VARCHAR  INT</h1><p> VARCHAR  Navicat </p><img alt="brand_code_type (35K)" src="/link/Blog/Image/2021/20210910/brand_code_type.jpg" style="max-width:100%;" /><p>Navicat </p><h1 class="blog-sub-title"></h1><p></p><pre>#1265 - Data truncated for column 'name' at row 2</pre><p> ALTER TABLE  name  10 </p><img alt="update_brands (10K)" src="/link/Blog/Image/2021/20210910/update_brands.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p></p><p> <a href="/products/navicat-premium" target="_blank">Navicat Premium</a> 14 </p><br/><hr/><p>Rob Gravelle  20  IT Rob Rob  CD <a class="default-links" href="https://www.amazon.com/s?k=Rob+Gravelle&i=digital-music&search-type=ss&ref=ntt_srch_drd_B001ES9TTK" target="_blank"></a></p></body></html>]]></description>
</item>
<item>
<title>MySQL 中的浮点数舍入错误</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title>MySQL </title></head><body><b>2021  9  3 </b> Robert Gravelle <br/><br/><p> MySQL DECIMAL  NUMERIC  DECIMAL  65DECIMAL </p>   <figure>  <figcaption>Navicat  DECIMAL </figcaption>  <img alt="decimal_column_in_navicat (43K)" src="/link/Blog/Image/2021/20210903/decimal_column_in_navicat.jpg" style="max-width:100%;" /></figure><p> DECIMAL  MySQL  MySQL </p><h1 class="blog-sub-title"></h1><p></p><figure>  <figcaption></figcaption>  <img alt="subquery (37K)" src="/link/Blog/Image/2021/20210903/subquery.jpg" style="max-width:100%;" /></figure><figure>  <figcaption> GROUP BY WITH ROLLUP </figcaption>  <img alt="group_by (57K)" src="/link/Blog/Image/2021/20210903/group_by.jpg" style="max-width:100%;" /></figure><p><i> GROUP BY WITH ROLLUP </i></p><p> <a class="default-links" href="https://www.mysqltutorial.org/mysql-sample-database.aspx" target="_blank">classicmodels </a> payments </p><img alt="payments_table (114K)" src="/link/Blog/Image/2021/20210903/payments_table.jpg" style="max-width:100%;" /><p> SELECT 4256.653475  4256.653476</p><p> GROUP BY WITH ROLLUP  SUM </p><h1 class="blog-sub-title"></h1><p> FLOATREAL  DOUBLE INTEGERSMALLINTDECIMAL  NUMERIC</p><p> 5.5 MySQL  C  65  DECIMAL  GROUP BY STDDEV()  VARIANCE()  DOUBLE SUM()  AVG()  DECIMAL DOUBLE</p><p> MySQL  CAST() </p><h1 class="blog-sub-title"></h1><p> SUM </p><img alt="simplified_query (30K)" src="/link/Blog/Image/2021/20210903/simplified_query.jpg" style="max-width:100%;" /><p></p></body></html>]]></description>
</item>
<item>
<title>使用 MySQL 慢速查询日志</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> MySQL </title></head><body><b>2021  8  27 </b> Robert Gravelle <br/><br/><p>MySQL  MySQL </p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li></li><li>isam </li><li></li><li></li><li></li></ul><p></p><h1 class="blog-sub-title"></h1><p> <i>long_query_time</i>  SQL  <i>min_examined_row_limit</i> </p> <i>--slow_query_log</i>  1 <p>Navicat  ON 0 Navicat  OFF</p><p> Navicat  <i>slow_query_log</i>  <i>slow_query_log_file</i> </p><img alt="slow_query_log_vars_in_navicat (50K)" src="/link/Blog/Image/2021/20210827/slow_query_log_vars_in_navicat.png" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p></p><pre># Time: 140905  6:33:11# User@Host: dbuser[dbname] @ hostname [1.2.3.4]# Query_time: 0.116250  Lock_time: 0.000035 Rows_sent: 0  Rows_examined: 20878use dbname;SET timestamp=1409898791;...SLOW QUERY HERE...</pre><p> <i>mysqldumpslow</i> </p><pre>~ $ mysqldumpslow -a /var/lib/mysql/slowquery.log Reading mysql slow query log from /var/lib/mysql/slowquery.log Count: 2  Time=316.67s (633s)  Lock=0.00s (0s)  Rows_sent=0.5 (1), Rows_examined=0.0 (0), Rows_affected=0.0 (0), root[root]@localhost...SLOW QUERY HERE...</pre><h3>Navicat </h3><p><a class="default-links" href="/products/navicat-monitor" target="_blank">Navicat Monitor</a>  SQL </p><p></p><ol><li></li><li> performance_schema </li></ol><p></p><img alt="query_analyzer (134K)" src="/link/Blog/Image/2021/20210827/query_analyzer.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p></p><p> <a class="default-links" href="/discover-navicat-monitor" target="_blank"></a> Navicat Monitor <a class="default-links" href="/download/navicat-monitor" target="_blank"></a> 14 </p></body></html>]]></description>
</item>
<item>
<title>识别费时查询</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title></title></head><body><b>2021  8  23 </b> Robert Gravelle <br/><br/><p>  MySQL </p><h1 class="blog-sub-title"> MySQL PROCESSLIST </h1><p>PROCESSLIST  INFORMATION_SCHEMA </p><h3> mysqladmin </h3><p>mysqladmin  MySQL processlistprocstatisticsstat MySQL </p><p></p><pre>+-------+------+-----------+-----------+---------+------+-------+--------------------+----------+| Id    | User | Host      | db        | Command | Time | State | Info               | Progress |+-------+------+-----------+-----------+---------+------+-------+--------------------+----------+| 77255 | root | localhost | employees | Query   | 150  |       | call While_Loop2() | 0.000    || 77285 | root | localhost |           | Query   | 0    | init  | show processlist   | 0.000    |+-------+------+-----------+-----------+---------+------+-------+--------------------+----------+Uptime: 781398  Threads: 2  Questions: 18761833  Slow queries: 0  Opens: 2976  Flush tables: 1  Open tables: 101  Queries per second avg: 26.543</pre><p> shell  PROCESSLIST </p><h3> MySQL PROCESSLIST </h3><p> PROCESSLIST  MySQL show processlist;Navicat  SQL  show processlist </p><img alt="show_processlist (47K)" src="/link/Blog/Image/2021/20210823/show_processlist.png" style="max-width:100%;" /><p>full</p><h1 class="blog-sub-title"></h1><p>DBA <a class="default-links" href="/download/navicat-monitor" target="_blank">Navicat Monitor</a> Navicat Monitor </p><img alt="query_analyzer (125K)" src="/link/Blog/Image/2021/20210823/query_analyzer.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p> MySQL PROCESSLIST  Navicat Monitor </p><p><a class="default-links" href="/discover-navicat-monitor" target="_blank"></a> Navicat Monitor <a class="default-links" href="/download/navicat-monitor" target="_blank"></a> 14 </p></body></html>]]></description>
</item>
<item>
<title>数据库索引对写入操作的影响</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title></title></head><body><b>2021  8  16 </b> Robert Gravelle <br/><br/><p></p><h1 class="blog-sub-title"> INSERTUPDATE  DELETE</h1><p>SELECT  INSERTUPDATE  DELETE </p><p>INSERT  UPDATE  DELETE </p><p></p><p> SELECT </p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;"><li></li><li></li></ul><h1 class="blog-sub-title">DML </h1><p> album  DMLData Manipulation Language</p><img alt="album_table (63K)" src="/link/Blog/Image/2021/20210816/album_table.jpg" style="max-width:100%;" /><p> <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat</a> </p><img alt="album_table_indexes (52K)" src="/link/Blog/Image/2021/20210816/album_table_indexes.jpg" style="max-width:100%;" /><p> MySQL 7 </p><img alt="index_drop-downs (14K)" src="/link/Blog/Image/2021/20210816/index_drop-downs.jpg" style="max-width:100%;" /><p> album </p><img alt="benchmark_statements (49K)" src="/link/Blog/Image/2021/20210816/benchmark_statements.jpg" style="max-width:100%;" /><p></p><img alt="benchmark_statements_results (20K)" src="/link/Blog/Image/2021/20210816/benchmark_statements_results.jpg" style="max-width:100%;" /><p></p><h1 class="blog-sub-title"></h1><p></p><p> <a href="/products/navicat-premium" target="_blank">Navicat Premium</a> 14 </p><br/><hr/><p>Rob Gravelle  20  IT Rob Rob  CD <a class="default-links" href="https://www.amazon.com/s?k=Rob+Gravelle&i=digital-music&search-type=ss&ref=ntt_srch_drd_B001ES9TTK" target="_blank"></a></p></body></html>]]></description>
</item>
<item>
<title>数据库索引的缺点</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title></title></head><body><b>2021  8  9 </b> Robert Gravelle <br/><p> SELECT DBA SELECT </p><h1 class="blog-sub-title"></h1><p></p><p></p><p> SELECT </p><h1 class="blog-sub-title"></h1><p>PK</p><p></p><p></p><p> BLOB textnvarchar(max)image  GUID  GUID  image </p><p><p><h1 class="blog-sub-title"></h1><p></p><br/><hr/><p>Rob Gravelle  20  IT Rob Rob  CD <a class="default-links" href="https://www.amazon.com/s?k=Rob+Gravelle&i=digital-music&search-type=ss&ref=ntt_srch_drd_B001ES9TTK" target="_blank"></a></p></body></html>]]></description>
</item>
<item>
<title>什么是数据库监控以及它为什么有用？</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title></title></head><body><b>2021  7  29 </b> Robert Gravelle <br/><br/><p> IT DBA</p><p> DBA </p><h1 class="blog-sub-title"></h1><p></p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li>CPU </li><li></li><li></li><li></li><li></li></ul><p></p><p>/</p><p></p><h1 class="blog-sub-title"></h1><p> MySQLMariaDBSQL Server  Amazon RDSAmazon AuroraOracle Cloud  Microsoft Azure <a class="default-links" href="/products/navicat-monitor" target="_blank">Navicat Monitor</a> Navicat Monitor </p><h1 class="blog-sub-title"></h1><p></p><p> <a class="default-links" href="/products/navicat-monitor" target="_blank">Navicat Monitor</a> 14 </p><br/><hr/><p>Rob Gravelle  20  IT Rob Rob  CD <a class="default-links" href="https://www.amazon.com/s?k=Rob+Gravelle&i=digital-music&search-type=ss&ref=ntt_srch_drd_B001ES9TTK" target="_blank"></a></p></body></html>]]></description>
</item>
<item>
<title>如何使用 Navicat 对 MySQL 表进行分区</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> Navicat  MySQL </title></head><body><b>2021  7  23 </b> Robert Gravelle <br/><br/><p><a class="default-links" href="/company/aboutus/blog/418-mysql-8-.html" target="_blank"></a> <a class="default-links" href="/products/navicat-for-mysql" target="_blank">Navicat for MySQL</a>  MySQL </p><h1 class="blog-sub-title"> Navicat </h1><p> Navicat </p><img alt="partition_button (65K)" src="/link/Blog/Image/2021/20210723/partition_button.jpg" style="max-width:100%;" /><p></p><h3></h3><p><i></i></p><img alt="partition_by_dropdown (17K)" src="/link/Blog/Image/2021/20210723/partition_by_dropdown.jpg" style="max-width:100%;" /><p> Navicat  MySQL 7 </p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;">    <li>Range partitioning</li><li>List partitioning</li><li>Composite partitioning</li><li>Round-robin partitioning</li><li>Hash partitioning</li></ul>  <br><h4></h4><p></p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;"><li></li><li></li></ul><h4></h4><p></p><img alt="partition_dialog (60K)" src="/link/Blog/Image/2021/20210723/partition_dialog.jpg" style="max-width:100%;" /><p></p><p>SQL  Navicat  SQL </p><pre>ALTER TABLE `sakila2`.`film` PARTITION BY HASH (actor)PARTITIONS 10(PARTITION `p0` MAX_ROWS = 0 MIN_ROWS = 0 ,PARTITION `p1` MAX_ROWS = 0 MIN_ROWS = 0 ,PARTITION `p2` MAX_ROWS = 0 MIN_ROWS = 0 ,PARTITION `p3` MAX_ROWS = 0 MIN_ROWS = 0 ,PARTITION `p4` MAX_ROWS = 0 MIN_ROWS = 0 ,PARTITION `p5` MAX_ROWS = 0 MIN_ROWS = 0 ,PARTITION `p6` MAX_ROWS = 0 MIN_ROWS = 0 ,PARTITION `p7` MAX_ROWS = 0 MIN_ROWS = 0 ,PARTITION `p8` MAX_ROWS = 0 MIN_ROWS = 0 ,PARTITION `p9` MAX_ROWS = 0 MIN_ROWS = 0 );</pre><h1 class="blog-sub-title"></h1><p> <a class="default-links" href="/products/navicat-for-mysql" target="_blank">Navicat for MySQL</a>  MySQL </p><p> <a class="default-links" href="/products/navicat-for-mysql" target="_blank">Navicat for MySQL</a>  14 </p><br/><hr/><p>Rob Gravelle  20  IT Rob Rob  CD <a class="default-links" href="https://www.amazon.com/s?k=Rob+Gravelle&i=digital-music&search-type=ss&ref=ntt_srch_drd_B001ES9TTK" target="_blank"></a></p></body></html>]]></description>
</item>
<item>
<title>MySQL 8 中的数据类型转换</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title>MySQL 8 </title></head><body><b>2021  7  9 </b> Robert Gravelle <br/><br/><p> POST  Web </p>   <p> MySQL  CAST()  CONVERT() </p>  <h1 class="blog-sub-title"></h1><p>CAST()  CONVERT()  MySQL  SQL  CONVERT() CAST() CAST()  goto </p><h1 class="blog-sub-title">CAST() </h1><p>MySQL CAST() </p> <ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;"><li></li><li> BINARYCHARDATEDATETIMETIMEDECIMALSIGNEDUNSIGNED </li></ul><p>H</p><pre>CAST(data as data_type)</pre><h3></h3><p>CAST()  MySQL Sakila  description   CAST()  100 </p><img alt="cast_example (60K)" src="/link/Blog/Image/2021/20210709/cast_example.jpg" style="max-width:100%;" /><p><i> Sakila  MySQL Name the Dolphin Eswatini Swaziland Ambrose Twebaze </i></p><h1 class="blog-sub-title">CONVERT() </h1><p>CONVERT()  CAST() </p><pre>CONVERT(expr, data_type)</pre><p>data_type  CAST() </p><h3></h3><p> CAST()  CONVERT() </p><p> USING </p><pre>CONVERT(expr USING charset);</pre><p> <a class="default-links" href="/products/navicat-for-mysql" target="_blank">Navicat for MySQL</a> <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a></p><img alt="film_table_info (34K)" src="/link/Blog/Image/2021/20210709/film_table_info.jpg" style="max-width:100%;" /><p> CONVERT()  description  UTF-8  Latin1 latin1  utf8  utf8  latin1 </p><h1 class="blog-sub-title"></h1><p> CAST()  CONVERT() CAST()  goto  CONVERT() </p><p> <a class="default-links" href="/products/navicat-for-mysql" target="_blank">Navicat for MySQL</a>  14 </p><br/><hr/><p>Rob Gravelle  20  IT Rob Rob  CD <a class="default-links" href="https://www.amazon.com/s?k=Rob+Gravelle&i=digital-music&search-type=ss&ref=ntt_srch_drd_B001ES9TTK" target="_blank"></a></p></body></html>]]></description>
</item>
<item>
<title>获取跨列的最大值</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title></title></head><body><b>2021  6  30 </b> Robert Gravelle <br/><br/><p>MAX() MAX()  MAX() </p><h1 class="blog-sub-title">MySQL </h1><p> MySQL MAX()  GREATEST()  GREATEST </p><pre>GREATEST(value1,value2,...)</pre><p> NULL GREATEST  NULL</p><h3></h3><p><a class="default-links" href="https://www.mysqltutorial.org/mysql-sample-database.aspx" target="_blank">classicmodels </a> products buyPriceMSRP</p><img alt="products_table (114K)" src="/link/Blog/Image/2021/20210630/products_table.jpg" style="max-width=100%" /><p>GREATEST() MAX() <a class="default-links" href="/products/navicat-for-sqlserver" target="_blank">Navicat for SQL Server</a> </p><img alt="greatest_function (37K)" src="/link/Blog/Image/2021/20210630/greatest_function.jpg" style="max-width=100%" /><p>MSRP </p><h1 class="blog-sub-title"></h1><p> GREATEST()  MAX()  SQL Server </p><h3>UNION ALL</h3><p>UNION ALL  SELECT  UNION UNION ALL </p><pre>SELECT MAX(T.field) AS MaxOfColumnsFROM (    SELECT column1 AS field    FROM YourTable     UNION ALL    SELECT column2 AS field    FROM YourTable    UNION ALL    SELECT column3 As field    FROM YourTable) AS T</pre>    <p> <a class="default-links" href="/products/navicat-for-sqlserver" target="_blank">Navicat for SQL Server</a> Sakila  rentals </p><img alt="union_all (43K)" src="/link/Blog/Image/2021/20210630/union_all.jpg" style="max-width=100%" /><h3>Select MAX from VALUES </h3><p>SQL VALUES  INSERT SELECT</p><pre>select (values (1), (2), (3)) as temp(c)</pre><p></p><pre>SELECT (  SELECT MAX(myval)   FROM (VALUES (column1),(column2),(column3)) AS temp(myval)) AS MaxOfColumnsFROMYourTable</pre>   <p> rentals </p><img alt="values (47K)" src="/link/Blog/Image/2021/20210630/values.jpg" style="max-width=100%" /><h1 class="blog-sub-title"></h1><p> GREATEST()  MAX() </p><p> <a class="default-links" href="/products/navicat-for-sqlserver" target="_blank">Navicat for SQL Server</a>  14 </p><br/><hr/><p>Rob Gravelle  20  IT Rob Rob  CD <a class="default-links" href="https://www.amazon.com/s?k=Rob+Gravelle&i=digital-music&search-type=ss&ref=ntt_srch_drd_B001ES9TTK" target="_blank"></a></p></body></html>]]></description>
</item>
<item>
<title>倒排索引简介</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title></title></head><body><b>2021  6  25 </b> Robert Gravelle <br/><br/><p> SELECT  MySQL </p><h1 class="blog-sub-title"></h1><p></p><p></p><table border="2">  <tr><th colspan="2" width="58%"></th><th colspan="2" width="58%"></th></tr>  <tr><th width="100"></th><th></th><th></th><th></th></tr>  <tr><td valign="top">1<br/>              2<br/>          3       </td>       <td valign="top">hello, sky, morning<br/>              tea, coffee, hi<br/>          greetings, sky       </td>       <td valign="top">hello<br/>              sky<br/>          coffee<br/>          hi<br/>          greetings</td>       <td valign="top">1<br/>              1, 3<br/>          2<br/>          2<br/>          3</td>  </tr>  </table><p></p><h1 class="blog-sub-title">MySQL </h1><p>MySQL  InnoDB CHARVARCHAR  TEXT  DML </p><p> Navicat  <a class="default-links" href="/products/navicat-for-mysql" target="_blank">Navicat for MySQL</a>  <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a></p><img alt="table_properties (11K)" src="/link/Blog/Image/2021/20210625/table_properties.png" style="max-width:100%;" /><p> InnoDB  FULLTEXT  FULLTEXT  - Sakila  Film  Description </p><img alt="index_type (43K)" src="/link/Blog/Image/2021/20210625/index_type.jpg" style="max-width:100%;" /><p></p><img alt="film_description_column (118K)" src="/link/Blog/Image/2021/20210625/film_description_column.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p></p><p> <a class="default-links" href="/products/navicat-for-mysql" target="_blank">Navicat for MySQL</a>  <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a>  14 </p><br/><hr/><p>Rob Gravelle  20  IT Rob Rob  CD <a class="default-links" href="https://www.amazon.com/s?k=Rob+Gravelle&i=digital-music&search-type=ss&ref=ntt_srch_drd_B001ES9TTK" target="_blank"></a></p></body></html>]]></description>
</item>
<item>
<title>关系数据库事务中的对象锁定 - 第 3 部分</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> -  3 </title></head><body><b>2021  6  22 </b> Robert Gravelle <br/><br/><h1 class="blog-sub-title"></h1><p>RDBMS 1  2 </p><h1 class="blog-sub-title"></h1><p> SQL </p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;"><li> SQL </li><li> SQL </li></ul><p> DELETE  SELECT  COMMIT </p><h1 class="blog-sub-title"></h1><p> SQL  COMMIT  ROLLBACK </p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li> IF@@TRANCOUNT > 0 ROLLBACK TRAN </li><li> SET XACT_ABORT ON </li><li></li></ul><h1 class="blog-sub-title"></h1><p></p><h1 class="blog-sub-title"></h1><p></p><br/><hr/><p>Rob Gravelle  20  IT Rob Rob  CD <a class="default-links" href="https://www.amazon.com/s?k=Rob+Gravelle&i=digital-music&search-type=ss&ref=ntt_srch_drd_B001ES9TTK" target="_blank"></a></p></body></html>]]></description>
</item>
<item>
<title>关系数据库事务中的对象锁定 - 第 2 部分</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> -  2 </title></head><body><b>2021  6  16 </b> Robert Gravelle <br/><br/><h1 class="blog-sub-title"></h1><p>RDBMS ACID  1 </p><h1 class="blog-sub-title"></h1><p> 1 </p><h1 class="blog-sub-title"></h1><p></p><h1 class="blog-sub-title"></h1><p></p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li></li><li></li><li></li></ul><h1 class="blog-sub-title"></h1><p></p><br/><hr/><p>Rob Gravelle  20  IT Rob Rob  CD <a class="default-links" href="https://www.amazon.com/s?k=Rob+Gravelle&i=digital-music&search-type=ss&ref=ntt_srch_drd_B001ES9TTK" target="_blank"></a></p></body></html>]]></description>
</item>
<item>
<title>关系数据库事务中的对象锁定</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title></title></head><body><b>2021  6  8 </b> Robert Gravelle <br/><br/><h1 class="blog-sub-title"> 1 </h1><p> ACID RDBMS ACID  RDBMS </p><h1 class="blog-sub-title"></h1><p> A  B  A </p><p>ACID  I</p><h1 class="blog-sub-title"></h1><p></p><p></p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;"><li></li><li></li><li></li><li></li></ul><h1 class="blog-sub-title"></h1><p></p><h1 class="blog-sub-title"></h1><p></p><br/><hr/><p>Rob Gravelle  20  IT Rob Rob  CD <a class="default-links" href="https://www.amazon.com/s?k=Rob+Gravelle&i=digital-music&search-type=ss&ref=ntt_srch_drd_B001ES9TTK" target="_blank"></a></p></body></html>]]></description>
</item>
<item>
<title>DBeaver 与 Navicat &ndash; 第 2 部分</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title>DBeaver  Navicat   2 </title></head><body><b>2021  6  3 </b> Robert Gravelle <br/><br/><img alt="header_2 (29K)" src="/link/Blog/Image/2021/20210603/header_2.jpg"  style="max-width:100%;" /><p>DBeaver  Navicat  MySQLMariaDBMongoDBSQL ServerOraclePostgreSQL  SQLite Amazon RDSAmazon AuroraAmazon RedshiftMicrosoft AzureOracle Cloud  MongoDB Atlas NoSQL </p><h1 class="blog-sub-title"></h1><p> GUI UX Windows  DBeaver  Navicat </p><table summary="GUI Comparison" width="100%">  <tr>    <td width="48%"><img  style="max-width:100%;" alt="DBeaver GUI" src="/link/Blog/Image/2021/20210603/DBeaver_gui.jpg" /></td>    <td>&nbsp;</td>    <td width="48%"><img  style="max-width:100%;" alt="Navicat Premium GUI" src="/link/Blog/Image/2021/20210603/02.Product_01_Premium_Windows_01_Mainscreen15.png" /></td>  </tr></table><p> GUINavicat </p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 20px;"><li></li><li></li><li></li></ul><h1 class="blog-sub-title"></h1><p></p><p>DBeaver  SSH SOCKS  Shell </p><p>Navicat  SSH  SSL  MySQL  MariaDB  PAM  MongoDB  Kerberos  X.509  PostgreSQL  GSSAPI Navicat  DBeaver </p><h1 class="blog-sub-title">NoSQL/BigData </h1><p> NoSQL  MongoDB</p><p>DBeaver  MongoDB NoSQL  SQL </p><p>Navicat  MongoDB Navicat  NoSQL  MongoDB  SQL  MongoDB </p><img alt="aggregate_query (84K)" src="/link/Blog/Image/2021/20210603/aggregate_query.jpg" style="max-width:100%;" /><p>Navicat  NoSQL </p><ul style="list-style-type: disc; margin-left: 24px; line-height: 20px;"> <li></li><li></li><li>JSON </li></ul><p> DBA </p><p></p><img alt="tree_view.jpg" src="/link/Blog/Image/2021/20210603/tree_view.jpg" style="max-width:100%;" /><p> JSON </p><img alt="json_view.jpg" src="/link/Blog/Image/2021/20210603/json_view.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p> DBeaver  Navicat Premium  2  NoSQL </p><br/><hr/><p>Rob Gravelle  20  IT Rob Rob <a class="default-links" href="https://www.amazon.com/s?k=Rob+Gravelle&i=digital-music&search-type=ss&ref=ntt_srch_drd_B001ES9TTK" target="_blank"> CD</a></p></body></html>]]></description>
</item>
<item>
<title>DBeaver 与 Navicat：数据库工具对决</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title>DBeaver  Navicat</title></head><body><b>2021  6  2 </b> Robert Gravelle <br/><br/><img alt="header (18K)" src="/link/Blog/Image/2021/20210602/header.jpg" style="max-width:100%;" /><p> IT </p>   <p></p><p> DBeaver  <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a> </p><h1 class="blog-sub-title"></h1><p>DBeaverDBeaver  Java  Eclipse  JDBC API JDBC  NoSQL </p><p>DBeaver  2010  2011  Freecode </p><p><a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a>/</p><p>Navicat  MySQL  2008 <a class="default-links" href="/products/navicat-for-mysql" target="_blank">Navicat for MySQL</a>  ICT 2008 Navicat Premium  2009  Navicat </p><h1 class="blog-sub-title"></h1><p></p><br/><hr/><p>Rob Gravelle  20  IT Rob Rob <a class="default-links" href="https://www.amazon.com/s?k=Rob+Gravelle&i=digital-music&search-type=ss&ref=ntt_srch_drd_B001ES9TTK" target="_blank"> CD</a></p></body></html>]]></description>
</item>
<item>
<title>将 SQL COUNT() 函数与 GROUP BY 一起使用</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> SQL COUNT()  GROUP BY </title></head><body><b>2021  5  28 </b> Robert Gravelle <br/><br/><p> 2020  8 <a class="default-links" href="/company/aboutus/blog/380-sql-count-" target="_blank">SQL Count() </a> COUNT  COUNT()  GROUP BY  COUNT()  GROUP BY  Navicat Premium  Sakila </p>  <h1 class="blog-sub-title"> 1 PG </h1><p>COUNT()  PG  PG  actor_id  GROUP BY GROUP BY GROUP BY  COUNTMAXSUMAVG </p><p> SELECT  <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a> </p><img alt="actors_who_have_appeared_in_most_pg_movies (105K)" src="/link/Blog/Image/2021/20210528/actors_who_have_appeared_in_most_pg_movies.jpg" style="max-width:100%;" /><p> GROUP BY  PG </p><h1 class="blog-sub-title"> 2</h1><p> COUNT()  rental  GROUP BY  rental_date  return_date  NULL</p><img alt="num_of_films_rented (66K)" src="/link/Blog/Image/2021/20210528/num_of_films_rented.jpg" style="max-width:100%;" /><p> ORDER BY</p><h1 class="blog-sub-title"> 3</h1><p>GROUP BY </p><img alt="num_of_films_rented_by_customer_per_month (175K)" src="/link/Blog/Image/2021/20210528/num_of_films_rented_by_customer_per_month.jpg" style="max-width:100%;" /><p> ORDER BY last_name customer_id </p><h1 class="blog-sub-title"></h1><p> Navicat Premium  Sakila  COUNT()  GROUP BY  COUNT()  GROUP BY </p><p> <a class="default-links" href="/products/navicat-for-sqlserver" target="_blank">Navicat for SQL Server</a> 14 </p><br/><hr/><p>Rob Gravelle  20  IT Rob Rob <a class="default-links" href="https://www.amazon.com/s?k=Rob+Gravelle&i=digital-music&search-type=ss&ref=ntt_srch_drd_B001ES9TTK" target="_blank"> CD</a></p></body></html>]]></description>
</item>
<item>
<title>重要的 SQL Server 函数 - 其他函数</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> SQL Server  - </title></head><body><b>2021  5  24 </b> Robert Gravelle <br/><br/><h1 class="blog-sub-title"> 4 </h1><p> SQL Server  NULL</p><h1 class="blog-sub-title">COALESCE</h1><p> NULL  NULL  NULL </p><p>COALESCE  SQL Server  NULL </p><pre>COALESCE(val1, val2, ...., val_n)</pre><p> NULL Sakila  film  original_language_id  NULL  COALESCE  <i>1</i> language_id</p><img alt="coalesce (53K)" src="/link/Blog/Image/2021/20210524/coalesce.jpg" style="max-width:100%;" /><h1 class="blog-sub-title">CONVERT</h1><p> SQL Server  CONVERT </p><pre>CONVERT(type, value)</pre><p> CONVERT  datetime </p><img alt="convert (73K)" src="/link/Blog/Image/2021/20210524/convert.jpg" style="max-width:100%;" /><h1 class="blog-sub-title">IIF</h1><p>IF/ELSE SQL Server  IIF  IF/ELSE </p><pre>IIF(expression, value_if_true, value_if_false)</pre><p> IIF ShortMedium Long</p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li>Short80 </li><li>Medium80  120</li><li>Long 120 </li></ul><p> IIF()  1  NULL 1ShortMedium  Long</p><img alt="iif (38K)" src="/link/Blog/Image/2021/20210524/iif.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p> SQL Server IIF  Microsoft </p><p> <a class="default-links" href="/products/navicat-for-sqlserver" target="_blank">Navicat for SQL Server</a> 14 </p><br/><hr/><p>Rob Gravelle  20  IT Rob Rob <a class="default-links" href="https://www.amazon.com/s?k=Rob+Gravelle&i=digital-music&search-type=ss&ref=ntt_srch_drd_B001ES9TTK" target="_blank"> CD</a></p></body></html>]]></description>
</item>
<item>
<title>重要的 SQL Server 函数 - 日期函数</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> SQL Server  - </title></head><body><b>2021  5  14 </b> Robert Gravelle <br/><br/><h1 class="blog-sub-title"> 3 </h1><p> IT  20  SQL Server</p><h1 class="blog-sub-title"></h1><p>/ SQL Server  CURRENT_TIMESTAMP  GETDATE() YYYY-MM-DD hh:mm:ss.mmm</p><img alt="getdate_and_current_timestamp (32K)" src="/link/Blog/Image/2021/20210514/getdate_and_current_timestamp.jpg" style="max-width:100%;" /><p>GETDATE()  CURRENT_TIMESTAMP </p><img alt="current_timestamp (61K)" src="/link/Blog/Image/2021/20210514/current_timestamp.jpg" style="max-width:100%;" /><h1 class="blog-sub-title">DATEPART</h1><p> DATEPART </p><pre>DATEPART(interval, date)</pre><p>interval <i>year</i><i>yyyy </i> <i>yy </i></p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;">  <li>year, yyyy, yy = </li><li>quarter, qq, q = </li><li>month, mm, m = </li><li>dayofyear, dy, y = </li><li>day, dd, d = </li><li>week, ww, wk = </li><li>weekday, dw, w = </li><li>hour, hh = </li><li>minute, mi, n = </li><li>second, ss, s = </li><li>millisecond, ms = </li></ul>    <p></p><img alt="datepart (48K)" src="/link/Blog/Image/2021/20210514/datepart.jpg" style="max-width:100%;" /><h1 class="blog-sub-title">DATEFROMPARTS</h1><p></p><pre>DATEFROMPARTS(year, month, day)</pre><p></p><img alt="date_from_parts (30K)" src="/link/Blog/Image/2021/20210514/date_from_parts.jpg" style="max-width:100%;" /><h1 class="blog-sub-title">DATEADD</h1><p> SQL Server  DATEADD</p><pre>DATEADD(interval, number, date)</pre><p>DATEADD  DATEPART </p><p></p><img alt="date_add (41K)" src="/link/Blog/Image/2021/20210514/date_add.jpg" style="max-width:100%;" /><p></p><img alt="date_subtract (33K)" src="/link/Blog/Image/2021/20210514/date_subtract.jpg" style="max-width:100%;" /><h1 class="blog-sub-title">DATEDIFF</h1><p></p><pre>DATEDIFF(interval, date1, date2)</pre><p></p><img alt="date_diff (31K)" src="/link/Blog/Image/2021/20210514/date_diff.jpg" style="max-width:100%;" /><p> DATEDIFF </p><img alt="date_diff_hours (34K)" src="/link/Blog/Image/2021/20210514/date_diff_hours.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p> SQL Server </p><p> <a class="default-links" href="/products/navicat-for-sqlserver" target="_blank">Navicat for SQL Server</a>  14 </p><br/><hr/><p>Rob Gravelle  20  IT Rob Rob <a class="default-links" href="https://www.amazon.com/s?k=Rob+Gravelle&i=digital-music&search-type=ss&ref=ntt_srch_drd_B001ES9TTK" target="_blank"> CD</a></p></body></html>]]></description>
</item>
<item>
<title>重要的 SQL Server 函数 - 数字函数</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> SQL Server  - </title></head><body><b>2021  5  11 </b> Robert Gravelle <br/><br/><h1 class="blog-sub-title"> 2 </h1><p>SQL Server  SQL  SQL Server <a class="default-links" href="/company/aboutus/blog/407--sql-server--.html" target="_blank"> 1 </a></p><h1 class="blog-sub-title">ABS</h1><p>ABS AbsoluteABS ABS </p><pre>ABS(inputNumber)</pre><p>deviation ABS  ClassicModels </p><img alt="abs (130K)" src="/link/Blog/Image/2021/20210511/abs.jpg" style="max-width:100%;" /><h1 class="blog-sub-title">ROUND</h1><p> ROUND SQL Server  ROUND </p><pre>ROUND(number, decimals, operation)</pre><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li>number</li><li>decimals</li><li>operation 0 5  0 </li></ul><p></p><img alt="round (111K)" src="/link/Blog/Image/2021/20210511/round.jpg" style="max-width:100%;" /><h1 class="blog-sub-title">CEILING</h1><p>CEILING  ROUND25.01  25.75  26</p><pre>CEILING(number)</pre><p> CEILING  CEILING </p><img alt="ceiling (127K)" src="/link/Blog/Image/2021/20210511/ceiling.jpg" style="max-width:100%;" /><h1 class="blog-sub-title">FLOOR</h1><p>FLOOR  CEILING FLOOR -0.5  FLOOR  -1 -0.5 </p><pre>FLOOR(number)</pre><p> ABS  FLOOR </p><img alt="floor (67K)" src="/link/Blog/Image/2021/20210511/floor.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p> SQL Server </p><p><a class="default-links" href="/products/navicat-for-sqlserver" target="_blank">Navicat for SQL Server</a>  14 </p><br/><hr/><p>Rob Gravelle  20  IT Rob Rob <a class="default-links" href="https://www.amazon.com/s?k=Rob+Gravelle&i=digital-music&search-type=ss&ref=ntt_srch_drd_B001ES9TTK" target="_blank"> CD</a> </p></body></html>]]></description>
</item>
<item>
<title>重要的 SQL Server 函数 - 字符串实用程序</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> SQL Server  - </title></head><body><b>2021  5  7 </b> Robert Gravelle <br/><br/><h1 class="blog-sub-title"> 1 </h1><p> SQL  C#  Java CHARVARCHAR  TEXT  SQL Server  SQL </p><h1 class="blog-sub-title">LEN</h1><p>LEN</p><pre>LEN(inputString)</pre><p> <a class="default-links" href="/products/navicat-for-sqlserver" target="_blank">Navicat for SQL Server</a>  Sakila  film  10 </p><img alt="len (63K)" src="/link/Blog/Image/2021/20210507/len.jpg" style="max-width:100%;" /><h1 class="blog-sub-title">TRIM</h1><p> TRIM  TRIM </p><pre>TRIM(inputString)</pre><p> TRIM  </p><img alt="trim (68K)" src="/link/Blog/Image/2021/20210507/trim.jpg" style="max-width:100%;" /><h1 class="blog-sub-title">CONCAT</h1><p>CONCAT </p><pre>CONCAT(string1, string2, ...., string_n)</pre><p>CONCAT  ID</p><img alt="concat (83K)" src="/link/Blog/Image/2021/20210507/concat.jpg" style="max-width:100%;" /><h1 class="blog-sub-title">UPPER  LOWER</h1><p></p><pre>UPPER(inputString)</pre><p> UPPER  LOWER </p><img alt="upper_and_lower (125K)" src="/link/Blog/Image/2021/20210507/upper_and_lower.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"> Navicat </h1><p>Navicat  SQL </p><img alt="autocomplete (20K)" src="/link/Blog/Image/2021/20210507/autocomplete.png" style="max-width:100%;" /><p> TAB </p><img alt="input_params (6K)" src="/link/Blog/Image/2021/20210507/input_params.png" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p> SQL Server  LENTRIMCONCATUPPER  LOWER</p><p> <a class="default-links" href="/products/navicat-for-sqlserver" target="_blank">Navicat for SQL Server</a>  14 </p></body></html>]]></description>
</item>
<item>
<title>使用游标循环遍历查询结果集</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title></title></head><body><b>2021  5  4 </b> Robert Gravelle <br/><br/><p>SQL  C#  Java Cursor SQL  WHILE  SELECT  SQL </p><h1 class="blog-sub-title"></h1><p></p><p></p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li></li><li></li><li></li></ul><h1 class="blog-sub-title"></h1><p></p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;"><li></li><li></li><li></li><li></li></ul><h3></h3><p> SELECT  SELECT </p><pre>DECLARE cursor_name CURSOR FOR select_statement</pre><h3></h3><p></p><pre>OPEN cursor_name</pre><h3></h3><p> SELECT SELECT  FETCH </p><pre>FETCH [[NEXT] FROM] cursor_name INTO var_name [, var_name] ...</pre><h3></h3><p></p><pre>CLOSE cursor_name</pre><h1 class="blog-sub-title"></h1><p> <a class="default-links" href="/products/navicat-for-mysql" target="_blank">Navicat for MySQL</a>  Sakila </p><img alt="cursor_definition (81K)" src="/link/Blog/Image/2021/20210504/cursor_definition.jpg" style="max-width:100%" /><p> <i>getEmail</i> LOOP;<i>finished</i>  <i>emailList</i> </p><img alt="cursor_result (22K)" src="/link/Blog/Image/2021/20210504/cursor_result.jpg" style="max-width:100%" /><h1 class="blog-sub-title"></h1><p></p><p> <a class="default-links" href="/products/navicat-for-mysql" target="_blank">Navicat for MySQL</a>  14 </p></body></html>]]></description>
</item>
<item>
<title>使用纯 SQL 将表复制到新表</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> SQL </title></head><body><b>2021  4  28 </b> Robert Gravelle <br/><br/><p> SQL  CREATE TABLE  SELECT </p><pre>CREATE TABLE new_table; SELECT SELECT col, col2, col3 INTO new_table FROM    existing_table;</pre><p> CREATE TABLE  SELECT  SELECT </p><p> CREATE TABLE </p><h1 class="blog-sub-title"> CREATE TABLE AS SELECT </h1><p>CREATE TABLE  CREATE TABLE  SELECT </p><pre>CREATE TABLE new_tbl [AS] SELECT * FROM orig_tbl;</pre><p></p><h1 class="blog-sub-title"></h1><p> SELECT  SQL  WHERE  ORDER BY </p><pre>CREATE TABLE new_table SELECT col1, col2, col3 FROM    existing_tableWHERE    conditions;</pre><h1 class="blog-sub-title"></h1><p> <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a> </p><p>CREATE TABLE AS SELECT  SELECT All (*)</p><img alt="offices_bkp (82K)" src="/link/Blog/Image/2021/20210428/offices_bkp.jpg" style="max-width:100%;" /><p> orders  <i>requiredDate</i> </p><img alt="orders_copy (74K)" src="/link/Blog/Image/2021/20210428/orders_copy.jpg" style="max-width:100%;" /><p></p><img alt="orders_copy_data (55K)" src="/link/Blog/Image/2021/20210428/orders_copy_data.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p>CREATE TABLE AS SELECT  MySQL  SQL Server </p><p>CREATE TABLE AS SELECT </p><pre>CREATE TABLE orders_copy LIKE orders;INSERT orders_copySELECT * FROM orders;</pre><p> <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a>  14 </p></body></html>]]></description>
</item>
<item>
<title>在存储过程中使用事务来防止数据不一致</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title></title></head><body><b>2021  4  20 </b> Robert Gravelle <br/><br/><p><a class="default-links" href="/company/aboutus/blog/403-.html" target="_blank"></a></p><h1 class="blog-sub-title"> sp_delete_from_table </h1><p> Sakila  MySQL  Sakila </p><p> sp_delete_from_table</p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li>@table</li><li>@whereclause</li><li>@delcnt</li></ul><p> @actcntbigint</p><p> <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a> </p><img alt="delete_from_table_stored_proc (163K)" src="/link/Blog/Image/2021/20210420/delete_from_table_stored_proc.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p></p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li> BEGIN TRANSACTION BEGIN  BEGIN WORK  BEGIN TRANSACTION  sp_delete_from_table  17 </li><li> COMMIT  32 </li><li> ROLLBACK <ol><li> 26 </li><li> 38 </li></ol></li><li> SET autocommit  MySQL autocommit  START TRANSACTION  COMMIT  ROLLBACK  sp_delete_from_table  SET autocommit </li></ul><h1 class="blog-sub-title"></h1><p> sp_delete_from_table  @whereclause  @delcnt </p><p> Navicat </p><img alt="input_dialog (23K)" src="/link/Blog/Image/2021/20210420/input_dialog.jpg" style="max-width:100%;" /><p></p><img alt="proc_result (33K)" src="/link/Blog/Image/2021/20210420/proc_result.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p></p><p> <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a>  14 </p><br/><br/><hr /><p>Rob Gravelle  20  IT Rob Rob <a class="default-links" href="https://www.amazon.com/s?k=Rob+Gravelle&i=digital-music&search-type=ss&ref=ntt_srch_drd_B001ES9TTK" target="_blank"> CD</a></p></body></html>]]></description>
</item>
<item>
<title>认识数据库事务</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title></title></head><body><b>2021  4  16 </b> Robert Gravelle <br/><br/><p>Atomicity Consistency Isolation DurabilityACID Andreas Reuter  1983 DBMSACID </p><p> DBMS  ACID </p><h1 class="blog-sub-title"></h1><p></p><p></p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;"><li></li><li></li></ul><p></p><h1 class="blog-sub-title">ACID </h1><p> ACID AtomicityConsistencysolation  Durability</p><h3>Atomicity</h3><p>atomic</p><h3>Consistency</h3><p></p><h3>Isolation</h3><p></p><h3>Durability</h3><p></p><h1 class="blog-sub-title"></h1><p> ACID </p></body></html>]]></description>
</item>
<item>
<title>在数据库层面上防止 SQL 注入</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> SQL </title></head><body><b>2021  4  14 </b> Robert Gravelle <br/><br/><p>DBA/SQL  SQL </p><h1 class="blog-sub-title"></h1><p> SQL DML DML </p><p> CallableStatementJava </p><pre>String custname = request.getParameter("customerName");try {  CallableStatement cs = connection.prepareCall("{call sp_getCustomerAccount(?)}");  cs.setString(1, custname);  ResultSet results = cs.executeQuery();  // ...result set handling} catch (SQLException se) {  // ...logging and error handling}</pre><h1 class="blog-sub-title"></h1><p>ASC  DESC SQL /</p><p></p><pre>String tableName;switch(PARAM):  case "Value1": tableName = "clientTable";                 break;  case "Value2": tableName = "employeeTable";                 break;  ...  default      : throw new InputValidationException("unexpected value provided"                                                  + " for table name");</pre><p>boolean</p><pre>public String myMethod(boolean sortOrder) {  String SQLquery = "some SQL ... order by Salary " + (sortOrder ? "ASC" : "DESC");  ...</pre><h1 class="blog-sub-title"></h1><p> SQL </p><p> DBMS  DBMS  SQL  SQL </p><p><a class="default-links" href="https://owasp.org/www-project-enterprise-security-api/" target="_blank">OWASP Enterprise Security API (ESAPI)</a> ESAPI </p><p> ESAPI  Oracle </p><pre>ESAPI.encoder().encodeForSQL( new OracleCodec(), queryparam );</pre><h1 class="blog-sub-title"></h1><p>DBA/SQL  SQL </p><hr /><p>Rob Gravelle  20  IT Rob  Rob rgconsulting(AT)robgravelle(DOT)comRob <a class="default-links" href="https://www.amazon.com/s?k=Rob+Gravelle&i=digital-music&search-type=ss&ref=ntt_srch_drd_B001ES9TTK" target="_blank"> CD</a></p></body></html>]]></description>
</item>
<item>
<title>关系数据库的原子性</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title></title></head><body><b>2021  3  30 </b> Robert Gravelle <br/><br/><p>AtomicityDML  DDLTransaction</p><h1 class="blog-sub-title">Atomicity ACID</h1><p>ACIDAtomicityConsistencyIsolationDurabilityDBMSACID </p><p></p><p> UPDATE 10  SQL !</p><p></p><h1 class="blog-sub-title"></h1><p> DBMS CRUDMySQL </p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li>InnoDB</li><li>MyISAM</li><li>Memory</li><li>CSV</li><li>Archive</li><li>Blackhole</li><li>NDB</li><li>Merge</li><li>Federated</li><li>Example</li></ul><p></p><p></p><p> MyISAM  MyISAM InnoDB  UPDATE  UPDATE </p><h1 class="blog-sub-title"> Navicat </h1><p>Navicat  <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a>  MySQL </p><img alt="storage_engine (135K)" src="/link/Blog/Image/2021/20210330/storage_engine.png" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p></p><p> <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a>  14 </p><hr /><p>Rob Gravelle  20  IT Rob  Rob rgconsulting(AT)robgravelle(DOT)comRob <a class="default-links" href="https://www.amazon.com/s?k=Rob+Gravelle&i=digital-music&search-type=ss&ref=ntt_srch_drd_B001ES9TTK" target="_blank"> CD</a></p></body></html>]]></description>
</item>
<item>
<title>在同一查询中使用 GROUP BY 和 ORDER BY</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> GROUP BY  ORDER BY</title></head><body><b>2021  3  25 </b> Robert Gravelle <br/><br/><p>GROUP BY  ORDER BY <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a>  <a class="default-links" href="https://dev.mysql.com/doc/sakila/en/" target="_blank">Sakila </a></p><h1 class="blog-sub-title">GROUP BY  ORDER BY </h1><p>ORDER BY GROUP BY  COUNT()AVG()MIN()  MAX() </p><p></p><p> actor first_namelast_name</p><img alt="order_by (77K)" src="/link/Blog/Image/2021/20210325/order_by.jpg" style="max-width:100%" /><p></p><img alt="group_by (49K)" src="/link/Blog/Image/2021/20210325/group_by.png" style="max-width:100%" /><h1 class="blog-sub-title"> GROUP BY  ORDER BY</h1><p> actor_id  ORDER BY </p><img alt="actors ordered by number of films (40K)" src="/link/Blog/Image/2021/20210325/actors_ordered_by_number_of_films.png" style="max-width:100%" /><p> ORDER BY  ORDER BY </p><img alt="actors_ordered_by_id_and_name (141K)" src="/link/Blog/Image/2021/20210325/actors_ordered_by_id_and_name.jpg" style="max-width:100%" /><h3></h3><p> GROUP BY  ORDER BY  SELECT </p><ul><li>GROUP BY  WHERE </li><li>GROUP BY  ORDER BY </li></ul><p>GROUP BY  ORDER BY </p><h1 class="blog-sub-title">HAVING </h1><p> HAVING HAVING  WHERE  HAVING </p><img alt="actors_in_more_than_10_films (144K)" src="/link/Blog/Image/2021/20210325/actors_in_more_than_10_films.jpg" style="max-width:100%" /><p>Navicat  SQL/DDL/ HAVING </p><img alt="auto_complete_for_having (9K)" src="/link/Blog/Image/2021/20210325/auto_complete_for_having.png" style="max-width:100%" /><p>HAVING  GROUP BY <i></i>ORDER BY <i></i></p><h1 class="blog-sub-title"></h1><p> <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a> </p><p> <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a>  14 </p><hr /><p>Rob Gravelle  20  IT Rob  Rob rgconsulting(AT)robgravelle(DOT)comRob <a class="default-links" href="https://www.amazon.com/s?k=Rob+Gravelle&i=digital-music&search-type=ss&ref=ntt_srch_drd_B001ES9TTK" target="_blank"> CD</a></p></body></html>]]></description>
</item>
<item>
<title>在 MySQL 中计算每日平均日期或时间间隔</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> MySQL </title></head><body><b>2021  3  19 </b> Robert Gravelle <br/><br/><p><a class="default-links" href="/company/aboutus/blog/392--sql-server-" target="_blank"></a> <a class="default-links" href="/products/navicat-for-sqlserver" target="_blank">Navicat for SQL Server</a>  SQL Server  <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a>  MySQL</p><h1 class="blog-sub-title"></h1><p> Sakila  rental </p><img alt="rental_table (103K)" src="/link/Blog/Image/2021/20210319/rental_table.png" width="951" height="664" ;  style="max-width:100%;" /><p> Navicat </p><img alt="rental_length_in_days_query (99K)" src="/link/Blog/Image/2021/20210319/rental_length_in_days_query.jpg"  style="max-width:100%;" /><p> rental_date  DATE() </p><p> MySQL DATEDIFF() Navicat  DATEDIFF()  DATEDIFF() </p><img alt="auto_complete_with_datediff_function (12K)" src="/link/Blog/Image/2021/20210319/auto_complete_with_datediff_function.png"  style="max-width:100%;" /><p> TAB </p><img alt="datediff_function_with_color_coded_parameters (3K)" src="/link/Blog/Image/2021/20210319/datediff_function_with_color_coded_parameters.png"  style="max-width:100%;" /><br /><br /><div style="border:2px solid black;padding: 5px;"><h3></h3><p> TIMEDIFF()  DATEDIFF() 60  60 </p></div><h1 class="blog-sub-title"></h1><p> GROUP BY  COUNT()  AVG()  rental_date  GROUP BY </p><img alt="average_rental_length_query (61K)" src="/link/Blog/Image/2021/20210319/average_rental_length_query.png" style="max-width:100%;" /><p> avg_days_rented  4 </p><h1 class="blog-sub-title"></h1><p> MySQL Navicat  SQL </p><p> <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a>  14 </p><br /><hr /><p>Rob Gravelle  20  IT Rob Rob <a class="default-links" href="https://www.amazon.com/s?k=Rob+Gravelle&i=digital-music&search-type=ss&ref=ntt_srch_drd_B001ES9TTK" target="_blank"> CD</a> Rob rgconsulting@robgravell.com</p></body></html>]]></description>
</item>
<item>
<title>不使用联接查询多个表</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title></title></head><body><b>2021  3  15 </b> Robert Gravelle <br/><br/><p> 1000  1000  1,000,000  UNION 1 UNION  UNION ALL </p><h1 class="blog-sub-title">UNION  UNION ALL</h1><p> UNION  UNION ALL UNION  UNION ALL UNION ALL  WHERE </p><h1 class="blog-sub-title"> UNION </h1><p> Sakila  SELECT </p><p> ID  8  8  UNION ALL UNION <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a> </p><img alt="customer and actors with same first names (61K)" src="/link/Blog/Image/2021/20210315/customer_and_actors_with_same_first_names.png" style="max-width:100%;" /><p> SELECT  actor_id  8  ID 8 </p><p> Navicat  UNION </p><img alt="union_operator (15K)" src="/link/Blog/Image/2021/20210315/union_operator.png" style="max-width:100%;" /><p> UNION  UNION ALL </p><img alt="error_message (5K)" src="/link/Blog/Image/2021/20210315/error_message.png" style="max-width:100%;" /><p> SELECT </p><p> UNION  UNION ALL  SELECT</p><h1 class="blog-sub-title"></h1><p>UNION  UNION ALL </p><p> <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a> 14 </p></body></html>]]></description>
</item>
<item>
<title>批量插入的三种方式</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title></title></head><body><b>2021  3  3 </b> Robert Gravelle <br/><br/><p> node.js  MySQL  1000  INSERT  INSERT </p><h1 class="blog-sub-title"> INSERT </h1><p>INSERT </p><pre>INSERT INTO table_name (column_list) VALUES     (value_list_1),     (value_list_2),     ...     (value_list_n); </pre><p> <a class="default-links" href="/products/navicat-for-mysql" target="_blank">Navicat for MySQL</a> </p><img alt="bulk_insert (65K)" src="/link/Blog/Image/2021/20210303/bulk_insert.jpg" style="max-width:100%;" /><p> SQL  INSERT  1000 </p><h1 class="blog-sub-title">LOAD DATA INFILE</h1><p> LOAD DATA INFILE  MySQL DBMSCSVTDV</p><p>c:\tmp\discounts.csv discounts </p><pre>LOAD DATA INFILE 'c:/tmp/discounts.csv'  INTO TABLE discounts  FIELDS TERMINATED BY ','  ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 ROWS; </pre><p> IGNORE 1 ROWS </p><p></p><h1 class="blog-sub-title"></h1><p> Navicat  CSVExcelHTMLXMLJSON </p><img alt="import_wizard_file_formats (49K)" src="/link/Blog/Image/2021/20210303/import_wizard_file_formats.jpg" style="max-width:100%;" /><p></p><img alt="import_wizard_delimiters (43K)" src="/link/Blog/Image/2021/20210303/import_wizard_delimiters.jpg" style="max-width:100%;" /><p>Navicat </p><img alt="import_wizard_progress (52K)" src="/link/Blog/Image/2021/20210303/import_wizard_progress.jpg" style="max-width:100%;" /><p></p><h1 class="blog-sub-title"></h1><p> MySQL  DBMS </p><p> <a class="default-links" href="/products/navicat-for-mysql" target="_blank">Navicat for MySQL</a>  14 </p></body></html>]]></description>
</item>
<item>
<title>联接与子查询：哪个更快？</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title></title></head><body><b>2021  2  18 </b> Robert Gravelle <br/><br/><p>JoinSubquery</p><h1 class="blog-sub-title"></h1><p></p><p></p><h1 class="blog-sub-title"></h1><p> MySQL  Sakila <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a> </p><h3> 1</h3><p>customer MAX<i>create_date</i></p><img alt="subquery_in_join_clause (268K)" src="/link/Blog/Image/2021/20210218/subquery_in_join_clause.jpg" style="max-width:100%;" /><p> SELECT  WHERE </p><h3> 2</h3><p> AVG()  COUNTAVGCOUNT</p><img alt="aggregate_of_an_aggregate (70K)" src="/link/Blog/Image/2021/20210218/aggregate_of_an_aggregate.jpg" style="max-width:100%;" /><p> 0.044 </p><h1 class="blog-sub-title"></h1><p> SQL </p><p> <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a>  14 </p></body></html>]]></description>
</item>
<item>
<title>数据库优化：概述</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title></title></head><body><b>2021  1  22 </b> Robert Gravelle <br/><br/><p></p><p></p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li></li><li></li><li> EXPLAIN</li></ul><p></p><h1 class="blog-sub-title"></h1><p>DBADBA </p><p> SQL  SQL </p><h1 class="blog-sub-title"></h1><p></p><h3> EXPLAIN</h3><p> EXPLAIN </p><p>EXPLAIN  Navicat SQL  EXPLAIN </p><img alt="explain_button (47K)" src="/link/Blog/Image/2021/20210122/explain_button.png" style="max-width:100%;" /><h3></h3><p> <a class="default-links" href="/products/navicat-monitor" target="_blank">Navicat Monitor</a> </p><img alt="query_analyzer (125K)" src="/link/Blog/Image/2021/20210122/query_analyzer.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p> DBMS </p></body></html>]]></description>
</item>
<item>
<title>什么是平面文件数据库？</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title></title></head><body><b>2021  1  7 </b> Robert Gravelle <br/><br/><p> NoSQL  Navicat </p><h1 class="blog-sub-title"></h1><p></p><p> ODBC </p><h1 class="blog-sub-title"></h1><p>Comma-Separated ValuesCSVTab-Separated ValuesTSVDelimiter Separated ValuesDSV</p><p>MySQL  LOAD DATA INFILE  LOAD DATA INFILE  CSV</p><pre>LOAD DATA INFILE 'c:/path/to/file.csv'  INTO TABLE discounts  FIELDS TERMINATED BY ','  ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 ROWS; </pre><h1 class="blog-sub-title"> Navicat </h1><p>Navicat DSVJSONXML </p><img alt="import_formats (32K)" src="/link/Blog/Image/2021/20210107/import_formats.jpg" style="max-width:100%;" /><p></p><img alt="delimiter_screen (22K)" src="/link/Blog/Image/2021/20210107/delimiter_screen.jpg" style="max-width:100%;" /><p></p><img alt="progress_report (43K)" src="/link/Blog/Image/2021/20210107/progress_report.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p> Navicat </p><p> Navicat  <a class="default-links" href="https://www.databasejournal.com/features/mysql/importing-xml-csv-text-and-ms-excel-files-into-mysql.html" target="_blank">Importing XML, CSV, Text, and MS Excel Files into MySQL</a> <a class="default-links" href="/products/navicat-for-mysql" target="_blank">Navicat for MySQL</a> </p><hr /><p>Rob Gravelle  20  IT Rob Rob <a class="default-links" href="https://www.amazon.com/s?k=Rob+Gravelle&i=digital-music&search-type=ss&ref=ntt_srch_drd_B001ES9TTK" target="_blank"> CD</a> Rob rgconsulting@robgravell.com</p></body></html>]]></description>
</item>
<item>
<title>识别表中缺少值的列</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title></title></head><body><b>2020  12  4 </b> Robert Gravelle <br/><br/><p>DBA INFORMATION_SCHEMA.COLUMNS </p><h1 class="blog-sub-title"> null </h1><p> null  null  <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat</a> <i> null</i> null </p><img alt="nullable_columns (151K)" src="/link/Blog/Image/2020/20201204/nullable_columns.jpg" style="max-width:100%;" /><p> null  null null</p><img alt="query_designer (123K)" src="/link/Blog/Image/2020/20201204/query_designer.jpg" style="max-width:100%;" /><p> SQL :</p><img alt="completed_query (55K)" src="/link/Blog/Image/2020/20201204/completed_query.png" style="max-width:100%;" /><p> customers  null </p><img alt="query_results (111K)" src="/link/Blog/Image/2020/20201204/query_results.png" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p> count()  null </p><img alt="percentage_of_empty_rows (46K)" src="/link/Blog/Image/2020/20201204/percentage_of_empty_rows.png"  style="max-width:100%;" /><p> null  <i>customerNumber</i> </p><img alt="stats_for_customer_103 (60K)" src="/link/Blog/Image/2020/20201204/stats_for_customer_103.png"  style="max-width:100%;" /><p> CASE  null  2  null </p><h1 class="blog-sub-title"></h1><p> SQL Server  INFORMATION_SCHEMA.COLUMNS </p><img alt="query_generator (249K)" src="/link/Blog/Image/2020/20201204/query_generator.jpg"  style="max-width:100%;" /><p> SELECT  Navicat  SELECT UNION</p><img alt="generated_sql_statements (53K)" src="/link/Blog/Image/2020/20201204/generated_sql_statements.jpg"  style="max-width:100%;" /></body></html>]]></description>
</item>
<item>
<title>在 SQL Server 中计算平均每日计数</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> SQL Server </title></head><body><b>2020  11  20 </b> Robert Gravelle <br/><br/><p></p>    <p> 5  10  10  0.32  50  1.61 </p><h1 class="blog-sub-title"></h1><p> SELECT  Sakila </p><pre>ID| MONTH | MONTHLY_COUNT | AVG_DAILY_COUNT -------------------------------------------  1| Jan   | 152           | 10.3  2| Jan   | 15000         | 1611  3| Jan   | 14255         | 2177  1| Feb   | 4300          | 113  2| Feb   | 9700          | 782  3| Feb   | 1900          | 97 etc... </pre><p> AVG_DAILY_COUNT  SELECT  ventory_id </p><img alt="inner_query (150K)" src="/link/Blog/Image/2020/20201120/inner_query.jpg" style="max-width:100%;" /><h3></h3><p></p><img alt="outer_query (165K)" src="/link/Blog/Image/2020/20201120/outer_query.jpg" style="max-width:100%;" /><p></p><pre>datediff(day,          datefromparts(rental_year, rental_month, 1),          dateadd(month, 1, datefromparts(rental_year, rental_month, 1))) days_in_month</pre><p>datediff() datefromparts()  rental_year  rental_month </p><p> daily_avg </p><pre>round(    cast(cnt as FLOAT) / cast(datediff(day,                               datefromparts(rental_year, rental_month, 1),                               dateadd(month, 1, datefromparts(rental_year, rental_month, 1))) as FLOAT                         ), 4) daily_avg</pre><p>cnt FLOAT 4 </p><h1 class="blog-sub-title"></h1><p> <a class="default-links" href="/products/navicat-for-sqlserver" target="_blank">Navicat for SQL Server</a> SQL Server  Navicat for SQL Server  14 </p></body></html>]]></description>
</item>
<item>
<title>为什么 MySQL（仍然）居最受欢迎数据库平台之首</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> MySQL</title></head><body><b>2020  11  16 </b> Robert Gravelle <br/><br/><p></p><p>DBMS MySQL<a class="default-links" href="https://www.mysql.com/products/community/" target="_blank">MySQL Community Edition</a><a class="default-links" href="https://www.explore-group.com/blog/the-most-popular-databases-2019/bp46/" target="_blank"></a> 2019  5 </p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;"><li>MySQL: 52%</li><li>PostgreSQL: 36%</li><li>MS SQL Server: 34%</li><li>SQLite: 30%</li><li>MongoDB: 26%</li></ul><p> MySQL </p><h1 class="blog-sub-title"></h1><p>MySQL MySQL  MySQL <a class="default-links" href="/products/navicat-for-mysql" target="_blank">Navicat for MySQL</a></p><p> 90 MySQL Sun Microsystems 2008  MySQLOracle 2010  MySQL  Oracle  MySQL Community Edition</p><h1 class="blog-sub-title"></h1><p>MySQL  FacebookGoogleAdobeAlcatel Lucent  Zappos MySQL </p><h1 class="blog-sub-title">Web </h1><p> Web  MySQL MySQL  SQL  Web </p><h1 class="blog-sub-title"></h1><p>MySQL  Oracle </p><h1 class="blog-sub-title"></h1><p>MySQL <a class="default-links" href="/products/navicat-for-mysql" target="_blank">Navicat for MySQL</a><a class="default-links" href="/products/navicat-monitor" target="_blank">Navicat Monitor</a></p><figure>  <figcaption>Navicat for MySQL  Windows </figcaption>  <img alt="Navicat for MySQL Windows Edition" src="/link/Blog/Image/2020/20201116/MySQL_Windows_Mainscreen.png" style="max-width:100%;" /></figure><figure>  <figcaption>Navicat Monitor  - </figcaption>  <img alt="Navicat Monitor Dashboard - Comfortable View" src="/link/Blog/Image/2020/20201116/NavicatMonitor_Dashboard.png" style="max-width:100%;"/></figure><h1 class="blog-sub-title"></h1><p> <a class="default-links" href="/products/navicat-for-mysql" target="_blank">Navicat for MySQL</a>  <a class="default-links" href="/products/navicat-monitor" target="_blank">Navicat Monitor</a><a class="default-links" href="https://www.mysql.com/products/community/" target="_blank">MySQL Community Edition</a> </p></body></html>]]></description>
</item>
<item>
<title>防止重复记录的发生</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title></title></head><body><b>2020  11  10 </b> Robert Gravelle <br/><br/><p>DBA</p><h1 class="blog-sub-title"></h1><p></p><p> <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat</a> </p><img alt="products_table_in_table_designer (158K)" src="/link/Blog/Image/2020/20201110/products_table_in_table_designer.jpg"  style="max-width:100%" /><p>Navicat  1  <i>productCode</i>PK NULL </p><p><i></i> <i>productLine </i> </p><img alt="productLine_index (23K)" src="/link/Blog/Image/2020/20201110/productLine_index.jpg" style="max-width:100%" /><p> <i>customerNumber</i>  <i>checkNumber</i>  <i>payments</i> </p><img alt="payments_table_in_table_designer (74K)" src="/link/Blog/Image/2020/20201110/payments_table_in_table_designer.jpg" style="max-width:100%" /><h1 class="blog-sub-title"></h1><p></p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;">   <li></li><li></li></ul><p></p><img alt="actor_table_in_table_designer (75K)" src="/link/Blog/Image/2020/20201110/actor_table_in_table_designer.jpg" style="max-width:100%" /><p> Navicat </p><p> <i>first_name</i>  <i>last_name</i> </p><p> Navicat +</p><img alt="duplicate_row (10K)" src="/link/Blog/Image/2020/20201110/duplicate_row.png" style="max-width:100%" /><p></p><img alt="duplicate_row_accepted (5K)" src="/link/Blog/Image/2020/20201110/duplicate_row_accepted.png" style="max-width:100%" /><h1 class="blog-sub-title"></h1><p></p></body></html>]]></description>
</item>
<item>
<title>刷新测试数据的指南</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title></title></head><body><b>2020  10  30 </b> Robert Gravelle <br/><br/><p> <a class="default-links" href="mailto:rgconsulting@robgravelle.com">Gravelle Web Development</a></p><h1 class="blog-sub-title"> SQL </h1><p>SQL  SQL  .sql  SQL  PL/SQL SQL  SQL  SQL  MySQL  SQL </p><pre>shell&gt; mysql --user="username" --database="databasename" --password="yourpassword" &lt; "path to sql file"</pre><h1 class="blog-sub-title"></h1><p> MySQL mysqldump  SQL mysqldump  SQL <pre>shell> mysqldump db_name > backup-file.sql </pre><p> SQL  DROP TABLE Mysqldump  --add-drop-table </p><p><a class="default-links" href="/products/navicat-premium" target="_blank">Navicat</a> SQL  mysqldump </p><img alt="dump_sql_file_command (105K)" src="/link/Blog/Image/2020/20201030/dump_sql_file_command.jpg" style="max-width:100%;" /><p> Navicat SQL DROP TABLE IF EXISTS  CREATE </p><img alt="sql_file_contents (217K)" src="/link/Blog/Image/2020/20201030/sql_file_contents.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p>TRUNCATE INSERT INTO </p><pre>TRUNCATE TABLE dbo.T1; INSERT INTO D1.dbo.T1 SELECT * FROM D2.dbo.T1;</pre><p> Navicat </p><img alt="insert_into_command (47K)" src="/link/Blog/Image/2020/20201030/insert_into_command.jpg" style="max-width:100%;" /><p> SQL CREATE TABLE  EMPTY TABLE TRUNCATE TABLE 1 </p><h1 class="blog-sub-title"></h1><p><a class="default-links" href="/products/navicat-premium" target="_blank">Navicat</a>  .sql  Navicat </p></body></html>]]></description>
</item>
<item>
<title>关于 ORDINAL_POSITION 的一切</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> ORDINAL_POSITION </title></head><body><b>2020  10  23 </b> Robert Gravelle <br/><br/><p> MySQLSQL ServerOracle ORDINAL_POSITION  <a class="default-links" href="/download/navicat-premium" target="_blank">Navicat Premium</a> </p><h1 class="blog-sub-title">ORDINAL_POSITION </h1><p> Navicat </p><img alt="orderdetails_columns_in_grid_view (95K)" src="/link/Blog/Image/2020/20201023/orderdetails_columns_in_grid_view.jpg" style="max-width:100%"; /><p></p><img alt="orderdetails_columns_in_table_designer (101K)" src="/link/Blog/Image/2020/20201023/orderdetails_columns_in_table_designer.jpg" style="max-width:100%"; /><p> SELECT </p><h1 class="blog-sub-title"></h1><p>ORDINAL_POSITION  INFORMATION_SCHEMA.COLUMNS </p><img alt="information_schema_columns_table (39K)" src="/link/Blog/Image/2020/20201023/information_schema_columns_table.jpg" style="max-width:100%"; /><h1 class="blog-sub-title"></h1><p> ORDINAL_POSITION</p><pre>ALTER TABLE orderdetails MODIFY COLUMN orderLineNumber smallint(6) AFTER quantityOrdered; </pre><p></p><pre>ALTER TABLE orderdetails CHANGE COLUMN orderLineNumber smallint(6) AFTER quantityOrdered; </pre><p> <i>orderLineNumber</i> </p><p> Navicat </p><img alt="move_up_button (58K)" src="/link/Blog/Image/2020/20201023/move_up_button.jpg" style="max-width:100%"; /><p> <i>orderLineNumber</i>  ORDINAL_POSITION </p><img alt="new_orderLineNumber_position (41K)" src="/link/Blog/Image/2020/20201023/new_orderLineNumber_position.jpg" style="max-width:100%"; /><p><i>orderLineNumber</i>  <i>priceEach</i> </p><img alt="new_orderLineNumber_position_in_grid_view (58K)" src="/link/Blog/Image/2020/20201023/new_orderLineNumber_position_in_grid_view.jpg" style="max-width:100%"; /><h1 class="blog-sub-title"> SELECT  ORDINAL_POSITION</h1><p> SELECT  ORDER BY </p><img alt="orderdetails_query_with_column_name (111K)" src="/link/Blog/Image/2020/20201023/orderdetails_query_with_column_name.jpg" style="max-width:100%"; /><p> ORDER BY  ORDINAL_POSITION </p><img alt="orderdetails_query (109K)" src="/link/Blog/Image/2020/20201023/orderdetails_query.jpg" height="621" width="552" /><p> SQL</p><h1 class="blog-sub-title"></h1><p> ORDINAL_POSITION </p><p>I Navicat Premium <a class="default-links" href="/download/navicat-premium" target="_blank"></a> 14 </p></body></html>]]></description>
</item>
<item>
<title>什么是勒索软件以及为什么受到关注</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title></title></head><body><b>2020  10  20 </b> Robert Gravelle <br/><br/><p> 1989  2019 </p><h1 class="blog-sub-title"></h1><p></p><p></p><img alt="800px-Ransomware-pic (81K)" src="/link/Blog/Image/2020/20201020/800px-Ransomware-pic.jpg" style="max-width:100%" /><h1 class="blog-sub-title"></h1><p></p><p>DBA</p><p></p><p> MySQL </p><p>MariaDBMySQL  SQL Server <a class="default-links" href="/products/navicat-monitor" target="_blank">Navicat Monitor </a></p><img alt="02.Product_01_NavicatMonitor_01a_Dashboards_Comfort (103K)" src="/link/Blog/Image/2020/20201020/02.Product_01_NavicatMonitor_01a_Dashboards_Comfort.png" style="max-width:100%" /><h1 class="blog-sub-title"></h1><p> 2020 <a class="default-links" href="/products/navicat-monitor" target="_blank">Navicat Monitor </a></p></body></html>]]></description>
</item>
<item>
<title>按月筛选日期</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title></title></head><body><b>2020  10  14 </b> Robert Gravelle <br/><br/><p>DBMS MONTH()  MONTHNAME()  SQL </p><h1 class="blog-sub-title"></h1><p>MONTH()  MONTHNAME()  MySQL SQL Server  MONTHNAME()  DATENAME() </p><p>Navicat  DBMS  MONTH() </p><img alt="auto-complete (30K)" src="/link/Blog/Image/2020/20201014/auto-complete.jpg" style="max-width:100%" /><p> SQL  TAB </p><img alt="monthname_function_cursor (7K)" src="/link/Blog/Image/2020/20201014/monthname_function_cursor.jpg" style="max-width:100%" /><h1 class="blog-sub-title">MONTH()  MONTHNAME() </h1><p>MONTH()  1 12 </p><img alt="month_function (27K)" src="/link/Blog/Image/2020/20201014/month_function.jpg" style="max-width:100%" /><p>MONTHNAME() </p><img alt="monthname_function (29K)" src="/link/Blog/Image/2020/20201014/monthname_function.jpg" style="max-width:100%" /><h1 class="blog-sub-title"> MONTH()  MONTHNAME() </h1><p>/ Sakila  Sakila  MySQL <a class="default-links" href="/products/navicat-for-mysql" target="_blank">Navicat for MySQL</a> rental </p><img alt="rental_table (337K)" src="/link/Blog/Image/2020/20201014/rental_table.jpg" style="max-width:100%" /><p> rental_date </p><img alt="rental_query (160K)" src="/link/Blog/Image/2020/20201014/rental_query.jpg" style="max-width:100%" /><p> MONTH()  WHERE </p><img alt="rental_query_filtered_by_month (151K)" src="/link/Blog/Image/2020/20201014/rental_query_filtered_by_month.jpg" style="max-width:100%;" /><p> MONTHNAME() </p><img alt="rental_query_with_month_name (139K)" src="/link/Blog/Image/2020/20201014/rental_query_with_month_name.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p> WHERE  WHERE  YEAR()  MONTH()  2005  5 </p><img alt="rental_query_with_year (140K)" src="/link/Blog/Image/2020/20201014/rental_query_with_year.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p> MONTH()  MONTHNAME() MySQL  YEAR() Navicat  SQL </p></body></html>]]></description>
</item>
<item>
<title>在 MySQL 8 中实现闪速查询响应时间</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> MySQL 8 </title></head><body><b>2020  10  9 </b> Robert Gravelle <br/><br/><p> Web UI</p><p> MySQL 8</p><h1 class="blog-sub-title">EXPLAIN </h1><p> EXPLAIN </p><p>EXPLAIN  EXPLAIN </p><p> <a class="default-links" href="/download/navicat-for-mysql" target="_blank">Navicat for MySQL</a>  SQL  EXPLAIN </p><img alt="explain_button (47K)" src="/link/Blog/Image/2020/20201009/explain_button.png" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p> MySQL </p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;"><li><pre>SET profiling = 1; </pre></li><li><pre>SHOW PROFILES;</pre></li><li><pre>SHOW PROFILE FOR QUERY 1; </pre>...</li></ul><p></p><img alt="show_profile (179K)" src="/link/Blog/Image/2020/20201009/show_profile.jpg" style="max-width:100%;" /><p> CPU </p><img alt="show_cpu_profile (118K)" src="/link/Blog/Image/2020/20201009/show_cpu_profile.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"> Navicat Monitor </h1><p>Navicat Monitor  MySQLMariaDB  SQL Server Amazon RDSAmazon AuroraOracle CloudMicrosoft Azure</p><img alt="query_analyzer (125K)" src="/link/Blog/Image/2020/20201009/query_analyzer.jpg" style="max-width:100%;" /><p></p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li></li><li> 5  ID</li><li></li></ul><h1 class="blog-sub-title"></h1><p> MySQL 8 </p><p> Navicat Monitor  <a class="default-links" href="/download/navicat-monitor" target="_blank"></a> 14 </p></body></html>]]></description>
</item>
<item>
<title>防止在存储过程中删除所有记录</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title></title></head><body><b>2020  10  6 </b> Robert Gravelle <br/><br/><p>Data Manipulation LanguageDML WHERE  DELETE  DML </p>  <h1 class="blog-sub-title"></h1><p> WHERE <a class="default-links" href="/products/navicat-for-sqlserver" target="_blank">Navicat for SQL Server</a> SQL Server  <i>table</i>  <i>whereclause</i></p><img alt="delete_from_table_procedure (106K)" src="/link/Blog/Image/2020/20201006/delete_from_table_procedure.jpg" style="max-width:100%" /><p> Navicat </p><img alt="input_param_dialog (21K)" src="/link/Blog/Image/2020/20201006/input_param_dialog.jpg" style="max-width:100%" /><p><i>delcnt</i>  <i>@@rowcount</i><i>would</i></p><img alt="would_have_been_deleted_message (30K)" src="/link/Blog/Image/2020/20201006/would_have_been_deleted_message.jpg" style="max-width:100%" /><p><i>actcnt</i></p><img alt="actcnt_variable (20K)" src="/link/Blog/Image/2020/20201006/actcnt_variable.jpg" style="max-width:100%" /><p><i>delcnt</i>  <i>whereclause</i> </p><img alt="whereclause_check (17K)" src="/link/Blog/Image/2020/20201006/whereclause_check.jpg" style="max-width:100%" /><h1 class="blog-sub-title"> <i>delcnt</i> </h1><p> WHERE id not null</p><p>@delcnt <i>sp_executesql</i>  count(*) </p><img alt="delete_from_table_procedure_with_actcnt_check (148K)" src="/link/Blog/Image/2020/20201006/delete_from_table_procedure_with_actcnt_check.png" style="max-width:100%" /><p></p><img alt="input_param_dialog_with_destructive_whereclause_param (21K)" src="/link/Blog/Image/2020/20201006/input_param_dialog_with_destructive_whereclause_param.jpg" style="max-width:100%" /><p>...</p><img alt="actcnt_variable_check_validation_message (22K)" src="/link/Blog/Image/2020/20201006/actcnt_variable_check_validation_message.jpg" style="max-width:100%" /><h1 class="blog-sub-title"></h1><p></p><p> Navicat for SQL Server <a class="default-links" href="/download/navicat-for-sqlserver" target="_blank"></a> 14 </p></body></html>]]></description>
</item>
<item>
<title>获取有关数据库表列的元数据</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title></title></head><body><b>2020  9  22 </b> Robert Gravelle <br/><br/><p> MySQL  SQL Server INFORMATION_SCHEMA INFORMATION_SCHEMA  INFORMATION_SCHEMA </p><h1 class="blog-sub-title"><a class="default-links" href="/products/navicat-premium" target="_blank">Navicat</a> INFORMATION_SCHEMA </h1><p> Navicat  INFORMATION_SCHEMA  INFORMATION_SCHEMA </p><img alt="edit_connection_dialog (75K)" src="/link/Blog/Image/2020/20200922/edit_connection_dialog.jpg" style="max-width:100%" /><p> Columns </p><img alt="INFORMATION_SCHEMA_columns_table (250K)" src="/link/Blog/Image/2020/20200922/INFORMATION_SCHEMA_columns_table.jpg" style="max-width:100%" /><p> Columns </p><p><strong>INFORMATION_SCHEMA </strong></p><h1 class="blog-sub-title"></h1><p> Columns </p><pre>SELECT count(*) AS anyName FROM information_schema.columns WHERE [table_schema = 'yourSchemaName' AND] table_name = 'yourTableName'; </pre>   <p>table_schema </p><p> Sakila </p><img alt="MySQl_connection_databases (24K)" src="/link/Blog/Image/2020/20200922/MySQl_connection_databases.jpg" style="max-width:100%" /><p> table_schema  51</p><img alt="select_column_count_of_film_table (34K)" src="/link/Blog/Image/2020/20200922/select_column_count_of_film_table.jpg" style="max-width:100%" /><p> table_schema  12</p><img alt="select_column_count_of_film_table_with_schema (40K)" src="/link/Blog/Image/2020/20200922/select_column_count_of_film_table_with_schema.jpg" style="max-width:100%" /><p> film  12 </p><img alt="film_table_design (87K)" src="/link/Blog/Image/2020/20200922/film_table_design.jpg" style="max-width:100%" /><h1 class="blog-sub-title"></h1><p>title</p><img alt="finding_column_info (166K)" src="/link/Blog/Image/2020/20200922/finding_column_info.jpg" style="max-width:100%" /><h1 class="blog-sub-title"></h1><p> INFORMATION_SCHEMA </p><p> Navicat Premium <a class="default-links" href="/download/navicat-premium" target="_blank"></a> 14 </p></body></html>]]></description>
</item>
<item>
<title>从表中选择第二高的值</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title>Selecting the Second Highest Value from a Table</title></head><body><b>2020  9  17 </b> Robert Gravelle <br/><br/><p> SQL  n  ORDER BY DESC  LIMIT </p><h1 class="blog-sub-title"></h1><p><a class="default-links" href="https://www.mysqltutorial.org/mysql-sample-database.aspx/" target="_blank">classicmodels </a> MySQL  SQLclassicmodels </p><p><a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium </a> payments </p><img alt="payments_table (171K)" src="/link/Blog/Image/2020/20200917/payments_table.jpg" style="max-width:100%" /><p></p><h1 class="blog-sub-title"> LIMIT </h1><p>LIMIT  SELECT LIMIT </p><p></p><pre>SELECT     select_listFROM    table_nameLIMIT [offset,] row_count;</pre><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;">   <li>offset  0 1</li><li>row_count </li></ul><h1 class="blog-sub-title"></h1><p> LIMIT  SELECT </p><pre>SELECT * FROM yourTableName ORDER BY DESC yourColumnName LIMIT 1,1;</pre><p> payments  amount </p><img alt="limit_query (48K)" src="/link/Blog/Image/2020/20200917/limit_query.jpg" style="max-width:100%" /><h3></h3><p> Navicat </p><img alt="sort_menu (14K)" src="/link/Blog/Image/2020/20200917/sort_menu.jpg" style="max-width:100%" /><p></p><img alt="2nd_row_hightlighted (99K)" src="/link/Blog/Image/2020/20200917/2nd_row_hightlighted.jpg" style="max-width:100%" /><h1 class="blog-sub-title"> N </h1><p></p><pre>SELECT * FROM yourTableName ORDER BY DESC yourColumnName LIMIT 3,1;</pre><p></p><pre>SELECT * FROM yourTableName ORDER BY DESC yourColumnName LIMIT desiredRank - 1, 1;</pre><p></p><img alt="10th_amount_query (48K)" src="/link/Blog/Image/2020/20200917/10th_amount_query.jpg" style="max-width:100%" /><h1 class="blog-sub-title"></h1><p> ORDER BY DESC  LIMIT  N  TOP </p><p> Navicat Premium <a class="default-links" href="/download/navicat-premium" target="_blank"></a> 14 </p></body></html>]]></description>
</item>
<item>
<title>比较关系数据库中的 Null、零和空白字符串的语义</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> Null</title></head><body><b>2020  9  8 </b> Robert Gravelle <br/><br/><p> Null NullRDBMS Null</p><h1 class="blog-sub-title"> Null</h1><p>Null <i> null</i> <i> null</i>  NULL <i> null</i> </p><pre>CREATE TABLE table_name (    column1 datatype [ NULL | NOT NULL ],   column2 datatype [ NULL | NOT NULL ],   ... ); </pre><p>Navicat  Navicat  NULL <i>null</i> </p><img alt="Not_null_column (148K)" src="/link/Blog/Image/2020/20200908/Not_null_column.jpg" style="max-width:100%" /><p>NULL  (<i>Null</i>)</p><img alt="customers_table (202K)" src="/link/Blog/Image/2020/20200908/customers_table.jpg" style="max-width:100%" /><p>Null ???</p><h1 class="blog-sub-title"></h1><p>0 naughtnaughtnilzilchzipnadascratch  goose egg 0.00  NULL </p><p> Navicat </p><img alt="creditLimit_column (26K)" src="/link/Blog/Image/2020/20200908/creditLimit_column.jpg" style="max-width:100%" /><p>NULL </p><h1 class="blog-sub-title"></h1><p>"" NULL  NULL  NULL </p><h1 class="blog-sub-title"></h1><p> Null</p><p><a class="default-links" href="/download/navicat-premium" target="_blank">Navicat</a>  Null  Null</p></body></html>]]></description>
</item>
<item>
<title>SQL Count() 函数的多种用法</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title>SQL Count() </title></head><body><b>2020  8  27 </b> Robert Gravelle <br/><br/><p>RDBMS SQL COUNT()  COUNT()  WHERE  SQL </p><h1 class="blog-sub-title"></h1><p> ANSI SQL COUNT()  SQL 2003 ANSI  COUNT() MySQLPostgreSQL  Microsoft SQL Server  ANSI SQL </p><pre>COUNT(*)COUNT( [ALL|DISTINCT] expression )</pre><p>DB2  Oracle </p><pre>COUNT ({*|[DISTINCT] expression}) OVER (window_clause)</pre><p> SQL 2003 ANSI </p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li>ALLALL  COUNT  NULL </li><li>DISTINCT COUNT  NULL </li><li>Expression<ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;"> <li></li><li></li><li>SQL </li> </ul> </li><li>* NULL</li></ul><h1 class="blog-sub-title"></h1><p> COUNT  COUNT()  <a class="default-links" href="/products/navicat-for-mysql" target="_blank">Navicat for MySQL</a> </p><img alt="employee_table (48K)" src="/link/Blog/Image/2020/20200827/employee_table.jpg" style="max-width:100%" /><p></p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;">    <li></li><li></li><li></li><li></li></ul><img alt="employee_count_query (69K)" src="/link/Blog/Image/2020/20200827/employee_count_query.jpg" style="max-width:100%" /><p> COUNT()  Null Null DISTINCT/</p><h1 class="blog-sub-title"></h1><p>SQL COUNT ()  SQL  COUNT()  <a class="default-links" href="/products/navicat-for-mysql" target="_blank">Navicat</a>  COUNT()</p><img alt="count_function_in_suggestion_list (44K)" src="/link/Blog/Image/2020/20200827/count_function_in_suggestion_list.jpg" style="max-width:100%" /></body></html>]]></description>
</item>
<item>
<title>在数据库中存储格式化的字段</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title></title></head><body><b>2020  8  20 </b> Robert Gravelle <br/><br/><p>  HTML  <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a> </p><h1 class="blog-sub-title"></h1><p>(800) 555-1212800-555-1212800 555-12128005551212</p><h3></h3><p> int  bigint  DBA  char  varchar  +  00</p><p> Sakila  address  Navicat Premium </p><img alt="address_table_design (145K)" src="/link/Blog/Image/2020/20200820/address_table_design.jpg" style="max-width:100%;" /><p>phone  20</p><img alt="address_table (226K)" src="/link/Blog/Image/2020/20200820/address_table.jpg" style="max-width:100%;" /><p> varchar  ALTER TABLE  Navicat </p><h1 class="blog-sub-title"></h1><p> varchar  text </p><h3> Navicat </h3><p></p><img alt="film_table_in_grid_view (229K)" src="/link/Blog/Image/2020/20200820/film_table_in_grid_view.jpg" style="max-width:100%;" /><p>Navicat </p><h3></h3><p></p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"> <li> Null </li><li></li><li></li></ul><img alt="film_table_in_form_view (94K)" src="/link/Blog/Image/2020/20200820/film_table_in_form_view.jpg" style="max-width:100%;" /><h3></h3><p>Navicat  TEXTBLOBBFile  HTML  ON  TEXT</p><img alt="text_editing (69K)" src="/link/Blog/Image/2020/20200820/text_editing.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p> <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a> </p><p> Navicat Premium <a class="default-links" href="/download/navicat-premium" target="_blank"></a> 14 </p></body></html>]]></description>
</item>
<item>
<title>仅将 SELECT DISTINCT 应用于一列</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> SELECT DISTINCT </title></head><body><b>2020  8  12 </b> Robert Gravelle <br/><br/><p> DISTINCT  SELECT  DISTINCT  SELECT </p><h1 class="blog-sub-title"></h1><p> Sakila  customer  <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a> 2 </p><img alt="costomer_table (64K)" src="/link/Blog/Image/2020/20200812/costomer_table.jpg" style="max-width:100%" /><p> DISTINCT  DISTINCT </p><img alt="select_distinct_result (100K)" src="/link/Blog/Image/2020/20200812/select_distinct_result.jpg" style="max-width:100%" /><p></p><h1 class="blog-sub-title"> GROUP BY</h1><p>GROUP BY  MIN  MAX GROUP BY </p><p> customer_id  email </p><img alt="group_by (137K)" src="/link/Blog/Image/2020/20200812/group_by.jpg" style="max-width:100%" /><h1 class="blog-sub-title"></h1><p></p><p>ROW_NUMBER()  1  1 2rn</p><img alt="windows_function (154K)" src="/link/Blog/Image/2020/20200812/windows_function.jpg" style="max-width:100%" /><p>SQL Server  MySQL  8 </p><h1 class="blog-sub-title"></h1><p> GROUP BY </p><p> Navicat Premium <a class="default-links" href="/download/navicat-premium" target="_blank"></a> 14 </p></body></html>]]></description>
</item>
<item>
<title>将查询结果分为多个范围</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title></title></head><body><b>2020  8  4 </b> Robert Gravelle <br/><br/><p>DBA</p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li> A-L  M-Z </li><li> 1-10 11-20 21-20 </li><li> 1-3 4-6 7-9 10-12</li></ul><p>SQL CASE  GROUP BY  <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a> </p><h1 class="blog-sub-title"></h1><p> <i>grade</i>  SQL</p><pre>DROP TABLE IF EXISTS `grade`;CREATE TABLE `grade`  (  `StuID` int(11) NULL DEFAULT NULL,  `Semester` tinyint(4) NULL DEFAULT NULL,  `YEAR` int(11) NULL DEFAULT NULL,  `Marks` int(11) NULL DEFAULT NULL) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;INSERT INTO `grade`(`StuID`, `Semester`, `YEAR`, `Marks`) VALUES (110, 1, 2018, 66);INSERT INTO `grade`(`StuID`, `Semester`, `YEAR`, `Marks`) VALUES (110, 3, 2018, 77);INSERT INTO `grade`(`StuID`, `Semester`, `YEAR`, `Marks`) VALUES (110, 2, 2018, 86);INSERT INTO `grade`(`StuID`, `Semester`, `YEAR`, `Marks`) VALUES (110, 4, 2018, 69);INSERT INTO `grade`(`StuID`, `Semester`, `YEAR`, `Marks`) VALUES (100, 1, 2018, 20);INSERT INTO `grade`(`StuID`, `Semester`, `YEAR`, `Marks`) VALUES (100, 2, 2018, 39);INSERT INTO `grade`(`StuID`, `Semester`, `YEAR`, `Marks`) VALUES (100, 3, 2018, 65);INSERT INTO `grade`(`StuID`, `Semester`, `YEAR`, `Marks`) VALUES (100, 4, 2018, 70);INSERT INTO `grade`(`StuID`, `Semester`, `YEAR`, `Marks`) VALUES (99, 1, 2018, 50);INSERT INTO `grade`(`StuID`, `Semester`, `YEAR`, `Marks`) VALUES (99, 2, 2018, 45);INSERT INTO `grade`(`StuID`, `Semester`, `YEAR`, `Marks`) VALUES (99, 3, 2018, 90);INSERT INTO `grade`(`StuID`, `Semester`, `YEAR`, `Marks`) VALUES (99, 4, 2018, 96);</pre><p> Navicat  <i>grade</i> </p><img alt="grade_table (89K)" src="/link/Blog/Image/2020/20200804/grade_table.jpg" style="max-width:100%;" /><p></p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li>0  25</li><li>26  50</li><li>51  75</li><li>76  100</li></ul><p></p><img alt="student_marks (60K)" src="/link/Blog/Image/2020/20200804/student_marks.jpg" style="max-width:100%;" /><p> CASE  BETWEEN BETWEEN </p><h1 class="blog-sub-title"></h1><p> DATE  DAY()DAYOFMONTH()DAYOFWEEK()DAYOFYEAR()MONTH()YEAR()  </p><p> Sakila MySQL</p><img alt="average_rental_cost (163K)" src="/link/Blog/Image/2020/20200804/average_rental_cost.jpg" style="max-width:100%;" /><p> DATE  CASE  GROUP BY </p><h1 class="blog-sub-title"></h1><p> <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a>  Navicat Premium <a class="default-links" href="/download/navicat-premium" target="_blank"></a> 14 </p></body></html>]]></description>
</item>
<item>
<title>在存储过程中使用输出参数</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title>s</title></head><body><b>2020  7  29 </b> Robert Gravelle <br/><br/><p></p><h1 class="blog-sub-title"></h1><p> SQL Server </p><img alt="ParrotProcedure_SQL_Server (55K)" src="/link/Blog/Image/2020/20200729/ParrotProcedure_SQL_Server.jpg" style="max-width:100%;" /><p> MySQL  IN  OUT </p><img alt="ParrotProcedure_MySQL (32K)" src="/link/Blog/Image/2020/20200729/ParrotProcedure_MySQL.jpg" style="max-width:100%;" /><p>RDBMS MySQL INOUT  IN  OUT  INOUT RDMBS SQL Server OUT  INOUT</p><h1 class="blog-sub-title">MySQL</h1><p>Sakila  MySQL  DBMS film_in_stock  IN  OUT  Navicat Premium </p><img alt="film_in_stock_mysql (123K)" src="/link/Blog/Image/2020/20200729/film_in_stock_mysql.png" style="max-width:100%;" /><p>film_in_stock  -  ID ID ID SELECT  BEGIN  END   SELECT  ID SELECT </p><h3> film_in_stock </h3><p> Navicat </p><img alt="input_params_dialog (2K)" src="/link/Blog/Image/2020/20200729/input_params_dialog.png" style="max-width:100%;" /><p>/Navicat  ID</p><img alt="film_in_stock_result_set (11K)" src="/link/Blog/Image/2020/20200729/film_in_stock_result_set.png" style="max-width:100%;" /><p> p_store_id </p><img alt="film_in_stock_output_param (5K)" src="/link/Blog/Image/2020/20200729/film_in_stock_output_param.png" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p></p></body></html>]]></description>
</item>
<item>
<title>在 MySQL 中对用户隐藏数据库</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> MySQL </title></head><body><b>2020  7  23 </b> Robert Gravelle <br/><br/><p> MySQL  DBA  MySQL </p>    <h1 class="blog-sub-title"> mysql.user </h1><p>mysql.user  MySQL  user  GRANT  CREATE USER  user  DESC </p><img alt="user_table (37K)" src="/link/Blog/Image/2020/20200723/user_table.png" style="max-width:100%" /><p> SHOW_DATABASES  Show_db_priv SHOW GRANTS </p><pre>SHOW GRANTS FOR 'bob_s'@'localhost';</pre><p><a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a>bob_s @ localhost</p><img alt="show_grants_for_bob_s (74K)" src="/link/Blog/Image/2020/20200723/show_grants_for_bob_s.png" style="max-width:100%" /><h1 class="blog-sub-title"></h1><p> bob_s  SHOW DATABASES  REVOKE </p><pre>REVOKE Show_db_privON sakilaFROM bob_s'@'localhost;</pre>    <p> Navica t</p><img alt="privilege_manager (32K)" src="/link/Blog/Image/2020/20200723/privilege_manager.jpg" style="max-width:100%" /><p> bob_s@localhost  SHOW DATABASES</p><img alt="server_level_privileges (14K)" src="/link/Blog/Image/2020/20200723/server_level_privileges.png" style="max-width:100%" /><p> SHOW DATABASES  SHOW DATABASES </p><p> bob_s@localhost  sakila </p><img alt="privileges_for_sakila_db (33K)" src="/link/Blog/Image/2020/20200723/privileges_for_sakila_db.png" style="max-width:100%" /><p> INSERT </p><img alt="add_privilege_dialog (59K)" src="/link/Blog/Image/2020/20200723/add_privilege_dialog.jpg" style="max-width:100%" /><h1 class="blog-sub-title"></h1><p> MySQL REVOKE  Navicat  MySQL </p><p> Navicat  Navicat Premium  MySQL </p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;"><li><a class="default-links" href="/company/aboutus/blog/325--navicat-premium--mysql--1--root-" target="_blank"> 1  Root </a> </li><li><a class="default-links" href="/company/aboutus/blog/326--navicat-premium--mysql--2-" target="_blank"> 2 </a> </li><li><a class="default-links" href="/company/aboutus/blog/327--navicat-premium--mysql--3-" target="_blank"> 3 </a></li><li><a class="default-links" href="/company/aboutus/blog/328--navicat-premium--mysql--4-" target="_blank"> 4 </a></li></ul><p> Navicat for MySQL <a class="default-links" href="/download/navicat-for-mysql" target="_blank"> </a>14 </p></body></html>]]></description>
</item>
<item>
<title>选择只有一个值的行</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title></title></head><body><b>2020  7  6 </b> Robert Gravelle <br/><br/><p> !=  NOT IN </p><h1 class="blog-sub-title"></h2><p> <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat</a> </p><img alt="user_roles_table_design (92K)" src="/link/Blog/Image/2020/20200706/user_roles_table_design.jpg"  style="max-width:100%;" /><p>role_id FK role_id </p><img alt="user_roles_table (37K)" src="/link/Blog/Image/2020/20200706/user_roles_table.jpg"  style="max-width:100%;" /><h1 class="blog-sub-title"></h2><p></p><img alt="role_id_equal_to_1 (33K)" src="/link/Blog/Image/2020/20200706/role_id_equal_to_1.jpg" style="max-width:100%;" /><p> role_id  1  role_id <code>AND role_id NOT IN (2,3,4,5,6,7,8,9)</code> 1 </p><p> role_id  1 </p><h1 class="blog-sub-title"></h2><p> role_id </p><p> GROUP BY  user_id HAVING  role_id </p><img alt="final_query (31K)" src="/link/Blog/Image/2020/20200706/final_query.jpg" style="max-width:100%;" /><p> role_id  1  role_id</p><h1 class="blog-sub-title"></h2><p></p><p> Navicat Premium <a class="default-links" href="/download/navicat-premium" target="_blank"></a>14 </p></body></html>]]></description>
</item>
<item>
<title>在 WHERE 子句中使用 CASE 语句</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> WHERE  CASE </title></head><body><b>2020  6  23 </b> Robert Gravelle <br/><br/><p> <a class="default-links" href="/company/aboutus/blog/341-sql-case" target="_blank">CASE </a> DBA  SELECT  CASE  WHERECASE  Navicat Premium  SELECT </p><h1 class="blog-sub-title"></h1><p> CASE  <a class="default-links" href="https://dev.mysql.com/doc/sakila/en/" target="_blank">Sakila </a> MySQL  actorfilmcustomerrentals </p><p> ID 5  </p><pre>SELECT film_id, title, rental_rate, rental_duration FROM film WHERE rental_duration = 5 ORDER BY rental_rate DESC;</pre><p> Navicat Premium </p><img alt="films_by_duration (106K)" src="/link/Blog/Image/2020/20200623/films_by_duration.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p> CASE  rental_rate  rental_duration CASE </p><pre>SELECT film_id, title, rental_rate, rental_duration FROM film WHERE rental_duration = CASE rental_rate                        WHEN 0.99 THEN 3                        WHEN 2.99 THEN 4                        WHEN 4.99 THEN 5                        ELSE 6                        END ORDER BY title DESC;</pre><p> rental_rates  rental_durations </p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li> rental_rate  0.99  rental_duration  3 </li><li> rental_rate  2.99  rental_duration  4 </li><li> rental_rate  4.99  rental_duration  5 </li><li> rental_rate  rental_duration  6 </li></ul><p></p><img alt="films_by_duration_using_case (145K)" src="/link/Blog/Image/2020/20200623/films_by_duration_using_case.jpg" style="max-width:100%;" /><p> 0.99 rental_duration  3 2.99  4  rental_duration</p><h1 class="blog-sub-title"> CASE </h1><p>Case  OR  Case  SQL</p><pre>SELECT film_id, title, rental_rate, rental_duration FROM film WHERE rental_rate = 0.99 AND rental_duration = 3  OR rental_rate = 2.99 AND rental_duration = 4  OR rental_rate = 4.99 AND rental_duration = 5  OR rental_rate NOT IN (0.99, 2.99, 4.99) AND rental_duration = 6ORDER BY title DESC;</pre><p> CASE </p><img alt="films_by_duration_using_or (163K)" src="/link/Blog/Image/2020/20200623/films_by_duration_using_or.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p> Navicat Premium  SELECT  WHERE  CASE  Navicat Premium <a class="default-links" href="/download/navicat-premium" target="_blank"></a>14</p></body></html>]]></description>
</item>
<item>
<title>使用 Navicat Monitor 2 对缓慢的查询执行进行故障排除</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> Navicat Monitor 2 </title></head><body><b>2020  6  11 </b> Robert Gravelle <br/><br/><p> Navicat Monitor 2 </p><h1 class="blog-sub-title"></h1><p>World-wide Web CPU <a class="default-links" href="/products/navicat-monitor" target="_blank">Navicat Monitor</a> O/S</p><p> Windows CPU SNMPSimple Network Management Protocol O/S </p><img alt="edit_instance_dialog (74K)" src="/link/Blog/Image/2020/20200611/edit_instance_dialog.jpg" style="max-width:100%;" /><p> CPU</p><img alt="dashboard_with_cpu_metrics (58K)" src="/link/Blog/Image/2020/20200611/dashboard_with_cpu_metrics.jpg" style="max-width:100%;" /><p></p><img alt="system_metrics (50K)" src="/link/Blog/Image/2020/20200611/system_metrics.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p>MySQL  MyISAM </p><p>Navicat Monitor </p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;">   <li></li><li></li><li></li></ul><img alt="query_analyzer (125K)" src="/link/Blog/Image/2020/20200611/query_analyzer.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p> Navicat Monitor 2 </p><p>Navicat Monitor  MySQLMariaDB  SQL Server  Navicat Monitor 2.0 SQL Server</p><p>Navicat Monitor 2.0  Navicat  CNY 4,239/ CNY 2,219/ 1  MySQL1  MariaDB  1  SQL Server 1 </p><p> <a class="default-links" href="/discover-navicat-monitor" target="_blank"></a> Navicat Monitor <a class="default-links" href="/download/navicat-monitor" target="_blank"> </a>14</p></body></html>]]></description>
</item>
<item>
<title>在 SQL 中计算字符串出现次数</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> SQL </title></head><body><b>2020  6  5 </b> Robert Gravelle <br/><br/><p> SQL  JavaC ++  PHP  SQL  SQL  charvarchar  text </p><h1 class="blog-sub-title"> LENGTH()  REPLACE() </h1><p> LENGTH(str)  REPLACE(str, from_str, to_str)LENGTH()  REPLACE()  str from_str  to_str</p><p>LENGTH()  2 LENGTH()  10 CHAR_LENGTH()</p><p></p><img alt="length_function (33K)" src="/link/Blog/Image/2020/20200605/length_function.jpg" style="max-width:100%" /><p> REPLACE()  URL httphttps</p><img alt="replace_function (41K)" src="/link/Blog/Image/2020/20200605/replace_function.jpg" style="max-width:100%" /><h1 class="blog-sub-title"></h1><p> LENGTH()  REPLACE()  ROUND()  Sakila  film  description Documentary</p><img alt="count_occurrences (172K)" src="/link/Blog/Image/2020/20200605/count_occurrences.jpg" style="max-width:100%" /><p></p><h1 class="blog-sub-title"></h1><p> Navicat count_string_instances</p><img alt="count_occurrences_function (84K)" src="/link/Blog/Image/2020/20200605/count_occurrences_function.jpg" style="max-width:100%" /><h3 class="blog-sub-title"></h3><p><i></i></p><img alt="input_param_dialog (21K)" src="/link/Blog/Image/2020/20200605/input_param_dialog.jpg" style="max-width:100%" /><p></p><img alt="count_occurrences_function_test_result (18K)" src="/link/Blog/Image/2020/20200605/count_occurrences_function_test_result.jpg" style="max-width:100%" /><h3 class="blog-sub-title"></h3><p> count_string_instances() Navicat </p><img alt="auto_complete (49K)" src="/link/Blog/Image/2020/20200605/auto_complete.jpg" style="max-width:100%" /><p> TAB </p><img alt="auto_complete_fields (43K)" src="/link/Blog/Image/2020/20200605/auto_complete_fields.jpg" style="max-width:100%" /><p></p><img alt="query_with_function (181K)" src="/link/Blog/Image/2020/20200605/query_with_function.jpg" style="max-width:100%" /><h1 class="blog-sub-title"></h1><p> SQL  <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat</a>  charvarchar  text </p></body></html>]]></description>
</item>
<item>
<title>MySQL 默认值：好还是坏？ - 第2部分：何时使用它们</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title>MySQL  - 2</title></head><body><b>2020  5  28 </b> Robert Gravelle <br/><br/><h1 class="blog-sub-title">2</h1><p>nullField 'xyz' doesn't have a default value1MySQLSQL<a class="default-links" href="/products/navicat-for-mysql" target="_blank">Navicat for MySQL 15</a></p><h1 class="blog-sub-title">Null</h1><p>nullnullnullnullnullID</p><p>Web111-111-1111Elmer J. Fudd</p><h1 class="blog-sub-title"></h1><p></p><p><a class="default-links" href="https://dev.mysql.com/doc/sakila/en/" target="_blank">Sakila</a>last_updatetimestampMySQL CURRENT_TIMESTAMP<a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a></p><img alt="last_update (135K)" src="/link/Blog/Image/2020/20200528/last_update.jpg" height="628" width="866" /><p><i></i><i></i>MySQL</p><h1 class="blog-sub-title"></h1><p>RDBMSSentinel Value 999 1900-01-01 null </p><h1 class="blog-sub-title"></h1><p> null</p></body></html>]]></description>
</item>
<item>
<title>MySQL 默认值：好还是坏？ - 第1部分：严格的 SQL 模式</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title>MySQL  - 1 SQL </title></head><body><b>2020  5  22 </b> Robert Gravelle <br/><br/><h1 class="blog-sub-title">1SQL</h1><p>nullINSERTMySQLSQL<a class="default-links" href="/products/navicat-for-mysql" target="_blank">Navicat for MySQL 15</a>2</p><h1 class="blog-sub-title">SQL</h1><p>MySQLSQLMySQLINSERTUPDATEDEFAULTNULLMySQL00:00:00 0000-00-00/</p><p>SQLNavicatSQL></p><img alt="sql_mode_variable (119K)" src="/link/Blog/Image/2020/20200522/sql_mode_variable.jpg" style="max-width:100%;"/><p>STRICT_ALL_TABLESSTRICT_TRANS_TABLESSQL MySQL  </p><h1 class="blog-sub-title">SQL</h1><p>SakilaSQLSQL actor null<i> null</i></p><img alt="actor_table_definition (62K)" src="/link/Blog/Image/2020/20200522/actor_table_definition.jpg" style="max-width:100%;" /><p>SETSQLlast_nameINSERTfirst_name</p><img alt="insert_statement (43K)" src="/link/Blog/Image/2020/20200522/insert_statement.jpg" style="max-width:100%;" /><p><img alt="actor_with_missing_first_name (31K)" src="/link/Blog/Image/2020/20200522/actor_with_missing_first_name.jpg" style="max-width:100%;" /></p><p>INSERT</p><img alt="actor_with_missing_first_name_strict_mode (61K)" src="/link/Blog/Image/2020/20200522/actor_with_missing_first_name_strict_mode.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p>MySQLSQL <a class="default-links" href="/products/navicat-for-mysql" target="_blank">Navicat for MySQL 15</a></p></body></html>]]></description>
</item>
<item>
<title>按组列出的前 N 个查询</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<html><head><title> N </title></head><body><b>2020  5  14 </b> Robert Gravelle <br/><br/><p>N TOPLIMIT N GROUP BY 5GROUP BY  N</p><h1 class="blog-sub-title">N</h1><p>N<a class="default-links" href="https://dev.mysql.com/doc/sakila/en/" target="_blank">Sakila</a>5 SakilaMySQL actorfilmcustomerrentals</p><img alt="top_n (77K)" src="/link/Blog/Image/2020/20200514/top_n.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p>GROUP BY GROUP BY</p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;">    <li></li>    <li> </li></ul><p>GROUP BY</p><img alt="group_by (47K)" src="/link/Blog/Image/2020/20200514/group_by.jpg" style="max-width:100%;" /><p>GROUP BY</p><h1 class="blog-sub-title"></h1><p>Window Functions</p><p>OVER()</p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;">  <li>PARTITION BY</li>  <li>ORDER BY</li></ul>    <p></p><p>ROW_NUMBER()5</p><img alt="row_number (116K)" src="/link/Blog/Image/2020/20200514/row_number.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p><a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a>5 15100</p></body></html>]]></description>
</item>
<item>
<title>数据库或应用程序是自定义功能的最佳场所吗？</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title></title></head><body><b>2020  5  6 </b> Robert Gravelle <br/><br/><p>SQLUDF </p><h1 class="blog-sub-title"></h1><p>SQLSQLSQL</p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;">    <li></li>    <li>WHERE</li>    <li></li>    <li></li>    <li></li>    <li></li></ul><p>SQL</p><p>DBMSIDEIntegrated Development EnvironmentVS CodeEclipse</p><h1 class="blog-sub-title"></h1><p><a class="default-links" href="https://dev.mysql.com/doc/sakila/en/" target="_blank">Sakila</a>MySQLstocker_in_stockUDFstock_idboolean</p><p><a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a>ventory_in_stock</p><img alt="inventory_in_stock_function (120K)" src="/link/Blog/Image/2020/20200506/inventory_in_stock_function.jpg" style="max-width:100%;" /><p></p><p></p><img alt="inventory_in_stock_param_dialog (14K)" src="/link/Blog/Image/2020/20200506/inventory_in_stock_param_dialog.jpg" style="max-width:100%;" /><p></p><img alt="inventory_in_stock_results (18K)" src="/link/Blog/Image/2020/20200506/inventory_in_stock_results.jpg" style="max-width:100%;" /><p>1</p><p>SQLSQL</p><h1 class="blog-sub-title"></h1><p>SQL</p><p><a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a> 14</p></body></html>]]></description>
</item>
<item>
<title>使用 Navicat 远程管理数据库 - 第三部分</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> Navicat  - </title></head><body><b>2020  4  29 </b> Robert Gravelle <br/><br/><h1 class="blog-sub-title">Navicat Cloud</h1><p>Navicat CloudNavicat CloudNavicat CloudNavicat Cloud2Navicat Cloud</p>   <h1 class="blog-sub-title">Navicat Cloud</h1><p>Navicat CloudNavicat Cloud</p><h1 class="blog-sub-title">Navicat Cloud</h1><p>Navicat CloudAmazon Simple Storage ServiceAmazon S3256AESSSLNavicatNavicat Cloud</p><h1 class="blog-sub-title">/</h1><p>Navicat CloudNavicat Cloud/</p><h1 class="blog-sub-title"></h1><p>Navicat Cloud150Navicat Cloud</p><p>NavicatNavicat Cloud</p><p></p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;">   <li>Navicat Cloud</li>   <li></li>   <li></li></ul><p>iOS</p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;">   <li>Navicat Cloud</li>   <li></li>   <li></li></ul><p>Windows 10</p><img alt="usage (40K)" src="/link/Blog/Image/2020/20200429/usage.jpg" style="max-width:100%;" /><h1 class="blog-sub-title"></h1><p>Navicat</p><p><a class="default-links" href="/products/navicat-premium" target="_blank"></a>Navicat Premium 15Navicat Cloud<a class="default-links" href="/navicat-cloud" target="_blank"></a></p></body></html>]]></description>
</item>
<item>
<title>使用 Navicat 远程管理数据库 - 第二部分</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> Navicat  - </title></head><body><b>2020  4  22 </b> Robert Gravelle <br/><h1 class="blog-sub-title">Navicat Cloud</h1>  <p><a class="default-links" href="/company/aboutus/blog/363--navicat-.html" target="_blank"></a><a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium 15</a>Navicat CloudNavicat</p><h1 class="blog-sub-title">Navicat Cloud</h1>  <p><a class="default-links" href="/navicat-cloud" target="_blank">Navicat Cloud</a>Navicat CloudNavicat</p><h1 class="blog-sub-title">Navicat Cloud</h1><p>Navicat Cloud11.1Navicat>Navicat Cloud</p><img alt="file_menu (29K)" src="/link/Blog/Image/2020/20200422/file_menu.jpg" style="max-width:100%;" /><p> Navicat IDNavicat ID IDID</p><img alt="sign_in (25K)" src="/link/Blog/Image/2020/20200422/sign_in.jpg" style="max-width:100%;" /><p>Navicat Cloud</p><h1 class="blog-sub-title"></h1><p>Navicat Cloud</p><p>Navicat Cloud</p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li></li><li></li><li>Navicat</li><li></li></ul><h1 class="blog-sub-title">Navicat Cloud</h1><p>Navicat CloudNavicatWindowsmacOSLinuxiOSiPhoneiPadiPod</p><p>2</p><p></p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li>3</li><li>150</li><li>3</li></ul><p>CNY 669.90</p> <ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li>500 </li><li>5000 </li><li>500</li></ul><h1 class="blog-sub-title"></h1><p>Navicat CloudNavicat</p><p>3Navicat Cloud</p></body></html>]]></description>
</item>
<item>
<title>使用 Navicat 远程管理数据库</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> Navicat </title></head><body><b>2020  4  7 </b> Robert Gravelle <br/><br/><h1 class="blog-sub-title">1</h1><p>2019COVID-19DBMSNavicat<a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium 15</a></p><h1 class="blog-sub-title"></h1><p></p> <h1 class="blog-sub-title">TCP/IP</h1><p>TCP/IPTransmission Control Protocol/Internet Protocol/TCP/IPLANWAN</p><p>IPacme.comNavicat for SQL ServerAmazon AWSSQL Server</p><img alt="general_tab (61K)" src="/link/Blog/Image/2020/20200402/general_tab.jpg" style="max-width: 100%;" /><p>TCP / IP</p><h1 class="blog-sub-title">SSH</h1><p>SSH SSHSecure Shell  SSH</p><p>NavicatSSH</p><img alt="ssh_tab (44K)" src="/link/Blog/Image/2020/20200402/ssh_tab.jpg" style="max-width: 100%;" /><h1 class="blog-sub-title">SSL</h1><p>SSLInternet SSLX.509<a class="default-links" href="https://www.openssl.org/" target="_blank">OpenSSL</a></p><p>Navicat<i></i></p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li><strong></strong><br />PEMSSL</li><li><strong></strong><br />PEMSSL</li><li><strong>CA </strong><br />PEMSSL</li><li><strong> Cipher</strong><br />SSLCipher</li></ul><h1 class="blog-sub-title"></h1><p>Navicat2Navicat Cloud</p><p><a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium 15</a>100</p></body></html>]]></description>
</item>
<item>
<title>使用 Navicat 15 同步数据库结构</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> Navicat 15 </title></head><body><b>2020  3  11 </b> Robert Gravelle <br/><br/><p>   </p><p>Navicat <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium 15</a>schema</p><h1 class="blog-sub-title"></h1><p> <i></i><1></i></p><img alt="tools_menu (42K)" src="/link/Blog/Image/2020/20200311/tools_menu.jpg" style="max-width: 100%;" /><p>Navicat12 DDL </p><p>Navicat Data Modeler 3.0 </p><h1 class="blog-sub-title"></h1><p>  Navicat </p><img alt="backup_button (131K)" src="/link/Blog/Image/2020/20200311/backup_button.jpg" style="max-width: 800px; height: auto;" /><p>/</p><img alt="backup_object_selection (63K)" src="/link/Blog/Image/2020/20200311/backup_object_selection.jpg" style="max-width: 100%;" /><h1 class="blog-sub-title"></h1><p></p><h3></h3><p></p><img alt="source_dest_screen (72K)" src="/link/Blog/Image/2020/20200311/source_dest_screen.jpg" style="max-width: 100%;" /><h3></h3><p> </p><img alt="operation_screen (130K)" src="/link/Blog/Image/2020/20200311/operation_screen.jpg" style="max-width: 100%;" /><h3></h3><p></p><img alt="deployment_script_screen (158K)" src="/link/Blog/Image/2020/20200311/deployment_script_screen.jpg" style="max-width: 100%;" /><p> </p><img alt="message_log (116K)" src="/link/Blog/Image/2020/20200311/message_log.jpg" style="max-width: 100%;" /><p></p><p></p><h1 class="blog-sub-title"></h1><p><a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium 15</a></p><p>Navicat Premium 15 14</p></body></html>]]></description>
</item>
<item>
<title>关系数据库系统中的 NULL 值及其用途</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> NULL </title></head><body><b>2020  3  3 </b> Robert Gravelle <br/><br/><p>NULLNULLNULL<a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a> NULL</p><h1 class="blog-sub-title">NULL</h1><p>NULL0CNULLNULLnull pointer</p><p>NULLNULLNULLRobCD0NULLNULLRobCDRobCD</p><h1 class="blog-sub-title">NULL</h1><p>NULLNOT NULLINSERTUPDATE<a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a> <i></i>Navicat 15</p><img alt="Not_Null_column (64K)" src="/link/Blog/Image/2020/20200226/Not_Null_column.jpg" style="max-width: 100%;" /><p><i> null</i></p><h1 class="blog-sub-title">NULL</h1><p>NULLNULL </p><p>IS NOT NULLnullSakilaoriginal_language_idNULL</p><img alt="Not_Null_query (75K)" src="/link/Blog/Image/2020/20200226/Not_Null_query.jpg" style="max-width: 100%;" /><p>NOT NULLNOTNULLoriginal_language_idNULL</p><img alt="null_query (100K)" src="/link/Blog/Image/2020/20200226/null_query.jpg" style="max-width: 100%;" /><h1 class="blog-sub-title"></h1><p>NULL</p><p><a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a>14</p></body></html>]]></description>
</item>
<item>
<title>在 MySQL 中的 VARCHAR 和 TEXT 之间的选择</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> MySQL  VARCHAR  TEXT </title><meta name="author" content="Navicat" /><meta name="description" content="One of the changes in MySQL version 5.0.3 included an increase to the maximum length of VARCHAR fields from 255 to 65,535 characters. That made the VARCHAR type more similar to TEXT than ever before. For those of us who design database tables, choosing between VARCHAR and TEXT now became more challenging as a result. In today's blog, we'll outline the key differences between the two and layout the factors to consider when deciding which data type to go with." /><meta name="keywords" content="Navicat, Navicat GUI, Navicat Premium, database, database design, database management, SQL, MySQL, database toold"/><meta name="robots" content="index, follow" /></head><body><b>2020  2  19 </b> Robert Gravelle <br/><br/><p>MySQL 5.0.3VARCHAR25565,535VARCHARTEXTVARCHARTEXT</p><h1 class="blog-sub-title">VARCHARTEXT</h1><p>65,535</p><ul>    <li>VARCHARVAR165,535 TEXT65,535</li>    <li>VARCHARTEXT</li>    <li>VARCHARMyISAMTEXT</li>    <li>TEXTMEMORYHEAP</li></ul>    <p></p><h1 class="blog-sub-title">TEXT</h1><p>TEXTTEXTMEDIUMTEXTLONGTEXT65,535 MEDIUMTEXT16 MBLONGTEXT4 GB<strong></strong></p><h1 class="blog-sub-title">NavicatVARCHARTEXT</h1><p><a class="default-links" href="/products/navicat-for-mysql" target="_blank">Navicat for MySQL</a><a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a>textmediumtextlongtext</p><img alt="types_dropdown (4K)" src="/link/Blog/Image/2020/20200219/types_dropdown.png" style="max-width: 100%;" /><p>VARCHAR255</p><img alt="table_designer (26K)" src="/link/Blog/Image/2020/20200219/table_designer.png" style="max-width: 100%;" /><p><i>TEXTNavicat</i></p><img alt="form_view (15K)" src="/link/Blog/Image/2020/20200219/form_view.png" style="max-width: 100%;" /><h1 class="blog-sub-title"></h1><p>25565kVARCHARTEXT </p><p><p><a class="default-links" href="/products/navicat-for-mysql">Navicat for MySQL</a><a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a> 14</p></p></body></html>]]></description>
</item>
<item>
<title>消除数据库表中的重复组</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title></title><meta name="author" content="Navicat" /><meta name="description" content="A repeating group is a series of fields/attributes that are repeated throughout a database table. It is a common problem faced by organizations both large and small, one that can have several ramifications. The problem of repeating groups can become a nightmare to deal with. In today's blog, we'll learn how to identify repeating groups both during design time and in existing databases, as well as how to fix them. Since repeating groups are a phenomenon that can affect any relational database, we'll use Navicat Premium as our database development tool." /><meta name="keywords" content="Navicat, Navicat GUI, Navicat Premium, database, database design, database management, SQL, MySQL, database tool, Maria DB, Oracle"/><meta name="robots" content="index, follow" /></head><body><b>2020  2  13 </b> Robert Gravelle <br/><br/><p>/</p><p><a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a></p><h1 class="blog-sub-title"></h1><p><a class="default-links" href="https://dev.mysql.com/doc/sakila/en/" target="_blank">Sakila</a>3NF</p><img alt="film_and_actors_repeating_groups (47K)" src="/link/Blog/Image/2020/20200212/film_and_actors_repeating_groups.jpg" style="max-width: 100%;" /><p>   </p><h1 class="blog-sub-title"></h1><p>1NFUNF1NF</p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;"><li></li><li></li><li></li></ul><p></p><p>Navicat Premium<a class="default-links" href="/products/navicat-data-modeler" target="_blank"></a> ODBCSQL / DDL</p><p>films_and_actors</p><img alt="film_and_actors_model (67K)" src="/link/Blog/Image/2020/20200212/film_and_actors_model.jpg" style="max-width: 100%;" /><p> ID PKFK.</p><p></p><h3></h3><p>   ID Navicat Modeler</p><img alt="film_actors_many_to_many_model (104K)" src="/link/Blog/Image/2020/20200212/film_actors_many_to_many_model.jpg" style="max-width: 100%;" /><h1 class="blog-sub-title"></h1><p><a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a> Navicat Premium100</p></body></html>]]></description>
</item>
<item>
<title>根据平均值列出记录</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<html><head><title></title><meta name="author" content="Navicat" /><meta name="description" content="ANSI SQL includes several aggregate functions, which allow you to perform a calculation on a set of values to return their result as a single value. By default, aggregate functions apply to all rows, but you can narrow down the field by applying a WHERE clause to the SELECT statement. In today's blog we'll apply these techniques on the AVG() function, but they will work equally well with all aggregate functions." /><meta name="keywords" content="Navicat, Navicat GUI, Navicat Premium, database, database design, database management, SQL, MySQL, database tool, Maria DB, Oracle"/><meta name="robots" content="index, follow" /></head><body><b>2020  2  5 </b> Robert Gravelle <br/><br/><p>AANSI SQLCount(), Min(), Max(), Sum() and AVG(),WHERESELECT<a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a>CASEGROUP BY AVG()</p><h1 class="blog-sub-title">AVG() </h1><p>AVG() NULL <a class="default-links" href="https://dev.mysql.com/doc/sakila/en/" target="_blank">Sakila</a> MySQLDBMS<a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a>MySQLMariaDBMongoDBSQL ServerOraclePostgreSQLSQLiteAmazon RDSAmazon AuroraAmazon RedshiftMicrosoft AzureOracle CloudGoogle CloudMongoDB Atlas</p><p>filmSakila </p><img alt="film_columns (154K)"src="/link/Blog/Image/2020/20200205/film_columns.jpg" style="max-width: 100%;" /><p>AVG()</p><img alt="auto_complete (46K)"src="/link/Blog/Image/2020/20200205/auto_complete.jpg" style="max-width: 100%;" /><h1 class="blog-sub-title">CASE</h1><p>AVG()  CASEAVG()AVG() CASEPGrental_rate</p><img alt="pg_avg (61K)"src="/link/Blog/Image/2020/20200205/pg_avg.jpg" style="max-width: 100%;" /><p>PGPG CONCAT()FORMAT()rental_rate</p><h1 class="blog-sub-title">GROUP BY</h1><p>AVG()GROUP BY  rental_rate</p><img alt="group_by (55K)"src="/link/Blog/Image/2020/20200205/group_by.jpg" style="max-width: 100%;" /><p>WHERE/HAVING  language_id1200</p><img alt="group_by_with_where_and_having (60K)"src="/link/Blog/Image/2020/20200205/group_by_with_where_and_having.jpg" style="max-width: 100%;" /><h1 class="blog-sub-title"></h1><p>CASEGROUP BY</p><p><a class="default-links" href="/company/aboutus/blog/354-navicat-premium-15--.html"target="_blank">Navicat Premium 15</a>100</p></body></html>]]></description>
</item>
<item>
<title>在 MySQL 中选择除了某一列以外的所有列</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<html><head><title> MySQL </title><meta name="author" content="Navicat" /><meta name="description" content="SQLSELECT *SELECT ALL SELECT ALL  -  - " /><meta name="keywords" content="Navicat, Navicat GUI, Navicat Premium, database, database design, database management, SQL, MySQL, database tool, Maria DB, Oracle"/><meta name="robots" content="index, follow" /></head><body><b>2020  1  23 </b> Robert Gravelle <br/><br/>  <p>SQL<i>SELECT *</i>SELECT ALL SELECT ALL  -  - </p><h1 class="blog-sub-title">1INFORMATION_SCHEMA.COLUMNS</h1><p>INFORMATION_SCHEMAMySQL COLUMNS</p><p>The <a class="default-links" href="https://dev.mysql.com/doc/sakila/en/" target="_blank">Sakila</a>13</p><img alt="film_columns (50K)" src="/link/Blog/Image/2020/20200123/film_columns.jpg" style="max-width: 100%;" /><p>INFORMATION_SCHEMA.COLUMNS<i>original_language_id</i></p>  <p></p><img alt="column_selection (57K)" src="/link/Blog/Image/2020/20200123/column_selection.jpg" style="max-width: 100%;" /><p>GROUP_CONCAT </p><h3 class="blog-sub-title"></h3><p>MySQL  @sql</p><pre>SET @sql = CONCAT('SELECT ',                  (SELECT REPLACE(GROUP_CONCAT(COLUMN_NAME), '&lt;columns_to_omit&gt;,', '')                   FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '&lt;table&gt;'                   AND TABLE_SCHEMA = '&lt;database&gt;'),                   ' FROM &lt;table&gt;');PREPARE stmt1 FROM @sql;EXECUTE stmt1;</pre><p></p><img alt="query_results" src="/link/Blog/Image/2020/20200123/query_results.jpg" style="max-width: 100%;" /><h1 class="blog-sub-title">2Navicat</h1><p><a class="default-links" href="/products/navicat-for-mysql"target="_blank">Navicat</a> Navicat SQL Navicat SQL Query BuilderSQLQuery Builder </p><p> original_language_id</p><img alt="query_builder" src="/link/Blog/Image/2020/20200123/query_builder.jpg" style="max-width: 100%;" /><p>SQL</p><img alt="code_in editor" src="/link/Blog/Image/2020/20200123/code_in_editor.jpg" style="max-width: 100%;" /><p></p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li></li> <li>SQL</li></ul><h1 class="blog-sub-title"></h1><p></p>  <p><a class="default-links" href="/products/navicat-for-mysql"target="_blank">Navicat for MySQL</a> <a class="default-links" href="/download/navicat-for-mysql"target="_blank"></a>14</p></body></html>]]></description>
</item>
<item>
<title>如何判断何时该在 Oracle 中重新生成索引</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<title>How to Tell when it's Time to Rebuild Indexes in Oracle</title><head><meta name="author" content="Navicat" /><meta name="description" content="Every so often, we need to rebuild indexes in Oracle, because indexes become fragmented over time. This causes the performance of your database queries degrade. Hence, rebuilding indexes every now and again can be quite beneficial. In today's blog, we'll learn how often to build indexes and how to determine when an index needs to be rebuilt." /><meta name="keywords" content="Navicat, Navicat GUI, Navicat Premium, database, database design, database management, Oracle, Rebuild Indxs in Oracle, database tool"/><meta name="robots" content="index, follow" /></head><html><body><b>2020  1  15 </b> Robert Gravelle <br/><br/><p>Oracle     </p><p></p><h1 class="blog-sub-title"></h1><p>  </p><p>  </p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;">    <li><strong></strong>    <p></p></li>    <li><strong></strong>    <p> SQL Server</p></li>    <li><strong></strong>    <p></p></li></ul><h1 class="blog-sub-title"></h1><p>OracleANALYZE INDEX VALIDATE STRUCTURE INDEX_STATS</p><pre>  SQL> ANALYZE INDEX IDX_GAM_ACCT VALIDATE STRUCTURE;  Statement processed.     SQL> SELECT name, height,lf_rows,lf_blks,del_lf_rows FROM INDEX_STATS;     NAME          HEIGHT      LF_ROWS    LF_BLKS    DEL_LF_ROW  ------------- ----------- ---------- ---------- ----------  DX_GAM_ACCT        2          1          3          6      1 row selected. </pre>           <p></p><ol><li></li><li>20</li></ol><h1 class="blog-sub-title"></h1><p>OracleAlter Index Rebuild </p><p>ALTER INDEX REBUILD</p><pre>ALTER INDEX [schema.]index REBUILD       [PARAMETERS ('rebuild_params [physical_storage_params]' ) ]      [{ NOPARALLEL | PARALLEL [ integer ] }] ;</pre><p></p><pre>ALTER INDEX [schema.]index REBUILD ONLINE      [PARAMETERS ('rebuild_params [physical_storage_params]' ) ]      [{ NOPARALLEL | PARALLEL [ integer ] }] ;</pre><p></p><pre>ALTER INDEX [schema.]index REBUILD PARTITION partition       [PARAMETERS ('rebuild_params [physical_storage_params]' ) ];</pre><h1 class="blog-sub-title"></h1><p><a class="default-links" href="/products/navicat-for-oracle">Navicat for Oracle</a></p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li><strong></strong><p> </p></li><li><strong></strong><p> </p></li></ul><h1 class="blog-sub-title"></h1><p></p><p>Navicat for Oracle<a class="default-links" href="/download/navicat-for-oracle" target="_blank"></a></p></body></html>]]></description>
</item>
<item>
<title>使用 Navicat 在 MySQL 中存储图像</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><title> Navicat  MySQL </title><head><meta name="author" content="Navicat" /><meta name="description" content="Navicat development and administration tools provide excellent support for image management. In today's blog, we'll learn how Navicat makes storing images a simple process. For the purposes of demonstration, I'll be using Navicat Premium against a MySQL 8 database, but the same procedure would apply to other relational databases as well." /><meta name="keywords" content="Navicat, Navicat GUI, Navicat Premium, database, database design, database management, SQL, MySQL, database tool, Maria DB, Oracle"/><meta name="robots" content="index, follow" /></head><body><b>2020  1  8 </b> Robert Gravelle <br/><br/><p>Web</p><p>URL</p><p>NavicatNavicatMySQL 8<a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a></p><h1 class="blog-sub-title"></h1><p>MySQLBLOB BLOB  BLOB BLOB</p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li>BLOB65,535</li><li>MEDIUMBLOB16,777,215</li><li>LONGBLOB4,294,967,295</li></ul><p></p><img alt="table_def (39K)" src="/link/Blog/Image/2020/20200108/table_def.jpg" style="max-width: 100%;" /><p>IDJPEGGIFBITMAP</p><h1 class="blog-sub-title"><i>images</i></h1><p>NavicatSQL </p><p><i></i>Navicat</p><img alt="data_type_dropdown (13K)" src="/link/Blog/Image/2020/20200108/data_type_dropdown.jpg" style="max-width: 100%;" /><p><i></i>/</p><img alt="open_file_icon (29K)" src="/link/Blog/Image/2020/20200108/open_file_icon.jpg" style="max-width: 100%;" /><p> <i></i> </p><img alt="image_preview (74K)" src="/link/Blog/Image/2020/20200108/image_preview.jpg" style="max-width: 100%;" /><p><em>MEDIUMBLOB65,535</em></p><h1 class="blog-sub-title"></h1><p><a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium 15</a>MySQL 8</p><p>Navicat Premium<a class="default-links" href="/company/aboutus/blog/1300-navicat-premium-15-the-most-powerful-yet-2.html" target="_blank">15</a>100</p></body></html>]]></description>
</item>
<item>
<title>Navicat Premium 15 &ndash; 最强大的功能</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<html>  <title>Navicat Premium 15  </title><head><meta name="author" content="Navicat" /><meta name="description" content=">NavicatNavicat Premium151125  100Navicat  " /><meta name="keywords" content="Navicat, Navicat GUI, Navicat Premium, database, database design, database management, SQL, MySQL, database tool, Maria DB, Oracle"/><meta name="robots" content="index, follow" /></head><body><b>2019  12  30 </b> Robert Gravelle <br/><br/><p>Navicat<a class="default-links" href="/products/navicat-premium" target="_blank" >Navicat Premium</a>151125  100Navicat  </p><h1 class="blog-sub-title"></h1><p>Navicat//sql15   </p><tr><td align="middle"><img alt="Navicat Premium 15 - Data Transfer" src="/link/Blog/Image/2019/20191230/data_transfer.jpg" style="max-width: 100%;"></td></tr><p>Navicat 15-</p><h1 class="blog-sub-title"></h1><p>Navicat 15SQL 1215SelectFromWhereGroup ByHavingOrder ByLimit SQL</p><tr><td align="middle"><img alt="Navicat Premium 15 - Query Builder" src="/link/Blog/Image/2019/20191230/query_builder.jpg" style="max-width: 100%;" /></td></tr><p>UINavicat 15</p><h1 class="blog-sub-title"></h1><p>Navicat 15Data Modeler 3.0 Data Modeler DDL</p><tr><td align="middle"><img alt="Navicat Premium 15 - Data Modeling" src="/link/Blog/Image/2019/20191230/updates_to_synch.jpg" style="max-width: 100%;" /></td></tr><p></p><h1 class="blog-sub-title"></h1><p>Windows  Navicat 15Windows WindowsUI</p><tr><td align="middle"><img alt="Navicat Premium 15 - Dark Mode" src="/link/Blog/Image/2019/20191230/dark_mode.jpg" style="max-width: 100%;" /></td></tr><p></p><h1 class="blog-sub-title">Linux</h1><p>Navicat ModelerWineLinux15LinuxLinuxUI</p><h1 class="blog-sub-title"></h1><p>Navicat Premium 15  <a class="default-links" href="/download/navicat-premium" target="_blank"></a>14</p></body> </html>]]></description>
</item>
<item>
<title>在 MySQL 中执行全文搜索（第 3 部分）</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<!DOCTYPE HTML><html><head><title> MySQL  3 </title><meta name="author" content="Navicat" /><meta name="description" content="Following Pat 2 of the series on full-text indexing and searching in MySQL, let's see how to do Boolean Full-Text searhes on MySQL." /><meta name="keywords" content="Navicat, Navicat GUI, Navicat Premium, database, database design, database management, SQL, MySQL, database tool, Maria DB, Oracle"/><meta name="robots" content="index, follow" /></head><body><b>2019  12  19 </b> Robert Gravelle <br/><br/><p>3MySQL <a class="default-links" href="/company/aboutus/blog/343-mysql1" target="_blank">1</a>MySQL</p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;">    <li></li>    <li>Boolean </li>    <li></li></ul><p><a class="default-links" href="/company/aboutus/blog/344-mysql2" target="_blank" >2</a><a class="default-links" href="/products/navicat-for-mysql" target="_blank" >Navicat for MySQL</a> 2Boolean</p><h1 class="blog-sub-title">Boolean</h1><p>Boolean BooleanBoolean Boolean</p><p></p><p>BooleanAGAINSTIN BOOLEAN MODE <a class="default-links" href="https://dev.mysql.com/doc/sakila/en/" target="_blank">Sakila</a>description Butler</p><tr><td align="middle"><img alt="MySQL - Boolean Mode - 1" src="/link/Blog/Image/2019/20191219/boolean_mode_1.jpg" style="max-width: 100%;" /></td></tr><h1 class="blog-sub-title"></h1><p>  DocumentaryBoolean-Butler</p><tr><td align="middle"><img alt="MySQL - Boolean Mode Exclude" src="/link/Blog/Image/2019/20191219/boolean_mode_exclude.jpg" style="max-width: 100%;" /></td></tr><p>6173</p><h1 class="blog-sub-title"></h1><p>+  + Butler Hunter Waitress Butler</p><tr><td align="middle"><img alt="MySQL - Boolean Mode Multi" src="/link/Blog/Image/2019/20191219/boolean_mode_multi.jpg" style="max-width: 100%;" /></td></tr><p>+ButlerHunter</p><tr><td align="middle"><img alt="MySQL - Boolean Mode Multi - 2" src="/link/Blog/Image/2019/20191219/boolean_mode_multi_2.jpg" style="max-width: 100%;" /></td></tr><p>ButlerHunterWaitress</p><h1 class="blog-sub-title"></h1><p>InnoDBMyISAMInnoDBSphinxBM25TF-IDF</p><p> ButlerHunterWaitress</p><tr><td align="middle"><img alt="MySQL - Boolean mode rank lower" src="/link/Blog/Image/2019/20191219/boolean_mode_rank_lower.jpg" style="max-width: 100%;" /></td></tr><h1 class="blog-sub-title"></h1><p><a class="default-links" href="/products/navicat-for-mysql" target="_blank">Navicat for MySQL</a>Boolean Navicat for MySQL <a class="default-links" href="/download/navicat-for-mysql" target="_blank"></a>14</p><p>Boolean<a class="default-links" href="https://dev.mysql.com/doc/refman/8.0/en/fulltext-boolean.html" target="_blank" >MySQL</a></p></body></html>]]></description>
</item>
<item>
<title>欢迎使用Navicat Premium 15！数据可视化</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2019  12  10 </b> Robert Gravelle <br/><br/><p>1125Navicat Premium 1515SQL  Linux </p><h1 class="blog-sub-title"></h1><p> </p><tr><td align="middle"><img src="/link/Blog/Image/2019/20191210/visualization_dashboard.jpg" style="max-width: 100%;"></td></tr><p>Navicat</p><tr><td align="middle"><img src="/link/Blog/Image/2019/20191210/charts_button.jpg" style="max-width: 100%;"></td></tr><p> </p><p></p><p> Navicat</p><tr><td align="middle"><img src="/link/Blog/Image/2019/20191210/workspace.jpg" style="max-width: 100%;"></td></tr><p></p><tr><td align="middle"><img src="/link/Blog/Image/2019/20191210/new_data_source_dialog.jpg" style="max-width: 100%;"></td></tr><p> Navicat</p><tr><td align="middle"><img src="/link/Blog/Image/2019/20191210/data_source.jpg" style="max-width: 100%;"></td></tr><p> Navicat</p><h1 class="blog-sub-title"></h1><p> Navicat 15 </p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><p> </p><tr><td align="middle"><img src="/link/Blog/Image/2019/20191210/charts.jpg" style="max-width: 100%;"></td></tr><h1 class="blog-sub-title"></h1><p>  </p><p>Navicat</p><tr><td align="middle"><img src="/link/Blog/Image/2019/20191210/dashboard.jpg" style="max-width: 100%;"></td></tr><h1 class="blog-sub-title"></h1><p>Navicat 15  <a class="default-links" href="/download/navicat-premium" target="_blank"></a></p>]]></description>
</item>
<item>
<title>在MySQL中执行全文搜索（第2部分）</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2019  10  15 </b> Robert Gravelle <br/><br/><p><a class="default-links" href="/company/aboutus/blog/343-mysql1.html" target="_blank">1</a>MySQLFULLTEXT <a class="default-links" href="/products/navicat-for-mysql" target="_blank">Navicat for MySQL</a></p><h1 class="blog-sub-title"></h1><p> Google</p><p> </p><h1 class="blog-sub-title">MySQL</h1><p>MySQLMATCH()AGAINST() MATCH()AGAINST()<i></i></p><p><a class="default-links" href="https://dev.mysql.com/doc/sakila/en/" target="_blank">Sakila</a>DVD film Navicat </p><tr><td align="middle"><img src="/link/Blog/Image/2019/20191015/film_record.png" style="max-width: 100%;"></td></tr><p style="font-size: 18px;">description</p><p>descriptionNavicat</p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;"><li>film</li><li></li><li></li><li>idx_description</li><li>description</li><li>FULLTEXT<br/><tr><td align="middle"><img src="/link/Blog/Image/2019/20191015/description_index.jpg" style="max-width: 100%;"></td></tr></li><li>FULLTEXT</li><li></li></ul><p style="font-size: 18px;"></p><p> description Database Administrator Navicat:</p><tr><td align="middle"><img src="/link/Blog/Image/2019/20191015/auto_complete.jpg" style="max-width: 100%;"></td></tr><p>Database Administrator </p><tr><td align="middle"><img src="/link/Blog/Image/2019/20191015/db_admin_query.jpg" style="max-width: 100%;"></td></tr><h1 class="blog-sub-title"></h1><p> MATCH()AGAINST()</p><tr><td align="middle"><img src="/link/Blog/Image/2019/20191015/score.jpg" style="max-width: 100%;"></td></tr><p></p><h1 class="blog-sub-title"></h1><p><a class="default-links" href="/products/navicat-for-mysql" target="_blank">Navicat for MySQL</a></p><p>Navicat for MySQL <a class="default-links" href="/download/navicat-for-mysql" target="_blank"></a> 14</p>]]></description>
</item>
<item>
<title>在MySQL中执行全文搜索（第1部分）</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2019  10  11 </b> Robert Gravelle <br/><br/><p>FTSFTSLikeMySQL2<a class="default-links" href="/products/navicat-for-mysql" target="_blank">Navicat for MySQL</a></p><h1 class="blog-sub-title"></h1><p>FTS cars and truckcarstruckstruck and cars cartruck</p><p>MySQLDBMSLIKE<i></i> Like</p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;"><li></li><li></li></ul><h1 class="blog-sub-title">MySQL</h1><p>MySQLFULLTEXT MyISAMInnoDBCHARVARCHARTEXTCREATE TABLEFULLTEXTALTER TABLECREATE INDEXFULLTEXTFULLTEXT</p><p></p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;"><li></li><li></li><li></li></ul><p>2</p><h1 class="blog-sub-title"></h1><p><a class="default-links" href="https://dev.mysql.com/doc/sakila/en/" target="_blank">Sakila</a>filmfilm</p><tr><td align="middle"><img src="/link/Blog/Image/2019/20191011/film_table.jpg" style="max-width: 100%;"></td></tr><p>FULLTEXTALTER TABLECREATE INDEXNavicat</p><tr><td align="middle"><img src="/link/Blog/Image/2019/20191011/film_indexes.jpg" style="max-width: 100%;"></td></tr><p></p><p></p><tr><td align="middle"><img src="/link/Blog/Image/2019/20191011/desc_index.jpg" style="max-width: 100%;"></td></tr><h1 class="blog-sub-title"></h1><p>2</p><p>Navicat for MySQL<a class="default-links" href="/download/navicat-for-mysql" target="_blank"></a> 14</p>]]></description>
</item>
<item>
<title>在MongoDB中使用光标</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2019  9  23 </b> Robert Gravelle <br/><br/><p>SQL MongoDB MongoDBdb.collection.find()  MongoDB <a class="default-links" href="/products/navicat-for-mongodb" target="_blank">Navicat for MongoDB</a>MongoDB</p><h1 class="blog-sub-title"></h1><p>db.collection.find()    forEach() </p><p>Navicatfind()  </p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190923/find_method.jpg" style="max-width: 100%;"></td></tr><p> </p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190923/find_builder.jpg" style="max-width: 100%;"></td></tr><p>forEach()   </p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190923/for_each.jpg" style="max-width: 100%;"></td></tr><h1 class="blog-sub-title"></h1><p>JavaScript cursor.hasNext()cursor.next() JavaScriptwhile hasNext() next() </p><tr><td align="/link/Blog/Image/2019/20190923/while.jpg" style="max-width: 100%;"></td></tr><p>printjson() print(tojson()) JSONBSON</p><h1 class="blog-sub-title"></h1><p>db.collection.find()   forEach()  Tom Smith</p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190923/update.jpg" style="max-width: 100%;"></td></tr><p></p><h1 class="blog-sub-title"></h1><p> map()  split()  <b>name</b>  reverse() join() Tom SmithersSmithers, Tom</p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190923/map.jpg" style="max-width: 100%;"></td></tr><h1 class="blog-sub-title"></h1><p>db.collection.find()  Navicat for MongoDB <a class="default-links" href="/products/navicat-for-mongodb" target="_blank"></a></p>]]></description>
</item>
<item>
<title>SQL CASE语句的使用</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2019  9  5 </b> Robert Gravelle <br/><br/><p>CASEIF-THEN-ELSE CASE  </p><h1 class="blog-sub-title"></h1><p>CASE ELSEELSENULL</p><p><font face="monospace">CASE<br/>&nbsp;&nbsp;&nbsp;&nbsp;WHEN condition1 THEN result1<br/>&nbsp;&nbsp;&nbsp;&nbsp;WHEN condition2 THEN result2<br/>    &nbsp;&nbsp;&nbsp;&nbsp;WHEN conditionN THEN resultN<br/>    &nbsp;&nbsp;&nbsp;&nbsp;ELSE result<br/>END;</font></p><p>CASEvalue = compare_value ELSEELSENULL</p><p><font face="monospace">CASE compare_value<br/>    &nbsp;&nbsp;&nbsp;&nbsp;WHEN condition1 THEN result1<br/>    &nbsp;&nbsp;&nbsp;&nbsp;WHEN condition2 THEN result2<br/>    &nbsp;&nbsp;&nbsp;&nbsp;WHEN conditionN THEN resultN<br/>    &nbsp;&nbsp;&nbsp;&nbsp;ELSE result<br/>END; </font></p><h1 class="blog-sub-title"></h1><p>CASE<a class="default-link" href="/products/navicat-premium" target="_blank">Navicat Premium</a><a class="default-link" href="https://dev.mysql.com/doc/sakila/en/" target="_blank">Sakila</a> MySQLMariaDBMongoDBSQL ServerOraclePostgreSQLSQLite Amazon RDSAmazon AuroraAmazon RedshiftMicrosoft AzureOracle CloudGoogle CloudMongoDB Atlas</p><p style="font-size: 18px;">1</p><p></p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190905/basic_query.jpg" style="max-width: 100%;"></td></tr><p>discountregularpremium </p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li>2.99</li><li>2.99-4.99</li><li>4.99</li></ul><p>CASENavicatSQL NavicatSQLDDL CASE</p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190905/code_snippets.jpg" style="max-width: 100%;"></td></tr><p> Tab</p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190905/inserted_case_statement.jpg" style="max-width: 100%;"></td></tr><p> MySQLCASE</p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190905/case_prices.jpg" style="max-width: 100%;"></td></tr><p style="font-size: 18px;">2</p><p>CASE </p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190905/target_audience.jpg" style="max-width: 100%;"></td></tr><h1 class="blog-sub-title"></h1><p>SQL CASE SQL<a class="default-link" href="/products/navicat-premium" target="_blank">Navicat Premium</a>  <a class="default-link" href="/download/navicat-premium" target="_blank"></a>14</p>]]></description>
</item>
<item>
<title>使用 MySQL 8 中的触发器验证数据</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2019  8  21 </b> Robert Gravelle <br/><br/><p></p><p> <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a>  MySQL </p><h1 class="blog-sub-title"></h1><p> <a class="default-links" href="https://dev.mysql.com/doc/sakila/en/" target="_blank">Sakila </a> Navicat Premium </p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190821/sakila_tables.jpg" style="max-width: 100%;"></td></tr><p> film </p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190821/designer_tabs.jpg" style="max-width: 100%;"></td></tr><p> film ins_film film_text </p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190821/existing-triggers.jpg" style="max-width: 100%;"></td></tr><p> original_language_id </p><p> language </p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190821/film_language_relationship.jpg" style="max-width: 100%;"></td></tr><br/><br/><font face="monospace"><body><table border="0"><tr><td>language_id</td><td>&nbsp;&nbsp;</td><td>name</td><td>&nbsp;&nbsp;</td><td>last_update</td></tr><tr><td>1</td><td>&nbsp;&nbsp;</td><td>English</td><td>&nbsp;&nbsp;</td><td>2006-02-15 05:02:19</td></tr><tr><td>2</td><td>&nbsp;&nbsp;</td><td>Italian</td><td>&nbsp;&nbsp;</td><td>2006-02-15 05:02:19</td></tr><tr><td>3</td><td>&nbsp;&nbsp;</td><td>Japanese</td><td>&nbsp;&nbsp;</td><td>2006-02-15 05:02:19</td></tr><tr><td>4</td><td>&nbsp;&nbsp;</td><td>Mandarin</td><td>&nbsp;&nbsp;</td><td>2006-02-15 05:02:19</td></tr><tr><td>5</td><td>&nbsp;&nbsp;</td><td>French</td><td>&nbsp;&nbsp;</td><td>2006-02-15 05:02:19</td></tr><tr><td>6</td><td>&nbsp;&nbsp;</td><td>German</td><td>&nbsp;&nbsp;</td><td>2006-02-15 05:02:19</td></tr></table></body></font><p> 1  language_id  original_language_id original_language_id </p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;"><li> film <br/></li><li>ins_validate_languageBEFORE</li><li> <br/><font face="monospace">BEGIN<br/>&nbsp;&nbsp;IF NEW.language_id != 1 AND NEW.original_language_id IS NULL<br/>&nbsp;&nbsp;THEN<br/>&nbsp;&nbsp;&nbsp;&nbsp;SIGNAL SQLSTATE '45000'<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SET MESSAGE_TEXT = 'Original language id is required for Foreign language films.';<br/>&nbsp;&nbsp;END IF;<br/>END<br/></font><br/><br/><tr><td align="middle"><img src="/link/Blog/Image/2019/20190821/ins_validate_language.jpg" style="max-width: 100%;"></td></tr></li><li></li></ul><h1 class="blog-sub-title"></h1><p> language_id  film </p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;"><li> film </li><li></li><li>+ <br/><tr><td align="middle"><img src="/link/Blog/Image/2019/20190821/record_form.jpg" style="max-width: 100%;"></td></tr></li><li> title  language_id</li><li> <br/><tr><td align="middle"><img src="/link/Blog/Image/2019/20190821/alert_message.jpg" style="max-width: 100%;"></td></tr></li></ul><h1 class="blog-sub-title"></h1><p> <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a></p>]]></description>
</item>
<item>
<title>使用 SQL Limit 关键字</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2019  7  30 </b> Robert Gravelle <br/><br/><p>SQL LIMIT  SELECT  SQL Server  MS Access  Microsoft  SELECT TOP  Microsoft  SELECT LIMIT DBMS MySQL/MariaDBPostgreSQL  OracleSQL LIMIT  <a class="default-links" href="/products/navicat-for-postgresql" target="_blank">Navicat for PostgreSQL</a>  LIMIT </p><h1 class="blog-sub-title"></h1><p> <font face="monospace">SELECT *</font> </p><p>Navicat  Navicat SQLLIMIT 1000 OFFSET 0 1000 </p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190730/table_limit.jpg" style="max-width: 100%;"></td></tr><p></p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190730/limit_records.jpg" style="max-width: 100%;"></td></tr><h1 class="blog-sub-title"> N </h1><p> N  1  3  5  10  [] </p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li> 10 </li><li> 20 </li><li> 3 </li></ul><p> ORDER BY WHERE  LIMIT </p><p style="font-size: 18px;"><b> 5  Job ID</b></p><p> Job ID</p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190730/top_job_ids.jpg" style="max-width: 100%;"></td></tr><p>DISTINCT  ID</p><h1 class="blog-sub-title"></h1><p> LIMIT  creation_date  '2018-01-01' </p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190730/closest_dates.jpg" style="max-width: 100%;"></td></tr><p>2018-01-02 </p><h1 class="blog-sub-title"> N </h1><p> N  N </p><p style="font-size: 18px;"> 5  Job ID</p><p> 5  Job ID ORDER BY  DESC ASC</p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190730/bottom_job_ids.jpg" style="max-width: 100%;"></td></tr><h1 class="blog-sub-title"></h1><p> '&gt;'  '&lt;'DESC<tr><td align="middle"><img src="/link/Blog/Image/2019/20190730/closest_dates_before.jpg" style="max-width: 100%;"></td></tr><h1 class="blog-sub-title"></h1><p> <a class="default-links" href="/products/navicat-for-postgresql" target="_blank">Navicat for PostgreSQL</a>  LIMIT  Navicat for PostgreSQL  14 </p>]]></description>
</item>
<item>
<title>SQL - 自联接</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2019  7  24 </b> Robert Gravelle <br/><br/><p>Self Join Navicat Premium </p><h1 class="blog-sub-title"></h1><p></p><p><font face="monospace">SELECT a.column_name, b.column_name...<br/>FROM table1 a, table1 b<br/>WHERE a.common_field = b.common_field;<br/></font></p><p>WHERE </p><h1 class="blog-sub-title"></h1><p> Sakila  customer  Navicat </p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190724/customer_table_design.jpg" style="max-width: 100%;"></td></tr><p> customer  last_name  first_name </p><p><font face="monospace">SELECT<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c1.customer_id as customer_1_id,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c1.first_name  as customer_1_first_name,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c1.last_name   as customer_1_last_name,<br/>&nbsp;&nbsp;c2.customer_id as customer_2_id,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c2.first_name  as customer_2_first_name,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c2.last_name<br/>FROM customer c1,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;customer c2<br/>WHERE c1.last_name = c2.first_name<br/>ORDER BY c1.last_name;<br/></font></p><p>Navicat </p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190724/auto-complete.jpg" style="max-width: 100%;"></td></tr><p></p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190724/results.jpg" style="max-width: 100%;"></td></tr><h1 class="blog-sub-title"> INNER JOINN</h1><p>INNER JOINNavicat  SQL </p><p> last_name  first_name</p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190724/query_builder.jpg" style="max-width: 100%;"></td></tr><p> SQL </p><p><font face="monospace">SELECT<br/>c1.customer_id AS customer_1_id,<br/>c1.first_name AS customer_1_first_name,<br/>c1.last_name AS customer_1_last_name,<br/>c2.customer_id AS customer_2_id,<br/>c2.first_name AS customer_2_first_name,<br/>c2.last_name<br/>FROM<br/>customer AS c1<br/>INNER JOIN customer AS c2 ON c1.last_name = c2.first_name<br/>ORDER BY<br/>customer_1_last_name ASC<br/>;<br/></font></p><h1 class="blog-sub-title"></h1><p> <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a>  Navicat Premium 14 </p>]]></description>
</item>
<item>
<title>在单个应用程序管理多个数据库</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2019  7  16 </b> Robert Gravelle <br/><br/><p></p><p> <a class="default-links" href="/products/navicat-premium" traget="_blank">Navicat Premium</a>DBMS</p><p> Navicat Premium </p><h1 class="blog-sub-title"></h1><p>Navicat  Windows  MySQL  macOS  SQL Server </p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190716/mysql-connect.gif" style="max-width: 100%;"></td><td align="middle"><img src="/link/Blog/Image/2019/20190716/sql_server-connect.png" style="max-width: 100%;"></td></tr><p><a class="default-links" href="/company/aboutus/blog/335-.html" target="_blank"></a></p><h1 class="blog-sub-title"></h1><p> SQL  DBMS  SQL  SQL </p><p> DBMS </p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li>PostgreSQL  tablefunc </li><li>MariaDB  MySQL  CONNECT </li><li>Microsoft Access </li><li>Oracle  SQL Server  PIVOT </li><li> SQLite SQL </li></ul><p> Navicat </p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190716/union_query_results.jpg" style="max-width: 100%"></td></tr><p><a class="default-links" href="/company/aboutus/blog/335-.html" target="_blank"></a></p><h1 class="blog-sub-title"></h1><p> Navicat Premium </p><p><a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a>  WindowsmacOS  Linux  MySQLMariaDBMongoDBSQL ServerOraclePostgreSQL  SQLite  Amazon RDSAmazon AuroraAmazon RedshiftMicrosoft AzureOracle CloudGoogle Cloud  MongoDB Atlas <a class="default-links" href="/download/navicat-premium" target="_blank"></a></p>]]></description>
</item>
<item>
<title>每个数据库开发人员工具包的更多基本 SELECT 查询</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2019  6  19 </b> Robert Gravelle <br/><br/><p> <a class="default-links" href="/company/aboutus/blog/294--select-.html" target="_blank"> SELECT </a></p><h1 class="blog-sub-title"></h1><p></p><p> SQL Server </p><p><font face="monospace">SELECT NAME FROM sys.objects WHERE TYPE='U'</font></p><p>MySQL </p><p><font face="monospace">SELECT * from information_schema.tables<br/>WHERE table_schema not in ('information_schema', 'mysql', 'performance_schema')<br/>ORDER BY table_schema, table_name;</font></p><p>MySQL  auto_increment </p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190619/user_tables.jpg" style="max-width: 100%;"></td></tr><p> MySQL  WHERE </p><p><font face="monospace">SHOW FULL TABLES IN [database_name] WHERE TABLE_TYPE LIKE 'BASE TABLE';</font></p><h1 class="blog-sub-title"></h1><p></p><p> SQL Server </p><p><font face="monospace">SELECT * FROM sys.views</font></p><p> MySQL  TABLE_TYPE  'VIEW'  sys </p><p><font face="monospace">SELECT * FROM information_schema.`TABLES`<br/>WHERE TABLE_TYPE = 'VIEW'<br/>AND table_schema != 'sys';</font></p><p> <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a> </p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190619/views.jpg" style="max-width: 100%;"></td></tr><p> WHERE </p><p><font face="monospace">AND TABLE_SCHEMA LIKE '[database_name]'</font></p><p></p><p><font face="monospace">SHOW FULL TABLES IN [database_name] WHERE TABLE_TYPE LIKE 'VIEW';</font></p><p>VIEW</p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190619/views_in_db.jpg" style="max-width: 100%;"></td></tr><h1 class="blog-sub-title"></h1><p> SQL /SQL</p><p> FROM AS [alias_name]</p><p><font face="monospace">SELECT column_name(s)<br/>FROM table_name AS alias_name;</font></p><p> Navicat  actor  FROM </p><p><font face="monospace">SELECT<br/><br/>FROM actor as a</font></p><p>Navicat </p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190619/auto_complete.jpg" style="max-width: 100%;"></td></tr><p></p><h1 class="blog-sub-title"></h1><p> <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a>Navicat Premium  SELECT Navicat <a class="default-links" href="/download/navicat-premium" target="_blank"></a> 14 </p>]]></description>
</item>
<item>
<title>从单一工具连接多个数据库</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2019  6  12 </b> Robert Gravelle <br/><br/><p> MySQL SQL Server Oracle  MySQL SQL Server  Oracle </p><p><a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a>  MySQLMariaDBMongoDBSQL ServerOraclePostgreSQL  SQLite  Amazon RDSAmazon AuroraAmazon RedshiftMicrosoft AzureOracle CloudMongoDB Atlas</p><p> Navicat Premium  MySQL  Microsoft Azure</p><h1 class="blog-sub-title"></h1><p>Navicat Premium  SSL  SSH SSHISP HTTP </p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190612/connection_list.jpg" style="max-width: 100%;"></td></tr><p> MySQL </p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;"><li><br/><br/><tr><td align="middle"><img src="/link/Blog/Image/2019/20190612/new_connection.jpg" style="max-width: 100%;"></td></tr><br/><br/>Navicat  WindowsmacOSLinux  UNIX PAM  GSSAPI <br/><br/></li><br/><li><i></i></li><br/><li><br/><br/><tr><td align="middle"><img src="/link/Blog/Image/2019/20190612/databases_tab.jpg" style="max-width: 100%;"></td></tr></li><br/><li> <br/><br/><tr><td align="middle"><img src="/link/Blog/Image/2019/20190612/mysql_connection.jpg" style="max-width: 100%;"></td></tr></li></ul><h1 class="blog-sub-title"></h1><p> Microsoft Azure SQL Database </p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 24px;"><li> -&gt; Microsoft Azure -&gt; Microsoft Azure SQL Database...</li><li><br/><br/><tr><td align="middle"><img src="/link/Blog/Image/2019/20190612/azure_connection.jpg" style="max-width: 100%;"></td></tr><br/><br/> Azure  <br/><br/><tr><td align="middle"><img src="/link/Blog/Image/2019/20190612/azure_details.jpg" style="max-width: 100%;"></td></tr></li><br/><li><br/><br/><tr><td align="middle"><img src="/link/Blog/Image/2019/20190612/open_connections.jpg" style="max-width: 100%;"></td></tr></li></ul><h1 class="blog-sub-title"></h1><p> Navicat Premium  SELECT  <a class="default-links" href="/company/aboutus/blog/296-" target="_blank"></a> <a class="default-links" href="/download/navicat-premium" target="_blank">Navicat Premium</a>  14 </p>]]></description>
</item>
<item>
<title>如何跨多个数据库查询</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2019  6  4 </b> Robert Gravelle <br/><br/><p>Master-SlaveDBA</p><p><a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a> MySQLMariaDBMongoDBSQL ServerOraclePostgreSQL  SQLite  Amazon RDSAmazon AuroraAmazon RedshiftMicrosoft AzureOracle CloudMongoDB Atlas</p><p> SELECT  Navicat Premium  SQL </p><h1 class="blog-sub-title"></h1><p> Sakila  actors  A  L  M  Z  Navicat </p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190604/actor_tables.jpg" style="max-width: 100%;"></td></tr><h1 class="blog-sub-title"> SELECT </h1><p> SELECT  tbl_name db_name.tbl_nameSELECT FROM SQL</p><p><font face="monospace">SELECT database1.table1.field1,<br/>    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;database2.table1.field1<br/>    FROM database1.table1,<br/>    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;database.table1<br/>    WHERE database1.table1.age &gt; 12;</font></p><h1 class="blog-sub-title"> JOIN</h1><p>JOIN</p><p><font face="monospace">SELECT *<br/>FROM database1.table1 T1<br/>JOIN database2.table1 AS T2 ON T1.id = T2.id</font></p><p>JOIN UNION  SELECT </p><p><font face="monospace">SELECT *<br/>&nbsp;FROM database1.table1 T1<br/>&nbsp;WHERE T1.age &gt; 12<br/>UNION<br/>SELECT *<br/>&nbsp;FROM database2.table1 T2<br/>&nbsp;WHERE T2.age &gt; 12;</font></p><p> actors  SELECT ID </p><p><font face="monospace">SELECT T1.actor_id,<br/>    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;T1.first_name,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;T1.last_name<br/>&nbsp;FROM sakila.`actor_a-l` T1<br/>&nbsp;WHERE T1.actor_id BETWEEN 30 AND 50<br/>UNION<br/>SELECT T2.actor_id,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;T2.first_name,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;T2.last_name<br/>&nbsp;FROM sakila2.`actor_m-z` T2<br/>&nbsp;WHERE T2.actor_id BETWEEN 30 AND 50<br/>&nbsp;ORDER BY last_name;</font></p><p> A-L  M-Z </p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190604/union_query_results.jpg" style="max-width: 100%;"></td></tr><h1 class="blog-sub-title"></h1><p> <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a>  SELECT Navicat <a class="default-links" href="/download/navicat-premium" target="_blank"></a> 14 </p>]]></description>
</item>
<item>
<title>Between 运算符</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2019  5  29 </b> Robert Gravelle <br/><br/><p><a class="default-links" href="/company/aboutus/blog/294--select-" target="_blank"> SELECT </a>  BETWEEN </p><h1 class="blog-sub-title"></h1><p>  &gt;=  &lt;=  2005  7  5  6  <a class="default-link" href="https://dev.mysql.com/doc/sakila/en/" target="_blank">Sakila</a> </p><p><font face="monospace">SELECT<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;customer_list.`name`,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rental.rental_date,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;film.title<br/>FROM<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;customer_list<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INNER JOIN rental ON customer_list.ID = rental.customer_id<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INNER JOIN film ON rental.inventory_id = film.film_id<br/>WHERE<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rental_date &gt;= '2005-07-05'AND rental_date &lt;= '2005-07-06'<br/></font></p><p> BETWEEN BETWEEN  BETWEEN </p><p><font face="monospace">WHERE rental_date BETWEEN '2005-07-05' AND '2005-07-06'</font></p><p></p><font face="monospace"><table><tr><td>name</td><td>rental_date</td><td>title</td></tr><tr><td colspan="3">----------------------------------------------------------------</td></tr><tr><td>JAIME NETTLES</td><td>2005-07-05 22:49:24</td><td>TEQUILA PAST</td></tr><tr><td>PAMELA BAKER</td><td>2005-07-05 22:56:33</td><td>STAR OPERATION</td></tr><tr><td>EDUARDO HIATT</td><td>2005-07-05 22:59:53</td><td>BRIDE INTRIGUE</td></tr><tr><td>FERNANDO CHURCHILL</td><td>2005-07-05 23:13:51</td><td>BLADE POLISH</td></tr><tr><td>CARMEN OWENS</td><td>2005-07-05 23:25:54</td><td>CANDLES GRAPES</td></tr><tr><td>JOE GILLILAND</td><td>2005-07-05 23:32:49</td><td>TOURIST PELICAN</td></tr><tr><td>APRIL BURNS</td><td>2005-07-05 23:44:37</td><td>WIZARD COLDBLOODED</td></tr><tr><td>ERICA MATTHEWS</td><td>2005-07-05 23:46:19</td><td>JACKET FRISCO</td></tr></table></font><p> BETWEEN  2.99  4.99 </p><font face="monospace"><p>SELECT<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;customer_list.`name`,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rental.rental_date,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;film.title,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;film.rental_rate<br/>FROM<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;customer_list<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INNER JOIN rental ON customer_list.ID = rental.customer_id<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INNER JOIN film ON rental.inventory_id = film.film_id<br/>WHERE<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rental.rental_date BETWEEN '2005-07-05' AND '2005-07-06'<br/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AND film.rental_rate BETWEEN 2.99 AND 4.99<br/></p><table><tr><td>name</td><td>rental_date</td><td>title</td><td>rental_rate</td></tr><tr><td colspan="4">----------------------------------------------------------------------------------</td></tr><tr><td>JAIME NETTLES</td><td>2005-07-05 22:49:24</td><td>TEQUILA PAST</td><td>4.99</td></tr><tr><td>PAMELA BAKER</td><td>2005-07-05 22:56:33</td><td>STAR OPERATION</td><td>2.99</td></tr><tr><td>CARMEN OWENS</td><td>2005-07-05 23:25:54</td><td>CANDLES GRAPES</td><td>4.99</td></tr><tr><td>JOE GILLILAND</td><td>2005-07-05 23:32:49</td><td>TOURIST PELICAN</td><td>4.99</td></tr><tr><td>APRIL BURNS</td><td>2005-07-05 23:44:37</td><td>WIZARD COLDBLOODED</td><td>4.99</td></tr><tr><td>ERICA MATTHEWS</td><td>2005-07-05 23:46:19</td><td>JACKET FRISCO</td><td>2.99</td></tr></table></font><h1 class="blog-sub-title"></h1><p> BETWEEN  <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a> Navicat <a class="default-links" href="/download/navicat-premium" target="_blank"></a> 14 </p>]]></description>
</item>
<item>
<title>你必须知道的一些 SELECT 查询</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2019  5  23 </b> Robert Gravelle <br/><br/><p>Facebook SQLStructured Query Language </p><p> SQL DDLDMLSQL  SELECT  Navicat Premium <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a> </p><h1 class="blog-sub-title"></h1><p><a class="default-links" href="http://dev.mysql.com/doc/sakila/en/index.html" target="_blank">Sakila </a>  Sakila  Generating Reports on MySQL Data MySQL  <a class="default-links" href="http://www.databasejournal.com/features/mysql/generating-reports-on-mysql-data.html" target="_blank">Generating Reports on MySQL Data MySQL </a> </p><p>Film  Sakila</p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190523/film_table.jpg" style="max-width: 100%;"></td></tr><p> MIN()  MAX()  AVGCOUNTSUMMINMAX  MIN()  MAX()  film  rental_rate </p><p><font face="monospace">SELECT MIN(f.rental_rate) as lowest_price,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MAX(f.rental_rate) as highest_price<br/>FROM film f;</font></p><p></p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190523/lowest_highest_rental_price.jpg" style="max-width: 100%;"></td></tr><h1 class="blog-sub-title"></h1><p>GROUP BY  SQL GROUP BY COUNTMAXMINSUMAVG</p><p> GROUP BY  GeneralPGPG-13  rating  GROUP BY </p><p><font face="monospace">SELECT f.rating,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MIN(f.rental_rate) as lowest_price,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MAX(f.rental_rate) as highest_price<br/>FROM film f<br/>GROUP BY f.rating;</font></p><p> $0.99  $4.99</p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190523/lowest_highest_rental_price_grouped_by_rating.jpg" style="max-width: 100%;"></td></tr><h1 class="blog-sub-title"></h1><p> <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a> Navicat Premium Navicat <a class="default-links" href="/download/navicat-premium" target="_blank"></a> 14 </p>]]></description>
</item>
<item>
<title>使用 Navicat Monitor 诊断 MySQL 8 的瓶颈和死锁</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2019  5  16 </b> Robert Gravelle <br/><br/><p> <a class="default-links" href="/company/aboutus/blog/293-mysql-8-performance-schema-" target="_blank">MySQL 8 Performance Schema </a>utexThread MySQL Performance Schema <a class="default-links" href="https://www.navicat.com/en/products/navicat-monitor" target="_blank">Navicat Monitor</a> <h1 class="blog-sub-title">Navicat Monitor </h1><p>Navicat Monitor  MySQL / MariaDB DBNavicat Monitor </p><p></p><ul style="list-style-type: disc; margin-left: 24px; line-height: 24px;"><li><br/><ul style="list-style-type: circle; margin-left: 28px; line-height: 20px;"><li> MySQL  MariaDB </li>            <li> MySQL  MariaDB CPU</li>            <li></li></ul></li><li><br/><ul style="list-style-type: circle; margin-left: 28px; line-height: 20px;"><li></li>            <li></li>            <li> PDF </li></ul></li><li><br/><ul style="list-style-type: circle; margin-left: 28px; line-height: 20px;"><li> 40 </li>            <li></li>            <li> SMTPSNMP  Slack</li></ul></li><li><br/><ul style="list-style-type: circle; margin-left: 28px; line-height: 20px;"><li></li>            <li></li>            <li></li></ul></li><li><br/><ul style="list-style-type: circle; margin-left: 28px; line-height: 20px;"><li></li>            <li></li>            <li></li></ul></li><li><br/><ul style="list-style-type: circle; margin-left: 28px; line-height: 20px;"><li></li>            <li> MySQL  MariaDB </li>            <li> MySQL  MariaDB </li></ul></li><li><br/><ul style="list-style-type: circle; margin-left: 28px; line-height: 20px;"><li></li>            <li>OpenLDAP  Active Directory </li>            <li> IP </li></ul></li><li><br/><ul style="list-style-type: circle; margin-left: 28px; line-height: 20px;"><li></li>            <li> Navicat Monitor </li>            <li></li></ul></li></ul><h1 class="blog-sub-title"></h1><p></p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190516/query_analyzer.jpg" style="max-width: 100%;"></td></tr><p></p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190516/deadlock_screen.jpg" style="max-width: 100%;"></td></tr><p></p><p> 5 </p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190516/refresh_time_and_rows_ro_display.jpg" style="max-width: 100%;"></td></tr><p>X / </p><h1 class="blog-sub-title"></h1><p> Navicat Monitor  MySQL 8  Navicat Monitor for MySQL/MariaDB<a class="default-links" href="/store/navicat-monitor-plan" target="_blank"></a>!</p>]]></description>
</item>
<item>
<title>MySQL 8 Performance Schema 如何帮助诊断查询死锁</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2019  5  7 </b> Robert Gravelle <br/><br/><p>MySQL 5.5  performance_schema  information_schema <a class="default-links" href="/company/aboutus/blog/282--mysql-information-schema.html" target="_blank"></a>information_schema performance_schema  MySQL   <a class="default-links" href="https://www.navicat.com/en/products/navicat-premium" target="_blank">Navicat Premium</a> </p><h1 class="blog-sub-title"></h1><p>Performance Schema  MySQL Performance Schema performance_schema</p><p>MySQL 5.6.6 Performance Schema </p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190507/show_variables.jpg" style="max-width: 100%"></td></tr><p> --performance-schema=ON </p><p> performance_schema </p><h1 class="blog-sub-title">utexThread</h1><p>Mutexmutual exclusionmutex variable MySQL  InnoDB </p><p> InnoDB InnoDB </p><h1 class="blog-sub-title"></h1><p> Performance Schema  mutex_instances  mutex_instances.LOCKED_BY_THREAD_ID  rwlock_instances.WRITE_LOCKED_BY_THREAD_ID </p><p> thread 1 </p><p></p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190507/select_thread.jpg" style="max-width: 100%"></td></tr><p> events_waits_current.OBJECT_INSTANCE_BEGIN  mutex A</p><p> mutex A </p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190507/select_mutex.jpg" style="max-width: 100%"></td></tr><p> thread 2  mutex A mutex_instances.LOCKED_BY_THREAD_ID </p><p> thread 2</p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190507/select_thread2.jpg" style="max-width: 100%"></td></tr><h1 class="blog-sub-title"></h1><p> Performance Schema  MySQL 8 / <a class="default-links" href="/products/navicat-monitor" target="_blank">Navicat Monitor</a></p>]]></description>
</item>
<item>
<title>使用 MySQL Information Schema</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2019  4  30 </b> Robert Gravelle <br/><br/><p> MySQL /MySQL  INFORMATION_SCHEMA  MySQL INFORMATION_SCHEMA  <a class="default-links" href="/products/navicat-premium" target="_target">Navicat Premium</a>  INFORMATION_SCHEMA </p><h1 class="blog-sub-title"></h1><p>information_schema.tables </p><p><font face="monospace">SELECT table_name, table_type, engine<br/>FROM information_schema.tables<br/>WHERE table_schema = 'sakila'<br/>ORDER BY table_name;</font></p><p> Navicat </p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190430/table_info.jpg" style="max-width: 100%"></td></tr><p> information_schema.tables </p><p><font face="monospace">SELECT<br>    &nbsp;&nbsp;&nbsp;&nbsp;table_name AS `Table`,<br/>    &nbsp;&nbsp;&nbsp;&nbsp;round(((data_length + index_length) / 1024 / 1024), 2) `Size in MB`<br/>FROM information_schema.TABLES<br/>WHERE table_schema = "sakila"<br/>AND table_name = "film";</font></p><p> Navicat Premium </p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190430/table_size_query.png" style="max-width: 100%"></td></tr><p></p><p><font face="monospace">SELECT<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;table_schema as `Database`,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;table_name AS `Table`,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;round(((data_length + index_length) / 1024 / 1024), 2) `Size in MB`<br/>FROM information_schema.TABLES<br/>ORDER BY (data_length + index_length) DESC;</font></p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190430/all_table_sizes.png" style="max-width: 100%"></td></tr><p> information_schema.tables  MySQL </p><p><font face="monospace">SELECT<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;table_schema as `Database`,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;table_name AS `Table`,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;round(((data_length + index_length) / 1024 / 1024), 2) `Size in MB`<br/>FROM information_schema.TABLES<br/>ORDER BY (data_length + index_length) DESC;</font></p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190430/database_sizes.png" style="max-width: 100%"></td></tr><h1 class="blog-sub-title"></h1><p>INFORMATION_SCHEMA.STATISTICS  24 </p><p>INFORMATION_SCHEMA.STATISTICS </p><p><font face="monospace">SELECT DISTINCT<br/>&nbsp;&nbsp;&nbsp;&nbsp;TABLE_NAME,<br/>&nbsp;&nbsp;&nbsp;&nbsp;INDEX_NAME<br/>FROM INFORMATION_SCHEMA.STATISTICS<br/>WHERE TABLE_SCHEMA = 'your_schema';</font></p><p> Navicat  sakila </p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190430/indexes.jpg" style="max-width: 100%"></td></tr><p> WHERE </p><p><font face="monospace">SELECT DISTINCT<br/>&nbsp;&nbsp;&nbsp;&nbsp;stat.TABLE_SCHEMA as 'DATABASE',<br/>&nbsp;&nbsp;&nbsp;&nbsp;TABLE_NAME,<br/>&nbsp;&nbsp;&nbsp;&nbsp;INDEX_NAME<br/>FROM INFORMATION_SCHEMA.STATISTICS stat;</font></p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190430/indexes_for_all_dbs.jpg" style="max-width: 100%"></td></tr><h1 class="blog-sub-title"></h1><p> MySQL INFORMATION_SCHEMA  MySQL  <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a>  <a class="default-links" href="/products/navicat-for-mysql" target="_blank">Navicat for MySQL</a>  14 </p>]]></description>
</item>
<item>
<title>MySQL 的提示和技巧</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2019  4  23 </b> Robert Gravelle <br/><br/><p> MySQLMariaDB <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a>  <a class="default-links" href="/products/navicat-for-mysql" target="_blank">Navicat for MySQL</a>  MySQL  MariaDB Navicat for MySQL  Amazon RDSAmazon AuroraOracle CloudGoogle CloudMicrosoft Azure Navicat Premium  MySQLMariaDBMongoDBSQL ServerOraclePostgreSQL  SQLite  GUI </p><p> MySQL  Navicat for MySQL  Navicat Premium </p><h1 class="blog-sub-title">1</h1><p> SELECT DISTINCT </p><p><font face="monospace">SELECT DISTINCT<br/>&nbsp;&nbsp;&nbsp;&nbsp;lastname<br/>FROM<br/>&nbsp;&nbsp;&nbsp;&nbsp;employees<br/>ORDER BY lastname;<br/></font></p><p></p><p><font face="monospace">CREATE VIEW distinct_emp_names AS<br/>SELECT DISTINCT<br/>&nbsp;&nbsp;&nbsp;&nbsp;lastname<br/>FROM<br/>&nbsp;&nbsp;&nbsp;&nbsp;employees<br/>ORDER BY lastname;<br/></font></p><p></p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190423/MySQL-DISTINCT-last-name.png" style="max-width: 100%;"></td></tr><h1 class="blog-sub-title">2</h1><p>DISTINCT MySQL </p><p><font face="monospace">CREATE VIEW distinct_cities_and_states AS<br/>SELECT DISTINCT<br/>&nbsp;&nbsp;&nbsp;&nbsp;state, city<br/>FROM<br/>&nbsp;&nbsp;&nbsp;&nbsp;customers<br/>WHERE<br/>&nbsp;&nbsp;&nbsp;&nbsp;state IS NOT NULL<br/>ORDER BY state, city;<br/></font></p><p></p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190423/MySQL-DISTINCT-multiple-columns-example.png" style="max-width: 100%;"></td></tr><h1 class="blog-sub-title">3</h1><p> ALTER TABLE </p><font face="monospace"><p>ALTER TABLE MyTable CHANGE COLUMN `Old Name` to `New Name`;</p></font><p> Navicat </p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190423/MySQL_Windows_02_ObjectDesign.png" style="max-width: 100%;"></td></tr><h1 class="blog-sub-title">4</h1><p> full_name first_name  last_name ALTER TABLE </p><p><font face="monospace">ALTER TABLE emails<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ADD COLUMN `first_name` VARCHAR(30) AFTER `full_name`,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ADD COLUMN `last_name` VARCHAR(30) AFTER `first_name`;<br/>UPDATE emails<br/>SET<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# Trim the white space<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`full_name` = LTRIM(RTRIM(`full_name`)),<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# Get the first name and copy it to a new column<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`first_name` = SUBSTRING_INDEX(`full_name`, ' ', 1),<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# Get the second name and copy it to a new column<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`last_name` = SUBSTRING_INDEX(`full_name`, ' ', -1)<br/></font></p><p> Navicat </p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190423/navicat-view-split-full-name-into-fname-lname.png" style="max-width: 100%;"></td></tr><h1 class="blog-sub-title"></h1><p> MySQL  <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a>  <a class="default-links" href="/products/navicat-for-mysql" target="_blank">Navicat for MySQL</a>Navicat  DBA  14 </p>]]></description>
</item>
<item>
<title>了解关系数据库的视图</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2019  4  16 </b> Robert Gravelle <br/><br/><p> SELECT  MySQL Navicat Premium  MySQL 8 </p><h1 class="blog-sub-title"></h1><p> MySQL  CREATE VIEW </p><font face="monospace"><p>CREATE<br/>&nbsp;&nbsp;&nbsp;[ALGORITHM = {MERGE  | TEMPTABLE | UNDEFINED}]<br/>VIEW view_name [(column_list)]<br/>AS<br/>select-statement;</p></font><p></p><p><b></b></p><p>ALGORITHM  MySQL MySQL MERGETEMPTABLE  UNDEFINED</p><ul style="list-style-type: disc; margin-left: 24px; line-height: 20px;"><li>MERGE  SELECT MySQL MERGE MINMAXSUMCOUNTAVG DISTINCTGROUP BYHAVINGLIMITUNION  UNION ALL  SELECT  MERGE MySQL  UNDEFINED</li><li>TEMPTABLE  SELECT  MySQL  TEMPTABLE  MERGE </li><li>UNDEFINED UNDEFINED  MySQL  MERGE  TEMPTABLE MySQL  MERGE  MERGE  TEMPTABLE </li></ul><p><b></b></p><p></p><p><b>SELECT </b></p><p> SELECT SELECT </p><ul style="list-style-type: disc; margin-left: 24px; line-height: 20px;"><li>SELECT  WHERE  FROM </li><li>SELECT </li><li>SELECT </li></ul><h1 class="blog-sub-title"> Navicat </h1><p> Navicat </p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190416/new_view_button.jpg" style="max-width: 100%;"></td></tr><p> SQL</p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190416/view_definition_tab.jpg" style="max-width: 100%"></td></tr><p></p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190416/view_advanced_tab.jpg" style="max-width: 100%"></td></tr><p></p><h1 class="blog-sub-title"></h1><p></p>]]></description>
</item>
<item>
<title>了解关系数据库的存储过程和函数</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2019  4  9 </b> Robert Gravelle <br/><br/><p> MySQLMariaDB  SQL Server</p><h1 class="blog-sub-title"></h1><p>stored procedure procStructured Query LanguageSQL</p><p></p><p> SQL </p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190409/proc.jpg" style="max-width: 100%"></td></tr><h1 class="blog-sub-title"></h1><p> SQL  SQL  SQL</p><p></p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190409/func.jpg" style="max-width: 100%"></td></tr><h1 class="blog-sub-title"></h1><p> SQL </p><p> SQL  SQL /</p><p></p><h1 class="blog-sub-title"> Navicat </h1><p> Navicat Pxfx</p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190409/functions.jpg" style="max-width: 100%"></td></tr><h1 class="blog-sub-title"></h1><p> SQL </p>]]></description>
</item>
<item>
<title>在 MongoDB 执行正则表达式搜索</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2019  4  1 </b> Robert Gravelle <br/><br/><p>regexMongoDB  regex  <a class="default-links" href="/products/navicat-for-mongodb" target="_blank">Navicat for MongoDB</a>  MongoDB </p><h1 class="blog-sub-title"></h1><p>MongoDB regex  Sakila </p><p>DANDANNYDANIEL</p><font face="monospace"><p>db.film_list.find({actors: {$regex: "DAN" }})</p></font><p></p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190401/dan_results.png" style="max-width: 100%;"></td></tr><p>$ regex/ regex</p><font face="monospace"><p>db.film_list.find({ actors: /DAN/ })</p></font><h1 class="blog-sub-title"></h1><p>Carrie Mossmoss carrie-anne Carrie-Anne Moss </p><font face="monospace"><p>db.film_list.find(<br/>   &nbsp;&nbsp;&nbsp;{ actors: { $elemMatch: { actors: /Moss/i, actors: /carrie-anne/i } } }<br/>   );</p></font><p>$elemMatch  $elemMatch  $andCarrie-Anne MossSandra MossCarrie-Anne Fisheri</p><h1 class="blog-sub-title">options </h1><p> options </p><ul style="list-style-type: disc; margin-left: 24px; line-height: 20px;"><li>i</li>  <li>m ^ $ </li>  <li>x $regex  $options  $regex</li>  <li>s.</li></ul><h1 class="blog-sub-title"></h1><p>$regex  MongoDB </p><p> Navicat for MongoDB <a class="default-links" href="/products/navicat-for-mongodb" target="_blank"></a> MongoDB  <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium 12.1</a></p>]]></description>
</item>
<item>
<title>关于 MongoDB 的 _id 字段</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2019  3  26 </b> Robert Gravelle <br/><br/><p> MongoDB  _id </p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190326/film_table_record.jpg" style="max-width: 100%;"></td></tr><br/><p>ObjectId  _id  MongoDB  MongoDB </p><h1 class="blog-sub-title">ObjectId </h1><p> _id </p><ul style="list-style-type: disc; margin-left: 24px; line-height: 20px;"><li>_id </li>  <li>_id { _id:<someval> }  _id </li>  <li>_id  ObjectID MongoDB  BSON  _id  ObjectID </li></ul><p>ObjectID  12  2-4  12 </p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 20px;"><li> 4  Unix </li>    <li> 3 </li>    <li> 2  ID</li>    <li> 3 </li></ul><tr><td align="middle"><img src="/link/Blog/Image/2019/20190326/_id.png" style="max-width: 100%;"></td></tr><p> ObjectID _id MongoDB  _id </p><h1 class="blog-sub-title"> ObjectId</h1><p> ObjectId</p><font face="monospace">newObjectId = ObjectId()</font><p> Navicat </p><p> _id</p><font face="monospace">ObjectId("5349b4ddd2781d08c09890f3")</font><p> 12  ID</p><font face="monospace">myObjectId = ObjectId("5349b4ddd2781d08c09890f4")</font><h1 class="blog-sub-title"></h1><p> _id ObjectId  4  getTimestamp </p><font face="monospace">ObjectId("5349b4ddd2781d08c09890f4").getTimestamp()</font><p> ISO </p><font face="monospace">ISODate("2019-09-12T30:39:17Z")</font><h1 class="blog-sub-title"> ObjectId String</h1><p> ObjectId  ObjectId </p><font face="monospace">newObjectId.str</font><p> Guid  ObjectId</p><font face="monospace">5349b4ddd2781d08c09890f3</font><h1 class="blog-sub-title"></h1><p> ObjectId  _id  ID </p><h1 class="blog-sub-title"> ObjectId</h1><p>_id  _id _id  _id  _id </p><h1 class="blog-sub-title"></h1><p>MongoDB  _id  MongoDB </p><p> Navicat for MongoDB  <a class="default-links" href="https://navicat.com/en/products/navicat-for-mongodb" target="_blank"></a> MongoDB <a class="default-links" href="https://navicat.com/en/products/navicat-premium" target="_blank">Navicat Premium 12.1</a>!</p>]]></description>
</item>
<item>
<title>在 MongoDB 中使用覆盖索引查询</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2019  3  5 </b> Robert Gravelle <br/><br/><p>MongoDB Covered Queries MongoDB </p><h1 class="blog-sub-title"></h1><p></p><ul style="list-style-type: disc; margin-left: 24px; line-height: 20px;"><li></li><li></li></ul><p> MongoDB  RAM </p><p></p><h1 class="blog-sub-title"></h1><p> <a class="default-links" href="https://dev.mysql.com/doc/sakila/en/" target="_blank">Sakila </a> film  <a class="default-links" href="https://navicat.com/en/products/navicat-for-mongodb" target="_blank">Navicat for MongoDB</a> :</p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190305/film_table_record.jpg" style="max-width: 100%;"></td></tr><p> title  release_year </p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 20px;"><li> <br/><tr><td align="middle"><img src="/link/Blog/Image/2019/20190305/new_index_button.jpg" style="max-width: 100%;"></td></tr><br/><br/><br/><br/></li><li>film</li>    <li>:titleASC</li><li>+<br/><br/><tr><td align="middle"><img src="/link/Blog/Image/2019/20190305/index_keys.jpg" style="max-width: 100%;"></td></tr><br/></li><li>release_yearASC</li><li> 1 <br/><br/><tr><td align="middle"><img src="/link/Blog/Image/2019/20190305/weights.jpg" style="max-width: 100%;"></td></tr><br/><br/></li><li>film_title_year</li></ul><h1 class="blog-sub-title"></h1><p></p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 20px;"><li></li><li> find() <br/><br><font face="monospace">db.film.find({title:{$regex : ".*AGENT.*"}},{title:1,release_year:1,_id:0})</font><br/><br/></li><li><br/><br/><tr><td align="middle"><img src="/link/Blog/Image/2019/20190305/query_results.jpg" style="max-width: 100%;"></td></tr><br/></li></ul><p>&gt;</p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190305/explain.jpg" style="max-width: 100%;"></td></tr><h1 class="blog-sub-title"></h1><p> MongoDB  RAM </p>]]></description>
</item>
<item>
<title>在 Navicat Premium 中执行数据库范围搜索</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2019  2  26 </b> Robert Gravelle <br/><br/><p> information_schema  SCHEMATATABLES  COLUMNS</p><p> Navicat Premium Essentials Navicat /</p><h1 class="blog-sub-title"></h1><p> <a class="default-links" href="https://dev.mysql.com/doc/sakila/en/" target="_blank">Sakila </a>release_year</p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 20px;"><li>-></li>    <li>/</li>    <li></li>    <li></li>    <li>  </li>    <li></li><li>/<br/><br/>/ <br/><br/><tr><td align="middle"><img src="/link/Blog/Image/2019/20190226/find_column.jpg" style="max-width: 100%;"></td></tr><br/></li><li>Navicat release_year <br/><br/><tr><td align="middle"><img src="/link/Blog/Image/2019/20190226/column_results.jpg" style="max-width: 100%;"></td></tr><br/><br/> <br/><br/><tr><td align="middle"><img src="/link/Blog/Image/2019/20190226/object_in_table.jpg" style="max-width: 100%;"></td></tr></li></ul><h1 class="blog-sub-title"></h1><p> Navicat </p><p>JOHN</p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190226/data_results.jpg" style="max-width: 100%;"></td></tr><p></p><p></p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190226/data_in_table.jpg" style="max-width: 100%;"></td></tr><p> Navicat </p><h1 class="blog-sub-title"></h1><p>Navicat information_schema <a class="default-links" href="/products/navicat-premium" target="_blank"></a> Navicat Premium </p>]]></description>
</item>
<item>
<title>在 MongoDB 中创建 DBRefs</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2019  2  19 </b> Robert Gravelle <br/><br/><p> <a class="default-links" href="/company/aboutus/blog/270-relationships-in-mongodb" target="_blank"></a> MongoDB  MongoDB  DBRefs</p><h1 class="blog-sub-title"> DBRef </h1><p> MongoDB  MongoDB <i></i> id MongoDB DBRefs</p><p> DBRefs address_homeaddress_officeaddress_mailing  DBRefs</p><h1 class="blog-sub-title">DBRefs </h1><p>DDBRefs </p><ul style="list-style-type: disc; margin-left: 24px; line-height: 20px;"><li>$ref</li><li>$id _id </li><li>$db</li></ul><p> DBRef  Barbara Palmer </p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 20px;"><li> Navicat + DBRef  <br/><br/><tr><td align="middle"><img src="/link/Blog/Image/2019/20190219/employees_collection.jpg" style="max-width: 100%;"></td></tr></li><li>DBRef  $id 135 Sycamore Dr. <br/><br/><tr><td align="middle"><img src="/link/Blog/Image/2019/20190219/addresses_document.jpg" style="max-width: 100%;"></td></tr></li><li> <br/><br/><tr><td align="middle"><img src="/link/Blog/Image/2019/20190219/delete_value.jpg" style="max-width: 100%;"></td></tr></li><li> address_home DBRef <br/><br/><tr><td align="middle"><img src="/link/Blog/Image/2019/20190219/employee_with_DBRef.jpg" style="max-width: 100%;"></td></tr></li><li>Barbara Palmer  address_work $ref</li></ul><h1 class="blog-sub-title"> DBRefs</h1><p> DBRefs employees  $ref  address_home DBRef $ id  id </p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190219/query.jpg" style="max-width: 100%;"></td></tr><h1 class="blog-sub-title"></h1><p> Navicat for MongoDB  MongoDB DBRefsDBRef </p><p> Navicat for MongoDB  <a class="default-links" href="/products/navicat-for-mongodb" target="_blank"></a> <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium 12.1</a>  MongoDB</p>]]></description>
</item>
<item>
<title>MongoDB 中的关系</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2019  2  13 </b> Robert Gravelle <br/><br/><p>RDBMS MongoDB schemaless RDBMS MongoDB <a class="default-links" href="/products/navicat-for-mongodb" target="_blank">Navicat for MongoDB</a></p><h1 class="blog-sub-title"></h1><p> ACME 1:N MongoDB 1:11:NN:1N:N</p><p> Navicat JSON  employees </p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190213/employees_document.jpg" style="max-width: 100%;"></td></tr><p> addresses </p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190213/addresses_document.jpg" style="max-width: 100%;"></td></tr><h1 class="blog-sub-title"></h1><p> addresses  employees  Navicat for MongoDB </p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 20px;"><li> JSON  addresses  <br/><br/><tr><td align="middle"><img src="/link/Blog/Image/2019/20190213/copy_addresses.jpg" style="max-width: 100%;"></td></tr></li><li> employees  <br/><br/><tr><td align="middle"><img src="/link/Blog/Image/2019/20190213/edit_employee.jpg" style="max-width: 100%;"></td></tr></li><li>address <br/><br/><tr><td align="middle"><img src="/link/Blog/Image/2019/20190213/employee_doc_with_embedded_address.jpg" style="max-width: 100%;"></td></tr></li></ul><p style="font-size: 18px;"><b></b></p><p> <br/><tr><td align="middle"><img src="/link/Blog/Image/2019/20190213/employee_embedded_address_query.jpg" style="max-width: 100%;"></td></tr></p><p></p><h1 class="blog-sub-title"></h1><p> id </p><tr><td align="middle"><img src="https://www2.navicat.com/link/Blog/Image/2019/20190213/employee_doc_with_referenced_address.jpg" style="max-width: 100%;"></td></tr><p>address_idsObjectIds  ObjectIds</p><p style="font-size: 18px;"><b></b></p><p> employees  address_ids  addresses </p><p><font face="monospace">var result &nbsp;&nbsp;&nbsp;= db.employees.findOne({"name":"Tom Smith"},{"address_ids":1})<br/>var addresses = db.addresses.find({"_id":{"$in":result["address_ids"]}})</font></p><h1 class="blog-sub-title"></h1><p> Navicat for MongoDB  MongoDB  DBRefs<a class="default-links" href="/products/navicat-for-mongodb" target="_blank"></a> 14 </p>]]></description>
</item>
<item>
<title>在 NoSQL 和传统关系数据库之间做出决定</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2019  1  29 </b> Robert Gravelle <br/><br/><p> NoSQL </p><h1 class="blog-sub-title">RDBMS</h1><p> MySQL  OracleSQL Server  PostgreSQL 1970  E.F. Codd  Codd1971</p><p></p><ul style="list-style-type: disc; margin-left: 24px; line-height: 20px;"><li>AtomicityConsistencyIsolationDurabilityACID. ACID </li><li></li><li> RDBMS </li></ul><p>RDBMS </p><h1 class="blog-sub-title">NoSQL </h1><p>NoSQL NoSQL </p><p></p><ul style="list-style-type: disc; margin-left: 24px; line-height: 20px;"><li>CouchDBMongoDBCassandra  HBase  NoSQL NoSQL </li><li>NoSQL </li></ul><p>NoSQL </p><ul style="list-style-type: disc; margin-left: 24px; line-height: 20px;"><li>NoSQL  MySQL  MySQL  SQL </li><li>NoSQL RDBMS - <a class="default-links" href="/products/navicat-monitor" target="_blank">Navicat Monitor for MySQL/MariaDB</a></li><li>NoSQL  SQL </li><li>NoSQL  ACID </li></ul><h1 class="blog-sub-title"></h1><p></p>]]></description>
</item>
<item>
<title>在单一地方获取所有实例的运行状况和性能概览！</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2019  1  8 </b> Robert Gravelle <br/><br/><p>Navicat Monitor for MySQL/MariaDB  1.7 </p><h1 class="blog-sub-title"></h1><p> 1.7 </p><figure><figcaption></figcaption><img src="/link/Blog/Image/2019/20190108/06.06_DiscoverNavicatMonitor_02_Dashboards_Comfort.png" style="max-width: 100%;"></figure><p></p><figure><figcaption> </figcaption><img src="/link/Blog/Image/2019/20190108/06.06_DiscoverNavicatMonitor_02_Dashboards_Compact.png" style="max-width: 100%;"></figure><h1 class="blog-sub-title"></h1><p>/</p><h1 class="blog-sub-title"></h1><p> X/Y</p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190108/view-and-metrics-list.jpg" style="max-width: 100%;"></td></tr><h1 class="blog-sub-title"></h1><p></p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190108/network-io-chart.jpg" style="max-width: 100%;"></td></tr><p></p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190108/network-io-chart-hover.jpg" style="max-width: 100%;"></td></tr><p></p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190108/instance-details.jpg" style="max-width: 100%;"></td></tr><h1 class="blog-sub-title"></h1><p>Navicat Monitor </p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190108/sort-by-list.jpg" style="max-width: 100%;"></td></tr><h1 class="blog-sub-title"></h1><p></p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190108/groups.jpg" style="max-width: 100%;"></td></tr><p></p><tr><td align="middle"><img src="/link/Blog/Image/2019/20190108/health-state-boxes.jpg" style="max-width: 100%;"></td></tr>]]></description>
</item>
<item>
<title>使用 Navicat 查询分析器优化查询性能（第 2 部分）</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2018  12  31 </b> Robert Gravelle <br/><br/><h1 class="blog-sub-title"></h1><p>Navicat Monitor for MySQL/MariaDB SQL <a class="default-links" href="/company/aboutus/blog/291--navicat--1-" target="_blank"></a> 2 </p><h1 class="blog-sub-title"></h1><p></p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 20px;"><li>General Query Log</li><li>Slow Query Log</li><li> performance_schema <br/><br/>Performance Schema MySQL  5.5.3  1024 ?</li></ul><p></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20181231/query_analyzer.jpg" style="max-width: 100%;"></td></tr><p> 5 </p><h1 class="blog-sub-title"> 5 </h1><p> 5  5 </p><tr><td align="middle"><img src="/link/Blog/Image/2018/20181231/refresh.jpg" style="max-width: 100%;"></td></tr><p> 5 </p><ul style="list-style-type: disc; margin-left: 24px; line-height: 20px;"><li> 5 </li>    <li></li>    <li></li></ul><tr><td align="middle"><img src="/link/Blog/Image/2018/20181231/top_5_queries.jpg" style="max-width: 100%;"></td></tr><p></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20181231/source_list.jpg" style="max-width: 100%;"></td></tr><h1 class="blog-sub-title"></h1><p></p><p style="margin-left: 24px; line-height: 20px;"><tr><td align="middle"><img src="/link/Blog/Image/2018/20181231/query_table.jpg" style="max-width: 100%;"></td></tr><br/><br/><br/><br/><ul style="list-style-type: disc; margin-left: 24px; line-height: 20px;"><li><br/><br/><tr><td align="middle"><img src="/link/Blog/Image/2018/20181231/copy_query.jpg" style="max-width: 100%;"></td></tr></li>      <br/><li><br/><br/><tr><td align="middle"><img src="/link/Blog/Image/2018/20181231/show-hide_columns.jpg" style="max-width: 100%;"></td></tr></li>      <br/><li><br/><br/><tr><td align="middle"><img src="/link/Blog/Image/2018/20181231/query_search_and_sort.jpg" style="max-width: 100%;"></td></tr></li>      <br/><li>X / <br/><br/><tr><td align="middle"><img src="/link/Blog/Image/2018/20181231/rows_to_display.jpg" style="max-width: 100%;"></td></tr></li>      <br/><li><br/><br/><tr><td align="middle"><img src="/link/Blog/Image/2018/20181231/total_no_of_queries.jpg" style="max-width: 100%;"></td></tr></li></ul></p><p> Navicat Monitor for MySQL/MariaDB<a class="default-links" href="/store/navicat-monitor-plan" target="_blank"></a></p>]]></description>
</item>
<item>
<title>使用 Navicat 查询分析器优化查询性能（第 1 部分）</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2018  12  24 </b> Robert Gravelle <br/><br/><h1 class="blog-sub-title"></h1><p> MySQL/MariaDB DBA Navicat Monitor for MySQL/MariaDB Navicat Monitor  SQL  2 </p><h1 class="blog-sub-title"></h1><p></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20181224/instances.jpg" style="max-width: 100%;"></td></tr><p></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20181224/search_for_instance.jpg" style="max-width: 100%;"></td></tr><p></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20181224/query_analyzer.jpg" style="max-width: 100%;"></td></tr><p></p><ul style="list-style-type: disc; margin-left: 24px; line-height: 20px;"><li></li><li> 5  ID</li><li></li></ul><p></p><h1 class="blog-sub-title"></h1><p></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20181224/deadlock_screen.jpg" style="max-width: 100%;"></td></tr><p></p><p> 5 </p><tr><td align="middle"><img src="/link/Blog/Image/2018/20181224/refresh_time_and_rows_ro_display.jpg" style="max-width: 100%;"></td></tr><p>X / </p><h1 class="blog-sub-title"></h1><p></p><p></p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 20px;"><li>ID ID</li>    <li>@</li>    <li></li>    <li></li>    <li></li>    <li></li>    <li></li></ul><tr><td align="middle"><img src="/link/Blog/Image/2018/20181224/process_list.jpg" style="max-width: 100%;"></td></tr><p> 5 </p><p>X / </p><p><b></b></p><p></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20181224/end_process.jpg" style="max-width: 100%;"></td></tr><p> Navicat Monitor for MySQL/MariaDB<a class="default-links" href="/store/navicat-monitor-plan" target="_blank"></a></p>]]></description>
</item>
<item>
<title>接收 MySQL 或 MariaDB 问题的通知</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2018  12  18 </b> Robert Gravelle <br/><br/><p> <a class="default-links" href="/products/navicat-monitor" target="_blank">Navicat Monitor</a> for MySQL / MariaDB </p><p> Navicat</p><p>Navicat SNMP  Slack </p><h1 class="blog-sub-title"></h1><p> Navicat Monitor for MySQL/MariaDB  CPU  90%  30 </p><p>&gt;</p><p></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20181218/alert_policy_screen.png" style="max-width: 100%;"></td></tr><p> CPU CPU </p><p> Navicat CPU  70%  90%  5 </p><p>CPU </p><tr><td align="middle"><img src="/link/Blog/Image/2018/20181218/configure_cpu_usage.jpg" style="max-width: 100%;"></td></tr><p> DBA </p><tr><td align="middle"><img src="/link/Blog/Image/2018/20181218/cpu_usage_details_screen.jpg" style="max-width: 100%;"></td></tr><p></p><p></p><h1 class="blog-sub-title"></h1><p>Navicat Monitor  Navicat Monitor SNMP &gt;</p><p></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20181218/email_notification_details.jpg" style="max-width: 100%;"></td></tr><p></p>]]></description>
</item>
<item>
<title>使用 MySQL 日志（第 3 部分）：慢速日志</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2018  12  11 </b> Robert Gravelle <br/><br/><p> MySQL  Navicat Monitor for MySQL / MariaDB  <a class="default-links" href="/company/aboutus/blog/287--mysql-" target="_blank"></a> MySQL <a class="default-links" href="/company/aboutus/blog/288--mysql--2-" target="_blank"></a></p><p> SQL </p><h1 class="blog-sub-title"></h1><p>/  MySQL  Oracle  10  long_query_time  0 </p><p> log_slow_admin_statements  log_queries_not_using_indexes </p><p> host_name-slow.log slow_query_log_file </p><h1 class="blog-sub-title"></h1><p></p><font face="monospace">root@server# tail /var/log/slowqueries<br/># Time: 130320  7:30:26<br/># User@Host: db_user[db_database] @ localhost []<br/># Query_time: 4.545309  Lock_time: 0.000069 Rows_sent: 219  Rows_examined: 254<br/>SET timestamp=1363779026;<br/>SELECT option_name, option_value FROM wp_options WHERE autoload = 'yes';<br/></font><p> --log-short-format  log_slow_extra  MySQL 8.0.14 </p><h1 class="blog-sub-title"></h1><p> --slow_query_log 1 Navicat  ON 0 Navicat  OFF</p><p> Navicat </p><p> slow_query_log  slow_query_log_file </p><p style="margin-left: 24px;"><tr><td align="middle"><img src="/link/Blog/Image/2018/20181211/slow_query_log_vars_in_navicat.jpg" style="max-width: 100%;"></td></tr><br/> Navicat  slow_query_log </p>]]></description>
</item>
<item>
<title>使用 MySQL 日志（第 2 部分）：二进制日志</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2018  12  4 </b> Robert Gravelle <br/><br/><p> MySQL  Windows <p><p><a class="default-links" href="/company/aboutus/blog/287--mysql-" target="_blank"></a> MySQL  3 </p><h1 class="blog-sub-title"></h1><p> INSERT  UPDATE  DELETE  SELECT  SHOW </p><p></p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 20px;"><li></li><li></li></ul><p></p><h1 class="blog-sub-title"></h1><p>MySQL  ON/OFF --binlog-format = type MySQL </p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 20px;"><li><b></b><br/><p> SQL  --binlog-format=STATEMENT </p><p> MySQL Statement may not be safe to log in statement format</p></li><li><b></b><br/><p> --binlog-format=ROW </p></li><li><b></b><br/><p> --binlog-format=MIXED  MySQL</p><tr><td align="middle"><img src="/link/Blog/Image/2018/20181204/binlog_format.jpg" style="max-width: 100%;"></td></tr><br/> 1 Navicat  binlog_format </li></ul>]]></description>
</item>
<item>
<title>使用 MySQL 日志</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2018  11  27 </b> Robert Gravelle <br/><br/><p>MySQL  MySQL  MySQL  Navicat Monitor for MySQL/MariaDB </p><h1 class="blog-sub-title"></h1><p>MySQL  Windows </p><head><style>table, th, td {    border: 1px solid black;    border-collapse: collapse;}th, td {    padding: 5px;    text-align: left;}</style></head><body><table border="1"><tr><th></th><th></th></tr><tr><td></td><td> <b>mysqld</b> </td></tr><tr><td>isam </td><td> ISAM  ISAM </td></tr><tr><td></td><td></td></tr><tr><td></td><td></td></tr><tr><td></td><td></td></tr><tr><td></td><td> <b>long_query_time</b> </td></tr></table></body><p></p><h1 class="blog-sub-title"></h1><p>MySQL  my.ini Windows C:\Program Files\MySQL\MySQL Server 5.7\dataC:\ProgramData\MysqlC:\ProgramData</p><tr><td align="middle"><img src="/link/Blog/Image/2018/20181127/error_log.jpg" style="max-width: 100%;"></td></tr><br/> 1Windows  MySQL <br/><p> log_error  Navicat </p><p> log_error</p><tr><td align="middle"><img src="/link/Blog/Image/2018/20181127/error_log_variable.jpg" style="max-width: 100%;"></td></tr><br/> 2 Navicat  log_error <br/><h1 class="blog-sub-title"></h1><p> MySQL  SQL </p><p> general_log  1 Navicat  ON general_log 0Navicat OFF general_log_file  log_output MySQL  mysql  slow_log </p><tr><td align="middle"><img src="/link/Blog/Image/2018/20181127/general_log_variables.jpg" style="max-width: 100%;"></td></tr><br/> 3 Navicat  general_log  general_log_file <br/>]]></description>
</item>
<item>
<title>在 Navicat Monitor for MySQL/MariaDB 中配置实例</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2018  11  20 </b> Robert Gravelle <br/><br/><p>Navicat Monitor for MySQL/MariaDB DB</p><p> Navicat Monitor </p><h1 class="blog-sub-title"></h1><p> 1000 </p><p> Navicat Monitor </p><p></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20181120/overview.jpg" style="max-width: 100%;"></td></tr><p></p><p> <a class="default-links" href="https://www.navicat.com/en/products/navicat-premium" target="_blank">Navicat Premium</a> </p><p>Navicat Monitor  SSH </p><p>MySQL MariaDB </p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 20px;"><li> IP </li><li> TCP/IP </li><li> REPLICATION CLIENTSUPERPROCESS  SELECT </li><li></li><li> Unix  Windows</li></ul><p>Navicat Monitor  CPU </p><p></p><p></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20181120/new_instance_dialog.jpg" style="max-width: 100%;"></td></tr><p>></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20181120/configuration.jpg" style="max-width: 100%;"></td></tr><h1 class="blog-sub-title"></h1><p>Navicat Monitor  Navicat  &gt; </p><p></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20181120/activation.jpg" style="max-width: 100%;"></td></tr><p></p>]]></description>
</item>
<item>
<title>在 MongoDB 中存储大文件</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2018  11  13 </b> Robert Gravelle <br/><br/><p>MongoDB BSONBinaryJSONJavaScript Object Notation BSON  JSON BSON  16 MBMongoDB  GridFS </p><p> Navicat for MongoDB  GridFS </p><h1 class="blog-sub-title"> GridFS</h1><p> 16 MB GridFS GridFS  255 KB 255 KB </p><p>GridFS </p><p>GridFS  16 MB </p><h1 class="blog-sub-title"> Navicat for MongoDB </h1><p>Navicat  GridFS  GridFS </p><tr><td align="middle"><img src="/link/Blog/Image/2018/20181113/gridfs_toolbar2.jpg" style="max-width: 100%;"></td></tr><p>GridFS </p><p></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20181113/upload_btn.jpg" style="max-width: 100%;"></td></tr><p></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20181113/upload_progress_bar.jpg" style="max-width: 100%;"></td></tr><p></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20181113/file_details.jpg" style="max-width: 100%;"></td></tr><p> GridFS </p><font face="monospace">{<br/>&nbsp;&nbsp;"_id" : &lt;ObjectId&gt;,<br/>&nbsp;&nbsp;"length" : &lt;num&gt;,<br/>&nbsp;&nbsp;"chunkSize" : &lt;num&gt;,<br/>&nbsp;&nbsp;"uploadDate" : &lt;timestamp&gt;,<br/>&nbsp;&nbsp;"md5" : &lt;hash&gt;,<br/>&nbsp;&nbsp;"filename" : &lt;string&gt;,<br/>&nbsp;&nbsp;"contentType" : &lt;string&gt;,<br/>&nbsp;&nbsp;"aliases" : &lt;string array&gt;,<br/>&nbsp;&nbsp;"metadata" : &lt;any&gt;,<br/>}</font><p>Navicat </p><tr><td align="middle"><img src="/link/Blog/Image/2018/20181113/file_preview.jpg" style="max-width: 100%;"></td></tr><h1 class="blog-sub-title"></h1><p></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20181113/download.jpg" style="max-width: 100%;"></td></tr><p> Navicat for MongoDB  GridFS </p>]]></description>
</item>
<item>
<title>Navicat Monitor 1.7 的新功能</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2018  11  6 </b> Robert Gravelle <br/><br/><p>Navicat  Navicat Monitor 1.7</p><ul style="list-style-type: disc; margin-left: 24px; line-height: 20px;"><li></li><li><a class="default-links" href="https://slack.com/" target="_blank">Slack</a> collaboration hub Slack </li></ul><p></p><h1 class="blog-sub-title"></h1><p></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20181106/06.06_DiscoverNavicatMonitor_02_Dashboards_Comfort.png" style="max-width: 100%;"></td></tr><p></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20181106/06.06_DiscoverNavicatMonitor_02_Dashboards_Compact.png" style="max-width: 100%;"></td></tr><h1 class="blog-sub-title">Slack </h1><p>Slack Slack  Slack</p><p> Navicat MonitorDBA  Slack SNMP </p><tr><td align="middle"><img src="/link/Blog/Image/2018/20181106/02.Product_01_NavicatMonitor_03b_Notifications.png" style="max-width: 100%"></td></tr><p> Slack </p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 20px;"><li> &lt; <br/><br/><tr><td align="middle"><img src="/link/Blog/Image/2018/20181106/alert_policy.jpg" style="max-width: 100%;"></td></tr></li><br/><li><br/><br/><tr><td align="middle"><img src="/link/Blog/Image/2018/20181106/notification_settings.jpg" style="max-width: 100%;"></td></tr></li><br/><li></li></ul><h1 class="blog-sub-title"> Navicat Monitor 1.7</h1><p> <a class="default-links" href="/download/navicat-monitor" target="_blank">Navicat Monitor</a>  Navicat  WindowsmacOSmacOS HomebrewLinuxLinux ReposDocker  FreeBSD</p><p> <a class="default-links" href="/products/navicat-monitor" target="_blank"></a> Navicat Monitor <a class="default-links" href="/discover-navicat-monitor" target="_blank"> Navicat Monitor</a></p>]]></description>
</item>
<item>
<title>在 Navicat for MongoDB 编辑用户角色</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2018  10  30 </b> Robert Gravelle <br/><br/><p>Navicat for MongoDB  GUI  Navicat </p><h1 class="blog-sub-title"></h1><p> Navicat  MongoDB </p><tr><td align="middle"><img src="/link/Blog/Image/2018/20181030/navicat_user_command.jpg" style="max-width: 100%"></td></tr><p><a class="default-links" href="/company/aboutus/blog/265-introduction-to-user-role-management-in-mongodb.html" target="_blank"></a></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20181030/roles_toolbar.jpg" style="max-width: 100%"></td></tr><h1 class="blog-sub-title"></h1><p></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20181030/edit_role_tabs.jpg" style="max-width: 100%"></td></tr><br/><p></p><ul style="list-style-type: disc; margin-left: 24px; line-height: 20px;"><li><b></b></li><li><b></b></li><li><b></b></li><li><b> ()</b></li><li><b> ()</b></li><li><b></b></li><li><b></b> IP  CIDR  IP </li><li><b></b> IP  CIDR </li></ul><br/><p style="font-size: 18px;"><b></b></p><p> 3.6  IP Classless Inter-Domain RoutingCIDR</p><p>authenticationRestrictionsauthenticationRestrictions</p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 20px"><li><b>clientSource</b>  IP/CIDR IP  CIDR  IP <br/><br/> Navicat clientSource  [...] <br/><tr><td align="middle"><img src="/link/Blog/Image/2018/20181030/client_source_dialog.jpg" style="max-width: 100%"></td></tr></li><li><b>serverAddress</b>  IP / CIDR  IP  IP </li></ul><p> Navicat serverAddress  [...] </p><tr><td align="middle"><img src="/link/Blog/Image/2018/20181030/server_address_dialog.jpg" style="max-width: 100%"></td></tr><p></p>]]></description>
</item>
<item>
<title>MongoDB 用户和角色管理简介</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2018  10  23 </b> Robert Gravelle <br/><br/><p>MongoDB DBA Navicat for MongoDB </p><h1 class="blog-sub-title">MongoDB </h1><p> MongoDB MongoDB adminsystem.users</p><p></p><p></p><h1 class="blog-sub-title"></h1><p>DBA system.users MongoDB db.createUser()  createUser </p><p>employees/</p><font face="monospace">use employees<br/>db.createUser(<br/>&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;user: "tsmith",<br/>&nbsp;&nbsp;&nbsp;&nbsp;pwd: "ascend99",<br/>&nbsp;&nbsp;&nbsp;&nbsp;roles: [<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ role: "read", db: "employees" },<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ role: "read", db: "products" },<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ role: "read", db: "sales" },<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ role: "readWrite", db: "accounts" }<br/>&nbsp;&nbsp;&nbsp;&nbsp;]<br/>&nbsp;&nbsp;}<br/>)</font><p>Navicat  MongoDB </p><tr><td align="middle"><img src="/link/Blog/Image/2018/20181023/navicat_user_command.jpg" style="max-width: 100%;"></td></tr><p style="font-size: 18px;"></p><p></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20181023/navicat_user_toolbar.jpg" style="max-width: 100%;"></td></tr><p></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20181023/navicat_user_designer.jpg" style="max-width: 100%;"></td></tr><p></p><ul style="list-style-type: disc; margin-left: 24px; line-height: 20px;"><li><br/></li><li><br/></li><li><br/></li><li><br/></li><li><br/></li><li><br/> MongoDB </li></ul><p> Navicat </p><p></p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 20px;"><li></li><li></li><li></li><li><br/><br/><tr><td align="middle"><img src="/link/Blog/Image/2018/20181023/user_roles.jpg" style="max-width: 100%;"></td></tr></li><li><br/><br/><font face="monospace">db.createUser({<br/>    &nbsp;&nbsp;&nbsp;&nbsp;user: "tsmith",<br/>    &nbsp;&nbsp;&nbsp;&nbsp;pwd: "ascend99",<br/>    &nbsp;&nbsp;&nbsp;&nbsp;roles: [<br/>        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;role: "read",<br/>        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db: "sales"<br/>        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;},<br/>        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;role: "readWrite",<br/>        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db: "accounts"<br/>        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;},<br/>        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;role: "read",<br/>        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db: "employees"<br/>        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;},<br/>        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;role: "read",<br/>        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db: "products"<br/>        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>    &nbsp;&nbsp;&nbsp;&nbsp;],<br/>  &nbsp;&nbsp;&nbsp;&nbsp;authenticationRestrictions: [ ]<br/>})<br/></font></li><li></li></ul>]]></description>
</item>
<item>
<title>在 MongoDB 中排序文档</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2018  10  18 </b> Robert Gravelle <br/><br/><p></p><p> Navicat for MongoDB </p><h1 class="blog-sub-title"></h1><p>boffeybhmbrown American Englishen_US</p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 20px;"><li>boffey</li><li>bhm</li><li>brown</li></ul><p> nbNorwegianbrownbhm</p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 20px;"><li>boffey</li><li>brown</li><li>bhm</li></ul><h1 class="blog-sub-title"></h1><p> Navicat </p><tr><td align="middle"><img src="/link/Blog/Image/2018/20181018/new_collection_button.jpg" style="max-width: 100%"></td></tr><p>en_USsort_en_us</p><tr><td align="middle"><img src="/link/Blog/Image/2018/20181018/collection_name_dialog.jpg" style="max-width: 100%"></td></tr><p></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20181018/en_us_collation_settings.jpg" style="max-width: 100%"></td></tr><p></p><p></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20181018/add_document_button.jpg" style="max-width: 100%"></td></tr><p>bhm</p><tr><td align="middle"><img src="/link/Blog/Image/2018/20181018/add_document_dialog.jpg" style="max-width: 100%"></td></tr><p></p><p>boffeybrown</p><p>sort_norwegiannb</p><h1 class="blog-sub-title"></h1><p></p><p>sort_en_us_idname</p><tr><td align="middle"><img src="/link/Blog/Image/2018/20181018/en_us_sorting.jpg" style="max-width: 100%"></td></tr><p>sort_norwegian</p><tr><td align="middle"><img src="/link/Blog/Image/2018/20181018/nb_sorting.jpg" style="max-width: 100%"></td></tr><p></p>]]></description>
</item>
<item>
<title>MongoDB 中指定排序规则（第 2 部分）</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2018  10  9 </b> Robert Gravelle <br/><br/><p> MongoDB  <a class="default-links" href="/products/navicat-for-mongodb" target="_blank">Navicat for MongoDB</a> GUI MongoDB <a class="default-links" href="/company/aboutus/blog/262-specifying-collation-in-mongodb-part-1.html" target="_blank"> 1 </a> MongoDB  </p><h1 class="blog-sub-title">strength</h1><p></p><p></p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 20px;"><li>Primary  a </li><li>Secondary+</li><li>Tertiary</li><p><b></b></p><li>Quaternary 1  3 </li><li>IdenticalTie-breaker</li></ul><p> Navicat </p><tr><td align="middle"><img src="/link/Blog/Image/2018/20181009/strength_field.jpg" style="max-width: 100%"></td></tr><h1 class="blog-sub-title">numericOrdering</h1><p></p><ul style="list-style-type: disc; margin-left: 24px; line-height: 20px;"><li><i>on</i>; 102</li><li><i>off</i>; 102</li></ul><p>off</p><tr><td align="middle"><img src="/link/Blog/Image/2018/20181009/numeric_ordering_field.jpg" style="max-width: 100%"></td></tr><h1 class="blog-sub-title">alternate</h1><p></p><p></p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 20px;"><li><i>non-ignorable</i></li><li><i>shifted</i> 3 </li></ul><tr><td align="middle"><img src="/link/Blog/Image/2018/20181009/alternate_field.jpg" style="max-width: 100%"></td></tr><h1 class="blog-sub-title">maxVariable</h1><p><i>shifted</i><i>non-ignorable</i><p></p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 20px;"><li><i>punct</i></li><li><i>space</i></li></ul><tr><td align="middle"><img src="/link/Blog/Image/2018/20181009/max_variable_field.jpg" style="max-width: 100%"></td></tr><h1 class="blog-sub-title">backwards</h1><p></p><ul style="list-style-type: disc; margin-left: 24px; line-height: 20px;"><li><i>on</i></li><li><i>off</i></li></ul><p>off</p><tr><td align="middle"><img src="/link/Blog/Image/2018/20181009/backwards_field.jpg" style="max-width: 100%"></td></tr><h1 class="blog-sub-title"></h1><p></p><ul style="list-style-type: none; margin-left: 48px; line-height: 20px;"><li><i>on</i></li><li><i>off</i></li></ul><p><i>off</i></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20181009/normalization_field.jpg" style="max-width: 100%"></td></tr><h1 class="blog-sub-title"></h1><p> MongoDB </p>]]></description>
</item>
<item>
<title>在MongoDB 中指定排序规则（第 1 部分）</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2018  10  3 </b> Robert Gravelle <br/><br/><p> @$ </p><p>MongoDB  3.4  find()  aggregate()</p><p> MongoDB  Navicat for MongoDB GUI  MongoDB  2 </p><h1 class="blog-sub-title"></h1><p></p><font face="monospace">{<br/>&nbsp;&nbsp;&nbsp;locale: &lt;string&gt;,<br/>&nbsp;&nbsp;&nbsp;caseLevel: &lt;boolean&gt;,<br/>&nbsp;&nbsp;&nbsp;caseFirst: &lt;string&gt;,<br/>&nbsp;&nbsp;&nbsp;strength: &lt;int&gt;,<br/>&nbsp;&nbsp;&nbsp;numericOrdering: &lt;boolean&gt;,<br/>&nbsp;&nbsp;&nbsp;alternate: &lt;string&gt;,<br/>&nbsp;&nbsp;&nbsp;maxVariable: &lt;string&gt;,<br/>&nbsp;&nbsp;&nbsp;backwards: &lt;boolean&gt;<br/>}</font><p> Navicat </p><tr><td align="middle"><img src="/link/Blog/Image/2018/20181003/collation_fields.jpg" style="max-width: 100%"></td></tr><p></p><p></p><ul style="list-style-type: disc; margin-left: 24px; line-height: 20px;"><li><p style="font-size: 20px"><b>locale</b></p><p>frfr_CA2/$</p><p>simple</p><p style="font-size: 18px"><b></b></p><p></p><ul style="list-style-type: circle; margin-left: 30px; line-height: 20px"><li>English (en): bailey, boffey, bhm, brown</li><li>German (de_DE): bailey, boffey, bhm, brown</li><li>German phonebook (de-DE_phonebook): bailey, bhm, boffey, brown</li><li>Swedish (sv_SE): bailey, boffey, brown, bhm</li></ul></li><li><p style="font-size: 20px"><b>caseLevel</b></p><p></p><ul style="list-style-type: circle; margin-left: 30px; line-height: 20px"><li>on</li><li>off</li></ul></li><li><p style="font-size: 20px"><b>caseFirst</b></p><p></p><ul style="list-style-type: circle; margin-left: 30px; line-height: 20px"><li>upper</li><li>lower</li><li>offlower</li></ul></li></ul><h1 class="blog-sub-title"></h1><p> MongoDB  Navicat for MongoDB  MongoDB  2 </p>]]></description>
</item>
<item>
<title>浅谈 MongoDB 的视图</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2018  9  18 </b> Robert Gravelle <br/><br/><p>MongoDB  3.4  Navicat for MongoDB GUI  MongoDB </p><h1 class="blog-sub-title"></h1><p> Navicat </p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 20px;"><li></li><li><br/><br/><tr><td align="middle"><img src="/link/Blog/Image/2018/20180918/view_command_button.jpg" style="max-width: 100%"></td></tr></li></ul><h1 class="blog-sub-title">Navicat </h1><p>Navicat for MongoDB </p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180918/new_view_button.jpg" style="max-width: 100%"></td></tr><p> macOS  Ctrl+</p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180918/new_view_menu_item.jpg" style="max-width: 100%"></td></tr><p><i> macOS  Ctrl+ Navicat </i></p><p style="font-size: 18px;"></p><p> MongoDB aggregation</p><p></p><p>/ actor </p><p></p><p>MongoDB </p><font face="monospace">{ &lt;operator&gt;: [ &lt;argument1&gt;, &lt;argument2&gt; ... ] }</font><p> $project</p><p>_idactorfirst_namelast_name</p><font face="monospace">{ _id: 0, full_name : { $concat: ["$first_name", ", ", "$last_name"] } }</font><p> Navicat </p><font face="monospace">db.createView("Untitled","actor",[<br/>&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$project: {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_id: 0,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"full_name": {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$concat: [<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"$first_name",<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;", ",<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"$last_name"<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;]<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>])<br/></font><p></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180918/view_result.jpg" style="max-width: 100%"></td></tr><p>Navicat db.createViewsystem.viewssystem.views</p><h1 class="blog-sub-title"></h1><p></p>]]></description>
</item>
<item>
<title>分析 MongoDB 模式和数据</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2018  9 11 </b> Robert Gravelle <br/><br/><p> MongoDB Navicat for MongoDB </p><p> <a class="default-links" href="/products/navicat-for-mongodb" target="_blank">Navicat for MongoDB</a> </p><h1 class="blog-sub-title"></h1><p> Navicat for MongoDB  Essentials </p><figure><figcaption></figcaption><tr><td align="middle"><img src="/link/Blog/Image/2018/20180911/analyze_schema_button.jpg" style="max-width: 100%"></td></tr></figure><br/><figure><figcaption></figcaption><tr><td align="middle"><img src="/link/Blog/Image/2018/20180911/analyze_schema_button_2.jpg" style="max-width: 100%"></td></tr></figure><p></p><figure><figcaption></figcaption><tr><td align="middle"><img src="/link/Blog/Image/2018/20180911/analyze_schema_screen.jpg" style="max-width: 100%"></td></tr></figure><p></p><ul style="list-style-type: disc;  margin-left: 24px; line-height: 20px;"><li> SELECT  WHERE <br/><br/><tr><td align="middle"><img src="/link/Blog/Image/2018/20180911/filter.jpg" style="max-width: 100%"></td></tr></li><br/><li><br/><br/><tr><td align="middle"><img src="/link/Blog/Image/2018/20180911/projection.jpg" style="max-width: 100%"></td></tr></li><br/><li><br/><br/><ul style="list-style-type: circle; margin-left: 30px; line-height: 20px;"><li></li><li>/li><li></li><br/><li> 100 </li><li> 100 </li><li> 250 </li><li> 50% </li><li> 20% </li><li> 80% </li></ul></li></ul><figure><tr><td align="middle"><img src="/link/Blog/Image/2018/20180911/analyze_parameters.jpg" style="max-width: 100%"></td></tr></figure><p> 15 </p><figure><figcaption></figcaption><tr><td align="middle"><img src="/link/Blog/Image/2018/20180911/analyze_schema_results.jpg" style="max-width: 100%"></td></tr></figure><p></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180911/hovering_over_bar.jpg" style="max-width: 100%"></td></tr><p></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180911/pop_dist.jpg" style="max-width: 100%"></td></tr><h1 class="blog-sub-title"></h1><p></p><figure><figcaption></figcaption><tr><td align="middle"><img src="/link/Blog/Image/2018/20180911/analyze_button.jpg" style="max-width: 100%"></td></tr></figure><p></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180911/analyze_results.jpg" style="max-width: 100%"></td></tr><p> 6.25</p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180911/categories_distrib.jpg" style="max-width: 100%"></td></tr><h1 class="blog-sub-title"></h1><p> <a class="default-links" href="/products/navicat-for-mongodb" target="_blank">Navicat for MongoDB</a> -  Essentials </p>]]></description>
</item>
<item>
<title>Navicat for MongoDB 网格视图功能－展开数组值，着色单元格和迁移数据（第2部分）</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2018  9  4 </b> Robert Gravelle <br/><br/><p> Navicat for MongoDB  JSON MongoDB </p><h1 class="blog-sub-title"></h1><p>(Array) [N] Elements[<|>]  [>|<] </p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180904/expand_and_collapse.jpg" style="max-width: 100%"></td></tr><h1 class="blog-sub-title"></h1><p></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180904/type_colors.jpg" style="max-width: 100%"></td></tr><p> Navicat </p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180904/type_color_icon.jpg" style="max-width: 100%"></td></tr><h1 class="blog-sub-title"></h1><p></p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 20px;"><li><br/><br/><tr><td align="middle"><img src="/link/Blog/Image/2018/20180904/import_wizard.jpg" style="max-width: 100%"></td></tr><br/><br/> MongoDB _id <br/><br/><tr><td align="middle"><img src="/link/Blog/Image/2018/20180904/actor_collection.jpg" style="max-width: 100%"></td></tr></li><br/><li><br/><br/><tr><td align="middle"><img src="/link/Blog/Image/2018/20180904/import_wizard_field_types.jpg" style="max-width: 100%"></td></tr></li></ul><p></p><ul style="list-style-type: decimal; margin-left: 24px; line-height: 20px;"><li><br/><br/><tr><td align="middle"><img src="/link/Blog/Image/2018/20180904/export_confirm.jpg" style="max-width: 100%"></td></tr></li><br/><li> MongoDB _id  Navicat <br/><br/><tr><td align="middle"><img src="/link/Blog/Image/2018/20180904/export_remove_mongodb_id_field.jpg" style="max-width: 100%"></td></tr></li><br/><li><br/><br/><tr><td align="middle"><img src="/link/Blog/Image/2018/20180904/export_include_column_titles.jpg" style="max-width: 100%"></td></tr></li></ul><p></p>]]></description>
</item>
<item>
<title>Navicat for MongoDB 网格视图命令（第 1 部分）</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2018  8  28 </b> Robert Gravelle <br/><br/><p> Navicat for MongoDB  JSON </p><h1 class="blog-sub-title"></h1><p></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180828/grid_view_toolbar.jpg" style="max-width: 100%"></td></tr><p></p><ul style="list-style-type: decimal; margin-left: 24px;"><li> <br/><br/><tr><td align="middle"><img src="/link/Blog/Image/2018/20180828/commit_and_rollback_buttons.jpg" style="max-width: 100%"></td></tr><br/><br/></li><br/><li>Navicat  <br/><br/><tr><td align="middle"><img src="/link/Blog/Image/2018/20180828/dynamic_editors_list.jpg"></td></tr><br/> <br/><br/><tr><td align="middle"><img src="/link/Blog/Image/2018/20180828/hex_editor.jpg" style="max-width: 100%"></td></tr></li><br/><li> WHERE <br/><br/><ol style="list-style-type: lower-roman; margin-left: 30px;"><li></li><br/><li> [+]  [+] <br/><tr><td align="middle"><img src="/link/Blog/Image/2018/20180828/add_filter_buttons.jpg" style="max-width: 100%"></td></tr></li><li><br/><tr><td align="middle"><img src="/link/Blog/Image/2018/20180828/filter_field_list.jpg" style="max-width: 100%"></td></tr></li>          <br/><li>[]<br/><tr><td align="middle"><img src="/link/Blog/Image/2018/20180828/filter_operator_list.jpg" style="max-width: 100%"></td></tr></li><li>&lt;?&gt;<br/><tr><td align="middle"><img src="/link/Blog/Image/2018/20180828/value_type_list.jpg" style="max-width: 100%"></td></tr></li>          <br/><li> i-v </li><br/><li><br/><tr><td align="middle"><img src="/link/Blog/Image/2018/20180828/delete_bracket_menu_item.jpg" style="max-width: 100%"></td></tr></li>          <br/><li>andor</li><br/><li>br/><tr><td align="middle"><img src="/link/Blog/Image/2018/20180828/apply_filter_button.jpg" style="max-width: 100%"></td></tr></li>          <br/><li><br/><tr><td align="middle"><img src="/link/Blog/Image/2018/20180828/save_profile.jpg" style="max-width: 100%"></td></tr></li></ol></li><br/><li>MongoDB Navicat <br/><br/><br/><br/><tr><td align="middle"><img src="/link/Blog/Image/2018/20180828/sort_menu.jpg" style="max-width: 100%"></td></tr><br/> <br/><br/><tr><td align="middle"><img src="/link/Blog/Image/2018/20180828/sort_fields.jpg" style="max-width: 100%"></td></tr></li></ul><p></p>]]></description>
</item>
<item>
<title>在 Navicat for MongoDB 使用文档</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2018  8  21 </b> Robert Gravelle <br/><br/><p>MongoDB  NoSQL  <a class="default-links" href="/company/aboutus/blog/256-mongodb-documents-tutorial.html" target="_blank">MongoDB </a> MongoDB  Navicat for MongoDB </p><h1 class="blog-sub-title">3 </h1><p>Navicat for MongoDB</p><ul style="list-style-type: decimal;"><li></li><br/><li></li><br/><li>JSON </li></ul><p></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180821/doc_view_buttons.jpg" style="max-width: 100%"></td></tr><p></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180821/doc_view_menu_items.jpg" style="max-width: 100%"></td></tr><p> DBA </p><p></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180821/tree_view.jpg" style="max-width: 100%"></td></tr><p> JSON </p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180821/json_view.jpg" style="max-width: 100%"></td></tr><h1 class="blog-sub-title"></h1><p></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180821/add_delete_buttons.jpg" style="max-width: 100%"></td></tr><p> TAB  SHIFT+TAB </p><p></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180821/apply_and_discard_changes.jpg" style="max-width: 100%"></td></tr><p></p><p>...</p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180821/edit_document_menu_item.jpg" style="max-width: 100%"></td></tr><p> JSON </p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180821/edit_document_dialog.jpg" style="max-width: 100%"></td></tr><p></p><h1 class="blog-sub-title"></h1><p></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180821/adding_a_doc_in_tree_view.jpg" style="max-width: 100%"></td></tr><p></p><h1 class="blog-sub-title"> JSON </h1><p> JSON </p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180821/adding_a_doc_in_json_view.jpg" style="max-width: 100%"></td></tr><p> JSON { }</p><h1 class="blog-sub-title"></h1><p></p>]]></description>
</item>
<item>
<title>MongoDB 文档教程</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2018  8  14 </b> Robert Gravelle <br/><br/><p> NoSQL  MongoDBRDBMSMongoDB </p><p><a class="default-links" href="/company/aboutus/blog/255--nosql-" target="_blank"> NoSQL </a> Navicat for MongoDB  MongoDB </p><h1 class="blog-sub-title"> MongoDB  RDBMS </h1><p> MongoDB  RDBMS  NoSQL  RDBMS  MongoDB </p><head><style>table, th, td {    border: 1px solid black;    border-collapse: collapse;}th, td {    text-align: center;}</style></head><body><table border="1" style="width: 600px; line-height: 25px;"><tr bgcolor="lightgray"><th height="25">RDBMS</th><th height="25">MongoDB</th></tr><tr><td height="25"></td><td height="25"></td></tr><tr><td height="25"></td><td height="25"></td></tr><tr><td height="25"></td><td height="25"></td></tr><tr><td height="25"></td><td height="25"></td></tr><tr><td height="25"></td><td height="25"></td></tr><tr><td height="25"></td><td height="25"> ID _id  MongoDB </td></tr></table></body><h1 class="blog-sub-title">MongoDB </h1><p>MongoDB  <a class="default-links" href="http://bsonspec.org/" target="_blank">BSON</a> BSON  JSON  JSON MongoDB :</p><pre class="brush:javascript">{   1: 1, 2: 2,   3: 3,   ...   N: N}</pre><p> BSON </p><pre class="brush:javascript">// 1{    "_id": "01005",    "city": "BARRE",    "loc": [        -72.108354,        42.409698    ],    "pop": NumberInt("4546"),    "state": "MA"}// 2{    "_id": "01012",    "city": "CHESTERFIELD",    "loc": [        -72.833309,        42.38167    ],    "pop": NumberInt("177"),    "state": "MA"}// 3//etc...</pre><h1 class="blog-sub-title"> Navicat for MongoDB </h1><p>my_mongo_dbmy_first_collection</p><ul style="list-style-type: decimal;"><li>my_first_collection<br/><tr><td align="middle"><img src="/link/Blog/Image/2018/20180814/open_collection_button.jpg" style="max-width: 100%"></td></tr><br/></li><br/><li>+<br/><tr><td align="middle"><img src="/link/Blog/Image/2018/20180814/add_document_button.jpg" style="max-width: 100%"></td></tr></li><br/><li><br/><pre class="brush:javascript">{    "_id": "01005",    "city": "BARRE",    "loc": [        -72.108354,        42.409698    ],    "pop": 4546,    "state": "MA"}</pre><br/><tr><td align="middle"><img src="/link/Blog/Image/2018/20180814/add_document_dialog.jpg" style="max-width: 100%"></td></tr></li><br/><li> <br/><tr><td align="middle"><img src="/link/Blog/Image/2018/20180814/validation_error_message.jpg" style="max-width: 100%"></td></tr></li><br/><li><br/><tr><td align="middle"><img src="/link/Blog/Image/2018/20180814/new_doc_in_collection.jpg" style="max-width: 100%"></td></tr></li></ul><p></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180814/3_docs.jpg" style="max-width: 100%"></td></tr><h1 class="blog-sub-title"></h1><p> Navicat for MongoDB </p>]]></description>
</item>
<item>
<title>使用 NoSQL 数据库</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2018  8  10 </b> Robert Gravelle <br/><br/><p>NoSQLIoT DBMS </p><ul style="list-style-type: decimal;"><li></li><br/><li></li></ul><p>MongoDB  NoSQL  NoSQL  Navicat for MongoDB  MongoDB</p><h1 class="blog-sub-title"></h1><p> MongoDB </p><ul style="list-style-type: decimal;"><li> Navicat for MongoDB </li><br/><li>MongoDB ...<br/><tr><td align="middle"><img src="/link/Blog/Image/2018/20180810/connection_button.jpg" style="max-width: 100%"></td></tr></li><br/><li><br/><tr><td align="middle"><img src="/link/Blog/Image/2018/20180810/new_connection_dialog.jpg" style="max-width: 100%"></td></tr><br/><br/><br/>URI URI mongodb://localhost:27017/<br/><br/></li><br/><li></li></ul><p></p><ul style="list-style-type: decimal;"><li></li><br/><li>...</li><br/><li></li></ul><p>Navicat  MongoDB use</p><p> MongoDB  DBMS </p><ul style="list-style-type: decimal;"><li><br/><tr><td align="middle"><img src="/link/Blog/Image/2018/20180810/expanded_db.jpg" style="max-width: 100%"></td></tr><br/><br/><br/><tr><td align="middle"><img src="/link/Blog/Image/2018/20180810/database_objects_toolbar.jpg" style="max-width: 100%"></td></tr><br/><br/></li><li><br/><tr><td align="middle"><img src="/link/Blog/Image/2018/20180810/untitled_collection_tab.jpg" style="max-width: 100%"></td></tr><br/><br/><br/></li><li></li></ul><p></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180810/my_new_collection_in_db_explorer.jpg" style="max-width: 100%"></td></tr><h1 class="blog-sub-title"></h1><p> Navicat  MongoDB  DBMS </p>]]></description>
</item>
<item>
<title>Navicat for MongoDB 来了</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2018  7  31 </b> Robert Gravelle <br/><br/><p>MongoDB   SQL Server  MySQL  JSON  MongoDB  NoSQL  RDBMS  MongoDB  MongoDB  <a class="default-links" href="https://www.mongodb.com/products/compass" target="_blank">Compass UI </a></p><p></p><p>Navicat  GUI Navicat for MongoDB MongoDB  MongoDB AtlasNavicat for MongoDB </p><h1 class="blog-sub-title"></h1><p> Navicat for MongoDB  SSH  SSL  KerberosX.509 </p><h1 class="blog-sub-title"></h1><p> Navicat Navicat for MongoDB  <a class="default-links" href="/navicat-cloud" target="_blank">Navicat Cloud</a> Navicat Cloud  Navicat for MongoDB </p><h1 class="blog-sub-title"></h1><p>MongoDB  Navicat</p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180731/query_builder.jpg" style="max-width: 100%"></td></tr><p>Aggregation</p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180731/aggregate_query.jpg" style="max-width: 100%"></td></tr><h1 class="blog-sub-title"></h1><p> TXTCSVJSON  XML  MongoDB  ODBC </p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180731/import_wizard_import_types.jpg" style="max-width: 100%"></td></tr><p> ExcelAccessCSV </p><h1 class="blog-sub-title"></h1><p> MongoDBNavicat for MongoDB  WindowsmacOS  Linux <a class="default-links" href="/products/navicat-for-mongodb" target="_blank"></a><a class="default-links" href="/download/navicat-for-mongodb" target="_blank"></a></p>]]></description>
</item>
<item>
<title>使用 Navicat 事件设计器调度数据库任务（第 5 部分）</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2018  7  24 </b> Robert Gravelle <br/><br/><p> UNIX  cron  Windows /CLI</p><p> MySQL  <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a> GUI </p><h1 class="blog-sub-title">Navicat </h1><p> Navicat  Navicat Premium</p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180724/event_button_on_mail_toolbar.jpg" style="max-width: 100%"></td></tr><p></p><h1 class="blog-sub-title"></h1><p></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180724/untitled_event.jpg" style="max-width: 100%"></td></tr><p> SQL INSERT INTO tbl_usersfirst_namelast_nameVALUES'Bob''Jones'; BEGIN  END </p><p> CREATE EVENT  Navicat </p><p> sakila.actor </p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180724/event_definition.jpg" style="max-width: 100%"></td></tr><h1 class="blog-sub-title"></h1><p>Navicat  5 </p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180724/event_schedule_tab.jpg" style="max-width: 100%"></td></tr><p> 5  3 </p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180724/event_schedule_every.jpg" style="max-width: 100%"></td></tr><h1 class="blog-sub-title"></h1><p>SQL SQL</p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180724/sql_preview.jpg" style="max-width: 100%"></td></tr><p><i></i></p><h1 class="blog-sub-title"></h1><p></p><p> COMMENT  CREATE EVENT </p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180724/comments.jpg" style="max-width: 100%"></td></tr><h1 class="blog-sub-title"></h1><p></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180724/delete_event_button.jpg" style="max-width: 100%"></td></tr><h1 class="blog-sub-title"></h1><p></p>]]></description>
</item>
<item>
<title>启动和停止 MySQL 8 事件（第 4 部分）</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2018  7  17 </b> Robert Gravelle <br/><br/><p> 5.1.6 MySQL  MySQL  11:30  SQL MySQL  CREATE EVENT <a class="default-links" href="https://dev.mysql.com/doc/refman/8.0/en/create-event.html" target="_blank"></a></p><p> START  END </p><p></p><h1 class="blog-sub-title"></h1><p></p><p></p><ul style="list-style-type: disc;"><li>AT timestamp [+ interval integer_value time_keyword ]</li><li>EVERY interval</li><li>EVERY interval STARTS timestamp</li><li>EVERY interval ENDS timestamp</li><li>EVERY interval STARTS timestamp ENDS timestamp</li></ul><p>AT timestamp</p><p> MySQL  5 </p><pre>CREATE EVENT 'My event' ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 5 DAY DO DROP TABLE t;</pre><p> MySQL  2018  2  24  12 </p><pre>CREATE EVENT The_Main_Event ON SCHEDULE AT TIMESTAMP '2018-02-24 12:00:00' DO DROP TABLE t;</pre><p><i>EVERY interval</i> <a class="default-links" href="/company/aboutus/blog/331--mysql-8--3-" target="_blank"></a>  EVERY  INTERVAL </p><p> MySQL  t </p><p>CREATE EVENT e ON SCHEDULE EVERY 1 YEAR DO DROP TABLE t;</p><h1 class="blog-sub-title">STARTS  ENDS </h1><p>EVERY  STARTS / ENDS </p><p>STARTS  + INTERVAL interval  STARTS  STARTS CURRENT_TIMESTAMP </p><p>EVERY  ENDS  ENDS  MySQL  ENDS </p><p>EVERY interval [ STARTS timestamp1 ] [ ENDS timestamp2 ] timestamp1 timestamp1  timestamp2 timestamp2  3 </p><pre>CREATE EVENT evt ON SCHEDULE EVERY 1 YEAR   STARTS CURRENT_TIMESTAMP + INTERVAL 3 DAY DO DROP TABLE t;</pre><br/><p> MySQL  2 </p><pre>CREATE EVENT e ON SCHEDULE EVERY 1 YEAR   STARTS CURRENT_TIMESTAMP + INTERVAL 2 DAY   ENDS CURRENT_TIMESTAMP + INTERVAL 5 YEAR DO DROP TABLE t;</pre><p> <a class="default-links" href="/products/navicat-premium" target="_blank">Navicat Premium</a> </p>]]></description>
</item>
<item>
<title>调度 MySQL 8 事件（第 3 部分）</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2018  7  10 </b> Robert Gravelle <br/><br/><p><a class="default-links" href="/company/aboutus/blog/329--1-" target="_blank"> 1 </a> MySQL <a class="default-links" href="/company/aboutus/blog/330--mysql--2-" target="_blank"> 2 </a> CREATE EVENT  MySQL  MySQL 8 </p><h1 class="blog-sub-title"></h1><p>Interval 6 </p><p>AT CURRENT_TIMESTAMP+ INTERVAL interval AT </p><pre>CREATE EVENT my_eventON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 WEEK</pre><p> DATE_ADD() microsecond</p><p></p><head><style>table, th, td {    border: 1px solid black;    border-collapse: collapse;}th, td {    padding: 5px;    text-align: left;}</style></head><body><table border="1"><tr><th><b><font face="courier new">unit</font></b> Value</th><th>Expected <b><font face="courier new">expr</font></b> Format</th></tr><tr><td><font face="courier new">SECOND</font></td><td><font face="courier new">SECONDS</font></td></tr><tr>    <td><font face="courier new">MINUTE</font></td>    <td><font face="courier new">MINUTES</font></td>  </tr>  <tr>    <td><font face="courier new">HOUR</font></td>    <td><font face="courier new">HOURS</font></td>  </tr>  <tr>    <td><font face="courier new">DAY</font></td>    <td><font face="courier new">DAYS</font></td>  </tr>  <tr>    <td><font face="courier new">WEEK</font></td>    <td><font face="courier new">WEEKS</font></td>  </tr>  <tr>    <td><font face="courier new">MONTH</font></td>    <td><font face="courier new">MONTHS</font></td>  </tr>  <tr>    <td><font face="courier new">QUARTER</font></td>    <td><font face="courier new">QUARTERS</font></td>  </tr>  <tr>    <td><font face="courier new">YEAR</font></td>    <td><font face="courier new">YEARS</font></td>  </tr>  <tr>    <td><font face="courier new">MINUTE_SECOND</font></td>    <td><font face="courier new">'MINUTES:SECONDS'</font></td>  </tr>  <tr>    <td><font face="courier new">HOUR_SECOND</font></td>    <td><font face="courier new">'HOURS:MINUTES:SECONDS'</font></td>  </tr>  <tr>    <td><font face="courier new">HOUR_MINUTE</font></td>    <td><font face="courier new">'HOURS:MINUTES'</font></td>  </tr>  <tr>    <td><font face="courier new">DAY_SECOND</font></td>    <td><font face="courier new">'DAYS HOURS:MINUTES:SECONDS'</font></td>  </tr>  <tr>    <td><font face="courier new">DAY_MINUTE</font></td>    <td><font face="courier new">'DAYS HOURS:MINUTES'</font></td>  </tr>  <tr>    <td><font face="courier new">DAY_HOUR</font></td>    <td><font face="courier new">'DAYS HOURS'</font></td>  </tr>  <tr>    <td><font face="courier new">YEAR_MONTH</font></td>    <td><font face="courier new">'YEARS-MONTHS'</font></td></tr></table></body><p></p><pre>CREATE EVENT my_eventON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL MINUTE_SECOND '2:10'</pre><p></p><ul style="list-style-type: decimal;"><li>s</li><li>'2:10' MINUTE_SECOND </li><li></li></ul><p>AT CURRENT_TIMESTAMP + INTERVAL 3 WEEK + INTERVAL 1 DAY </p><h1 class="blog-sub-title"></h1><p>EVERY interval</p><pre>CREATE EVENT my_eventON SCHEDULE AT CURRENT_TIMESTAMPEVERY 2 DAY</pre><p></p>]]></description>
</item>
<item>
<title>创建 MySQL 事件（第 2 部分）</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2018  7  3 </b> Robert Gravelle <br/><br/><p><a class=default-links href="/company/aboutus/blog/329--1-" target="_blank"> 1 </a>  MySQL  CREATE EVENT  MySQL </p><h1 class="blog-sub-title"> MySQL </h1><p> SQL </p><pre>CREATE EVENT [IF NOT EXIST] event_nameON SCHEDULE scheduleDOevent_body</pre><p></p><ul style="list-style-type: disc;"><li></li><li> SQL  BEGIN END </li></ul><p> messages </p><ul style="list-style-type: decimal;"><p> CREATE TABLE messages</p><pre>CREATE TABLE IF NOT EXISTS messages (id INT PRIMARY KEY AUTO_INCREMENT,message VARCHAR(255) NOT NULL,created_at DATETIME NOT NULL);</pre><br/><li> CREATE EVENT <br/><pre>CREATE EVENT IF NOT EXISTS test_eventON SCHEDULE AT CURRENT_TIMESTAMPDO  INSERT INTO messages(message,created_at)  VALUES('Test MySQL Event 1',NOW()); </pre></li><br/><li> message  SELECT ALL  message <br/><br/><tr><td align="middle"><img src="/link/Blog/Image/2018/20180703/messages_table_event_1.jpg" style="max-width: 100%"></td></tr></li></ul><h1 class="blog-sub-title"></h1><p></p><p> MySQL </p><pre>mysql> SHOW EVENTS FROM test;Empty set</pre><p> ON COMPLETION PRESERVE  30 </p><pre>CREATE EVENT test_event_2ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 30 SECONDON COMPLETION PRESERVEDO   INSERT INTO messages(message,created_at)   VALUES('Test MySQL Event 2',NOW());</pre><p> 30  messages </p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180703/messages_table_event_2.jpg" style="max-width: 100%"></td></tr><p> SHOW EVENTS  ON COMPLETION PRESERVE  DISABLED </p><pre>mysql> SHOW EVENTS FROM test;+------+--------------+----------------+-----------+----------+---------------------+----------------+----------------+--------+------+----------+------------+----------------------+----------------------+--------------------+| Db   | Name         | Definer        | Time zone | Type     | Execute at          | Interval value | Interval field | Starts | Ends | Status   | Originator | character_set_client | collation_connection | Database Collation |+------+--------------+----------------+-----------+----------+---------------------+----------------+----------------+--------+------+----------+------------+----------------------+----------------------+--------------------+| test | test_event_2 | root@localhost | SYSTEM    | ONE TIME | 2018-06-07 15:08:00 | NULL           | NULL           | NULL   | NULL | DISABLED |          1 | utf8mb4              | utf8mb4_general_ci   | utf8_general_ci    |+------+--------------+----------------+-----------+----------+---------------------+----------------+----------------+--------+------+----------+------------+----------------------+----------------------+--------------------+1 row in set (0.02 sec)</pre>]]></description>
</item>
<item>
<title>数据库事件简介（第 1 部分）</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2018  6  26 </b> Robert Gravelle <br/><br/><p>event DBMS </p><p></p><h1 class="blog-sub-title"></h1><p> UNIX  cron  Windows OSDDL cron /</p><h1 class="blog-sub-title"> Event Scheduler</h1><p> PROCESS  mysql> SHOW PROCESSLIST</p><pre>mysql&gt;  SHOW PROCESSLIST;+----+-----------------+-----------------+--------+---------+------+-----------------------------+------------------+| Id | User            | Host            | db     | Command | Time | State                       | Info             |+----+-----------------+-----------------+--------+---------+------+-----------------------------+------------------+|  2 | event_scheduler | localhost:49670 | NULL   | Daemon  |    3 | Waiting for next activation |                  ||  3 | root            | localhost:49671 | NULL   | Sleep   |   43 |                             | NULL             ||  4 | root            | localhost:49672 | NULL   | Sleep   |  180 |                             | NULL             ||  5 | root            | localhost:56134 | sakila | Query   |    0 | starting                    | SHOW PROCESSLIST ||  6 | root            | localhost:56136 | sakila | Sleep   | 1025 |                             | NULL             |+----+-----------------+-----------------+--------+---------+------+-----------------------------+------------------+5 rows in set (0.01 sec)</pre><p style="font-size: 16px;"><b></b></p><p> event_scheduler </p><ul style="list-style-type: disc"><li><b>ON:</b> <br/><br/> ON  SHOW PROCESSLIST daemonWaiting for next activation<br/><br/>ON 1  mysql  4  <br/><br/><ul style="list-style-type: decimal;"><li>SET GLOBAL event_scheduler = ON;</li><li>SET @@global.event_scheduler = ON;</li><li>SET GLOBAL event_scheduler = 1;</li><li>SET @@global.event_scheduler = 1;</li></ul></li><br/><li><b>OFF:</b>  SHOW PROCESSLIST <br/><br/> event_scheduler  OFF event_scheduler  ON <br/><br/> 0 OFF 4  <br/><br/><ul style="list-style-type: decimal;"><li>SET GLOBAL event_scheduler = OFF;</li><li>SET @@global.event_scheduler = OFF;</li><li>SET GLOBAL event_scheduler = 0;</li><li>SET @@global.event_scheduler = 0;</li></ul></li><br/><li><b>DISABLED:</b>  DISABLED  SHOW PROCESSLIST <br/><br/><b></b></li></ul><p style="font-size: 16px;"><b> event_scheduler </b></p><p> ON  OFF  DISABLED SELECT  SHOW VARIABLES  event_scheduler OFFONDISABLED event_scheduler ONOFF 1  0</p><pre>mysql> SHOW VARIABLES like 'event_%';+-----------------+-------+| Variable_name   | Value |+-----------------+-------+| event_scheduler | OFF   |+-----------------+-------+1 row in set (0.02 sec)</pre>]]></description>
</item>
<item>
<title>在 Navicat Premium 中管理 MySQL 用户－第 4 部分：权限管理员工具</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2018  6  19 </b> Robert Gravelle <br/><br/><h1 class="blog-sub-title"> 4 </h1><p> Navicat  Navicat Premium SQL</p><p> MySQLOraclePostgreSQLSQL Server  MariaDB</p><h1 class="blog-sub-title"></h1><p></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180619/privilege_manager_button.jpg" style="max-width: 100%;"></td></tr><p></p><p></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180619/privilege_manager_connection.jpg"></td></tr><ul style="list-style-type: decimal;"><li></li><br/><li></li><br/><li> bob_s@localhost  Trigger  Trigger  <br/><br/><img src="/link/Blog/Image/2018/20180619/privilege_manager_trigger.jpg" style="max-width: 100%;"><br/><br/></li><br/><li>Navicat </li></ul><h1 class="blog-sub-title"></h1><p> bob_s@localhost  Sakila  Trigger </p><ul style="list-style-type: decimal;"><li> Sakila </li><br/><li> <i>Trigger</i>   </li><br/><li><br/><br/><img src="/link/Blog/Image/2018/20180619/privilege_manager_sakila_trigger.jpg" style="max-width: 100%;"><br/><br/></li><br/><li>Navicat </li></ul><h1 class="blog-sub-title"></h1><p><i></i></p><p></p><ul style="list-style-type: decimal;"><li> sakila  film_in_stock :<br/><br/><img src="/link/Blog/Image/2018/20180619/privilege_manager_film_in_stock_proc.jpg" style="max-width: 100%;"></li><br/><li> <i>film_in_stock</i> </li><br/><li></li><br/><li> <i>sakila</i>  <i>film_in_stock</i>  Execute  bob_s@localhost  secure_admin_99@localhost  <br/><br/><img src="/link/Blog/Image/2018/20180619/add_privilege_dialog.jpg" style="max-width: 100%;"></li><br/><li><i></i> <br/><br/><img src="/link/Blog/Image/2018/20180619/execute_privileges_in_privilege_manager_tab.jpg" style="max-width: 100%;"></li></ul><p><i></i>bob_s@localhost  <i>sakila</i>  <i>film_in_stock</i> </p><ul style="list-style-type: decimal;"><li> <i>film_in_stock</i> </li><br/><li> bob_s@localhost </li><br/><li><i></i></li><br/><li></li></ul>]]></description>
</item>
<item>
<title>在 Navicat Premium 中管理 MySQL 用户－第 3 部分：配置用户权限</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2018  6  12 </b> Robert Gravelle <br/><br/><h1 class="blog-sub-title"> 3 </h1><p> Navicat  Navicat Premium  1  Navicat Premium  MySQL root <a class=default-links href="/company/aboutus/blog/326--navicat-premium--mysql--2-" target="_blank"> 2 </a>  SSL  SQL </p><h1 class="blog-sub-title"></h1><p> bob_s@localhost  SelectUpdateInsert  Delete </p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180612/server_privileges.jpg" style="max-width: 100%"></td></tr><p></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180612/server_privileges_popup_menu.jpg" style="max-width: 100%"></td></tr><h1 class="blog-sub-title"></h1><p> Sakila  CreateDrop  Alter </p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180612/privileges.jpg" style="max-width: 100%"></td></tr><p> bob_s@localhost  SelectUpdateInsert  Delete  Sakila  CreateDrop  Alter </p><p style="font-size: 16px;"><b></b></p><p><i></i></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180612/privileges_show-hide_columns_list.jpg" style="max-width: 100%"></td></tr><p></p><h1 class="blog-sub-title"> SQL </h1><p>SQL  Navicat  SQL </p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180612/sql_preview.jpg" style="max-width: 100%"></td></tr><p>SQL </p><h1 class="blog-sub-title"></h1><p> (MYSQL) - bob_s@localhost (MYSQL) - MYSQL<i>SSL</i></i></i></i></i></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180612/user_information.jpg" style="max-width: 100%"></td></tr><p><i></i></p><p><i></i>&gt;<i></i>&gt;<i></i></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180612/show_information_pane.jpg" style="max-width: 100%"></td></tr><h1 class="blog-sub-title"></h1><p> 4 </p>]]></description>
</item>
<item>
<title>在 Navicat Premium 中管理 MySQL 用户－第 2 部分：创建新用户</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2018  6  5 </b> Robert Gravelle <br/><br/><h1 class="blog-sub-title"> 2 </h1><p> 2 <a class="default-links" href="/company/aboutus/blog/325--navicat-premium--mysql--1--root-" target="_blank"> 1 </a> Navicat Premium  MySQL  root  SSL </p><h1 class="blog-sub-title"></h1><p>SQL  1 </p><ul style="list-style-type: decimal;"><li><i></i></li><li><i></i></li><li><i></i>mysql_native_passwordsha256_password</li><li><i></i></li><li><i></i></li></ul><p style="font-size: 16px;"><b></b></p><p>MySQL  MySQL mysql_native_password  sha256_password </p><p>Navicat  PASSWORD EXPIRE  MySQL </p><ul style="list-style-type: disc;"><li>DEFAULT 5.7.11  360  5.7.11  0 </li><li>IMMEDIATE</li><li>INTERVAL</li><li>NEVER</li></ul><p></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180605/new_user_general_tab.jpg" style="max-width: 100%;"></td></tr><h1 class="blog-sub-title"></h1><p> SSL </p><p style="font-size: 16px;"><b></b></p><p>MySQL </p><ul style="list-style-type: disc;"><li></li><li></li><li></li><li></li></ul><p><i></i><i></i><i></i><i></i>0</p><p style="font-size: 16px;"><b>SSL </b></p><p> OpenSSL  yaSSLMySQL  TLS  OpenSSL  yaSSL  SSL TLS  MySQL TLS</p><p><i>SSL </i> mysql.user  ssl_type ANYSPECIFIED  X509 ''  NONE</p><p>MySQL GRANT  ISSUERSUBJECT  CIPHER  REQUIRE X509 </p><p> GRANT  Navicat</p><pre>GRANT USAGE ON *.* TO 'bob_s'@'localhost'    REQUIRE SUBJECT '/CN=www.mydom.com/O=My Dom, Inc./C=US/ST=Oregon/L=Portland'    AND ISSUER '/C=FI/ST=Somewhere/L=City/ O=Some Company/CN=Peter Parker/emailAddress=p.parker@marvel.com'    AND CIPHER 'SHA-DES-CBC3-EDH-RSA';</pre><tr><td align="middle"><img src="/link/Blog/Image/2018/20180605/advanced_tab.jpg" style="max-width: 100%;"></td></tr><h1 class="blog-sub-title"></h1><p> 3 </p>]]></description>
</item>
<item>
<title>在 Navicat Premium 中管理 MySQL 用户－第 1 部分：保护 Root 帐号</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2018  5  29 </b> Robert Gravelle <br/><br/><h1 class="blog-sub-title"> 1  Root </h1><p>DBA</p><p>MySQL  mysqladmin  DBANavicat for MySQL  Navicat Premium  MySQL  Navicat  MySQL  root </p><p> Navicat PremiumNavicat for MySQL  MySQL </p><h1 class="blog-sub-title"></h1><p> MySQL </p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180529/objects_tab.jpg" style="max-width: 100%;"></td></tr><p>MySQL </p><ul style="list-style-type: disc"><li>'root'@'localhost<br/><br/> root  root </li><br/><li>'mysql.sys'@'localhost' sys  DEFINER mysql.sys  DBA  root </li>  <br/><li>'mysql.session'@'localhost' </li></ul><h1 class="blog-sub-title"></h1><p>/SQL  root </p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180529/root_user_in_general_tab.jpg" style="max-width: 100%;"></td></tr><ul style="list-style-type: decimal;"><li>rootsecure_admin_99</li><br/><li> sha256_password <br/><br/> 5.5  MySQL  mysql_native_password  SHA1  MySQL 4.1 <br/><br/>MySQL  5.6  sha256_password  mysql_native_password  SHA-256  SHA1 </li><br/><li><br/><br/> <br/><br/><ul style="list-style-type: circle;"><li> 8 </li><li></li><li></li><li></li><li></li></ul></li><br/><li> <br/><br/> MySQL  90 </li></ul><p></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180529/root_user_secured.jpg" style="max-width: 100%;"></td></tr><p></p><h1 class="blog-sub-title"></h1><p></p>]]></description>
</item>
<item>
<title>导航窗格提示和技巧的第 2 部分：虚拟组与连接颜色</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2018  5  23 </b> Robert Gravelle <br/><br/><p></p><ul style="list-style-type: disc"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><p> Essentials  Navicat  Navicat for MySQLMariaDBSQL ServerSQLiteOraclePostgreSQL  Navicat Premium</p><p> <a class="default-links" href="/company/aboutus/blog/323--1-.html" target="_blank"> 1 </a></p><h1 class="blog-sub-title"></h1><p></p><ul style="list-style-type: decimal;"><li><i></i><i></i> -&gt; </li><br/><tr><td align="middle"><img src="/link/Blog/Image/2018/20180523/new_group_menu_command.jpg" style="max-width: 100%;"></td></tr><br/><br/><li> ENTER </li><br/><tr><td align="middle"><img src="/link/Blog/Image/2018/20180523/new_group.jpg" style="max-width: 100%;"></td></tr></ul><p></p><ul style="list-style-type: decimal;"><li></li><li></li><li></li><li></li><br/><tr><td align="middle"><img src="/link/Blog/Image/2018/20180523/group_menu_commands.jpg" style="max-width: 100%;"></td></tr></ul><h1 class="blog-sub-title"></h1><p></p><ul style="list-style-type: decimal;"><li><i></i> -&gt; <i></i></li><p></p><li></li><br/><tr><td align="middle"><img src="/link/Blog/Image/2018/20180523/move_to_group_command.jpg" style="max-width: 100%;"></td></tr></ul><p></p><h1 class="blog-sub-title"></h1><p></p><ul style="list-style-type: decimal;"><li><i></i> -&gt; <i></i></li><br/><tr><td align="middle"><img src="/link/Blog/Image/2018/20180523/exclude_from_group_command.jpg" style="max-width: 100%;"></td></tr></ul><p></p><h1 class="blog-sub-title"></h1><p><i></i> -&gt; <i></i> -&gt; <i></i><i></i> -&gt; <i></i></p><h1 class="blog-sub-title"></h1><p>Navicat </p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180523/connection_colors.jpg" style="max-width: 100%;"></td></tr><p><i></i></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180523/color_command.jpg" style="max-width: 100%;"></td></tr><p><i>...</i></p><p>nu.</p><h1 class="blog-sub-title"></h1><p></p>]]></description>
</item>
<item>
<title>导航窗格提示和技巧的第 1 部分：管理连接</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2018  5  15 </b>  Robert Gravelle <br/><br/><p>Navicat  Navicat for MySQLMariaDBSQL ServerSQLiteOraclePostgreSQL Navicat Premium Essentials  2 </p><h1 class="blog-sub-title"></h1><p> Navicat GUI -&gt;-&gt;</p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180515/navigation_pane_in_GUI.jpg" style="max-width: 100%;"></td></tr><p></p><p> Navicat Cloud Navicat Cloud</p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180515/navigation_pane_with_Navicat_Cloud_section.jpg" style="max-width: 100%;"></td></tr><h1 class="blog-sub-title"></h1><p><i></i></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180515/navigation_pane_options.jpg" style="max-width: 100%;"></td></tr><p></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180515/navigation_pane_without_db_objects.jpg" style="max-width: 100%;"></td></tr><p><i></i></p><p><i></i><i>-&gt;-&gt;</i></p><p><i>-&gt;-&gt;</i></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180515/flatten_connection_command.jpg" style="max-width: 100%;"></td></tr><h1 class="blog-sub-title"></h1><p></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180515/filtering.jpg" style="max-width: 100%;"></td></tr><p></p><h1 class="blog-sub-title">/</h1><p> Navicat Cloud  Navicat Cloud </p><ul style="list-style-type: decimal;"><li><i></i><i></i></li><li></li><li> Navicat Cloud Navicat Cloud</li></ul><br/><tr><td align="middle"><img src="/link/Blog/Image/2018/20180515/move_connection_command.jpg" style="max-width: 100%;"></td></tr><h1 class="blog-sub-title">/</h1><p> Navicat Cloud </p><li>Navicat Cloud<i></i><i></i>-&gt;</li> <br/><li></li><h1 class="blog-sub-title"></h1><p> 2 </p>]]></description>
</item>
<item>
<title>SQL Server 上可监控什么（第 2 部分）</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2018  5  8 </b> Robert Gravelle <br/><br/><p> <a class="default-links" href="/company/aboutus/blog/321-sql-server--1-" target="_blank">SQL Server  1 </a> SQL Server </p><h1 class="blog-sub-title"></h1><p> SQL Server </p><p>SQL Server 4 MB  10 MBSQL Server  SQL Server SQL Server Buffer Manager SQL Server  SQL Server </p><p>SQL Server Buffer Manager  SQL Server </p><p></p><p style="margin-left: 24px;">Available MBs RAM</p><p style="margin-left: 24px;">Pages/sec 20 Memory: Page Faults/sec  SQL Server </p><p>max server memorymin server memory SQL Server </p><h1 class="blog-sub-title"></h1><p></p><p style="margin-left: 24px;">Access Methods  Full scans/sec 1  2</p><p style="margin-left: 24px;">Buffer Manager  Buffer Cache hit ratio 90% RAM </p><p style="margin-left: 24px;">Memory Manager  Target Server Memory (KB) SQL Server Memory Manager  Total Server Memory (KB)  SQL Server </p><p style="margin-left: 24px;">Memory Manager  Total Server Memory (KB)SQL Server  Memory Manager  Target Server Memory (KB) SQL Server </p><p style="margin-left: 24px;">Locks  Average Wait Time SQL  I/O </p><p> SQL Server </p>]]></description>
</item>
<item>
<title>SQL Server 上可监控什么（第 1 部分）</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2018  5  2 </b> Robert Gravelle <br/><br/><p>Microsoft SQL Server  30  SQL Server </p><h1 class="blog-sub-title"></h1><p> SQL Server </p><ul style="list-style-type: disc"><li></li><br/><li></li><br/><li></li><br/></ul><h1 class="blog-sub-title"></h1><p>SQL Server </p><p style="font-size: 18px"></p><ul style="list-style-type: disc"><li>% Disk TimeAverage Disk Queue Length 100Average Disk Queue Length  1% Disk Time 100% 90%Current Disk Queue Length 2</li><br/><li>Average Disk Queue Length I/O  6 Current Disk Queue Length 12  2 I/O  1.5  2 </li><br/><li>Page reads/sec  page writes/secSQL Server Buffer Manager  page reads per second  page writes per second  page reads/sec  page writes/sec  90</li></ul><p style="font-size: 18px"></p><ul style="list-style-type: disc;"><li>% Processor time SQL Server CPU  % Processor Time  80% 80-90% </li><br/><li>% Privileged time Windows  SQL Server I/O </li><br/><li>% user timeCPU </li><br/><li>Queue Length 2 </li></ul><p> 2 </p>]]></description>
</item>
<item>
<title>MySQL 8 组件架构和错误日志</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2018  4  24 </b> Robert Gravelle <br/><br/><p>MySQL  8 </p><p></p><h1 class="blog-sub-title"></h1><p> INSTALL COMPONENT  UNINSTALL COMPONENT SQL </p><pre>INSTALL COMPONENT 'file://component_validate_password';UNINSTALL COMPONENT 'file://component_validate_password';</pre><p> mysql.component </p><p>INSTALL COMPONENT  mysql.component mysql.component </p><p>UNINSTALL COMPONENT  mysql.component </p><p></p><pre>SELECT * FROM mysql.component;</pre><h1 class="blog-sub-title"></h1><p> JSON Navicat Monitor</p><p> log_error_services  log_error_verbosity  global_variables log_error_</p><pre>mysql>select * from global_variables where VARIABLE_NAME like 'log_error_%';+---------------------+----------------------------------------+| VARIABLE_NAME       | VARIABLE_VALUE                         |+---------------------+----------------------------------------+| log_error_services  | log_filter_internal; log_sink_internal || log_error_verbosity | 2                                      |+---------------------+----------------------------------------+</pre><p> lib/plugins .so</p><ul style="list-style-type: disc;"><li>component_log_filter_dragnet.so</li><br/><li>component_log_sink_json.so</li><br/><li>component_log_sink_syseventlog.so</li><br/><li>component_log_sink_test.so</li><br/></ul><p>filter  sink</p><ul style="list-style-type: disc"><li>filter  filter  filter  log_error_services </li><br/><li> sink  sink  sink  log_error </li><br/></ul><p> URN</p><p>file:// + [the filename without the .so extension]</p><p> json </p><pre>mysql> INSTALL COMPONENT 'file://component_log_sink_json';mysql> SET GLOBAL log_error_services = 'log_filter_internal; log_sink_internal; log_sink_json';mysql> select * from global_variables where VARIABLE_NAME like 'log_error_%';+---------------------+-------------------------------------------------------+| VARIABLE_NAME       | VARIABLE_VALUE                                        |+---------------------+-------------------------------------------------------+| log_error_services  | log_filter_internal; log_sink_internal; log_sink_json || log_error_verbosity | 2                                                     |+---------------------+-------------------------------------------------------+</pre><p> MySQL 8 </p>]]></description>
</item>
<item>
<title>SQL Server 中的磁盘加密</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2018  4  17 </b> Robert Gravelle <br/><br/><p></p><ul style="list-style-type: decimal;"><li>API</li><li></li><li></li></ul><p></p><p>Microsoft TDE SQL Server 2008Azure SQL Database  Azure SQL Data Warehouse </p><p>SQL Server  SQL Server  TDS</p><ul style="list-style-type: decimal;"><h1 class="blog-sub-title"><li></li></h1><font face="courier new" color="blue">USE master;<br/>GO<br/>CREATE MASTER KEY ENCRYPTION<br/>        BY PASSWORD='<font color="red">Use a Strong Password For the Database Master Key'</font>;<br/>GO<br/></font><h1 class="blog-sub-title"><li></li></h1><font face="courier new" color="blue">USE master;<br/>GO<br/> CREATE CERTIFICATE <font color="black">My_TDE_Certificate</font><br/>           WITH SUBJECT=<font color="red">'Certificate for TDE'</font>;<br/>GO<br/></font><h1 class="blog-sub-title"><li></li></h1><font face="courier new" color="blue">USE <font color="black">MyDatabase</font><br/>GO<br/>CREATE DATABASE ENCRYPTION KEY<br/>WITH ALGORITHM = AES_256<br/>ENCRYPTION BY SERVER CERTIFICATE <font color="black">TDE_Certificate;</font><br/></font><h1 class="blog-sub-title"><li></li></h1><font face="courier new" color="blue">ALTER DATABASE <font color="black">MyDatabase</font> SET ENCRYPTION ON;<br/>GO<br/></font></ul><h1 class="blog-sub-title"></h1><p> TDE </p><font face="courier new" color="blue">USE master;<br/>GO<br/>BACKUP CERTIFICATE <font color="black">TDE_CERT_For_MyData</font><br/>TO FILE = <font color="red">'C:\temp\TDE_Cert_For_MyData.cer'</font><br/>WITH PRIVATE KEY (file=<font color="red">'C:\temp\TDE_CertKey.pvk'</font>,<br/>ENCRYPTION BY PASSWORD=<font color="red">'Use a Strong Password for Backup Here'</font>);<br/></font><p><b></b></p><h1 class="blog-sub-title"></h1><p> TDE  SQL Server 2016  TDE </p><p> TDE </p><font face="courier new">BACKUP DATABASE [MyDatabase]<br/>TO DISK = N'E:\backup\MyDatabase_TDE_Compressed.bak'<br/>WITH NOFORMAT, NOINIT, NAME = N'MyDatabase_TDE-Full Database Backup',<br/>SKIP, NOREWIND, NOUNLOAD, COMPRESSION,  STATS = 10<br/>GO<br/></font>]]></description>
</item>
<item>
<title>从 MySQL 中的多个表和视图中获取行计数（第 3 部分）</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2018  4  10 </b> Robert Gravelle <br/><br/><p><a class="default-links" href="/company/aboutus/blog/317--mysql--2-" target="_blank"> MySQL  2 </a> COUNT() </p><h1 class="blog-sub-title"> information_schema </h1><p></p><p>INFORMATION_SCHEMA  MySQL  MySQL </p><p>INFORMATION_SCHEMATABLESTABLES</p><p style="font-size: 18px"></p><p> WHERE  table_schema </p><font face="courier new">SELECT<br/>&nbsp;&nbsp;&nbsp;&nbsp;TABLE_NAME,<br/>&nbsp;&nbsp;&nbsp;&nbsp;TABLE_ROWS<br/>FROM<br/>&nbsp;&nbsp;&nbsp;&nbsp;`information_schema`.`tables`<br/>WHERE<br/>&nbsp;&nbsp;&nbsp;&nbsp;`table_schema` = 'YOUR_DB_NAME';<br/></font><p></p><font face="monospace">+------------+------------+<br/><b>|&nbsp;TABLE_NAME&nbsp;|&nbsp;TABLE_ROWS&nbsp;|</b><br/>+------------+------------+<br/>|&nbsp;Table1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;105&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br/>+------------+------------+<br/>|&nbsp;Table2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;10299&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br/>+------------+------------+<br/>|&nbsp;Table3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br/>+------------+------------+<br/>|&nbsp;Table4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;1045&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br/>+------------+------------+<br/></font><p style="font-size: 18px"></p><p></p><p>group_concat() </p><font face="courier new">Select<br/>&nbsp;&nbsp;-- Sort the tables by count<br/>&nbsp;&nbsp;concat(<br/>&nbsp;&nbsp;&nbsp;&nbsp;'select * from (',<br/>&nbsp;&nbsp;&nbsp;&nbsp;-- Aggregate rows into a single string connected by unions<br/>&nbsp;&nbsp;&nbsp;&nbsp;group_concat(<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-- Build a "select count(1) from db.tablename" per table<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;concat('select ',<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;quote(db), ' db, ',<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;quote(tablename), ' tablename, '<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'count(1) "rowcount" ',<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'from ', db, '.', tablename)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;separator ' union ')<br/>&nbsp;&nbsp;&nbsp;&nbsp;, ') t order by 3 desc')<br/>into @sql<br/>from (<br/>&nbsp;&nbsp;select<br/>&nbsp;&nbsp;&nbsp;&nbsp;table_schema db,<br/>&nbsp;&nbsp;&nbsp;&nbsp;table_name tablename<br/>&nbsp;&nbsp;from information_schema.tables<br/>&nbsp;&nbsp;where table_schema not in<br/>&nbsp;&nbsp;&nbsp;&nbsp;('performance_schema', 'mysql', 'information_schema')<br/>) t;<br/></font><p> select  @sql </p><font face="courier new">-- Execute @sql<br/>prepare s from @sql; execute s; deallocate prepare s;<br/></font><font face="monospace">+-----+-----------+------------+<br/><b>|&nbsp;db&nbsp;&nbsp;|&nbsp;tablename&nbsp;|&nbsp;rowcount&nbsp;&nbsp;&nbsp;|</b><br/>+-----+-----------+------------+<br/>|&nbsp;DB1&nbsp;|&nbsp;Table1&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;1457&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br/>+-----+-----------+------------+<br/>|&nbsp;DB1&nbsp;|&nbsp;Table2&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;1029&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br/>+-----+-----------+------------+<br/>|&nbsp;DB2&nbsp;|&nbsp;Table1&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;22002&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br/>+-----+-----------+------------+<br/>|&nbsp;DB2&nbsp;|&nbsp;Table2&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;1022&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br/>+-----+-----------+------------+<br/></font><h1 class="blog-sub-title"></h1><p> MyISAM  InnoDB MVCC <font face="courier new">count(1)</font>  InnoDB  4% </p>]]></description>
</item>
<item>
<title>在 MySQL 中获取高级的行计数（第 2 部分）</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2018  4  4 </b> Robert Gravelle <br/><br/><p> MySQL  COUNT()  MySQL  COUNT() </p><h1 class="blog-sub-title"></h1><p>COUNT(DISTINCT)  NULL  DISTINCT </p><font face="courier new">COUNT(DISTINCT expr,[expr...])</font><p> COUNT()  expr * IF/CASE </p><p style="font-size: 18px"></p><p> clients </p><font face="monospace">+------------+-------------+<br/><b>|&nbsp;last_name&nbsp;&nbsp;|&nbsp;first_name&nbsp;&nbsp;|</b><br/>+------------+-------------+<br/>|&nbsp;Tannen&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;Biff&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br/>+------------+-------------+<br/>|&nbsp;McFly&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;Marty&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br/>+------------+-------------+<br/>|&nbsp;Brown&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;Dr. Emmett&nbsp;&nbsp;|<br/>+------------+-------------+<br/>|&nbsp;McFly&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;George&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br/>+------------+-------------+<br/></font><p> COUNT(*) 4 last_name  COUNT DISTINCT  1 3</p><font face="courier new">SELECT COUNT(*), COUNT(DISTINCT last_name) FROM clients;</font><br/><font face="monospace">+----------+---------------------------+<br/><b>|&nbsp;COUNT(*)&nbsp;|&nbsp;COUNT(DISTINCT last_name)&nbsp;|</b><br/>+----------+---------------------------+<br/>|&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br/>+----------+---------------------------+<br/></font><h1 class="blog-sub-title"></h1><p>COUNT()  IF/CASE </p><p></p><font face="monospace">+------------+---------+<br/><b>|&nbsp;tel&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;sex&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|</b><br/>+------------+---------+<br/>|&nbsp;7136609221&nbsp;|&nbsp;male&nbsp;&nbsp;&nbsp;&nbsp;|<br/>+------------+---------+<br/>|&nbsp;7136609222&nbsp;|&nbsp;male&nbsp;&nbsp;&nbsp;&nbsp;|<br/>+------------+---------+<br/>|&nbsp;7136609223&nbsp;|&nbsp;female&nbsp;&nbsp;|<br/>+------------+---------+<br/>|&nbsp;7136609228&nbsp;|&nbsp;male&nbsp;&nbsp;&nbsp;&nbsp;|<br/>+------------+---------+<br/>|&nbsp;7136609222&nbsp;|&nbsp;male&nbsp;&nbsp;&nbsp;&nbsp;|<br/>+------------+---------+<br/>|&nbsp;7136609223&nbsp;|&nbsp;female&nbsp;&nbsp;|<br/>+------------+---------+<br/></font><p>teltel tel </p><p> COUNT DISTINCT </p><font face="courier new">SELECT COUNT(DISTINCT tel) gender_count,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;COUNT(DISTINCT CASE WHEN gender = 'male' &nbsp;&nbsp;THEN tel END) male_count,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;COUNT(DISTINCT CASE WHEN gender = 'female' THEN tel END) female_count<br/>FROM people</font><p> SELECT </p><font face="monospace">+--------------+------------+---------------+<br/><b>|&nbsp;gender_count&nbsp;|&nbsp;male_count&nbsp;|&nbsp;female_count&nbsp;&nbsp;|</b><br/>+--------------+------------+---------------+<br/>|&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br/>+--------------+------------+---------------+<br/></font><h1 class="blog-sub-title"></h1><p> GROUP BY </p><font face="monospace">+---------+-------+<br/><b>|&nbsp;GroupId&nbsp;|&nbsp;Count&nbsp;|</b><br/>+---------+-------+<br/>|&nbsp;1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br/>+---------+-------+<br/>|&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br/>+---------+-------+<br/>|&nbsp;3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br/>+---------+-------+<br/>|&nbsp;Total:&nbsp;&nbsp;|&nbsp;11&nbsp;&nbsp;&nbsp;&nbsp;|<br/>+---------+-------+<br/></font><p>Total: SQL GROUPING()  MySQL 8.0.1  ROLLUP  NULL NULL </p><p> SQL</p><font face="courier new">Select &nbsp;Case When Grouping(GroupId) = 1<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Then 'Total:'<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Else GroupId<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End As GroupId,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Count(*) Count<br/>From &nbsp;&nbsp;&nbsp;user_groups<br/>Group By GroupId With Rollup<br/>Order By Grouping(GroupId), GroupId<br/></font><p></p>]]></description>
</item>
<item>
<title>在 MySQL 中获取行计数（第 1 部分）</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2018  3  20 </b> Robert Gravelle <br/><br/><p> MySQL  SQL  COUNT()  MySQL  2 </p><h1 class="blog-sub-title">COUNT() </h1><p> COUNT()  COUNT() COUNT(*)COUNT(expression)  COUNT(DISTINCT expression)</p><p>COUNT()  BIGINT</p><h1 class="blog-sub-title"></h1><p> NULL  COUNT(*) COUNT()  SELECT </p><font face="courier new">SELECT COUNT(*) FROM cities;</font><p> COUNT(*)  WHERE  MyISAM  information_schema  tables  table_rows </p><p> InnoDB  InnoDB SELECT COUNT(*)  COUNT(*) </p><h1 class="blog-sub-title"> COUNT(expr)  Null </h1><p> COUNT()  COUNT(expr)  COUNT()  NULL  code_values </p><font face="monospace">code_values<br/>+-------+<br/>|&nbsp;code&nbsp;&nbsp;|<br/>+-------+<br/>|&nbsp;1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br/>+-------+<br/>|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br/>+-------+<br/>|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br/>+-------+<br/>|&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br/>+-------+<br/></font><p> 4  COUNT()  2</p><font face="courier new">SELECT COUNT(*) FROM code_values;</font><p/><font face="monospace">+---------+<br/>|&nbsp;COUNT()&nbsp;|<br/>+---------+<br/>|&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br/>+---------+</font><p> COUNT()  NULL COUNT(*) </p><p>COUNT(expr)  NULL  NULL </p><font face="courier new">SELECT COUNT(IFNULL(code, 1)) FROM code_values;</font><p/><p style="font-size: 18px"> Null </p><p>COUNT  COUNT(expr)  COUNT(column_name)  <i>column_name</i> name  NULL  SELECT  description  NULL </p><font face="courier new">SELECT COUNT(description) FROM widgets;</font><p> 2  COUNT(DISTINCT expression) </p>]]></description>
</item>
<item>
<title>使用 Navicat 代码段</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2018  3  14 </b> Robert Gravelle <br/><br/><p>Navicat Premium  Essentials  SQL  SQL </p><h1 class="blog-sub-title"></h1><p> SQL  SQL  SQL  Navicat  <strong style="font-family:courier new;color:blue;">()</strong>1</p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180314/code_snippet_pane.jpg" style="max-width: 100%;"></td></tr><p> #2</p><h1 class="blog-sub-title"></h1><p></p><ul style="list-style-type: decimal;"><li></li><br/><img src="/link/Blog/Image/2018/20180314/code_completion.jpg" style="max-width: 100%;"><br/><br/><li> TAB </li></ul><h1 class="blog-sub-title"></h1><p></p><p> #3</p><h1 class="blog-sub-title"></h1><p></p><br/><img src="/link/Blog/Image/2018/20180314/edit_dialog_for_preset_snippet.jpg" style="max-width: 100%;"><p></p>]]></description>
</item>
<item>
<title>Navicat 查询创建工具：设置分组准则（第 5 部分）</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2018  3  6 </b> Robert Gravelle <br/><br/><p> Navicat for MySQLPostgreSQLSQLiteMariaDB  Navicat Premium  Essentials  4  SQL  HAVING </p><h1 class="blog-sub-title"> Sakila </h1><p> <a class="default links" href="http://dev.mysql.com/doc/sakila/en/index.html" target="_blank">Sakila </a> Sakila <a class="default links" href="http://www.databasejournal.com/features/mysql/generating-reports-on-mysql-data.html" target="_blank"> Generating Reports on MySQL Data MySQL </a></p><h1 class="blog-sub-title"> HAVING </h1><p>SQL HAVING  GROUP BY  GROUP BY  WHERE HAVING  GROUP BY </p><h1 class="blog-sub-title"></h1> <p> GROUP BY  actors  last_name </p><p></p><ul style="list-style-type: decimal;"><li> FROM  &lt;&gt;  sakila.actor <br><img src="/link/Blog/Image/2018/20180306/selecting_the_actor_table.jpg" style="max-width: 100%;"></li><br><li>actor last_name  last_name  <br><img src="/link/Blog/Image/2018/20180306/last_name_field_selected.jpg" style="max-width: 100%;"><p> Count  SQL  actor.last_name  &lt;&gt; Count(*)<img src="/link/Blog/Image/2018/20180306/adding_the_count_function.jpg" style="max-width: 100%;"></p></li><li> GROUP BY  &lt; GROUP BY&gt;  actor.last_name </li><br><li></li></ul><p> SQL </p><pre>SELECTactor.last_name,Count(*) AS last_name_countFROMactorGROUP BYactor.last_name</pre><p></p><img src="/link/Blog/Image/2018/20180306/query_results_grouped_by_actor_last_name.jpg" style="max-width: 100%;"><p> last_name HAVING</p><ul style="list-style-type: decimal;"><li> HAVING  &lt;&gt; &lt;--&gt;= &lt;--&gt;</li><br><li>&lt;--&gt;last_name_count  last_name_count<br><img src="/link/Blog/Image/2018/20180306/entering_the_last_name_field.jpg" style="max-width: 100%;"></li><li>=>= <br><img src="/link/Blog/Image/2018/20180306/selecting_the_greater_than_or_equal_to_comparison_operator.jpg" style="max-width: 100%;"></li><li>&lt;--&gt;3</li><br><li></li></ul><p>HAVING last_name_count >= 3</p><img src="/link/Blog/Image/2018/20180306/query_results_with_having_clause.jpg" style="max-width: 100%;">]]></description>
</item>
<item>
<title>Navicat 查询创建工具－使用聚合输出字段（第 4 部分）</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2018  2  27 </b> Robert Gravelle <br/><br/><p>SELECT Navicat  SQL </p><h1 class="blog-sub-title"> Sakila </h1><p> <a class="default links" href="http://dev.mysql.com/doc/sakila/en/index.html" target="blank">Sakila </a>Sakila  Sakila  <a class="default-links" href="http://www.databasejournal.com/features/mysql/generating-reports-on-mysql-data.html" target="blank">Generating Reports on MySQL Data MySQL </a></p><h1 class="blog-sub-title"></h1><p> SQL  COUNTMAXMINSUM  AVG</p><ul style="list-style-type: disc;"><li>COUNT() NULL </li><li>SUM() NULL </li><li>AVG() NULL </li><li>MIN() NULL </li><li>MAX() NULL </li></ul><p><a class="default-links" href="/company/aboutus/blog/309-navicat-2-" target="blank"> 2 </a> Navicat  &lt;func&gt; SUMMAXMIXAVG  COUNT </p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180227/aggregate_function_list.jpg" style="max-width: 100%;"></td></tr><p></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180227/aggregate_function_query_results.jpg" style="max-width: 100%;"></td></tr><h1 class="blog-sub-title"></h1><p> GROUP BY </p><p></p><ul style="list-style-type: decimal;"><li> film  rental </li><li> film.film_id  rental.inventory_id </li><li>MONTHNAME(rental_date)</li><li> &lt;Alias&gt; rental_month</li><li> rental_id</li><li> &lt;Func&gt;  COUNT</li><li> &lt;Alias&gt; rental_count</li><li> &lt; GROUP BY&gt; MONTH(rental_date)<br>      <br> <br><tr><td align="middle"><img src="/link/Blog/Image/2018/20180227/query_builder_with_aggregate_query.jpg" style="max-width: 100%;"></td></tr></li><li></li></ul><p></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180227/aggregate_query_results.jpg" style="max-width: 100%;"></td></tr><p> rental_month  MONTHNAME  MONTH() </p>]]></description>
</item>
<item>
<title>确定自 SQL Server 上次完整备份以来已更改的数据量</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2018  2  23 </b> Robert Gravelle <br/><br/><p>DBA SQL Server 2017 </p><h1 class="blog-sub-title"></h1><p></p><p style="font-size: 18px"></p><p></p><p style="font-size: 18px;"></p><p></p><p style="font-size: 18px;"></p><p></p><h1 class="blog-sub-title">SQL Server Dynamic Management ViewsDMVs</h1><p>SQL Server .mdf  .ndf 8 KB  0  n  I/O SQL Server  8 KB SQL Server  MB  128 </p><p> 64 KB SQL Server  MB  16 </p><p>DMVsSQL Server 2017  DMV sys.dm_db_file_spavce_usage  modified_extent_page_count </p><pre>SELECT total_page_count, allocated_extent_page_count     , unallocated_extent_page_count, modified_extent_page_countFROM Sys.dm_db_file_space_usageGO</pre><p></p><font face="courier new"><body><table border="0"><tr><td>total_page_count</td><td>&nbsp;&nbsp;</td><td>allocated_extent_page_count</td><td>&nbsp;&nbsp;</td><td>unalocated_extent_page_count</td><td>&nbsp;&nbsp;</td><td>modified_extent_page_count</td></tr><tr><td colspan="7">-------------------------------------------------------------------------------------------------------</td></tr><tr><td>1024</td><td></td><td>320</td><td></td><td>704</td><td></td><td>64</td></tr></table></body></font><p></p><font face="courier new"><body><table border="0"><tr><td>total_page_count</td><td>&nbsp;&nbsp;</td><td>allocated_extent_page_count</td><td>&nbsp;&nbsp;</td><td>unalocated_extent_page_count</td><td>&nbsp;&nbsp;</td><td>modified_extent_page_count</td></tr><tr><td colspan="7">-------------------------------------------------------------------------------------------------------</td></tr><tr><td>1024</td><td></td><td>320</td><td></td><td>704</td><td></td><td>128</td></tr></table></body></font><p> modified_extent_page_count  64  128</p>]]></description>
</item>
<item>
<title>Navicat 查询创建工具－筛选结果（第 3 部分）</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2018  2  13 </b> Robert Gravelle <br/><br/><p> Navicat for MySQLPostgreSQLSQLiteMariaDB  Navicat Premium  Essentials  1  2  Navicat Premium  SELECT  WHERE</p><h1 class="blog-sub-title"> Sakila </h1><p> 1  2  <a class="default-links" href="http://dev.mysql.com/doc/sakila/en/index.html" target="blank">Sakila </a>Sakila  Sakila  <a class="default-links" href="http://www.databasejournal.com/features/mysql/generating-reports-on-mysql-data.html" target="blank">Generating Reports on MySQL Data MySQL </a></p><h1 class="blog-sub-title"> WHERE </h1><p>WHERE  SELECT  1 </p><p> SQL  Navicat Premium </p><pre>SELECTfilm.title,film.film_id,film.release_year,concat('$', film_list.price) AS price,film_list.actorsFROMfilmINNER JOIN film_list ON film.film_id = film_list.FID</pre><p> WHERE  &lt;&gt;&lt;...&gt;/&lt;&gt;&lt;--&gt; = &lt;--&gt;</p><ul style="list-style-type: decimal;"><li>&lt;--&gt;</li><li>=</li><li>&lt;--&gt;</li></ul><p></p><p>Like actors =&lt;--&gt; film_list.actors</p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180213/field_list.jpg" style="max-width: 100%;"></td></tr><p>=Like</p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180213/comparison_operator_list.jpg" style="max-width: 100%;"></td></tr><p>=&lt;--&gt;'%GENE HOPKINS%'</p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180213/edit_tab.jpg" style="max-width: 100%;"></td></tr><p> WHERE WHERE film_list.actors LIKE'GENE HOPKINS' SELECT </p><p> 22  GENE HOPKINS </p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180213/query_results.jpg" style="max-width: 100%;"></td></tr>]]></description>
</item>
<item>
<title>使用 MySQL中的 SELECT DISTINCT 消除重复行（第 4 部分）</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2018  1  30 </b> Robert Gravelle <br/><br/><p>MySQL  SELECT DISTINCT </p><h1 class="blog-sub-title">MySQL L</h1><p> MySQL  TEMPORARY  CREATE TABLE </p><p> MySQL  SELECT  TEMPORARY  SELECT </p><h1 class="blog-sub-title"> amalgamated_actors </h1><p> MySQL  ID  3  ID <font face="courier new" style="font-size: 15px">22&nbsp;&nbsp;JENNIFER&nbsp;&nbsp;DAVIS</font> </p><font face="courier new"><body><table border="0"><tr><td><b>id</b></td><td>&nbsp;&nbsp;&nbsp;</td><td><b>first_name</b></td><td>&nbsp;&nbsp;&nbsp;</td><td><b>last_name</b></td></tr><tr><td colspan="5"><b>---------------------------------------------------</b></td></tr><tr><td>10</td><td></td><td>PENELOPE</td><td></td><td>GUINESS</td></tr><tr><td>14</td><td></td><td>ED</td><td></td><td>CHASE</td></tr><tr style="color:#ff0000;"><td>22</td><td></td><td>JENNIFER</td><td></td><td>DAVIS</td></tr><tr><td>23</td><td></td><td>JOHNNY</td><td></td><td>LOLLOBRIGIDA</td></tr><tr><td>27</td><td></td><td>BETTE</td><td></td><td>NICHOLSON</td></tr><tr><td>34</td><td></td><td>GRACE</td><td></td><td>MOSTEL</td></tr><tr><td>41</td><td></td><td>NICK</td><td></td><td>WAHLBERG</td></tr><tr><td>39</td><td></td><td>JOE</td><td></td><td>SWANK</td></tr><tr><td>23</td><td></td><td>CHRISTIAN</td><td></td><td>GABLE</td></tr><tr style="color:#ff0000;"><td>22</td><td></td><td>JENNIFER</td><td></td><td>DAVIS</td></tr></table></body></font><p></p><p>MySQL  CREATE TABLE ... LIKE </p><p> <font face="courier new" style="font-size: 15px">amalgamated_actors</font> <p style="font-size: 15px"><font face="courier new">-- Create temporary table<br>CREATE TABLE wp.temp_table LIKE wp.amalgamated_actors;</font></p><p> <font face="courier new" style="font-size: 15px">amalgamated_actors</font>  <font face="courier new" style="font-size: 15px">temp_table</font> </p><p style="font-size: 15px"><font face="courier new">INSERT INTO wp.temp_table<br>&nbsp;&nbsp;&nbsp;&nbsp;SELECT DISTINCT * FROM wp.amalgamated_actors;</font></p><p>SELECT DISTINCT </p><p></p><p style="font-size: 15px"><font face="courier new">-- Rename and drop<br>RENAME TABLE wp.amalgamated_actors TO wp.old_amalgamated_actors,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wp.temp_table TO wp.amalgamated_actors;<br><br>DROP TABLE wp.old_amalgamated_actors;</font></p><p> <font face="courier new" style="font-size: 15px">JENNIFER DAVIS</font> </p><font face="courier new"><body><table border="0"><tr><td><b>id</b></td><td>&nbsp;&nbsp;&nbsp;</td><td><b>first_name</b></td><td>&nbsp;&nbsp;&nbsp;</td><td><b>last_name</b></td></tr><tr><td colspan="5"><b>---------------------------------------------------</b></td></tr><tr><td>10</td><td></td><td>PENELOPE</td><td></td><td>GUINESS</td></tr><tr><td>14</td><td></td><td>ED</td><td></td><td>CHASE</td></tr><tr><td>22</td><td></td><td>JENNIFER</td><td></td><td>DAVIS</td></tr><tr><td>23</td><td></td><td>JOHNNY</td><td></td><td>LOLLOBRIGIDA</td></tr><tr><td>27</td><td></td><td>BETTE</td><td></td><td>NICHOLSON</td></tr><tr><td>34</td><td></td><td>GRACE</td><td></td><td>MOSTEL</td></tr><tr><td>41</td><td></td><td>NICK</td><td></td><td>WAHLBERG</td></tr><tr><td>39</td><td></td><td>JOE</td><td></td><td>SWANK</td></tr><tr><td>23</td><td></td><td>CHRISTIAN</td><td></td><td>GABLE</td></tr></table></body></font><p> <font face="courier new" style="font-size: 15px">amalgamated_actors</font> </p><h1 class="blog-sub-title"> UNIQUE </h1><p> UNIQUE  ID </p>]]></description>
</item>
<item>
<title>Navicat查询创建工具－字段选择（第 2 部分）</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2018  1  24 </b> Robert Gravelle <br/><br/><p> Navicat for MySQLPostgreSQLSQLiteMariaDB  Navicat Premium  Essentials  SQL  1 </p><h1 class="blog-sub-title"></h1><p> <a class="default-links" href="http://dev.mysql.com/doc/sakila/en/index.html" target="_blank">Sakila sample database</a>Sakila  Sakila <a class="default-links" href="http://www.databasejournal.com/features/mysql/generating-reports-on-mysql-data.html" target="_blank">Generating Reports on MySQL Data MySQL </a></p><p></p><h1 class="blog-sub-title"></h1><p> film  film_list  film.film_id  film_list.FID</p><p> INNER JOIN</p><tr><td valign="middle"><img src="/link/Blog/Image/2018/20180124/tables_with_inner_join.jpg" style="max-width: 100%;"></td></tr><p></p><p> film.titlefilm.film_idfilm.release_year  film_list.actors</p><p> &lt;Distinct&gt;&lt;func&gt;  &lt;&gt; </p><h1 class="blog-sub-title"></h1><p> &lt;func&gt;  SUMMAXMIXAVG  COUNT  film_list.price concat('$', film_list.price) actor </p><tr><td valign="middle"><img src="/link/Blog/Image/2018/20180124/custom_function.jpg" style="max-width: 100%;"></td></tr><p style="font-size: 18px"></p><p>price</p><tr><td><img src="/link/Blog/Image/2018/20180124/setting_the_field_alias.jpg" style="max-width: 100%;"></td></tr><p></p><pre>SELECTfilm.title,film.film_id,film.release_year,concat('$', film_list.price) AS price,film_list.actorsFROMfilmINNER JOIN film_list ON film.film_id = film_list.FID</pre><p></p><tr><td><img src="/link/Blog/Image/2018/20180124/results.jpg" style="max-width: 100%;"></td></tr>]]></description>
</item>
<item>
<title>如何在 MySQL 中删除具有不同 ID 的重复行（第 3 部分）</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2018  1  16 </b> Robert Gravelle </br><br/><p><a class="default-links" href="/company/aboutus/blog/304--mysql--1-" target="blank"> MySQL </a><a class="default-links" href="/company/aboutus/blog/305--2-" target="blank"></a> </p><tr><td valign="middle"><img src="/link/Blog/Image/2018/20180116/duplicates3.png" style="max-width: 100%;"></td></tr><h1 class="blog-sub-title"></h1><p><a class="default-links" href="/company/aboutus/blog/305--2-" target="blank"></a></p><font face="courier New"><body><table border="0"><tr><td><b>Repetitions</b></td><td>&nbsp;&nbsp;&nbsp;</td><td><b>row_data</b></td></tr><tr><td colspan="3"><b>----------------------------------------------------------------</b></td></tr><tr><td>2</td><td/><td>22 (DAVIS, JENNIFER) | 22 (DAVIS, JENNIFER)</td></tr><tr><td>2</td><td/><td>23 (LOLLOBRIGIDA, JOHNNY) | 23 (GABLE, CHRISTIAN)</td></tr><tr><td>2</td><td/><td>41 (WAHLBERG, NICK) | 12 (WAHLBERG, NICK)</td></tr></table></body></font><p></p><p>JENNIFER DAVIS  22NICK WALBERG  ID  #23JOHNNY LOLLOBRIGIDACHRISTIAN GABLE 22  23 </p><h1 class="blog-sub-title"> DELETE JOIN </h1><p><a class="default-links" href="/company/aboutus/blog/304--mysql--1-" target="blank"> MySQL </a> SELEC T DELETE JOIN </p><p> WHERE id  id  id</p><pre>DELETE a FROM wp.amalgamated_actors a  INNER JOIN wp.amalgamated_actors a2WHERE a.id < a2.idAND   a.first_name = a2.first_nameAND   a.last_name  = a2.last_name;1 row(s) affected0.093 sec</pre><p> id  12  NICK WAHLBERG SELECT </p><font face="courier New"><body><table border="0"><tr><td><b>id</b></td><td>&nbsp;&nbsp;&nbsp;</td><td><b>first_name</b></td><td>&nbsp;&nbsp;&nbsp;</td><td><b>last_name</b></td></tr><td colspan="5"><b>-------------------------------------</b></td><tr><td>10</td><td/><td>PENELOPE</td><td/><td>GUINESS</td></tr><tr><td>12</td><td/><td>NICK</td><td/><td>WAHLBERG</td></tr><tr><td>14</td><td/><td>ED</td><td/><td>CHASE</td></tr><tr><td>22</td><td/><td>JENNIFER</td><td/><td>DAVIS</td></tr><tr><td>23</td><td/><td>JOHNNY</td><td/><td>LOLLOBRIGIDA</td></tr><tr><td>27</td><td/><td>BETTE</td><td/><td>NICHOLSON</td></tr><tr><td>34</td><td/><td>GRACE</td><td/><td>MOSTEL</td></tr><tr><td>39</td><td/><td>JOE</td><td/><td>SWANK</td></tr><tr><td>23</td><td/><td>CHRISTIAN</td><td/><td>GABLE</td></tr><tr><td>22</td><td/><td>JENNIFER</td><td/><td>DAVIS</td></tr></table></body></font><p> id <font face="courier New">a.id &lt; a2.id</font>  <font face="courier New">a.id &gt; a2.id</font></p><font face="courier New"><body><table border="0"><tr><td><b>id</b></td><td>&nbsp;&nbsp;&nbsp;</td><td><b>first_name</b></td><td>&nbsp;&nbsp;&nbsp;</td><td><b>last_name</b></td></tr><td colspan="5"><b>-------------------------------------</b></td><tr><td>10</td><td/><td>PENELOPE</td><td/><td>GUINESS</td></tr><tr><td>14</td><td/><td>ED</td><td/><td>CHASE</td></tr><tr><td>22</td><td/><td>JENNIFER</td><td/><td>DAVIS</td></tr><tr><td>23</td><td/><td>JOHNNY</td><td/><td>LOLLOBRIGIDA</td></tr><tr><td>27</td><td/><td>BETTE</td><td/><td>NICHOLSON</td></tr><tr><td>34</td><td/><td>GRACE</td><td/><td>MOSTEL</td></tr><tr><td>41</td><td/><td>NICK</td><td/><td>WAHLBERG</td></tr><tr><td>39</td><td/><td>JOE</td><td/><td>SWANK</td></tr><tr><td>23</td><td/><td>CHRISTIAN</td><td/><td>GABLE</td></tr><tr><td>22</td><td/><td>JENNIFER</td><td/><td>DAVIS</td></tr></table></body></font><h1 class="blog-sub-title"></h1><p> id  22  JENNIFER DAVIS  <font face="courier New">a.id = a2.id</font> </p>]]></description>
</item>
<item>
<title>使用 Navicat Premium 12 自动运行数据库复制</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2018  1  9 </b> Robert Gravelle <br/><br/><p></p><p>/</p><p> Database Synchronization Strategies Navicat Premium  Navicat Premium </p><h1 class="blog-sub-title"></h1><p></p><ul style="list-style-type: disc;"><li></li><li></li><li></li></ul><tr><td valign="middle"><img src="/link/Blog/Image/2018/20180109/replication.jpg" style="max-width: 100%;"></td></tr><p>DDBMS</p><p></p><ul style="list-style-type: disc"><li> Percona  PerconaMariaDB  MariaDBMySQL  MySQL</li><li> OracleMicrosoft SQL ServerPostgresSQL  Amazon DynamoDBMySQL  Amazon Aurora</li></ul><p></p><h1 class="blog-sub-title">Navicat Premium </h1><p>Navicat Premium  12  Windows </p><p style="font-size: 12px"><i> 1Windows  Navicat Premium 12 </i></p><tr><td valign="middle"><img src="/link/Blog/Image/2018/20180109/navicat_automation_utility_in_windows.png" style="max-width: 100%;"></td></tr><p></p><p style="font-size: 12px"><i> 2macOS  Navicat Premium 12 </i></p><tr><td valign="middle"><img src="/link/Blog/Image/2018/20180109/navicat_automation_utility_in_macOS.png" style="max-width: 100%;"></td></tr><h1 class="blog-sub-title"></h1><p> <a class="default-links" href="https://dev.mysql.com/doc/sakila/en/" target="blank">Sakila  MySQL </a> MySQL AB  Mike Hillyer </p><p><a class="default-links" href="http://dev.mysql.com/doc/sakila/en/sakila-structure.html" target="blank">MySQL Dev </a></p><p> NavicatSakila databasejournal.com <a class="default-links" href="http://www.databasejournal.com/features/mysql/generating-reports-on-mysql-data.html" target="blank">Generating Reports on MySQL Data MySQL </a></p><p style="font-size: 12px"><br>Navicat Premium 12  Sakila MySQL </p><tr><td valign="middle"><img src="/link/Blog/Image/2018/20180109/Sakila_MySQL_database_structure.png" style="max-width: 100%;"></td></tr><h1 class="blog-sub-title"></h1><p></p><h1 class="blog-sub-title"></h1><p> Database Synchronization Strategies  Navicat Premium 12  sakila  sakila2 </p><p><i> sakila  sakila2 sakila2</i></p><p></p><ul style="list-style-type: decimal;"><li><b></b>-&gt;<b></b></li><tr><td align="middle"><img src="/link/Blog/Image/2018/20180109/Data_Synchronization1.png" style="max-width: 100%"></td></tr>  <p></p><li>/li><tr><td align="middle"><img src="/link/Blog/Image/2018/20180109/Data_Synchronization2.png" style="max-width: 100%"></td></tr>  <p></p><li></li><tr><td align="middle"><img src="/link/Blog/Image/2018/20180109/Data_Synchronization3.png" style="max-width: 100%"></td></tr>  <p></p><li><p></p><p></p></li><tr><td align="middle"><img src="/link/Blog/Image/2018/20180109/Data_Synchronization4.png" style="max-width: 100%"></td></tr></ul><p><b><i></i></b></p><p></p><ul style="list-style-type: disc;"><li></li><li></li><li></li><li></li><li></li><li></li></ul><p></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180109/option.png" style="max-width: 100%"></td></tr><p><b></b></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180109/Data_Synchronization5.png" style="max-width: 100%"></td></tr><p><b></b><b></b></p><p><b></b><b></b><b></b></p><p></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180109/Data_Synchronization6.png" style="max-width: 100%"></td></tr><p> sakila2 </p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180109/sakila2_database_tables.png" style="max-width: 100%"></td></tr><br><b></b><p><b><i></i></b></p><p> Navicat  sakila  sakila2 </p><ul style="list-style-type: decimal;"><li><b></b></li>  <p></p><li><b></b></li>  <p></p><li>/<br><b></b></li><tr><td align="bottom"><img src="/link/Blog/Image/2018/20180109/homogeneous_job_selected.jpg" style="max-width: 100%"></td></tr><li><b></b></li></ul><p><b></b><b></b></p><p><b><i></i></b></p><p></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180109/homogeneous_job_general_tab.jpg" style="max-width: 100%"></td></tr><ul style="list-style-type: decimal;"><li>Windows </li>  <p></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180109/saving_user_credentials.jpg" style="max-width: 100%"></td></tr><p></p></ul><p><b><i></i></b></p><p></p><p><b>...</b></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180109/new_trigger_dialog.jpg" style="max-width: 100%"></td></tr><p></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180109/triggers_tab.jpg" style="max-width: 100%"></td></tr><p><b><i></i></b></p><p><b></b></p><p>someone@navicat.com<p><b>, </b></p><p> (;) </p><p><b></b></p><p></p><p><b></b></p><p></p><p><b> (SMTP )</b></p><p>SMTP</p><p><b></b></p><p>SMTP</p><p><b></b></p><p> SMTP </p><p><b></b></p><p>TLSSSL</p><p><b></b></p><p>Navicat </p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180109/advanced_tab.jpg" style="max-width: 100%"></td></tr><p></p><h1 class="blog-sub-title"></h1><p> sakila  sakla2 sakila_merged</p><h1 class="blog-sub-title"></h1><p></p><h1 class="blog-sub-title"></h1><p></p><ul style="list-style-type: decimal;"><li><b></b></li><li><b></b></li><li>/</li><li><b></b></li>  <p></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180109/merging_replication_jobs_selected.jpg" style="max-width: 100%"></td></tr>  <p></p><li><b></b><b></b><b></b></li><li></li><li></li><li><b></b></li></ul><h1 class="blog-sub-title"></h1><p></p><h1 class="blog-sub-title"></h1><p> sakilasakila2  sakila3 </p><p></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180109/Automation_wizard.png" style="max-width: 100%"></td></tr><p></p><p></p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180109/transactional_replication_update_jobs_selected.jpg" style="max-width: 100%"></td></tr><p> 2 </p><tr><td align="middle"><img src="/link/Blog/Image/2018/20180109/transactional_replication_update_schedule.jpg" style="max-width: 100%"></td></tr><h1 class="blog-sub-title"></h1><p> Navicat Premium 12 DBA </p><p> Navicat Premium 12 <a class="default-links" href="/products/navicat-premium" target="blank"></a></p>]]></description>
</item>
<item>
<title>使用 Navicat 的查询创建工具设计 SELECT 查询（第 1 部分）</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2018  1  3 </b> Robert Gravelle <br/><br/><p> Navicat for MySQLPostgreSQLSQLiteMariaDB  Navicat Premium  Essentials  SQL </p><h1 class="blog-sub-title"></h1><p> <a class="default-links" href="https://dev.mysql.com/doc/sakila/en/" target="blank">Sakila</a>MySQL AB  Mike Hillyer  Sakila </p><p> Sakila  <a class="default-links" href="http://www.databasejournal.com/features/mysql/generating-reports-on-mysql-data.html" target="_blank">Generating Reports on MySQL Data MySQL </a></p><h1 class="blog-sub-title"></h1><p></p><ul style="list-style-type:decimal;" class="blog-list"><li></li><tr><td valign="middle"><img src="/link/Blog/Image/2018/20180103/new_query.jpg" style="max-width: 100%;"></td></tr><li> SQL <p></p><tr><td valign="middle"><img src="/link/Blog/Image/2018/20180103/empty_query_builder.jpg" style="max-width: 100%;"></td></tr></li></ul><h1 class="blog-sub-title"></h1><p></p><ul style="list-style-type: decimal;" class="blog-list"><li> actorfilm_actor  film </li><li>&lt;alias&gt;</li><p></p><tr><td valign="middle"><img src="/link/Blog/Image/2018/20180103/query_builder_with_tables.jpg" style="max-width: 100%;"></td></tr><li></li></ul><h3 style="font-size: 18px;"> WHERE </h3><p> WHERE &lt;&gt; WHERE &lt;--&gt; = &lt;--&gt;</p><ul style="list-style-type: decimal;" class="blog-list"><li>&lt;--&gt; = &lt;--&gt;</li><li> f.release_year </li><li></li><li>&lt;--&gt; = &lt;--&gt;2006</li><li> SELECT </li><pre>SELECTa.first_name,a.last_name,f.titleFROMactor AS aINNER JOIN film_actor AS fa ON fa.actor_id = a.actor_idINNER JOIN film AS f ON fa.film_id = f.film_idWHEREf.release_year = 2006</pre><li></li><tr><td valign="middle"><img src="/link/Blog/Image/2018/20180103/query_result.jpg" style="max-width: 100%;"></td></tr></ul><h1 class="blog-sub-title"></h1><p> DBANavicat  SELECT </p>]]></description>
</item>
<item>
<title>如何识别具有非唯一键的重复项（第 2 部分）</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2017  12  27 </b> Robert Gravelle <br/><br/><p> MySQL </p><tr><td valign="middle"><img src="/link/Blog/Image/2017/20171227/duplicates2.png" style="max-width: 100%;"></td></tr><h1 class="blog-sub-title"></h1><p> textcsv  excel </p><p></p><font face="courier New"><body><table border="0"><tr><td>Key 1</td><td>&nbsp;&nbsp;&nbsp;</td><td>Key 2</td><td>&nbsp;&nbsp;&nbsp;</td><td>New Key</td></tr><tr><td colspan="5">--------------------------</td></tr><tr><td>10</td><td></td><td>25</td><td></td><td>1025</td></tr><tr><td>102</td><td></td><td>5</td><td></td><td>1025 !!!</td></tr></table></body></font><p></p><h1 class="blog-sub-title"></h1><p></p><p></p><p>JENNIFER DAVISNICK WAHLBERG</p><p></p><font face="courier New"><body><table border="0"><tr><td><b>id</b></td><td>&nbsp;&nbsp;&nbsp;&nbsp;</td><td><b>first_name</b></td><td>&nbsp;&nbsp;&nbsp;&nbsp;</td><td><b>last_name</b></td></tr><tr><td colspan="5">--------------------------------------</td></tr><tr><td>10</td><td></td><td>PENELOPE</td><td></td><td>GUINESS</td></tr><tr><td>12</td><td></td><td>NICK</td><td></td><td>WAHLBERG</td></tr><tr><td>14</td><td></td><td>ED</td><td></td><td>CHASE</td></tr><tr><td>22</td><td></td><td>JENNIFER</td><td></td><td>DAVIS</td></tr><tr><td>23</td><td></td><td>JOHNNY</td><td></td><td>LOLLOBRIGIDA</td></tr><tr><td>27</td><td></td><td>BETTE</td><td></td><td>NICHOLSON</td></tr><tr><td>34</td><td></td><td>GRACE</td><td></td><td>MOSTEL</td></tr><tr><td>41</td><td></td><td>NICK</td><td></td><td>WAHLBERG</td></tr><tr><td>39</td><td></td><td>JOE</td><td></td><td>SWANK</td></tr><tr><td>23</td><td></td><td>CHRISTIAN</td><td></td><td>GABLE</td></tr><tr><td>22</td><td></td><td>JENNIFER</td><td></td><td>DAVIS</td></tr></table></body></font><p></p><p>NICK WAHLBERG JENNIFER DAVIS  22 #23JOHNNY LOLLOBRIGIDACHRISTIAN GABLE 22  23 </p><h1 class="blog-sub-title"></h1><p> ID  MySQL  group_concat() </p><p></p><font face="Courier New"><body><table border="0"><tr><td>SELECT</td></tr><tr><td>&nbsp;&nbsp;COUNT(*) as repetitions,</td></tr><tr><td>&nbsp;&nbsp;group_concat(id, ' (', last_name, ', ', first_name, ') '  SEPARATOR ' | ')</td></tr><tr><td>&nbsp;&nbsp;&nbsp;&nbsp;as row_data</td></tr><tr><td>FROM amalgamated_actors</td></tr><tr><td>GROUP BY id</td></tr><tr><td>HAVING repetitions > 1;</td></tr></table></body></font><p></p><font face="courier New"><body><table border="0"><tr><td><b>Repetitions</b></td><td>&nbsp;&nbsp;&nbsp;&nbsp;</td><td><b>row_data</b></td></tr><tr><td colspan="3">-------------------------------------------------------------</td></tr><tr><td>2</td><td></td><td>22 (DAVIS, JENNIFER) | 22 (DAVIS, JENNIFER)</td></tr><tr><td>2</td><td></td><td>23 (LOLLOBRIGIDA, JOHNNY) | 23 (GABLE, CHRISTIAN)</td></tr></table></body></font><p></p><p> UNION </p><font face="courier New"><table><tr><td>SELECT</td></tr><tr><td>&nbsp;&nbsp;COUNT(*) as repetitions,</td></tr><tr><td>&nbsp;&nbsp;group_concat(id, ' (', last_name, ', ', first_name, ') '  SEPARATOR ' | ')</td></tr><tr><td>&nbsp;&nbsp;&nbsp;&nbsp;as row_data</td></tr><tr><td>FROM amalgamated_actors</td></tr><tr><td>GROUP BY id</td></tr><tr><td>HAVING repetitions > 1</td></tr><tr><td>UNION</td></tr><tr><td>SELECT</td></tr><tr><td>&nbsp;&nbsp;COUNT(*) as repetitions,</td></tr><tr><td>&nbsp;&nbsp;group_concat(id, ' (', last_name, ', ', first_name, ') '  SEPARATOR ' | ')</td></tr><tr><td>&nbsp;&nbsp;&nbsp;&nbsp;as row_data</td></tr><tr><td>FROM amalgamated_actors</td></tr><tr><td>GROUP BY last_name, first_name</td></tr><tr><td>HAVING repetitions > 1;</td></tr></table></font><p></p><p></p><p></p><font face="courier New"><body><table border="0"><tr><td><b>Repetitions</b></td><td>&nbsp;&nbsp;&nbsp;&nbsp;</td><td><b>row_data</b></td></tr><tr><td colspan="3">-------------------------------------------------------------</td></tr><tr><td>2</td><td></td><td>22 (DAVIS, JENNIFER) | 22 (DAVIS, JENNIFER)</td></tr><tr><td>2</td><td></td><td>23 (LOLLOBRIGIDA, JOHNNY) | 23 (GABLE, CHRISTIAN)</td></tr><tr><td>2</td><td></td><td>41 (WAHLBERG, NICK) | 12 (WAHLBERG, NICK)</td></tr></table></body></font><h1 class="blog-sub-title"></h1><p> MySQL Having COUNT(*) > 1</p>]]></description>
</item>
<item>
<title>如何在 MySQL 中发现和删除具有重复含义的值（第 1 部分）</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2017  12  21 </b> Robert Gravelle <br/><br/><p>DBA </p><p> MySQL </p><tr><td valign="middle"><img src="/link/Blog/Image/2017/20171221/duplicates.png" style="max-width: 100%;"></td></tr><h1 class="blog-sub-title"></h1><p></p><h1 class="blog-sub-title"></h1><p></p><p></p><font face="courier New"><body><table border="0"><tr><td><b>movie_name</b></td><td><b>media</b></td></tr><tr><td colspan="2">---------------------------</td></tr><tr><td>ACADEMY DINOSAUR</td><td>Theatre</td></tr><tr><td>ACE GOLDFINGER</td><td>Television</td></tr><tr><td>ADAPTATION HOLES</td><td>Theatre</td></tr><tr><td>AFFAIR PREJUDICE</td><td>Theatre</td></tr><tr><td>AFRICAN EGG</td><td>TV</td></tr></table></body></font><p> media TelevisionTV</p><p> SELECT DISTINCT </p><p></p><ul style="list-style-type:decimal;" class="blog-list"><li> REPLACE() </li><p></p>    <font face="courier New"><body><table border="0"><tr><td>SELECT DISTINCT</td><td>movie_name,</td></tr><tr><td></td><td>REPLACE(media, "TV", "TELEVISION") as media,</td></tr><tr><td>FROM   films;</td><td></td></tr></table></body></font><p></p><li>TVTELEVISION</li><p></p><font face="courier New"><body><table border="0"><tr><td>UPDATE films</td></tr><tr><td>SET media = REPLACE(media, "TV", "TELEVISION")</td></tr><tr><td>WHERE media = "TV";</td></tr></table></body></font></ul><p></p><p></p><p>O'BRIENO'BRIEN</p><font face="courier New"><body><table border="0"><tr><td><b>first_name</b></td><td><b>last_name</b></td></tr><tr><td colspan="2">---------------------</td></tr><tr><td>PENELOPE</td><td>GUINESS</td></tr><tr><td>CONAN</td><td>O'BRIEN</td></tr><tr><td>ED</td><td>CHASE</td></tr><tr><td>JENNIFER</td><td>DAVIS</td></tr><tr><td>CONAN</td><td>O'BRIEN</td></tr></table></body></font><p></p><ul style="list-style-type:decimal;" class="blog-list"><li> REPLACE() </li><p></p><font face="courier New"><body><table border="0"><tr><td>SELECT DISTINCT</td><td>first_name,</td></tr><tr><td></td><td>REPLACE(last_name, "'", "'") as last_name,</td></tr><tr><td>FROM   actors</td><td></td></tr><td colspan="2">WHERE  REPLACE(last_name, "'", "'") like "O'BRIEN";</td></table></body></font><p></p><li> last_name </li><p></p><font face="courier New"><body><table border="0"><tr><td>UPDATE actors</td></tr><tr><td>SET last_name = REPLACE(last_name, "'", "'")</td></tr><tr><td>WHERE last_name like "%'%";</td></tr></table></body></font><p></p></ul><h1 class="blog-sub-title"></h1><p> DBA </p>]]></description>
</item>
<item>
<title>在 Navicat 中从数据库创建模型</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2017  12  13 </b> Robert Gravelle <br/><br/><p></p><p> 2.0  Navicat</p><p>DBA </p><p> Navicat Premium </p><h1 class="blog-sub-title"></h1><p> Navicat </p><p><b></b></p><tr><td valign="middle"><img src="/link/Blog/Image/2017/20171213/Reverse_Schema_to_Model_menu_item.jpg" style="max-width: 100%;"></td></tr><p>Navicat </p><tr><td valign="middle"><img src="/link/Blog/Image/2017/20171213/untitled_model_of_sakila_db.jpg" style="max-width: 100%;"></td></tr><p></p><h1 class="blog-sub-title"></h1><p><b></b></p><tr><td valign="middle"><img src="/link/Blog/Image/2017/20171213/reverse_tables_to_model_menu_item.jpg" style="max-width: 100%;"></td></tr><p></p><tr><td valign="middle"><img src="/link/Blog/Image/2017/20171213/actor_table_model.jpg" style="max-width: 100%;"></td></tr><h1 class="blog-sub-title"></h1><p></p><tr><td valign="middle"><img src="/link/Blog/Image/2017/20171213/selecting_multiple_tables.jpg" style="max-width: 100%;"></td></tr><p><b>...</b></p><tr><td valign="middle"><img src="/link/Blog/Image/2017/20171213/multiple_tables_in_model_window.jpg" style="max-width: 100%;"></td></tr><h1 class="blog-sub-title"></h1><p>Navicat </p><ul style="list-style-type:decimal;" class="blog-list"><li></li>  <p/><ul style="list-style-type:lower-alpha;" class="blog-list"><li><b></b><b></b></li><tr><td valign="middle"><img src="/link/Blog/Image/2017/20171213/new_model_button.jpg" style="max-width: 100%;"></td></tr><p></p><li><b>>></b> <tr><td valign="middle"><img src="/link/Blog/Image/2017/20171213/new_model_menu_item.jpg" style="max-width: 100%;"></td></tr></ul>  <p/><li><b></b></li><tr><td valign="middle"><img src="/link/Blog/Image/2017/20171213/New_Model_dialog.jpg" style="max-width: 100%;"></td></tr>  <p/>  <li><b></b>-></li><tr><td valign="middle"><img src="/link/Blog/Image/2017/20171213/Import_from_Database_menu_item.jpg" style="max-width: 100%;"></td></tr>  <p/><li></li>  <p/><li></li><tr><td valign="middle"><img src="/link/Blog/Image/2017/20171213/Import_from_Database_dialog.jpg" style="max-width: 100%;"></td></tr>  <p/>  <li><b></b></li></ul><h1 class="blog-sub-title"></h1><p>Navicat Navicat Premium </p>]]></description>
</item>
<item>
<title>在 Navicat 中执行数据库范围搜索</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2017  12  6 </b> Robert Gravelle <br/><br/><p> MySQLMariaDBSQL ServerOracle  PostgreSQL Amazon RDSAmazon AuroraAmazon RedshiftSQL AzureOracle Cloud  Google Cloud Navicat </p><p> Navicat Essentials /</p><p></p><tr><td valign="middle"><img src="/link/Blog/Image/2017/20171206/find_in_db_menu_item.jpg" style="max-width: 100%;"></td></tr><h1 class="blog-sub-title"></h1><p>junglejungle</p><ul style="list-style-type:disc;" class="blog-list"><li></li><li></li><li></li><li></li></ul><p></p><p>jungle</p><tr><td valign="middle"><img src="/link/Blog/Image/2017/20171206/find_in_db_data_results.jpg" style="max-width: 100%;"></td></tr><p></p><tr><td valign="middle"><img src="/link/Blog/Image/2017/20171206/data_search_result_in_query_editor.jpg" style="max-width: 100%;"></td></tr><h1 class="blog-sub-title"></h1><p> /</p><p></p><p>film_</p><p></p><tr><td valign="middle"><img src="/link/Blog/Image/2017/20171206/find_in_db_object_structure_results.jpg" style="max-width: 100%;"></td></tr><p> inventory </p><tr><td valign="middle"><img src="/link/Blog/Image/2017/20171206/object_structure_search_result_in_table_editor.jpg" style="max-width: 100%;"></td></tr><h1 class="blog-sub-title"></h1><p>YouTube <a class="default-links" href=https://youtu.be/4Jf2_vKBDIQ target="_blank" ></a></p>]]></description>
</item>
<item>
<title>比较两个 MySQL 数据库是否有任何差异</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2017  10  16 </b> Gavin <br/><br/><p> CSVVERTICALGRID  TAB </p><p> db1:db2  DB1 </p><p> server 1  server 1  server 2 db1  server 1 db2  server 2</p><p> all  server 1  server 2  exclude </p><p></p><p> vv </p><p>run all tests</p><h1 class="blog-sub-title"></h1><ul style="list-style-type:decimal;" class="blog-list"><li></li><li></li><li></li><li></li><li></li></ul><p>  skip  xxx </p><ul style="list-style-type:disc" class="blog-list"><b><li>Pass- </li></b><b><li>Fail- </li></b><b><li>Skip- </li></b><b><li>Warn- </li></b><b><li>- - </li></b></ul><p></p>]]></description>
</item>
<item>
<title>准备将数据库迁移到 Amazon Aurora</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2017  10  3 </b> Gavin <br/><br/><p> MySQL Amazon Aurora </p><p> Aurora </p><p></p><p></p><ul style="list-style-type:disc" class="blog-list"><li><b></b> PerconaMariaDB  MySQL  Amazon Aurora</li><li><b></b> OraclePostgresSQLMicrosoft SQL Server  Amazon Aurora</li></ul><h1 class="blog-sub-title"></h1><p> MySQL 5.6 Percona  MariaDB</p><p><b>RDS </b> AWS RDS  MYSQL  AWS Aurora </p><p><b> Navicat </b><a class="default-links" href="/products" target="_blank"> Navicat </a> AWS Aurora </p><p> AWS DMS  AWS  AWS Aurora  AWS DMS  Navicat </p><p> Navicat  AWS DMS </p><h1 class="blog-sub-title"></h1><p> MySQL  PostgresSQLOracle  AWS Aurora </p><p><b></b> AWS Schema Conversion Tool  MySQL  Amazon Aurora  PostgreSQLMicrosoft SQL Server  Oracle  Amazon RDS MySQL  Amazon Aurora </p><p><b></b>AWS DMSAWS Database Migration Service</p><p> Amazon Aurora</p>]]></description>
</item>
<item>
<title>使用 Navicat 管理 AWS Aurora 数据库</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2017  9  18 </b> Gavin <br/><br/><p> Navicat  Amazon Aurora  Navicat  Amazon Aurora </p><p><b>Amazon Aurora</b> MySQL </p><p><b>Navicat Premium</b>Premium  LinuxWindows  MacOS  SQLiteSQL ServerOracleMySQLPostgreSQL  MariaDB  Amazon RedshiftAmazon Aurora  Amazon RDS </p><tr><td valign="middle"><img src="/link/Blog/Image/2017/20170918/navicat-amzon-aurora.jpg" style="max-width: 100%;"></td></tr><p>Amazon  Amazon Navicat </p><h1 class="blog-sub-title"> Windows  Mac  Navicat  AWS Aurora </h1><ul style="list-style-type:decimal" class="blog-list"><li><b> Navicat Premium>>Amazon AWSAmazon Aurora</b></li><li><b></b></li><li><b> Navicat Cloud </b></li><li><b></b></li><li><b></b></li><li><b></b></li></ul><h1 class="blog-sub-title"></h1><p>Navicat  GUI Amazon  DBMS  SQL  100 </p><h1 class="blog-sub-title">Amazon Web Services</h1><p>Amazon Web Services  Amazon AWS </p><p><b>Navicat </b></p><ul style="list-style-type:disc" class="blog-list"><li><b></b></li><li><b></b></li><li><b> SQL </b></li><li><b></b></li><li><b></b></li><li><b></b></li><li><b></b></li></ul><p> Navicat  AWS Aurora </p>]]></description>
</item>
<item>
<title>如何优化 MySQL 服务器</title>
<link>http://www.navicat.com</link>
<description><![CDATA[<b>2017  9  4 </b> Gavin <br/><br/><p> SQL  DBA MySQL </p><tr><td valign="middle"><img src="/link/Blog/Image/2017/20170904/1200px-MySQL.svg_.png" style="max-width: 100%;"></td></tr><h1 class="blog-sub-title"></h1><p></p><p><b> RAM</b>OS </p><p><b> MyISAM</b>exterior lockingskip exterior locking MySQL  myisamchk </p><p> MySQL  myisamchk  NDB  MySQL </p><h1 class="blog-sub-title"> I/O</h1><p></p><p></p><p></p><p> RAID </p><h1 class="blog-sub-title"> NFS  MySQL</h1><p> NFS  MySQL OS  NFS </p><ul style="list-style-type:disc" class="blog-list"><li> NFS  MySQL </li><li> intr TCP</li><li></li></ul><h1 class="blog-sub-title"></h1><p></p><p> MYISAM </p><p><b>1.  Unix <br>2.  Unix  MyISAM <br>3.  Windows </b></p>]]></description>
</item>
</channel>
</rss>