《MySQL入門很輕松》第3章:數據庫的創建與操作
MySQL數據庫是存放有組織的數據集合的容器,以系統文件的形式存儲在磁盤上,由數據庫系統進行管理和維護。
文章目錄
1. MySQL數據庫概述
1.2 數據庫特點
1.2數據庫對象
1.3 系統數據庫
2. 創建數據庫
2.1 使用 CREATE DATABASE語句創建
2.2 使用mysqladmin命令創建
2.2 使用php腳本創建
3. 選擇與查看數據庫
3.1 從命令提示窗口中選擇
3.2 使用 PHP腳本選擇
3.3 使用命令查看數據庫
4. 刪除數據庫
4.1 使用drop語句刪除
4.2 使用mysqladmin命令刪除
4.3 使用php腳本刪除
1. MySQL數據庫概述
在 MySQL中,數據庫(Database)是按照數據結構來組織、存儲和管理數據的倉庫。每個數據庫都有一個或多個不同的應用程序接口(Application Program Interface,API),用于創建、訪問、管理、搜索和復制所保存的數據。
不過,也可以將數據存儲在文件中,但是在文件中讀寫數據的速度相對較慢。所以,現在使用關系數據庫管理系統(Relational Database Management System,RDBMS)來存儲和管理大數據量。而MySQL 是最流行的關系數據庫管理系統,尤其是在Web應用方面,MySQL可以說是最好的RDBMS應用軟件之一。
關系數據庫,是建立在關系模型基礎上的數據庫,借助于集合代數等數學概念和方法來處理數據庫中的數據。關系數據庫管理系統具有以下特點,這也是MySQL 數據庫具有的特點。
(1)致據以表格的形式出現。
(2)每行為各種記錄名稱。
(3)每列為記錄名稱所對應的數據域。
(4)許多的行和列組成一張表單。
(5)若干的表單組成數據庫。
MySQL 數據庫中的數據在邏輯上被組織成一系列對象,當一個用戶連接到數據庫后,所看到的是這些邏輯對象,而不是物理的數據庫文件。MySQL 中有以下數據庫對象。
(1)數據表:數據庫中的數據表與我們日常生活中使用的表格類似,由列和行組成。其中,每一列代表一個相同類型的數據。每列又稱為一個字段,每列的標題稱為字段名;每一行包括
若千列信息,一行數據稱為一個元組或一條記錄,它是有一定意義的信息組合,代表一個實體或聯系;一個數據庫表由一條或多條記錄組成,沒有記錄的表稱為空表。
(2)主鍵:每個表中通常都有一個主關鍵字,用于唯一標識一條記錄。主鍵是唯一的,用戶可以使用主鍵來查詢數據。
(3)外鍵:用于關聯兩個表。
(4)復合鍵:復合鍵(組合鍵)將多個列作為一個索引鍵,一般用于復合索引。
(5)索引:使用索引可快速訪問數據庫表中的特定信息。索引是對數據庫表中一列或多列的值進行排序的一種結構,類似于書籍的目錄。
(6)視圖:視圖看上去同表相似,具有一組命名的字段和數據項,但它其實是一個虛擬的表,在數據庫中并不實際存在。視圖是由查詢數據庫表或其他視圖產生的,它限制了用戶能看
到和修改的數據。由此可見,視圖可以用來控制用戶對數據的訪問,并能簡化數據的顯示,即通過視圖只顯示那些需要的數據信息。
(7)默認值:默認值是當在表中創建列或插入數據時,為沒有指定具體值的列或列數據項賦予事先設定好的值。
(8)約束:是數據庫實施數據一致性和數據完整性的方法,或者說是一套機制,包括主鍵約束、外鍵約束、唯一性約束、默認值約束和非空約束。
(9)規則:用來限制數據表中字段的有限范圍,以確保列中數據完整性的一種方式。(10)觸發器:一種特殊的存儲過程,與表格或某些操作相關聯,當用戶對數據進行插入、
修改、刪除或對數據庫表進行建立、修改、刪除時激活,并自動執行。
(11)存儲過程:一組經過編譯的可以重復使用的 T-SQL 代碼的組合,它是經過編譯存儲到數據庫中的,所以運行速度要比執行相同的SQL語句塊快。
MySQL為關系數據庫,這種所謂的“關系”可以理解為“表格”的概念,一個關系數據庫由一個或數個表格組成。
(1)表頭(header):每一列的名稱。
(2)列(col):具有相同數據類型的數據的集合。
(3)行(row):每一行用來描述某條記錄的具體信息。
(4)值(value):行的具體信息,每個值必須與該列的數據類型相同。
(5)鍵(key):鍵的值在當前列中具有唯一性。
MySQL包含了information schema、mysql、performance_schema、sakila、sys和 world 6個系統數據庫。在創建任何數據庫之前,用戶可以使用命令來查看系統數據庫,具體的方法為:在“命令提示符”窗口中登錄到MySOL數據庫,然后輸入如下命令:
show databases;
1
(1) information_schema:這個數據庫保存了mysql服務器所有數據庫的信息,比如數據庫的名、數據庫的表、訪問權限、數據庫表的數據類型、數據庫索引的信息等。該數據庫是一個虛擬數據庫,物理上并不存在,在查詢數據后,從其他數據庫獲取相應的信息。
(2) mysql:這個數據庫是MySQL的核心數據庫,類似于SQL Server中的master表,主要負責存儲數據庫的用戶、權限設置、關鍵字等,還有mysql自己需要使用的控制和管理信息。例如,可以使用mysql 數據庫中的mysql.user表來修改root用戶的密碼。
(3) performance_schema:這個數據庫主要用于收集數據庫服務器性能參數,并且數據庫里表的存儲引擎均為PERFORMANCE_SCHEMA,而用戶是不能創建存儲引擎為PERFORMANCESCHEMA 的表的。
(4) sakila:這個數據庫最初由MySQLAB文檔團隊的前成員Mike Hillyer開發,旨在提供可用于書籍、教程、文章、樣本等示例的標準模式。sakila示例數據庫還用于突出MySQL 的最新功能,如視圖、存儲過程和觸發器。
(5 ) sys:這個數據庫所有的數據源來自 performance_schema 數據庫。目標是把performance schema數據庫的復雜度降低,讓數據庫管理員(DBA)能更好地閱讀這個庫里的內容,從而讓數據庫管理員更快地了解數據庫的運行情況。
(6) world:這個數據庫是MySOL提供的示例數據庫,包括3個數據表,分別是city城市表、country國家表、countrylanguage國家語言表。
2. 創建數據庫
默認情況下,只有系統管理員和具有創建數據庫角色的登錄賬
的擁有者,才可以創建數
據庫。在MySQL 中,root用戶擁有最高權限,因此使用root用戶登錄MySOL 數據庫后,就可以創建數據庫了。
在MySQL中,SQL提供了創建數據庫的語句 CREATE DATABASE,其基本語法格式如下
CREATE DATABASE mybase;
1
主要參數為mybase:為要創建的數據庫的名稱,該名稱不能與已經存在的數據庫重名。
使用mysqladmin命令創建數據庫 book,輸入語句如下:
mysqladmin -u root -p create book Enter password:******
1
2
使用PHP中的mysqli_query函數可以創建或者刪除 MySQL 數據庫。該函數有兩個參數,在執行成功時返回 TRUE,否則返回FALSE。其語法格式如下:
mysqli query(connection,query, resultmode);
1
主要參數介紹如下:
GLon;query, resultmode);
主要參數介紹如下。
connection:必需。規定要使用的MySQL連接。
query:必需。規定查詢字符串。
resultmode:可選。一個常量。可以是 MYSQLI_USE_RESULT(如果需要檢索大量數據,請使用這個)和MYSQLI_STORE_RESULT(默認)任意一個。
N_ULI (默認)任意一個。
使用PHP創建數據庫 mymaster,輸入語句如下:
'; $sql = 'CREATE DATABASE RUNOOB'; $retval = mysqli_query (Sconn,$sql );if(! $retval ) die('創建數據庫失敗:' . mysqli_error ($conn)); echo"數據庫 RUNOOB創建成功\n"; mysqli_close ($conn) ; ?>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
3. 選擇與查看數據庫
當連接到 MySQL 數據庫后,可能有多個可以操作的數據庫,這時就需要選擇要操作的數據庫了。當選擇完成后,還可以查看數據庫的相關信息。
在mysql>提示窗口中可以很簡單地選擇特定的數據庫。使用SOL命令中的USE語句可以選擇指定的數據庫。語法格式如下:
use database_name;
1
主要參數為database_name:要選擇的數據庫名稱。
PHP提供了函數mysqli_select_db來選取一個數據庫。函數在執行成功后返回TRUE,否則返回 FALSE。語法格式如下:
mysqli_select_db (connection, dbname);
1
主要參數介紹如下。
connection:必需。規定要使用的MySQL 連接。
dbname:必需。規定要使用的默認數據庫。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
注意:所有的數據庫名、表名、表字段都是區分大小寫的,所以在使用 SQL命令時需要輸入正確的名稱。
在控制臺輸入
show databases;
1
4. 刪除數據庫
刪除數據庫是將已經存在的數據庫從磁盤空間中清除,
在MySOL數據庫中,可以使用DROP語句刪除數據庫,其基本語法格式如下:
DROP DATABASE database_name;
1
主要參數為 database name:是要刪除的數據庫名稱,加果指定數據庫名不存在,則刪除出錯。
使用mysqladmin命令刪除數據庫book,輸入如下命令:
mysqladmin -u root -p drop book
1
使用 PHP 中的mysqli_query函數可以刪除 MySQL 數據庫。該函數有兩個參數,在執行成功時返回TRUE,否則返回FALSE。其語法格式如下:
mysqli_query(connection, query, resultmode);
1
主要參數介紹如下
connection:必需。規定要使用的MySQL連接。
query:必需。規定查詢字符串。
resultmode:可選。一個常量,可以是 MYSQLI_USE_RESULT(如果需要檢索大量數據,請使用這個)和MYSQLI_STORE_RESULT(默認)中的任意一個值。
'; $sql = ' DROP DATABASE RUNOOB'; $retval = mysqli_guery( $conn,$sql );if(! Sretval) { die('刪除數據庫失敗:'.mysqli_error($conn)); } echo "數據庫刪除成功\n" mysqli_close($conn); ?>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
MySQL 數據庫
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。