- MySQL數(shù)據(jù)庫(kù)教程(視頻指導(dǎo)版)
- 鄭阿奇主編
- 5897字
- 2020-09-21 14:50:54
第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)所有記錄。
- Software Defined Networking with OpenFlow
- Learning Cython Programming
- Rust實(shí)戰(zhàn)
- 前端跨界開(kāi)發(fā)指南:JavaScript工具庫(kù)原理解析與實(shí)戰(zhàn)
- Linux命令行與shell腳本編程大全(第4版)
- Visual FoxPro程序設(shè)計(jì)
- jQuery Mobile移動(dòng)應(yīng)用開(kāi)發(fā)實(shí)戰(zhàn)(第3版)
- Qt5 C++ GUI Programming Cookbook
- 軟件工程基礎(chǔ)與實(shí)訓(xùn)教程
- Python+Office:輕松實(shí)現(xiàn)Python辦公自動(dòng)化
- Arduino電子設(shè)計(jì)實(shí)戰(zhàn)指南:零基礎(chǔ)篇
- Mastering Concurrency in Python
- PHP 8從入門(mén)到精通(視頻教學(xué)版)
- 深入分析GCC
- Mastering Unreal Engine 4.X