[TOC]
# 數據庫應用
數據庫是計算機應用系統中的一種專門管理數據資源的系統。數據庫就是一組經過計算機整理后的數據,存儲在一個或者多個文件中,而管理這個數據庫的軟件就稱為數據庫管理系統。
主流的軟件開發中應用數據庫有IBM的DB2,Oracle,Informix,Sybase,SQL Server,PostgreSQL,MySQL,Access,FoxPro和Teradata等。
# 數據庫在Web開發中的重要地位
動態網站都是對數據進行操作,我們平時瀏覽網頁時,會發現網頁的內容會經常變化,而頁面的主體結構框架沒變,Web系統的開發基本上都離不開數據庫,因為任何東西都要存放在數據庫中。
所謂的動態網站就是基于數據庫開發的系統,最重要的就是數據管理,或者說我們在開發時都是在圍繞數據庫在寫程序。我們再來回顧下Web工作原理:

# 為什么PHP會選擇MySQL作為自己的黃金搭檔
PHP幾乎可以使用現有的所有的數據庫系統,MySQL與其他的大型數據庫例如Oracle,DB2,SQL Server等相比,自有它的不足之處,如規模小,功能有限,但是絲毫沒有影響它受歡迎的程度。
對于一般的個人使用者和中小型企業來說,MySQL提供的功能已經綽綽有余,而且由于MySQL是開放源碼軟件,因此可以大大降低總體擁有成本。
LAMP和LNMP中的其他三個軟件也都是免費的,所以我們可以不花一分錢就可以建立起一個穩定,免費的網站系統。
# PHP和MySQL的合作方式
在同一個MySQL數據庫服務器中可以創建多個數據庫,如果把每個數據庫看成是一個“倉庫”,則網站中的內容數據就存儲在這個倉庫中,而對數據庫中數據的存取及維護等,都是通過數據庫系統軟件管理的。
同一個數據庫管理系統可以為不同的網站分別建立數據庫,但為了使網站中的數據便于維護,備份及移植,最好為一個網站創建一個數據庫。
MySQL數據庫管理系統是一種“客戶機/服務器”體系結構的管理軟件,所以必須同時使用數據庫服務器和客戶機兩個程序才能使用MySQL。
服務器程序用于監聽客戶機的請求,并根據這些請求訪問數據庫,以便向客戶機提供它們所要求的數據。而客戶機程序則必須通過網絡連接到數據庫服務器,才能向服務器提交數據操作請求。
PHP腳本程序作為MySQL服務器的客戶機程序,是通過PHP中的MySQL擴展函數,對MySQL服務器中存儲的數據進行獲取,插入,更新及刪除等操作。
# 結構化查詢語言SQL
對數據庫服務器中數據的管理,必須使用客戶機程序成功連接以后,再通過必要的操作指令對其進行操作,這種數據庫操作指令被稱為SQL(Structured Query Language)語言,即結構化查詢語言。
MySQL支持SQL作為自己的數據庫語言,SQL是一種專門用于查詢和修改數據庫里的數據,以及對數據庫進行管理和維護的標準化語言。
SQL語言結構簡潔,功能強大,簡單易學,所以自從IBM公司1981年退出以來,SQL語言得到了廣泛的應用。
無論是Oracle,Sybase,Informix,SQL Server這些大型的數據庫管理系統,還是像Visual Foxpro,PowerBuilder這些PC上常用的數據庫開發系統,都支持SQL語言作為查詢語言。
### SQL語言包含四個部分:
* 數據定義語言(**DDL**):用于定義和管理數據對象,包括數據庫,數據表等。例如:`CREATE`,`DROP`,`ALTER`等。
* 數據操作語言(**DML**):用于操作數據庫對象中所包含的數據。例如:`INSERT`,`UPDATE`,`DELETE`語句。
* 數據查詢語言(**DQL**):用于查詢數據庫對象中所包含的數據,能夠進行單表查詢,連接查詢,嵌套查詢,以及集合查詢等各種復雜程度不同的數據庫查詢,并將數據返回客戶機中顯示。例如:`SELETE`
* 數據控制語言(**DCL**):是用來管理數據庫的語言,包括管理權限及數據更改。例如:`GRANT`,`REVOKE`,`COMMIT`,`ROLLBACK`等。
# MySQL數據庫的連接與關閉
```
mysql –h 服務器主機地址 –u 用戶名 –p 用戶密碼
```
只有客戶機所在的主機被授予權限才能去連接MySQL服務器。
> 注意:
1.每個SQL命令都需要使用分號來完成
2.可以將一行命令拆成多行
3.可以通過\c來取消本行命令
4.可以通過\q、exit、ctrl+c或者quit來退出當前客戶端
### 我們可以使用help命令來查詢快捷鍵:
將查詢后的數據立起來:\G
取消當前未完成的操作:\c
退出當前客戶端:\q
顯示當前服務器狀態:\s
顯示幫助信息:\h(同help命令)
更改執行符:\d
# 創建新用戶并授權
```
GRANT 權限 ON 數據庫.數據表 TO 用戶名@登錄主機 IDENTIFIED BY “密碼”
```
例如:
添加一個新用戶名為lijie,密碼為字符串“jiege”。讓他可以在任何主機上登錄,并對所有數據庫有查詢、插入、修改、刪除的權限。首先要以root用戶登錄,然后輸入以下命令:
```
GRANT SELECT,INSERT,UPDATE,DELETE ON *.* TO lisi@”%” IDENTIFIED BY “123”
```
# 創建數據庫
* 建立數據庫:
```
CREATE DATABASE [IF NOT EXISTS] 數據庫名稱;
```
* 刪除數據庫:
```
DROP DATABASE [IF EXISTS] 數據庫名稱;
```
* 顯示當前數據庫服務器下的所有數據庫列表:
```
SHOW DATABASES;
```
* 選擇數據庫:
```
USE 數據庫名稱;
```
> 注意:
1.MySQL數據庫中命令不區分大小寫。
2.每創建一個數據庫,就會在data目錄下創建一個以此數據庫名稱命名的文件夾。
3.在Windows下,數據庫名稱也是不區分大小寫的,但在Linux下,數據庫名稱嚴格區分大小寫。
# 創建數據表
* 簡單的創建數據表語法:
```
CREATE TABLE [IF NOT EXISTS] 表名稱(字段1信息,字段2信息…字段N信息)[ENGINE=MyISAM DEFAULT CHARSET=UTF8];
```
* 刪除數據表:
```
DROP TABLE [IF EXISTS] 數據表名稱;
```
* 修改表結構:
```
ALTER TABLE 數據表名稱 相關操作;
```
# 數據表內容的簡單管理
* 插入數據:
```
INSERT INTO 表名稱[(字段名稱)] VALUE(前面字段對應的值);
```
* 查詢數據:
```
SELECT 字段名稱1,字段名稱2,… FROM 表名稱
```
* 更改數據:
```
UPDATE 數據表 set 字段名稱=新修改的值 [WHERE 條件]
```
* 刪除數據:
```
DELETE FROM 表名稱 [WHERE 條件]
```
- 前言
- Ⅰ.PHP基礎知識
- 1.PHP基本語法(一)
- 2.PHP基本語法(二)
- 3.流程控制結構
- 4.PHP函數
- 5.數組
- 6.字符串
- 7.PHP正則表達式
- 8.PHP的日期和時間
- 9.GD庫圖像處理
- 10.文件處理系統
- 11.文件上傳和下載
- 12.數據庫之MySQL(概述)
- Ⅱ.ThinkPHP5入門實踐
- 一、先看到頁面
- 1.1只展示頁面
- 1.2給視圖傳遞數據
- 1.3使用公共模板
- 1.4使用模板布局
- 二、簡單的數據庫操作
- (1)查
- (2)增
- (3)改
- (4)刪
- (5)鏈式操作
- 三、初級-階段性綜合應用
- (1)注冊
- (2)登錄
- 四、各種基本操作
- 1.操作Session
- 2.操作Cookie
- 3.文件上傳
- 五、富文本編輯器
- 集成wangEditor
- 集成UEditor
- 六、驗證碼
- 圖片驗證碼
- Ⅲ.常用類庫的使用
- 一、PHPExcel表格導入
- 二、PHPExcel表格導出
- 三、阿里大于短信驗證碼
- 四、時間戳操作Time
- 五、郵件發送
- 六、PHP操作Python
- Ⅳ.實例講解
- 一、病房管理系統
- 寫在前面
- 1.引導頁
- 2.公共模板
- 3.登錄
- 4.功能引導頁集合
- 5.修改密碼
- 6.員工信息注冊
- 7.員工信息更新
- 8.員工信息刪除
- 9.病人信息注冊
- 10.病人信息更新
- 11.出院手續辦理
- 12.病人信息刪除
- 13.科室信息查詢
- 14.醫護信息查詢
- 15.病房信息查詢
- 16.病歷信息查詢
- 加群驗證
- 必看推薦閱讀【不斷更新】