?? manual_introduction.html
字號(hào):
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>MySQL中文參考手冊(cè)- 1 mysql的一般信息</title>
<style type="text/css">
<!--
.p3{font-size:14.8px;font-family:宋體;}
.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中文參考手冊(cè)</font></h1>
主頁(yè):<a href="http://linuxdb.yeah.net">http://linuxdb.yeah.net</a></p>
<hr>
<p>第一章,前一章,<a HREF="manual_Questions.html">下一章</a>, <a
HREF="manual_Concept_Index.html">最后一章</a>, <a HREF="manual_toc.html">目錄</a>. </p>
<hr>
<h1><a NAME="Introduction" HREF="manual_toc.html#Introduction">1 MySQL 的一般信息</a></h1>
<p>這是<strong>MySQL</strong>參考手冊(cè);它記載了<strong>MySQL</strong>版本3.23.7-alpha。</p>
<p><strong>MySQL </strong>是一個(gè)快速、多線程、多用戶和強(qiáng)壯的SQL數(shù)據(jù)庫(kù)服務(wù)器。</p>
<p>對(duì)Unix和 OS/2 平臺(tái),<strong>MySQL</strong>基本上是免費(fèi)的;但對(duì)微軟平臺(tái),你在30 天的試用期后必須獲得一個(gè)<strong>MySQL </strong>許可證。詳見(jiàn)<a
HREF="manual_Licensing_and_Support.html#Licensing_and_Support">第三節(jié) MySQL許可證和技術(shù)支持</a>。
</p>
<p><a href="http://www.mysql.com/default.htm"><strong>MySQL </strong>主頁(yè)</a>提供有關(guān)<strong>MySQL</strong>的最新信息。</p>
<p>對(duì)于<strong>MySQL</strong>能力的討論,詳見(jiàn)<a
HREF="manual_Introduction.html#Features">1.4 MySQL 的主要特征</a>。 </p>
<p>對(duì)于安裝指南,見(jiàn)<a HREF="manual_Installing.html#Installing">4 安裝 MySQL</a>。對(duì)于有關(guān)移植<strong>MySQL</strong>到新機(jī)器或操作系統(tǒng)的技巧,參見(jiàn)<a
HREF="manual_Porting.html#Porting">G 對(duì)移植到其他系統(tǒng)的說(shuō)明</a>。 </p>
<p>有關(guān)從 3.21 版升級(jí)的信息,詳見(jiàn)<a
HREF="manual_Installing.html#Upgrading-from-3.21">4.16.2 從一個(gè) 3.21 版本升級(jí)到 3.22 </a>。
</p>
<p>MySQL的入門教程,見(jiàn)<a HREF="manual_Tutorial.html#Tutorial">8 MySQL 教程</a>。
</p>
<p>SQL和基準(zhǔn)信息的例子,見(jiàn)基準(zhǔn)目錄(在分發(fā)中的<tt>'sql-bench'目錄</tt>)。</p>
<p>對(duì)于新特征和錯(cuò)誤修復(fù)一個(gè)歷史記錄,見(jiàn)<a HREF="manual_News.html#News">D
MySQL的變遷</a>。 </p>
<p>對(duì)于當(dāng)前已知錯(cuò)誤和功能缺陷的一張列表,見(jiàn)<a
HREF="manual_Bugs.html#Bugs">E MySQL已知錯(cuò)誤和設(shè)計(jì)缺陷</a>。 </p>
<p>未來(lái)計(jì)劃,見(jiàn)<a HREF="manual_TODO.html#TODO">F </a><a href="manual_TODO.html#TODO"
name="TODO">我們想要在未來(lái)加入到MySQL 的計(jì)劃表( TODO )</a>。
</p>
<p>這個(gè)計(jì)劃的所有貢獻(xiàn)者的名單,見(jiàn)<a HREF="manual_Credits.html#Credits">C
MySQL 的貢獻(xiàn)者</a>。 </p>
<p><strong>重要:</strong></p>
<p>將臭蟲(chóng)(錯(cuò)誤)報(bào)告、問(wèn)提和建議發(fā)到郵件列表(原文未提供)。</p>
<p>對(duì)源代碼分發(fā),<code>mysqlbug </code>腳本可在‘<tt>scripts’</tt>目錄下找到。
對(duì)二進(jìn)制的分發(fā),<code>mysqlbug</code>可在‘<tt>bin’</tt>目錄下找到。</p>
<p>如果你有任何關(guān)于這本手冊(cè)的增補(bǔ)或修正的任何建議,請(qǐng)將它們發(fā)給手冊(cè)小組(<a
HREF="mailto:docs@mysql.com">docs@mysql.com </a>)。</p>
<p><a NAME="IDX1"></a></p>
<h2><a NAME="What-is" HREF="manual_toc.html#What-is">1.1 什么是 MySQL?</a></h2>
<p><strong>MySQL</strong>是一個(gè)真正的多用戶、多線程SQL數(shù)據(jù)庫(kù)服務(wù)器。SQL(結(jié)構(gòu)化查詢語(yǔ)言)是世界上最流行的和標(biāo)準(zhǔn)化的數(shù)據(jù)庫(kù)語(yǔ)言。<strong>MySQL</strong>是以一個(gè)客戶機(jī)/服務(wù)器結(jié)構(gòu)的實(shí)現(xiàn),它由一個(gè)服務(wù)器守護(hù)程序<code>mysqld</code>和很多不同的客戶程序和庫(kù)組成。</p>
<p>SQL是一種標(biāo)準(zhǔn)化的語(yǔ)言,它使得存儲(chǔ)、更新和存取信息更容易。例如,你能用SQL語(yǔ)言為一個(gè)網(wǎng)站檢索產(chǎn)品信息及存儲(chǔ)顧客信息,同時(shí)<strong>MySQL</strong>也足夠快和靈活以允許你存儲(chǔ)記錄文件和圖像。</p>
<p><strong>MySQL </strong>主要目標(biāo)是快速、健壯和易用。最初是因?yàn)槲覀冃枰@樣一個(gè)SQL服務(wù)器,它能處理與任何可不昂貴硬件平臺(tái)上提供數(shù)據(jù)庫(kù)的廠家在一個(gè)數(shù)量級(jí)上的大型數(shù)據(jù)庫(kù),但速度更快,MySQL就開(kāi)發(fā)出來(lái)。自1996年以來(lái),我們一直都在使用<strong>MySQL</strong>,其環(huán)境有超過(guò) 40 個(gè)數(shù)據(jù)庫(kù),包含 10,000個(gè)表,其中500多個(gè)表超過(guò)7百萬(wàn)行,這大約有100 個(gè)吉字節(jié)(GB)的關(guān)鍵應(yīng)用數(shù)據(jù)。</p>
<p><strong>MySQL</strong>建立的基礎(chǔ)是業(yè)已用在高要求的生產(chǎn)環(huán)境多年的一套實(shí)用例程。盡管<strong>MySQL</strong>仍在開(kāi)發(fā)中,但它已經(jīng)提供一個(gè)豐富和極其有用的功能集。</p>
<p><a NAME="IDX2"></a><a NAME="IDX3"></a><strong>MySQL</strong>的官方發(fā)音是“My Ess
Que Ell”(不是 MY-SEQUEL )。</p>
<p><a NAME="IDX4"></a></p>
<h2><a NAME="Manual-info" HREF="manual_toc.html#Manual-info">1.2 關(guān)于本手冊(cè)</a></h2>
<p>目前這本手冊(cè)有Texinfo、普通文本、Info、HTML、PostScript和 PDF 等格式的版本。因?yàn)樗鼈兊拈L(zhǎng)度,PostScript和 PDF 版本沒(méi)有包括在主要的<strong>MySQL</strong>分發(fā)中,但是可從<a
HREF="../../www.mysql.com">http://www.mysql.com </a>獲得單獨(dú)的下載。</p>
<p>主要的文檔是Texinfo文件, HTML版本自動(dòng)地用一個(gè)<code>texi2html</code>改進(jìn)版本生成。普通文本和Info版本用<code>makeinfo</code>生成。
Postscript版本由<code>texi2dvi</code>和<code>dvips</code>生成。PDF 版本用<code>pdftex</code>生成。
</p>
<p>本手冊(cè)由David Axmark, Michael (Monty) Widenius, Paul DuBois and Kim Aldale維護(hù)。
而其他的貢獻(xiàn)者,見(jiàn)<a HREF="manual_Credits.html#Credits">C MySQL貢獻(xiàn)者</a>。 </p>
<h3><a NAME="Manual_conventions" HREF="manual_toc.html#Manual_conventions">1.2.1
本手冊(cè)中使用的約定</a></h3>
<p>這本手冊(cè)使用了一定文字格式的約定:
<dl COMPACT>
<dt><code>constant / 固定寬度</code></dt>
<dd>固定寬度字體用于命令名字和選擇、SQL語(yǔ)句、數(shù)據(jù)庫(kù)、表和列命名、C 和 Perl 代碼、環(huán)境變量。例如:“為了了解<code>mysqladmin</code>如何工作,用<code>--help</code>選項(xiàng)調(diào)用它”。</dd>
<dt><tt>'文件名'</tt></dt>
<dd>有包圍引號(hào)的固定寬度字體用于文件名和路徑。例如:“發(fā)行版本被安裝在<tt>'/usr/local/'</tt>目錄下”。</dd>
<dt><samp>'c'</samp></dt>
<dd>有包圍引號(hào)的固定寬度字體也用于指明字符序列。例如:“要指定一個(gè)通配符,使用<samp>'%'</samp>字符”。</dd>
<dt><em>斜體</em></dt>
<dd>斜體的字體被用于強(qiáng)調(diào),<em>like this </em>。 </dd>
<dt><strong>粗體 </strong></dt>
<dd>粗體用于存取權(quán)限名字(例如,“不要輕易授權(quán)<strong>process</strong>權(quán)限”)并表達(dá)<strong>特別強(qiáng)調(diào)</strong>。</dd>
</dl>
<p>當(dāng)命令顯示出準(zhǔn)備由一個(gè)特定的程序執(zhí)行時(shí),程序由命令所顯示的提示符指出。例如,<code>shell>
</code>表明你從你的登錄外殼執(zhí)行一個(gè)命令,而<code>mysql></code>表明你從<code>mysql</code>客戶執(zhí)行命令:</p>
<pre>shell> 在這鍵入一個(gè)shell命令
mysql> 在這里鍵入一個(gè)mysql命令</pre>
<p>shell命令用 Bourne shell語(yǔ)法顯示。如果你正在使用<code>csh</code>風(fēng)格的外殼,你可能需要用略微不同的方式發(fā)出命令。例如,設(shè)置一個(gè)環(huán)境變量和運(yùn)行一個(gè)命令的序列在 Bourne shell語(yǔ)法看起來(lái)像這樣:</p>
<pre>shell> VARNAME=value some_command</pre>
<p>對(duì)于<code>csh</code>,你將執(zhí)行這樣的序列:</p>
<pre>shell> setenv VARNAME value
shell> some_command</pre>
<p>數(shù)據(jù)庫(kù)、表和列名字經(jīng)常必須被代入命令中。為表明這種代入是必要的,本手冊(cè)使用<code>db_name</code>、<code>tbl_name</code>和<code>col_name</code>。例如,你可能看到象這樣的語(yǔ)句:</p>
<pre>mysql> SELECT col_name FROM db_name.tbl_name;</pre>
<p>這意味著如果你想輸入類似的語(yǔ)句,你將提供你自己數(shù)據(jù)庫(kù)、表和列的名字,也許像這樣:</p>
<pre>mysql> SELECT author_name FROM biblio_db.author_list;</pre>
<p>SQL語(yǔ)句可以寫成大寫或小寫的。當(dāng)本手冊(cè)顯示SQL語(yǔ)句時(shí),如果討論這些關(guān)鍵字,大寫被用于特定的關(guān)鍵字(強(qiáng)調(diào)它們)而小寫被用于語(yǔ)句的其他部分。因此你可能在討論<code>SELECT語(yǔ)句時(shí)看到如下顯示:</code></p>
<pre>mysql> SELECT count(*) FROM tbl_name;</pre>
<p>另一方面,在討論<code>COUNT()</code>函數(shù)時(shí),語(yǔ)句將寫成這樣:</p>
<pre>mysql> select COUNT(*) from tbl_name;</pre>
<p>如果不有意地特別強(qiáng)調(diào),所有的關(guān)鍵字一律寫成大寫。</p>
<p>在句法描述中,方括號(hào)(<samp>'['</samp>和<samp>']'</samp>)被用來(lái)表示任選的詞或子句:</p>
<pre>DROP TABLE [IF EXISTS] tbl_name</pre>
<p>當(dāng)一個(gè)語(yǔ)法元素由很多選擇組成時(shí),各選擇用垂直線分開(kāi)(<samp>'|'</samp>)。當(dāng)可能從一組選擇中選擇一個(gè)成員時(shí),選擇在方括號(hào)內(nèi)被列出。當(dāng)必須從一組選擇中選擇一個(gè)成員時(shí),選擇在花括號(hào)內(nèi)被列出(<samp>'{'</samp>和<samp>'}'</samp>):</p>
<pre>TRIM([[BOTH | LEADING | TRAILING] [remstr] FROM] str)
{DESCRIBE | DESC} tbl_name {col_name | wild}<a
NAME="IDX5"></a></pre>
<h2><a NAME="History" HREF="manual_toc.html#History">1.3 MySQL 的歷史</a></h2>
<p>我們?cè)?jīng)開(kāi)始打算利用<code>mSQL</code>用我們自己的快速底層(ISAM)實(shí)用程序連接我們的數(shù)據(jù)庫(kù)表,然而,在一些測(cè)試以后我們得到出結(jié)論:<code>mSQL</code>對(duì)我們的需求來(lái)說(shuō)不夠快速和靈活。這導(dǎo)致了一個(gè)連接我們數(shù)據(jù)庫(kù)的新SQL接口,但它幾乎有與<code>mSQL</code>相同的應(yīng)用編程接口。選擇這個(gè)應(yīng)用編程接口以方便第三方的代碼移植。</p>
<p><strong>MySQL</strong>名字的由來(lái)不是非常清楚。我們的基目錄和很多的庫(kù)和工具具有前綴“my”已超過(guò)10年歷史,然而,Monty的女兒(年輕幾歲的)也被命名"my"。因此其中哪一個(gè)原因給<strong>MySQL</strong>起了這個(gè)名字仍然是一個(gè)謎,甚至對(duì)我們。</p>
<h2><a NAME="Features" HREF="manual_toc.html#Features">1.4 MySQL 的主要特征</a></h2>
<p>下表描述<strong>MySQL</strong>一些重要的特征:
<ul>
<li>使用核心線程的完全多線程。這意味著它能很容易地利用多CPU(如果有)。</li>
<li>C 、C++、 Eiffel 、 Java、 Perl、 PHP、Python、和 TCL API。見(jiàn)<a
HREF="manual_Clients.html#Clients">20 MySQL 客戶工具和 API</a>。 </li>
<li>可運(yùn)行在不同的平臺(tái)上,見(jiàn)<a HREF="manual_Installing.html#Which_OS">4.2 MySQL支持的操作系統(tǒng)</a>。
</li>
<li>多種列類型:1、 2、 3、4、和 8 字節(jié)長(zhǎng)度的有符號(hào)/無(wú)符號(hào)整數(shù)、<code>FLOAT</code>、<code>DOUBLE</code>、<code>CHAR</code>、<code>VARCHAR</code>、<code>TEXT</code>、<code>BLOB</code>、<code>DATE</code>、<code>TIME</code>、<code>DATETIME、</code>
<code>TIMESTAMP</code>、<code>YEAR</code>、<code>SET</code>和<code>ENUM</code>類型。
見(jiàn)<a HREF="manual_Reference.html#Column_types">7.3 列類型</a>。 </li>
<li>利用一個(gè)優(yōu)化的一遍掃描多重聯(lián)結(jié)(one-sweep multi-join)非常快速地進(jìn)行聯(lián)結(jié)(join)。</li>
<li>在查詢的<code>SELECT</code>和<code>WHERE部分</code>支持全部運(yùn)算符和函數(shù),例如:<pre>mysql> SELECT CONCAT(first_name, " ", last_name) FROM tbl_name
WHERE income/dependents > 10000 AND age > 30;</pre>
</li>
<li>通過(guò)一個(gè)高度優(yōu)化的類庫(kù)實(shí)現(xiàn)SQL函數(shù)庫(kù)并且像他們能達(dá)到的一樣快速,通常在查詢初始化后不應(yīng)該有任何內(nèi)存分配。</li>
<li>全面支持SQL的<code>GROUP BY</code>和<code>ORDER BY</code>子句,支持聚合函數(shù)(
<code>COUNT()</code>、<code>COUNT(DISTINCT)</code>、<code>AVG()</code>、<code>STD()</code>、<code>SUM()</code>、
<code>MAX()</code>和<code>MIN()</code> )。</li>
<li>支持ANSI SQL的<code>LEFT OUTER JOIN</code>和ODBC語(yǔ)法<code>。</code></li>
<li>你可以在同一查詢中混用來(lái)自不同數(shù)據(jù)庫(kù)的表。(與版本 3.22一樣 )。</li>
<li>一個(gè)非常靈活且安全的權(quán)限和口令系統(tǒng),并且它允許基于主機(jī)的認(rèn)證。口令是安全的,因?yàn)楫?dāng)與一個(gè)服務(wù)器連接時(shí),所有的口令傳送被加密。</li>
<li>ODBC for Windiws 95。所有的 ODBC 2 . 5 函數(shù)和其他許多函數(shù)。例如,你可以用Access連接你的<strong> MySQL</strong>服務(wù)器。見(jiàn)<a
HREF="manual_ODBC.html#ODBC">16 MySQL ODBC 支持</a>。</li>
<li>具備索引壓縮的快速B樹(shù)磁盤表。</li>
<li>每個(gè)表允許有16個(gè)索引。每個(gè)索引可以由1~16個(gè)列或列的一部分組成。最大索引長(zhǎng)度是 256 個(gè)字節(jié)(在編譯<strong>MySQL</strong>時(shí),它可以改變)。一個(gè)索引可以使用一個(gè)<code>CHAR</code>或<code>VARCHAR</code>字段的前綴。</li>
<li>定長(zhǎng)和變長(zhǎng)記錄。</li>
<li>用作臨時(shí)表的內(nèi)存散列表。</li>
<li>大數(shù)據(jù)庫(kù)處理。我們正在對(duì)某些包含 50,000,000 個(gè)記錄的數(shù)據(jù)庫(kù)使用<strong>MySQL</strong>。</li>
<li>所有列都有缺省值,你可以用<code>INSERT</code>插入一個(gè)表列的子集,那些沒(méi)用明確給定值的列設(shè)置為他們的缺省值。</li>
<li>為了可移植性使用 GNU Automake , Autoconf 和<code>libtool。</code></li>
<li>用C和C++編寫,并用大量不同的編譯器測(cè)試。</li>
<li>一個(gè)非常快速的基于線程的內(nèi)存分配系統(tǒng)。</li>
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -