本套課程為“mysql入門到精通高清視頻教學(xué)”,是學(xué)習(xí)mysql入門教程,大學(xué)資源網(wǎng)收集整理。
MySQL是一個(gè)精巧的SQL數(shù)據(jù)庫管理系統(tǒng),雖然它不是開放源代碼的產(chǎn)品,但在某些情況下你可以自由使用。由于它的強(qiáng)大功能、靈活性、豐富的應(yīng)用編程接口(API)以及精巧的系統(tǒng)結(jié)構(gòu),受到了廣大自由軟件愛好者甚至是商業(yè)軟件用戶的青睞,特別是與Apache和PHP/PERL結(jié)合,為建立基于數(shù)據(jù)庫的動(dòng)態(tài)網(wǎng)站提供了強(qiáng)大動(dòng)力。
MySQL是一個(gè)真正的多用戶、多線程SQL數(shù)據(jù)庫服務(wù)器。SQL(結(jié)構(gòu)化查詢語言)是世界上最流行的和標(biāo)準(zhǔn)化的數(shù)據(jù)庫語言。MySQL是以一個(gè)客戶機(jī)/服務(wù)器結(jié)構(gòu)的實(shí)現(xiàn),它由一個(gè)服務(wù)器守護(hù)程序mysqld和很多不同的客戶程序和庫組成。 SQL是一種標(biāo)準(zhǔn)化的語言,它使得存儲(chǔ)、更新和存取信息更容易。例如,你能用SQL語言為一個(gè)網(wǎng)站檢索產(chǎn)品信息及存儲(chǔ)顧客信息,同時(shí)MySQL也足夠快和靈活以允許你存儲(chǔ)記錄文件和圖像。MySQL 主要目標(biāo)是快速、健壯和易用。最初是因?yàn)槲覀冃枰@樣一個(gè)SQL服務(wù)器,它能處理與任何可不昂貴硬件平臺(tái)上提供數(shù)據(jù)庫的廠家在一個(gè)數(shù)量級(jí)上的大型數(shù)據(jù)庫,但速度更快,MySQL就開發(fā)出來。自1996年以來,我們一直都在使用MySQL,其環(huán)境有超過 40 個(gè)數(shù)據(jù)庫,包含 10,000個(gè)表,其中500多個(gè)表超過7百萬行,這大約有100 個(gè)吉字節(jié)(GB)的關(guān)鍵應(yīng)用數(shù)據(jù)。
MySQL客戶機(jī)和實(shí)用程序。有幾個(gè)MySQL程序,可用來幫助您與服務(wù)器進(jìn)行通信和執(zhí)行管理的任務(wù)。其中最重要的幾個(gè)是: mysql,一個(gè)交互式程序,允許將SQL 語句發(fā)布到服務(wù)器上并瀏覽其結(jié)果。mysqladmin,一個(gè)管理程序,允許執(zhí)行諸如關(guān)閉服務(wù)器以及創(chuàng)建或刪除數(shù)據(jù)庫的工作。如果服務(wù)器運(yùn)行不正常,還可以用mysqladmin 來檢查服務(wù)器的狀態(tài)。isamchk 和myisamchk,這些實(shí)用程序幫助您完成表的分析和優(yōu)化,以及在表損壞時(shí)進(jìn)行崩潰恢復(fù)。mysqldump,一個(gè)工具,用于備份數(shù)據(jù)庫或?qū)?shù)據(jù)庫拷貝到另一個(gè)服務(wù)器中。服務(wù)器的語言,SQL。有些管理職責(zé)只能用mysqladmin 的命令行實(shí)用程序來完成,但是,如果您還能用服務(wù)器自己的語言來同服務(wù)器進(jìn)行對(duì)話,那就更好了。作為簡單的例子,您可能需要查找用戶特權(quán)不按您所希望的方式進(jìn)行工作的原因。沒有任何替代品能夠參與并與服務(wù)器直接通信。可通過使用mysql客戶機(jī)程序發(fā)布能夠檢驗(yàn)授權(quán)表的SQL 查詢來做到這一點(diǎn)。如果您的MySQL版本還未引入GRANT 語句,則需要使用mysql首先設(shè)置每個(gè)用戶的權(quán)限。
MySql是一個(gè)快速、多線程、多用戶的SQL數(shù)據(jù)庫服務(wù)器,其出現(xiàn)雖然只有短短的數(shù)年時(shí)間,但憑借著“開放源代碼”的東風(fēng),它從眾多的數(shù)據(jù)庫中脫穎而出,成為PHP的首選數(shù)據(jù)庫。除了因?yàn)閹缀跏敲赓M(fèi)的這點(diǎn)之外,支持正規(guī)的SQL查詢語言和采用多種數(shù)據(jù)類型,能對(duì)數(shù)據(jù)進(jìn)行各種詳細(xì)的查詢等都是PHP選擇MySql的主要原因。下面,就讓我們來看看MySql數(shù)據(jù)庫的主要特征。
·MySql的核心程序采用完全的多線程編程。線程是輕量級(jí)的進(jìn)程,它可以靈活地為用戶提供服務(wù),而不過多的系統(tǒng)資源。用多線程和C語言實(shí)現(xiàn)的MySql能很容易充分利用CPU。
·MySql可運(yùn)行在不同的操作系統(tǒng)下。簡單地說,MySql可以支持Windows95/98/NT/2000以及UNIX、Linux和SUN OS等多種操作系統(tǒng)平臺(tái)。這意味著在一個(gè)操作系統(tǒng)中實(shí)現(xiàn)的應(yīng)用可以很方便地移植到其他的操作系統(tǒng)下。
·MySql有一個(gè)非常靈活而且安全的權(quán)限和口令系統(tǒng)。當(dāng)客戶與MySql服務(wù)器連接時(shí),他們之間所有的口令傳送被加密,而且MySql支持主機(jī)認(rèn)證。
·MySql支持ODBC for Windows。MySql支持所有的ODBC 2.5函數(shù)和其他許多函數(shù),這樣就可以用Access連接MySql服務(wù)器,從而使得MySql的應(yīng)用被大大擴(kuò)展。
·MySql支持大型的數(shù)據(jù)庫。雖然對(duì)于用PHP編寫的網(wǎng)頁來說只要能夠存放上百條以上的記錄數(shù)據(jù)就足夠了,但MySql可以方便地支持上千萬條記錄的數(shù)據(jù)庫。作為一個(gè)開放源代碼的數(shù)據(jù)庫,MySql可以針對(duì)不同的應(yīng)用進(jìn)行相應(yīng)的修改。
·MySql擁有一個(gè)非常快速而且穩(wěn)定的基于線程的內(nèi)存分配系統(tǒng),可以持續(xù)使用面不必?fù)?dān)心其穩(wěn)定性。事實(shí)上,MySql的穩(wěn)定性足以應(yīng)付一個(gè)超大規(guī)模的數(shù)據(jù)庫。