標籤:
MySQL是最流行的開放源碼SQL資料庫管理系統,它是由MySQLAB公司開發、發布並支援的。MySQLAB是由多名MySQL開發人創辦的一家商業公司。它是一家第二代開放源碼公司,結合了開放源碼價值取向、方法和成功的商業模型。
在MySQL的網站(http://www.mysql.com/)上,給出了關於MySQL和MySQL的最新資訊。
資料庫是資料的結構化集合。它可以是任何東西,從簡單的購物清單到畫展,或商業網路中的海量資訊。要想將資料添加到資料庫,或訪問、處理電腦資料庫中儲存的資料,需要使用資料庫管理系統,如MySQL伺服器。電腦是處理大量資料的理想工具,因此,資料庫管理系統在計算方面扮演著關鍵的中心角色,或是作為獨立的工具 + 生產力,或是作為其他應用程式的組成部分。
關聯資料庫將資料儲存在不同的表中,而不是將所有資料放在一個大的倉庫內。這樣就增加了速度並提高了靈活性。MySQL的SQL指得是“結構化查詢語言 (SQL)”。SQL是用於訪問資料庫的最常用標準化語言,它是由ANSI/ISOSQL標準定義的。SQL標準自1986年以來不斷演化發展,有數種版本。在本手冊中,“SQL-92”指得是1992年發布的標準,“SQL:1999”指得是1999年發布的標準,“SQL:2003”指得是標準的目前的版本。我們採用術語“SQL標準”標示SQL標準的目前的版本。
“開放源碼”意味著任何人都能使用和改變軟體。任何人都能從Internet下載MySQL軟體,而無需支付任何費用。如果願意,你可以研究源碼並進行恰當的更改,以滿足你自己的需求。MySQL軟體採用了GPL(GNU通用公用許可證),http://www.fsf.org/licenses/,定義了在不同情況下可以用軟體作的事和不可作的事。如果你對GPL不滿意,或需要在商業應用s程式中嵌入MySQL代碼,可從我方購買商業許可版本。
MySQL資料庫伺服器具有快速、可靠和便於使用的特點 |
|
|
如果它正是你所尋找的,不妨一試。MySQL伺服器還有一套實用的特性集合,這些特性是通過與我們使用者的密切合作而開發的。在我們的基準測試首頁上,給出了MySQL伺服器和其他資料庫管理員的比較結果。
MySQL伺服器最初是為處理大型資料庫而開發的,與已有的解決方案相比,它的速度更快,多年以來,它已成功用於眾多要求很高的生產環境。儘管MySQL始終在不斷髮展,但目前MySQL伺服器已能提供豐富和有用的功能。它具有良好的連通性、速度和安全性,這使的MySQL十分適合於訪問Internet上的資料庫。
MySQL伺服器工作在用戶端/伺服器模式下,或嵌入式系統中 |
|
|
MySQL資料庫軟體是一種用戶端/伺服器系統,由支援不同後端的1個多線程SQL伺服器,數種不同的用戶端程式和庫,眾多管理工具和廣泛的應用編程介面API組成。
我們還能以嵌入式多線程庫的形式提供MySQL伺服器,你可以將其連結到你的應用程式,從而獲得更小、更快、和更易管理的產品。
你所喜歡的應用程式和語言均支援MySQL資料庫伺服器,這種情況十分可能。
“MySQL”的正式發音是“MyEssQueEll”(而不是“mysequel”),但我們並不介意你的發音方式是“mysequel”或其他當地方式。
我們最初的出發點是,使用mSQL來串連我們的表,這類表採用了我們的快速低層面(ISAM)子程式。然而,經過一些測試後,我們得出結論,mSQL的速度或靈活性不足以滿足我們的要求。其結果是,為我們的資料庫提供了新的SQL介面,但API介面與mSQL的幾乎一樣。設計該API的目的在於,允許將為mSQL編寫的第三方代碼方便地移植到MySQL。
MySQL名稱的起源不明。10多年來,我們的基本目錄以及大量庫和工具均採用了首碼“my”。不過,共同創辦人MontyWidenius的女兒名字也叫“My”。時至今日,MySQL名稱的起源仍是一個迷,即使對我們也一樣。
MySQLDolphin(我方徽標)的名稱為“Sakila”,它是由MySQLAB公司的創辦人從使用者在“Dolphin命名”比賽中提供的眾多建議中選定的。該名稱是由來自非洲斯威士蘭的開放源碼軟體開發人AmbroseTwebaze提出的。根據Ambrose的說法,按斯威士蘭的本地語言,女性化名稱Sakila源自SiSwati。Sakila也是坦桑尼亞、Arusha地區的一個鎮的鎮名,靠近Ambrose的母國烏幹達。
MySQL伺服器採用了多層設計和獨立模組。在此列出了一些較新的模組,並指明了它們的測試情況。
·Replication(穩定)
大量使用複製功能的伺服器均處於生產模式下,結果良好。在MySQL5.x中,將繼續增強複製功能。
·InnoDB表(穩定)
自3.23.49版以來,InnoDB事務儲存引擎一直很穩定。InnoDB正用於大型、重負荷生產系統。
·BDB表(穩定)
BerkeleyDB碼十分穩定,但在MySQL伺服器中,我們仍在改進BDB事務儲存引擎。
·全文本搜尋(穩定)
全文本搜尋的使用範圍十分廣泛。在MySQL4.0和4.1中,增加了重要的特性增強。
·MyODBC3.51(穩定)
MyODBC3.51採用了ODBCSDK3.51,並廣泛用於生產活動中。某些出現的情況看上去與應用程式相關,與ODBC驅動程式或底層資料庫伺服器無關。
MySQL3.22限制的表大小為4GB。由於在MySQL3.23中使用了MyISAM儲存引擎,最大表尺寸增加到了65536TB(2567–1位元組)。由於允許的表尺寸更大,MySQL資料庫的最大有效表尺寸通常是由作業系統對檔案大小的限制決定的,而不是由MySQL內部限制決定的。
InnoDB儲存引擎將InnoDB表儲存在一個資料表空間內,該資料表空間可由數個檔案建立。這樣,表的大小就能超過單獨檔案的最大容量。資料表空間可包括原始磁碟分割,從而使得很大的表成為可能。資料表空間的最大容量為64TB。
在下面的表格中,列出了一些關於作業系統檔案大小限制的樣本。這僅是初步指南,並不是最終的。要想瞭解最新資訊,請參閱關於作業系統的文檔。
作業系統 |
檔案大小限制 |
Linux2.2-Intel32-bit |
2GB(LFS:4GB) |
Linux2.4+ |
(usingext3filesystem)4TB |
Solaris9/10 |
16TB |
NetWarew/NSSfilesystem |
8TB |
win32w/FAT/FAT32 |
2GB/4GB |
win32w/NTFS |
2TB(可能更大) |
MacOSXw/HFS+ |
2TB |
在Linux2.2平台下,通過使用對ext2檔案系統的大檔案支援(LFS)補丁,可以獲得超過2GB的MyISAM表。在Linux2.4平台下,存在針對ReiserFS的補丁,可支援大檔案(高達2TB)。目前發布的大多數Linux版本均基於2.4核心,包含所有所需的LFS補丁。使用JFS和XFS,petabyte(千兆兆)和更大的檔案也能在Linux上實現。然而,最大可用的檔案容量仍取決於多項因素,其中之一就是用於儲存MySQL表的檔案系統。
在安裝MySQL前,你應該:
1.確定是否MySQL將運行在你的平台上。
2.選擇安裝的分發版。
3.下載分發版並驗證其完整性。
關鍵步驟一:滑鼠雙擊開啟MySql的安裝程式,進入選擇安裝類型步驟。可選擇三種安裝類型如下:
l Typical:典型安裝
l Complete:完整安裝.
l Custom:自訂
一般情況下我們選擇“Complete:完整安裝”,對於某些熟練的操作者可以選擇自訂安裝(Custom:自訂)。
關鍵步驟二:安裝到“資料集選擇”步驟時;要注意:一定要選第三個,並且選擇“GBK”資料集。如所示:(某些與圖片不符,要以實際為例)
以上對“資料集”的選擇,保證我們在建立資料庫及錄入資料時,可以方便的輸入中文字元。
關鍵步驟三:“設定windows選項”;這一部是選擇安裝MySql的windows的服務項以及把您安裝的MySql二進位運行目錄包含在windows的PATH環境變數裡。如果沒什麼特殊需要,要求兩項都要勾選,如所示:
關於windows服務和windows的PATH詳細解釋,請參看其他資料或搜尋“百度”網站,已獲得更多問題的答案。
關鍵步驟四:配置並啟動MySql服務;最後發現啟動了如下所示的選項,就認為是MySql安裝成功了。
請注意關鍵字“Writeconfigurationfile”,後面的目錄“(C:\Soft\MySQL5.0\my.ini)”,是安裝MySql時選擇的安裝目錄。“my.ini”是MySql的設定檔,如果以後發現配置問題,需要修改這個檔案才能正常運行服務。
MySql安裝完畢後,需要啟動MySql,才可以做建立資料庫及建表等操作;以下說明啟動MySql需要注意的步驟。
一般情況下,如果是剛剛安裝完MySql,那麼服務已經啟動;如果安裝完MySql後又重啟了電腦;需要重新啟動MySql服務;
啟動MySql服務的方法有:“服務項啟動”和“命令列啟動”兩種。
服務項啟動:開啟windows的服務項,找到MySql服務,滑鼠右鍵啟動就可以了。
命令列啟動:“開始菜單”—》“運行”—》輸入“netstartmysql”
如果需要在命令列啟動和關閉MySql,需要使用以下命令:
netstopmysql:停止服務
netstartmysql:啟動服務
啟動MySql注意事項——使用資料庫使用者名稱和密碼進入 |
|
啟動完畢服務後,需要啟動資料庫模式;步驟如下:
“開始菜單”—》“運行”—》鍵入
“mysql-uroot-p123456”
“-uroot”表示使用者名稱為root;“-p123456”表示資料庫密碼為123456
注意:根據您安裝時指定的root的密碼來確定,請不要認為所有的資料庫密碼都是123456;一定要根據實際的安裝密碼來進入MySql編輯模式。
補充知識:所有資料庫預設都支援命令列,如果你要做一些進階動作,備份、匯出資料庫,一般都需要用命令列,這樣效率比較高。
MySql和我們學過的SqlServer基本區別不是很大;大部分語句都很相似;所以,主要注意特殊的MySql語句的使用就可以了。
1、使用SHOW語句找出在伺服器上當前存在什麼資料庫:
mysql>SHOWDATABASES; +----------+ |Database| +----------+ |mysql| |test| +----------+ 3rowsinset(0.00sec) |
2、建立一個資料庫abccs
mysql>CREATEDATABASEabccs;
注意不同作業系統對大小寫敏感。
3、選擇你所建立的資料庫
mysql>USEabccs
Databasechanged
此時你已經進入你剛才所建立的資料庫abccs.
4、建立一個資料庫表
首先看現在你的資料庫中存在什麼表:
mysql>SHOWTABLES;
Emptyset(0.00sec)
說明剛才建立的資料庫中還沒有資料庫表。下面來建立一個資料庫表mytable:
我們要建立一個你公司員工的生日表,表的內容包含員工姓名、性別、出生日期、出生城市。
mysql>CREATETABLEmytable(nameVARCHAR(20),sexCHAR(1), ->birthDATE,birthaddrVARCHAR(20)); QueryOK,0rowsaffected(0.00sec) |
由於name、birthadd的列值是變化的,因此選擇VARCHAR,其長度不一定是20。可以選擇從1到255的任何長度,如果以後需要改變它的字長,可以使用ALTERTABLE語句。);性別只需一個字元就可以表示:"m"或"f",因此選用CHAR(1);birth列則使用DATE資料類型。
建立了一個表後,我們可以看看剛才做的結果,用SHOWTABLES顯示資料庫中有哪些表:
mysql>SHOWTABLES; +---------------------+ |Tablesinmenagerie| +---------------------+ |mytables| +---------------------+ |
5、顯示表的結構:
mysql>DESCRIBEmytable; +-------------+-------------+------+-----+---------+-------+ |Field|Type|Null|Key|Default|Extra| +-------------+-------------+------+-----+---------+-------+ |name|varchar(20)|YES||NULL|| |sex|char(1)|YES||NULL|| |birth|date|YES||NULL|| |deathaddr|varchar(20)|YES||NULL|| +-------------+-------------+------+-----+---------+-------+ 4rowsinset(0.00sec) |
6、往表中加入記錄
我們先用SELECT命令來查看錶中的資料:
mysql>select*frommytable;
Emptyset(0.00sec)
這說明剛才建立的表還沒有記錄。
加入一條新記錄:
mysql>insertintomytable ->values(′abccs′,′f′,′1977-07-07′,′china′); QueryOK,1rowaffected(0.05sec) |
再用上面的SELECT命令看看發生了什麼變化。我們可以按此方法一條一條地將所有員工的記錄加入到表中。
修改MYSQL中的一個欄位的類型或長度
altertable表名modifycolumn欄位名類型;
例如,資料庫中user表name欄位是varchar(30);可以用
altertableusermodifycolumnnamevarchar(50);
1、增加欄位
altertabledbnameaddcolumn<欄位名><欄位選項>
2、修改欄位
altertabledbnamechange<舊欄位名><新欄位名><選項>
3、刪除欄位
altertabledbnamedropcolumn<欄位名>
4.修改表名
altertablejsxtrenameasjsxt_tmp;
altertablepersonadd(pidintauto_incrementprimarykey);
altertablearticlemodifyidint(10)auto_increment;
更新語句
mysql>UPDATEpersondataSETage=age+1;
給一個欄位插入值
INSERTINTOusesSETname=‘姚明‘,age=25;
一次性插入多個值
INSERTINTOusers(name,age)
VALUES(‘姚明‘,25),(‘比爾.蓋茨‘,50),(‘火星人‘,600);
刪除一行語句
deletefromusetablewherename=‘xiaoli‘;
修改一個欄位
ALTERTABLETableNameCHANGEField_name_tobe_changenew_NameVARCHAR
(32);//altertableusetablechangeagesexint(10);
刪除一個欄位
ALTERTABLETableNameDROPField_name_tobe_delete
重新命名表
ALTERTABLETableNamerenameasnewTableName
1. 如果想記錄一個公司的員工情況,你是用普通的紙張,還是使用Office軟體,還是使用資料庫呢?
在本章中,我們主要學習了:
u MySql的概念和曆史
u MySql的安裝和使用
英文 全 文 中 文
MySql MySql 是一個精巧的SQL資料庫管理系統,雖然它不是開放原始碼的產品,但在某些情況下你可以自由使用。由於它的強大功能、靈活性、豐富的應用編程介面(API)以及精巧的系統結構,受到了廣大自由軟體愛好者甚至是商業軟體使用者的青睞,特別是與Apache和PHP/PERL結合,為建立基於資料庫的動態網站提供了強大動力。特別是在與PHP的配合使用中被Linux下WEB開發人員稱為PHP的黃金搭檔。
使用本章所學的MySql資料庫,建立一個您的月收入和支出的記錄;(用自己的名字的縮寫建立資料庫,用帶有英文意義的字母建立表)
MySql入門