?? manual_reference.html
字號:
<html>
<head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312">
<title>MySQL中文參考手冊- 7 MySQL 語言參考</title>
<style type="text/css">
<!--
.p14{font-size:14.8px;font-family:宋體;line-height:14pt;}
a:hover{color:red;}
a.t1:visited{color:red;}
-->
</style>
</head>
<body BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#101090" VLINK="#7030B0" class="p4">
<h1><img src="Img/mysql-logo.gif" alt="mysql-logo.gif (3082 bytes)" WIDTH="127" HEIGHT="60"><font color="#FF0000">MySQL中文參考手冊</font></h1>
<p>譯者:晏子 <a href="mailto:(clyan@sohu.com">(clyan@sohu.com</a>)
主頁:<a href="http://linuxdb.yeah.net">http://linuxdb.yeah.net</a></p>
<hr>
<p><a HREF="manual_Introduction.html">第一章</a>, <a HREF="manual_Privilege_system.html">前一章</a>, <a HREF="manual_Tutorial.html">下一章</a>,
<a HREF="manual_Concept_Index.html">最后一章</a>,<a HREF="manual_toc.html">目錄</a>.
</p>
<hr>
<h1><a NAME="Reference" HREF="manual_toc.html#Reference">7 MySQL語言參考</a></h1>
<p><a NAME="IDX153"></a> <a NAME="IDX154"></a> </p>
<h2><a NAME="Literals" HREF="manual_toc.html#Literals">7.1
文字:怎么寫字符串和數字</a></h2>
<h3><a NAME="String_syntax" HREF="manual_toc.html#String_syntax">7.1.1 字符串</a></h3>
<p>一個字符串是一個字符序列,由單引號(<samp>“'”</samp>)或雙引號(<samp>“"”</samp>)字符(后者只有你不在ANSI模式運行)包圍。例如:</p>
<pre>'a string'
"another string"
</pre>
<p>在字符串內,某個順序有特殊的意義。這些順序的每一個以一條反斜線(<samp>“\”</samp>)開始,稱為<em>轉義字符</em>。<strong>MySQL</strong>識別下列轉義字符:
<dl compact>
<dt><code>\0</code> </dt>
<dd><a name="IDX155"></a>一個ASCII 0 (<code>NUL</code>)字符。 <a name="IDX157"></a><a name="IDX158"></a> </dd>
<dt><code>\n</code> </dt>
<dd>一個新行符。 <a name="IDX159"></a><a name="IDX160"></a> </dd>
<dt><code>\t</code> </dt>
<dd>一個定位符。 <a name="IDX161"></a><a name="IDX162"></a><a name="IDX163"></a> </dd>
<dt><code>\r</code> </dt>
<dd>一個回車符。 <a name="IDX164"></a><a name="IDX165"></a> </dd>
<dt><code>\b</code> </dt>
<dd>一個退格符。 <a name="IDX166"></a><a name="IDX167"></a> </dd>
<dt><code>\'</code> </dt>
<dd>一個單引號(<samp>“'”</samp>)符。 <a name="IDX168"></a><a name="IDX169"></a> </dd>
<dt><code>\"</code> </dt>
<dd>一個雙引號(<samp>“"”</samp>)符。 <a name="IDX170"></a><a name="IDX171"></a>
</dd>
<dt><code>\\</code> </dt>
<dd>一個反斜線(<samp>“\”</samp>)符。 <a name="IDX172"></a><a name="IDX173"></a> </dd>
<dt><code>\%</code> </dt>
<dd>一個“<samp>%”</samp>符。它用于在正文中搜索“%”的文字實例,否則這里“%”將解釋為一個通配符。
<a name="IDX174"></a><a name="IDX175"></a> </dd>
<dt><code>\_</code> </dt>
<dd>一個“<samp>_”</samp>符。它用于在正文中搜索“_”的文字實例,否則這里“_”將解釋為一個通配符。</dd>
</dl>
<p>注意,如果你在某些正文環境中使用<samp>“\%”</samp>或<samp>“\%_”</samp>,這些將返回字符串<samp>“\%”</samp>和<samp>“\_”</samp>而不是<samp>“%”</samp>和<samp>“_”</samp>。
</p>
<p>有幾種方法在一個字符串內包括引號:
<ul>
<li>一個字符串內用“'”加引號的“'”可以被寫作為<samp>“''”</samp>。
</li>
<li>一個字符串內用<samp>“"”加引號</samp>的<samp>“"”</samp>可以被寫作為<samp>“""”</samp>。
</li>
<li>你可以把一個轉義字符(“\”)放在引號前面。 </li>
<li>一個字符串內用<samp>“"”</samp>加引號<samp>的“'”</samp>不需要特殊對待而且不必被重復或轉義。同理,<samp>一個字符串內用“'”加引號的</samp>與<samp>“"”</samp>也不需要特殊對待。
</li>
</ul>
<p>下面顯示的<code>SELECT</code>演示引號和轉義如何工作: </p>
<pre>mysql> SELECT 'hello', '"hello"', '""hello""', 'hel''lo', '\'hello';
+-------+---------+-----------+--------+--------+
| hello | "hello" | ""hello"" | hel'lo | 'hello |
+-------+---------+-----------+--------+--------+
mysql> SELECT "hello", "'hello'", "''hello''", "hel""lo", "\"hello";
+-------+---------+-----------+--------+--------+
| hello | 'hello' | ''hello'' | hel"lo | "hello |
+-------+---------+-----------+--------+--------+
mysql> SELECT "This\nIs\nFour\nlines";
+--------------------+
| This
Is
Four
lines |
+--------------------+
<a NAME="IDX176"></a> </pre>
<p>如果你想要把二進制數據插入到一個<code>BLOB</code>列,下列字符必須由轉義序列表示:
<dl compact>
<dt><code>NUL</code></dt>
<dd>ASCII 0。你應該用'\0'(一個反斜線和一個ASCII '0')表示它。 </dd>
<dt><code>\</code> </dt>
<dd>ASCII 92,反斜線。用'\\'表示。 </dd>
<dt><code>'</code> </dt>
<dd>ASCII 39,單引號。用“\'”表示。 </dd>
<dt><code>"</code> </dt>
<dd>ASCII 34,雙引號。用“\"”表示。 </dd>
</dl>
<p><a NAME="IDX177"></a>如果你寫C代碼,你可以使用C API函數<code>mysql_escape_string()</code>來為<code>INSERT</code>語句轉義字符。見<a HREF="manual_Clients.html#C_API_function_overview">20.3 C API 函數概述</a>。在 Perl中,你可以使用<code>DBI</code>包中的<code>quote</code>方法變換特殊的字符到正確的轉義序列。見<a HREF="manual_Clients.html#Perl_DBI_Class">20.5.2 <code>DBI</code>接口</a>。 </p>
<p>你應該在任何可能包含上述任何特殊字符的字符串上使用轉義函數!
</p>
<h3><a NAME="Number_syntax" HREF="manual_toc.html#Number_syntax">7.1.2 數字</a></h3>
<p>整數表示為一個數字順序。浮點數使用<samp>“.”</samp>作為一個十進制分隔符。這兩種類型的數字可以前置<samp>“-”</samp>表明一個負值。
</p>
<p>有效整數的例子: </p>
<pre>
1221
0
-32
</pre>
<p>有效浮點數的例子: </p>
<pre>
294.42
-32032.6809e+10
148.00
</pre>
<p>一個整數可以在浮點上下文使用;它解釋為等值的浮點數。 </p>
<h3><a NAME="Hexadecimal_values" HREF="manual_toc.html#Hexadecimal_values">7.1.3
十六進制值</a></h3>
<p><strong>MySQL</strong>支持十六進制值。在數字上下文,它們表現類似于一個整數(64位精度)。在字符串上下文,它們表現類似于一個二進制字符串,這里每一對十六進制數字被變換為一個字符。
</p>
<pre>mysql> SELECT 0xa+0
-> 10
mysql> select 0x5061756c;
-> Paul
</pre>
<p>十六進制字符串經常被ODBC使用,給出BLOB列的值。 </p>
<h3><a NAME="NULL_values" HREF="manual_toc.html#NULL_values">7.1.4<code> NULL</code>值</a></h3>
<p><code>NULL</code>值意味著“無數據”并且不同于例如數字類型的<code>0</code>為或字符串類型的空字符串。見<a HREF="manual_Problems.html#Problems_with_NULL">18.15 <code>NULL</code>值問題</a>。 </p>
<p>當使用文本文件導入或導出格式(<code>LOAD DATA INFILE</code>, <code>SELECT
... INTO OUTFILE</code>)<code>時,NULL</code>可以用<code>\N</code>表示。見<a HREF="manual_Reference.html#LOAD_DATA">7.16<code> LOAD DATA INFILE</code>句法</a>。</p>
<h3><a NAME="Legal_names" HREF="manual_toc.html#Legal_names">7.1.5
數據庫、表、索引、列和別名的命名</a></h3>
<p>數據庫、表、索引、列和別名的名字都遵守<strong>MySQL</strong>同樣的規則:
</p>
<p><a NAME="IDX183"></a><a NAME="IDX185"></a>注意,從<strong>MySQL</strong>3.23.6開始規則改變了,此時我們引入了用'引用的標識符(數據庫、表和列命名)(如果你以ANSI模式運行,"也將用于引用標識符)。
</p>
<table BORDER="1" WIDTH="100%" NOSAVE="#101090" class="p4">
<tr>
<td><strong>標識符</strong> </td>
<td><strong>最大長度</strong> </td>
<td><strong>允許的字符</strong> </td>
</tr>
<tr>
<td>數據庫</td>
<td>64</td>
<td>在一個目錄名允許的任何字符,除了<code>/</code>. </td>
</tr>
<tr>
<td>表</td>
<td>64</td>
<td>在文件名中允許的任何字符,除了<code>/</code>或<code>.</code> </td>
</tr>
<tr>
<td>列</td>
<td>64</td>
<td>所有字符</td>
</tr>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -