官术网_书友最值得收藏!

第1章 MySQL初步

1.1 數(shù)據(jù)庫(kù)基本概念

本節(jié)先來(lái)介紹數(shù)據(jù)庫(kù)相關(guān)的概念。

1.數(shù)據(jù)庫(kù)

數(shù)據(jù)庫(kù)(DB)是存放數(shù)據(jù)的倉(cāng)庫(kù),而且這些數(shù)據(jù)存在一定的關(guān)聯(lián),并按一定的格式存放在計(jì)算機(jī)的存儲(chǔ)介質(zhì)上。例如,把一個(gè)學(xué)校的學(xué)生基本信息、課程信息、學(xué)生成績(jī)信息等數(shù)據(jù)有序地組織并存放在計(jì)算機(jī)內(nèi),就可以構(gòu)成一個(gè)學(xué)生成績(jī)管理數(shù)據(jù)庫(kù)。

2.數(shù)據(jù)模型

(關(guān)系模型)

數(shù)據(jù)庫(kù)按照數(shù)據(jù)模型對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ)和管理,而數(shù)據(jù)模型主要有層次模型、網(wǎng)狀模型和關(guān)系模型,其中關(guān)系模型使用更為流行。

關(guān)系模型以記錄組或二維數(shù)據(jù)表的形式組織數(shù)據(jù)。例如,學(xué)生成績(jī)管理數(shù)據(jù)庫(kù)所涉及的“學(xué)生”“課程”和“成績(jī)”三個(gè)表:

“學(xué)生”表涉及的主要信息有學(xué)號(hào)、姓名、性別、出生時(shí)間、專(zhuān)業(yè)、總學(xué)分和備注;

“課程”表涉及的主要信息有課程號(hào)、課程名、開(kāi)課學(xué)期、學(xué)時(shí)和學(xué)分;

“成績(jī)”表涉及的主要信息有學(xué)號(hào)、課程號(hào)和成績(jī)。

表1.1、表1.2和表1.3所示分別描述了學(xué)生成績(jī)管理數(shù)據(jù)庫(kù)中“學(xué)生”“課程”和“成績(jī)”三個(gè)表的部分?jǐn)?shù)據(jù)。

表1.1 “學(xué)生”表

表1.2 “課程”表

表1.3 “成績(jī)”表

表格中的一行稱(chēng)為一個(gè)記錄,一列稱(chēng)為一個(gè)字段,每列的標(biāo)題稱(chēng)為字段名。如果給每個(gè)關(guān)系表取一個(gè)名字,則有n個(gè)字段的關(guān)系表的結(jié)構(gòu)可表示為:

關(guān)系表名(字段名1,…,字段名n

通常把關(guān)系表的結(jié)構(gòu)稱(chēng)為關(guān)系模式。

在關(guān)系表中,如果一個(gè)字段或幾個(gè)字段組合的值可唯一標(biāo)識(shí)其對(duì)應(yīng)記錄,則稱(chēng)該字段或字段組合為碼。例如,“學(xué)號(hào)”可唯一標(biāo)識(shí)每一個(gè)學(xué)生,“課程號(hào)”可唯一標(biāo)識(shí)每一門(mén)課。“學(xué)號(hào)”和“課程號(hào)”可唯一標(biāo)識(shí)每一個(gè)學(xué)生一門(mén)課程的成績(jī),它們就是相應(yīng)表的碼。有時(shí)一個(gè)表可能有多個(gè)碼,例如在學(xué)生表中,只要姓名不重名,則“學(xué)號(hào)”“姓名”均是學(xué)生信息表碼,但可指定一個(gè)碼為“主碼”,在關(guān)系模式中,一般用下劃線(xiàn)標(biāo)出主碼。

學(xué)生關(guān)系模式可表示為:XSB(學(xué)號(hào),姓名,性別,出生時(shí)間,專(zhuān)業(yè),總學(xué)分,備注)。

課程關(guān)系模式可表示為:KCB(課程號(hào),課程名,開(kāi)課學(xué)期,學(xué)時(shí),學(xué)分)。

成績(jī)關(guān)系模式表示為:CJB(學(xué)號(hào),課程號(hào),成績(jī),學(xué)分)。

3.數(shù)據(jù)庫(kù)管理系統(tǒng)

數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)是管理數(shù)據(jù)庫(kù)的系統(tǒng),它按一定的數(shù)據(jù)模型組織數(shù)據(jù)。

DBMS應(yīng)提供如下功能:定義數(shù)據(jù)庫(kù)中的對(duì)象、對(duì)數(shù)據(jù)庫(kù)包含對(duì)象進(jìn)行操作、保證輸入的數(shù)據(jù)滿(mǎn)足相應(yīng)的約束條件、保證只有具有權(quán)限的用戶(hù)才能訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)中的數(shù)據(jù)、使多個(gè)應(yīng)用程序可在同一時(shí)刻訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)的數(shù)據(jù)、數(shù)據(jù)庫(kù)備份和恢復(fù)功能、能夠在網(wǎng)絡(luò)環(huán)境下訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)的功能和數(shù)據(jù)庫(kù)信息的接口和工具。

數(shù)據(jù)庫(kù)系統(tǒng)管理員(DBA)通過(guò)DBMS提供的工具對(duì)數(shù)據(jù)庫(kù)進(jìn)行管理。數(shù)據(jù)庫(kù)應(yīng)用程序通過(guò)DBMS的數(shù)據(jù)庫(kù)的接口編寫(xiě)操作數(shù)據(jù)庫(kù)。

目前,流行的關(guān)系型 DBMS 有:SQL Server、Oracle、MySQL、Access 等。其中,MySQL是目前較流行的開(kāi)放源碼的小型數(shù)據(jù)庫(kù)管理系統(tǒng),它被廣泛應(yīng)用在Internet上眾多中小型網(wǎng)站中,本書(shū)介紹的是較新的MySQL 5.7版。

4.關(guān)系型數(shù)據(jù)庫(kù)語(yǔ)言

SQL(Structured Query Language,結(jié)構(gòu)化查詢(xún)語(yǔ)言)是用于關(guān)系數(shù)據(jù)庫(kù)查詢(xún)的結(jié)構(gòu)化語(yǔ)言。SQL的功能包括數(shù)據(jù)查詢(xún)、數(shù)據(jù)操縱、數(shù)據(jù)定義和數(shù)據(jù)控制4部分。

DBA可通過(guò)DBMS發(fā)送SQL命令,命令執(zhí)行結(jié)果在DBMS界面上顯示。

用戶(hù)通過(guò)應(yīng)用程序界面表達(dá)如何操作數(shù)據(jù)庫(kù),應(yīng)用程序把其轉(zhuǎn)換為SQL命令發(fā)送給DBMS,再將操作結(jié)果在應(yīng)用程序界面上顯示出來(lái)。

5.數(shù)據(jù)庫(kù)系統(tǒng)

(數(shù)據(jù)庫(kù)系統(tǒng))

數(shù)據(jù)、數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)與操作數(shù)據(jù)庫(kù)的應(yīng)用程序,加上支撐它們的硬件平臺(tái)、軟件平臺(tái)和與數(shù)據(jù)庫(kù)有關(guān)的人員一起構(gòu)成了一個(gè)完整的數(shù)據(jù)庫(kù)系統(tǒng)。圖1.1所示描述了數(shù)據(jù)庫(kù)系統(tǒng)的構(gòu)成。

圖1.1 數(shù)據(jù)庫(kù)系統(tǒng)的構(gòu)成

1.2 MySQL數(shù)據(jù)庫(kù)

本節(jié)介紹MySQL數(shù)據(jù)庫(kù)的概述、安裝運(yùn)行和命令初步。

1.2.1 概述

MySQL是一個(gè)小型關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),開(kāi)發(fā)者為瑞典MySQL AB公司。由于其體積小、速度快、總體擁有成本低,尤其是開(kāi)放源碼這一特點(diǎn),被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。

目前在Internet上流行的網(wǎng)站構(gòu)架方式是LAMP(Linux+Apache+MySQL+PHP),即使用Linux作為操作系統(tǒng),Apache作為Web服務(wù)器,MySQL作為數(shù)據(jù)庫(kù)DBMS,PHP作為服務(wù)器端腳本解釋器。因這4款軟件都遵循GPL開(kāi)放源碼授權(quán),故使用這種組合的解決方案不用花一分錢(qián)就可以建立起一個(gè)穩(wěn)定、免費(fèi)的網(wǎng)站系統(tǒng)。

由于MySQL被SUN公司收購(gòu),SUN又被Oracle收購(gòu),MySQL成為了Oracle公司的另一個(gè)數(shù)據(jù)庫(kù)項(xiàng)目。MySQL功能越來(lái)越完善,版本不斷升級(jí),在Windows平臺(tái)上的使用越來(lái)越多,已經(jīng)成為目前較為流行的DBMS。

本書(shū)的操作平臺(tái)是MySQL 5.7.17.0。MySQL支持SQL標(biāo)準(zhǔn),但也進(jìn)行了相應(yīng)的擴(kuò)展。

1.2.2 安裝運(yùn)行

MySQL 的安裝包可從 http://dev.mysql.com/downloads/上免費(fèi)下載,下載得到的安裝包名為mysql-installer-community-5.7.17.0.msi。在安裝MySQL前,請(qǐng)確保系統(tǒng)中安裝了Microsoft .NET Framework 4.0。

1.MySQL下載安裝

(1)雙擊安裝包會(huì)彈出歡迎窗口,單擊“Install MySQL Products”文字鏈接,會(huì)彈出“License Agreement”窗口,該窗口列出用戶(hù)使用本產(chǎn)品相應(yīng)接受的項(xiàng)目(即用戶(hù)許可協(xié)議)。選中“I accept the license terms”復(fù)選框,然后單擊【Next】按鈕。

(2)進(jìn)入安裝類(lèi)型(Choosing a Setup Type)選擇界面,如圖1.2所示。

圖1.2 安裝類(lèi)型設(shè)置窗口

這里選擇【Custom】(常規(guī))單選按鈕,然后單擊【Next】按鈕。

(3)系統(tǒng)進(jìn)入“Select Products and Features”(選擇安裝項(xiàng)目)窗口,如圖1.3所示。

圖1.3 選擇安裝項(xiàng)目

其中“Available Products”中列出可安裝的項(xiàng)目,“Products/Features To Be Installtioned”中列出當(dāng)前系統(tǒng)默認(rèn)的安裝項(xiàng)目。其中MySQL Server是MySQL提供服務(wù)的程序,MySQL Document (文檔)為使用者提供使用說(shuō)明,Samples and Examples中的實(shí)例可提供使用MySQL的參考模板。

用戶(hù)可以選擇“Available Products”中其他項(xiàng)目然后向右移動(dòng)添加安裝,也可以從“Products/Features To Be Installationed”中選擇放棄安裝。對(duì)于初學(xué)者可選擇安裝默認(rèn)項(xiàng)目,單擊【Next】按鈕進(jìn)入下一個(gè)窗口。

(4)“Installation”窗口列出用戶(hù)在上一個(gè)窗口選擇的安裝項(xiàng)目,選擇【Back】按鈕可返回上一個(gè)窗口重新選擇,單擊【Next】按鈕進(jìn)入下一個(gè)窗口。

(5)系統(tǒng)開(kāi)始安裝程序,之前安裝向?qū)н^(guò)程中所做的設(shè)置將在安裝完成之后生效,并會(huì)彈出圖1.4所示的窗口。

圖1.4 安裝成功窗口

至此,MySQL安裝成功(Install success)!下面進(jìn)入配置過(guò)程。

2.MySQL服務(wù)器配置

(1)在安裝成功界面上,單擊【Next】按鈕,就進(jìn)入服務(wù)器配置窗口(Product Configuration),單擊【Next】按鈕,出現(xiàn)第一個(gè)配置窗口(Type and Networking-Server Configuration Type),配置MySQL服務(wù)器運(yùn)行的參數(shù),如圖1.5所示。

其中需要說(shuō)明的如下。

① Config Type下拉列表項(xiàng)用來(lái)配置當(dāng)前服務(wù)器的類(lèi)型,可以選擇如下所示的3種服務(wù)器類(lèi)型。

Development Machine(開(kāi)發(fā)者機(jī)器):將MySQL服務(wù)器配置成使用最少的系統(tǒng)資源。

Server Machine(服務(wù)器):將MySQL服務(wù)器配置成使用適當(dāng)比例的系統(tǒng)資源。

Dedicated MySQL Server Machine(專(zhuān)用MySQL服務(wù)器):將MySQL服務(wù)器配置成使用所有可用系統(tǒng)資源。

作為初學(xué)者,選擇“Development Machine”(開(kāi)發(fā)者機(jī)器)就可以了。

圖1.5 配置MySQL服務(wù)器

② Connectivity下包含連接MySQL的參數(shù)。

默認(rèn)情況啟用TCP/IP網(wǎng)絡(luò);默認(rèn)端口為3306(該端口號(hào)必須沒(méi)有被占用);打開(kāi)通過(guò)網(wǎng)絡(luò)存取數(shù)據(jù)庫(kù)防火墻功能。

同時(shí)不選命名管道和共享內(nèi)存功能。

③ 高級(jí)配置。選擇“Show Advanced Options”可打開(kāi)選項(xiàng)。

對(duì)于初學(xué)者默認(rèn)配置即可。單擊【Next】按鈕進(jìn)入下一個(gè)窗口。

(2)系統(tǒng)顯示“Accounts and Roles”窗口,配置root賬戶(hù)和角色,如圖1.6所示。

圖1.6 配置root賬戶(hù)和角色

設(shè)置root用戶(hù)的密碼,在“MySQL Root Password”(輸入新密碼)和“Repeat Password”(確認(rèn)密碼)兩個(gè)編輯框內(nèi)輸入期望的密碼。這里我們?cè)O(shè)置密碼:njnu123456。也可以單擊下面的【Add User】按鈕另行創(chuàng)建新的用戶(hù),設(shè)置有關(guān)角色。單擊【Next】按鈕進(jìn)入下一個(gè)窗口。

(3)系統(tǒng)顯示“Windows Service”窗口,配置作為Windows程序運(yùn)行參數(shù),如圖1.7所示。

圖1.7 配置Windows程序運(yùn)行參數(shù)

系統(tǒng)默認(rèn)Windows啟動(dòng)時(shí)自動(dòng)啟動(dòng)MySQL程序,進(jìn)程名為MySQL57。Windows啟動(dòng)時(shí)采用標(biāo)準(zhǔn)賬戶(hù)。保留默認(rèn)值即可。單擊【Next】按鈕,進(jìn)入下一個(gè)窗口。

(4)系統(tǒng)顯示“Plugins and Extensions”窗口,配置插件連接MySQL數(shù)據(jù)庫(kù)參數(shù):包含協(xié)議、文檔、端口號(hào)和是否打開(kāi)防火墻,如圖1.8所示,保留默認(rèn)值即可。單擊【Next】按鈕,進(jìn)入下一個(gè)窗口。

圖1.8 配置插件連接

(5)系統(tǒng)顯示“Apply Server Confogtion”應(yīng)用服務(wù)配置過(guò)程窗口,如圖1.9所示。

圖1.9 應(yīng)用服務(wù)配置過(guò)程

用戶(hù)選擇“Execute”,根據(jù)列出的應(yīng)用服務(wù)順序進(jìn)行配置,直到項(xiàng)目前全部打勾表示完成。選擇【finish】按鈕,進(jìn)入下一個(gè)窗口。

(6)系統(tǒng)顯示“Product Configuration”窗口,其中顯示“MySQL Server”配置已經(jīng)完成,單擊【Next】按鈕,系統(tǒng)開(kāi)始配置“Samples and Exmples”。完成后進(jìn)入下一個(gè)窗口。

(7)系統(tǒng)顯示“Connect To Server”連接到MySQL服務(wù)器窗口,如圖1.10所示。

圖1.10 連接MySQL

用戶(hù)輸入“root”和前面設(shè)置的對(duì)應(yīng) root 用戶(hù)密碼(njnu123456),單擊【Check】按鈕,系統(tǒng)顯示“Connection successful”表示連接MySQL成功。

3.MySQL數(shù)據(jù)庫(kù)試運(yùn)行

(安裝運(yùn)行)

為了驗(yàn)證上述的安裝和配置是否成功,先來(lái)運(yùn)行MySQL數(shù)據(jù)庫(kù)。

(1)啟動(dòng)MySQL服務(wù)

安裝配置完成后,打開(kāi)Windows任務(wù)管理器,可以看到MySQL服務(wù)進(jìn)程mysqld.exe已經(jīng)啟動(dòng)了,如圖1.11所示。

圖1.11 MySQL服務(wù)進(jìn)程

使用MySQL之前,必須確保進(jìn)程mysqld.exe已經(jīng)啟動(dòng)。但用戶(hù)關(guān)機(jī)后重新開(kāi)機(jī)進(jìn)入系統(tǒng)時(shí),如果圖1.7中的MySQL服務(wù)器沒(méi)有配置成自動(dòng)啟動(dòng),就要在Windows管理器中啟動(dòng),或者進(jìn)入MySQL安裝目錄C:\Program Files\MySQL\MySQL Server 5.7\bin(讀者請(qǐng)進(jìn)入自己安裝MySQL的bin目錄),雙擊mysqld.exe即可。

(2)登錄MySQL數(shù)據(jù)庫(kù)

進(jìn)入Windows命令行,輸入:

C:\...>cd C:\Program Files\MySQL\MySQL Server 5.7\bin

進(jìn)入MySQL可執(zhí)行程序目錄,再輸入:

C:\Program Files\MySQL\MySQL Server 5.7\bin> mysql -u root -p

按“Enter”鍵后,輸入密碼(讀者請(qǐng)用之前安裝時(shí)自己設(shè)置的密碼):

Enter password: njnu123456

顯示圖1.12所示的歡迎信息。

圖1.12 MySQL成功登錄

圖1.12顯示進(jìn)入的其實(shí)就是MySQL的命令行模式,在命令行提示符“mysql>”后輸入“quit”,可退出命令行。

(設(shè)置MySQL字符集)

(3)設(shè)置MySQL字符集

為了讓MySQL數(shù)據(jù)庫(kù)能夠支持中文,必須設(shè)置系統(tǒng)字符集編碼。

輸入命令:

show variables like ‘char%';

可查看當(dāng)前連接系統(tǒng)的參數(shù),如圖1.13所示。

圖1.13 查看當(dāng)前連接系統(tǒng)的參數(shù)

然后輸入:

set character_set_database= 'gbk';

set character_set_server= ‘gbk';

將數(shù)據(jù)庫(kù)和服務(wù)器的字符集均設(shè)為gbk(中文)。

最后輸入命令:

status;

結(jié)果如圖1.14所示。

圖1.14 查看當(dāng)前系統(tǒng)字符集

從圖1.14中框出的部分可見(jiàn),系統(tǒng)的Server(服務(wù)器)、Db(數(shù)據(jù)庫(kù))、Client(客戶(hù)端)及Conn.(連接)的字符集都改為了“gbk”。這樣,整個(gè)MySQL系統(tǒng)就能徹底地支持中文漢字字符了!

(定義初學(xué)者)

(4)作為初學(xué)者,為了在操作 MySQL 時(shí)防止由于不同操作系統(tǒng)默認(rèn)的權(quán)限差異不能使用有些功能,建議設(shè)置操作權(quán)限。

輸入命令:

use mysql;

grant all privileges on *.* to ‘root'@'%' identified by ‘njnu123456' with grant option;

flush privileges;

結(jié)果如圖1.15所示。

圖1.15 設(shè)置權(quán)限

1.2.3 命令初步

下面先簡(jiǎn)單介紹幾個(gè)MySQL命令行的入門(mén)操作,更詳細(xì)的內(nèi)容請(qǐng)讀者學(xué)習(xí)本書(shū)的后續(xù)章節(jié)。為了方便閱讀,命令關(guān)鍵字一般用大寫(xiě)表示,參數(shù)用小寫(xiě)表示。實(shí)際輸入命令一般習(xí)慣都用小寫(xiě)。

(查看系統(tǒng)數(shù)據(jù)庫(kù))

1.查看、創(chuàng)建數(shù)據(jù)庫(kù)

(1)查看系統(tǒng)數(shù)據(jù)庫(kù)

查看MySQL系統(tǒng)中已有的數(shù)據(jù)庫(kù),輸入命令:

SHOW DATABASES;

系統(tǒng)會(huì)列出已有的數(shù)據(jù)庫(kù)。MySQL 系統(tǒng)使用的數(shù)據(jù)庫(kù)有3個(gè):information_schema、mysql和performance_schema,它們都是MySQL安裝時(shí)系統(tǒng)自動(dòng)創(chuàng)建的,MySQL把有關(guān)DBMS自身的管理信息都保存在這幾個(gè)數(shù)據(jù)庫(kù)中,如果刪除了它們,MySQL 將不能正常工作,故請(qǐng)讀者操作時(shí)千萬(wàn)留神!如果安裝時(shí)選擇安裝實(shí)例數(shù)據(jù)庫(kù),則系統(tǒng)還有另外2個(gè)實(shí)例數(shù)據(jù)庫(kù)sakila和world。

(2)創(chuàng)建用戶(hù)數(shù)據(jù)庫(kù)

(創(chuàng)建用戶(hù)數(shù)據(jù)庫(kù))

為了創(chuàng)建用戶(hù)自己使用的數(shù)據(jù)庫(kù),在 mysql>提示符后輸入“CREATE DATABASE”(大小寫(xiě)不限)語(yǔ)句,此語(yǔ)句要指定數(shù)據(jù)庫(kù)名:

CREATE DATABASE mytest;

這里創(chuàng)建了一個(gè)用于測(cè)試的數(shù)據(jù)庫(kù)mytest,使用SHOW DATABASES語(yǔ)句查看一下,執(zhí)行結(jié)果列表中多了一項(xiàng)mytest,就是用戶(hù)剛剛創(chuàng)建的數(shù)據(jù)庫(kù),如圖1.16所示。

圖1.16 多了創(chuàng)建的用戶(hù)數(shù)據(jù)庫(kù)

數(shù)據(jù)庫(kù)創(chuàng)建后,在安裝 MySQL 時(shí)確定的數(shù)據(jù)庫(kù)數(shù)據(jù)文件制定路徑下就會(huì)產(chǎn)生以數(shù)據(jù)庫(kù)名作為目錄名的目錄,如圖1.17所示。在該目錄下生成了一個(gè)“db.opt”文件,在該文件中記錄了數(shù)據(jù)庫(kù)的特征信息。

圖1.17 數(shù)據(jù)庫(kù)目錄

2.在數(shù)據(jù)庫(kù)中創(chuàng)建表

(1)切換當(dāng)前數(shù)據(jù)庫(kù)

接下來(lái),我們要在mytest數(shù)據(jù)庫(kù)中創(chuàng)建表,但mytest并不是系統(tǒng)默認(rèn)的當(dāng)前數(shù)據(jù)庫(kù),為了使它成為當(dāng)前數(shù)據(jù)庫(kù),發(fā)布USE語(yǔ)句即可:

USE mytest

USE為少數(shù)幾個(gè)不需要終結(jié)符(;)的語(yǔ)句之一,當(dāng)然,加上終結(jié)符也不會(huì)出錯(cuò)。

(2)創(chuàng)建表

使用CREATE TABLE語(yǔ)句可創(chuàng)建表。例如,創(chuàng)建一個(gè)名為user的表,留待后用:

CREATE TABLE user

(

id int auto_increment not null primary key,

username varchar(10) not null,

password varchar(10) not null

);

其中,user表包含id、username和password列。id列標(biāo)志字段,整型(int),字段數(shù)據(jù)系統(tǒng)增一(auto_increment),并將其設(shè)置為主鍵(primary key);username和password列分別存放不超過(guò)10個(gè)字符(varchar(10))的用戶(hù)名和密碼,記錄中這三個(gè)字段不允許為空(not null)。

說(shuō)明

數(shù)據(jù)庫(kù)中創(chuàng)建了一個(gè)表,在該數(shù)據(jù)庫(kù)目錄下就會(huì)生成主文件名為表名的2個(gè)文件,如圖1.18所示。

圖1.18 數(shù)據(jù)庫(kù)目錄中文件

(3)查看表信息

現(xiàn)在來(lái)檢驗(yàn)一下mytest數(shù)據(jù)庫(kù)中是否創(chuàng)建了user表。

在命令行輸入:

SHOW TABLES;

系統(tǒng)顯示數(shù)據(jù)庫(kù)中已經(jīng)有了一個(gè)user表,如圖1.19所示,進(jìn)一步輸入:

DESCRIBE USER;

還可詳細(xì)查看user表的結(jié)構(gòu)、字段類(lèi)型等信息。

圖1.19 成功創(chuàng)建了user表

說(shuō)明

SHOW和DESCRIBE命令還有很多選項(xiàng),對(duì)應(yīng)顯示很多功能。

3.向表中加入記錄

通常,用INSERT語(yǔ)句向表中插入記錄。例如:

INSERT INTO user VALUES(1,'Tom','19941216');

INSERT INTO user VALUES(2,’周何駿’,'19960925');

VALUES表必須包含表中每一列的值,并且按表中列的存放次序給出。在MySQL中,字符串串值需要用單引號(hào)或雙引號(hào)括起來(lái)。完成后輸入下列命令:

SELECT * FROM user;

查詢(xún)表user中的所有記錄,如圖1.20所示。

圖1.20 查看user表的內(nèi)容

請(qǐng)讀者按照上述指導(dǎo),熟悉MySQL命令行的操作。上機(jī)實(shí)踐過(guò)后,可使用DROP DATABASE命令刪除用戶(hù)自己創(chuàng)建的數(shù)據(jù)庫(kù),使MySQL系統(tǒng)恢復(fù)原樣:

DROP DATABASE mytest;

4.MySQL命令說(shuō)明

(1)在描述命令格式時(shí),用[ ]表示可選項(xiàng)。

(2)MySQL 命令不區(qū)分大小寫(xiě),但本書(shū)為了讀者閱讀方便,在本書(shū)描述命令格式和命令實(shí)例時(shí),命令關(guān)鍵字用大寫(xiě)表示,其他用小寫(xiě)表示。但在實(shí)際對(duì) MySQL 操作時(shí)為了避免大小寫(xiě)頻繁切換,一般都用小寫(xiě)。

(3)命令關(guān)鍵字可以只寫(xiě)前面4個(gè)字符。

DESCRIBE user;

DESCR user;

效果是一樣的。

(4)修改命令結(jié)束符號(hào)。

在 MySQL 中,服務(wù)器處理語(yǔ)句的時(shí)候是以分號(hào)為結(jié)束標(biāo)志的。使用 DELIMITER 命令將MySQL語(yǔ)句的結(jié)束標(biāo)志修改為其他符號(hào)。

例如,將MySQL結(jié)束符修改為兩個(gè)斜杠“/”符號(hào)。

DELIMITER //

說(shuō)明

執(zhí)行完這條命令后,程序結(jié)束的標(biāo)志就換為雙斜杠符號(hào)“//”了。

要想恢復(fù)使用分號(hào)“;”作為結(jié)束符,運(yùn)行下面命令即可:

OPDELIMITER ;

1.3 MySQL常用界面工具

MySQL除了可以通過(guò)命令操作數(shù)據(jù)庫(kù)外,市場(chǎng)上還有許多圖形化的工具操作MySQL,這樣操作數(shù)據(jù)庫(kù)就更加簡(jiǎn)單方便。MySQL的界面工具可分為兩大類(lèi):圖形化客戶(hù)端和基于Web的管理工具。

1.圖形化客戶(hù)端

(圖形化客戶(hù)端)

圖形化客戶(hù)端這類(lèi)工具采用C/S架構(gòu),用戶(hù)通過(guò)安裝在桌面計(jì)算機(jī)上的客戶(hù)端軟件連接并操作后臺(tái)的MySQL數(shù)據(jù)庫(kù),原理如圖1.21所示,客戶(hù)端是圖形化用戶(hù)界面(GUI)。

圖1.21 圖形化客戶(hù)端

除了MySQL官方提供的管理工具M(jìn)ySQL Administrator和MySQL Workbench,還有很多第三方開(kāi)發(fā)的優(yōu)秀工具,比較著名的有:Navicat、Sequel Pro、HeidiSQL、SQL Maestro MySQL Tools Family、SQLWave、dbForge Studio、DBTools Manager、MyDB Studio、Aqua Data Studio、SQLyog、MYSQL Front和SQL Buddy等。

2.基于Web的管理工具

(基于Web的管理工具)

基于Web的管理工具采用B/S架構(gòu),用戶(hù)計(jì)算機(jī)上無(wú)需再安裝客戶(hù)端,管理工具運(yùn)行于 Web 服務(wù)器上,如圖1.22所示。用戶(hù)機(jī)器只要帶有瀏覽器,就能以訪(fǎng)問(wèn)Web頁(yè)的方式操作MySQL數(shù)據(jù)庫(kù)里的數(shù)據(jù)。

圖1.22 基于Web的管理工具

基于Web的管理工具有:phpMyAdmin、phpMyBackupPro和MySQL Sidu等。

習(xí)題

1.什么是數(shù)據(jù)模型?簡(jiǎn)述關(guān)系模型的特點(diǎn)。

2.說(shuō)明數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)、數(shù)據(jù)庫(kù)系統(tǒng)、數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)、數(shù)據(jù)庫(kù)管理員的關(guān)系。

3.說(shuō)明關(guān)系模型中的表、記錄、碼、主碼的關(guān)系。

4.說(shuō)明數(shù)據(jù)庫(kù)管理系統(tǒng)的功能。

5.說(shuō)明SQL語(yǔ)言的功能。

6.說(shuō)明MySQL系統(tǒng)、數(shù)據(jù)庫(kù)默認(rèn)的安裝路徑是什么?如何修改默認(rèn)的安裝路徑為用戶(hù)希望的目錄?

7.為什么數(shù)據(jù)庫(kù)是一個(gè)容器?

8.什么是MySQL界面工具,分哪兩大類(lèi)?

9.練習(xí)數(shù)據(jù)庫(kù)命令。

(1)創(chuàng)建test數(shù)據(jù)庫(kù),查看數(shù)據(jù)庫(kù)存放的目錄和文件。

(2)在test數(shù)據(jù)庫(kù)中創(chuàng)建b1表,一個(gè)數(shù)據(jù)類(lèi)型至少包含一個(gè)字段。

(3)用不同方法向b1表中輸入幾條記錄,然后查詢(xún)所有記錄。

主站蜘蛛池模板: 阳新县| 安平县| 确山县| 德兴市| 高要市| 古丈县| 尉犁县| 靖宇县| 安福县| 黄石市| 广元市| 华蓥市| 平谷区| 河北省| 南投县| 密云县| 南充市| 贵定县| 青铜峡市| 天气| 石阡县| 峨山| 寻甸| 颍上县| 尚志市| 台东县| 门头沟区| 莲花县| 固阳县| 开阳县| 鄢陵县| 太谷县| 芒康县| 三明市| 忻城县| 尚义县| 朔州市| 江安县| 巴青县| 榆中县| 肥东县|