mysql|基礎教程|資料|資料庫 資料庫從最初的資料檔案的簡單集合發展到今天的大型資料庫管理系統已經成為我們日常生活中不可缺少的組成部分。如果不藉助資料庫的協助,許多簡單的工作將變得冗長乏味,甚至難以實現。尤其是象銀行、院校和圖書館這樣的大型組織更加依靠資料庫系統實現其正常的運作。再看互連網上,從搜尋引擎到線上商場,從網路聊天到郵件清單,都離不開資料庫。
目前,市面上的資料庫產品多種多樣,從大型企業的解決方案到中小企業或個人使用者的小型應用系統,可以滿足使用者的多樣化需求。這裡,我們所要向大家介紹的MySQL資料庫是眾多的關係型資料庫產品中的一個,相比較其它系統而言,MySQL資料庫可以稱得上是目前運行速度最快的SQL語言資料庫。除了具有許多其它資料庫所不具備的功能和選擇之外,MySQL資料庫是一種完全免費的產品,使用者可以直接從網上下載資料庫,用於個人或商業用途,而不必支付任何費用(推薦下載網站http://www.mysql.com)。
總體來說,MySQL資料庫具有以下主要特點:
1. 同時訪問資料庫的使用者數量不受限制;
2. 可以儲存超過50,000,000條記錄;
3. 是目前市場上現有產品中運行速度最快的資料庫系統;
4. 使用者權限設定簡單、有效。
如今,包括Siemens和Silicon Graphics這樣的國際知名公司也開始把MySQL作為其資料庫管理系統,這就更加證明了MySQL資料庫的優越效能和廣闊的市場發展前景。
本文將重點向讀者介紹MySQL資料庫的一些基本操作,包括如何與資料庫建立串連,如果設定資料庫,以及如何執行基本的命令等。希望能夠對讀者學習和掌握MySQL資料庫有所助益。
入門
一般來說,我們訪問MySQL資料庫時,首先需要使用telnet遠程登入安裝資料庫系統的伺服器,然後再進入MySQL資料庫。MySQL資料庫的串連命令如下:
mysql -h hostname -u username -p[password]
或者:
mysql -h hostname -u username --password=password
其中,hostname為裝有MySQL資料庫的伺服器名稱,username和password分別是使用者的登入名稱稱和口令。
如果MySQL資料庫安裝和配置正確的話,使用者在輸入上述命令之後會得到如下系統反饋資訊:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 49 to server version: 3.21.23-beta-log
Type 'help' for help.
mysql>
這樣,使用者就成功進入了MySQL資料庫系統,可以在mysql>命令提示字元之後輸入各種命令。下面,我們列出一些MySQL資料庫的主要管理命令供讀者參考,使用者也可以通過在命令符之後輸入help,\h或?得到以下命令的簡單說明。
mysql> help
help (\h) 顯示命令協助
? (\h) 作用同上
clear (\c) 清除螢幕內容
connect (\r) 重新串連伺服器,選擇性參數為 db(資料庫)和 host(伺服器)
exit (\) 退出mysql資料庫,作用與quit命令相同
go (\g) 將命令傳送至mysql資料庫
print (\p) 列印當前命令
quit (\q) 退出mysql資料庫
status (\s) 顯示伺服器當前資訊
use (\u) 開啟資料庫,以資料庫名稱作為命令參數
上述命令主要用於MySQL資料庫的系統管理,如果使用者需要對某個具體的資料庫進行操作,可以使用use命令進入該資料庫,格式如下:
mysql> use dbname;
這裡需要提醒讀者注意的一點就是MySQL資料庫要求使用者在所有命令的結尾處使用“;”作為命令結束符。
資料類型和資料表
從本質上說,資料庫就是一種不斷增長的複雜的資料群組織結構。在MySQL資料庫中,用於儲存資料記錄的結構被稱為資料表。而每一條資料記錄則是由更小的資料對象,即資料類型組成。因此,總體來說,一個或多個資料類型組成一條資料記錄,一條或多條資料記錄組成一個資料表,一個或多個資料表組成一個資料庫。我們可以把上述結構理解為如下形式:
Database < Table < Record < Datatype
資料類型分為不同的格式和大小,可以方便資料庫的設計人員建立最理想的資料結構。能否正確的選擇恰當的資料類型對最終資料庫的效能具有重要的影響,因此,我們有必要首先對資料類型的有關概念進行較為詳細的介紹。
MySQL 資料類型
MySQL 資料庫提供了多種資料類型,其中較為常用的幾種如下:
CHAR (M)
CHAR資料類型用於表示固定長度的字串,可以包含最多達255個字元。其中M代表字串的長度。
舉例如下:
car_model CHAR(10);
VARCHAR (M)
VARCHAR是一種比CHAR更加靈活的資料類型,同樣用於表示字元資料,但是VARCHAR可以儲存可變長度的字串。其中M代表該資料類型所允許儲存的字串的最大長度,只要長度小於該最大值的字串都可以被儲存在該資料類型中。因此,對於那些難以估計確切長度的資料對象來說,使用VARCHAR資料類型更加明智。VARCHAR資料類型所支援的最大長度也是255個字元。
這裡需要提醒讀者注意的一點是,雖然VARCHAR使用起來較為靈活,但是從整個系統的效能角度來說,CHAR資料類型的處理速度更快,有時甚至可以超出VARCHAR處理速度的50%。因此,使用者在設計資料庫時應當綜合考慮各方面的因素,以求達到最佳的平衡。
舉例如下:
car_model VARCHAR(10);
INT (M) [Unsigned]
INT資料類型用於儲存從- 2147483647 到2147483648範圍之內的任意整數資料。如果使用者使用Unsigned選項,則有效資料範圍調整為0-4294967295。舉例如下:
light_years INT;
按照上述資料類型的設定,-24567為有效資料,而3000000000則因為超出了有效資料範圍成為無效資料。
再例如:
light_years INT unsigned;
這時,3000000000成為有效資料,而-24567則成為無效資料。
FLOAT [(M,D)]
FLOAT資料類型用於表示數值較小的浮點數據,可以提供更加準確的資料精度。其中,M代表浮點數據的長度(即小數點左右資料長度的總和),D表示浮點數據位於小數點右邊的數值位元。
舉例如下:
rainfall FLOAT (4,2);
按照上述資料類型的設定,42.35為有效資料,而324.45和3.542則因為超過資料長度限制或者小數點右邊位元大於規定值2成為無效資料