您好,登錄后才能下訂單哦!
一.Web數據庫概述
現在,我們已經熟悉了PHP的基礎知識,這是我們想暫時離開PHP一章,來重點介紹一下關系型數據庫,讓大家了解數據庫比文件儲存的有點。這些優點包括:
1.關系型數據庫比普通文件的數據訪問速度更快。
2.關系型數據庫更容易查閱并提取滿足特定條件的數據。
3.關系型數據庫更具有專門的內置機制處理并發訪問,作為程序員,不需要為此擔心。
4.關系型數據庫可以提供對數據的隨即訪問。
5.關系型數據庫具有內置的權限系統。
關系數據庫的概念
至今為止,關系數據庫是最常用的數據庫類型。在關系代數方面,它們具有很好的理論基礎。當使用關系數據庫的時候,并不需要了解關系理論(這是一件好事),但是還是需要理解一些關于數據庫的基本概念。
1)表格
關系數據庫由關系組成,這些關系通常稱為表格。顧名思義,一個關系就是一個數據的表格。電子數據表就是一種表格。
編號 | 姓名 | 地址 | 電話 |
1 | 周杰倫 | 臺灣高雄 | 0323839233 |
2 | 陳道明 | 大陸上海 | 0212324534 |
3 | 李炎恢 | 大陸鹽城 | 0152343434 |
2)列
表中的每一列都有惟一的名稱,包含不同的數據。此外,每一列都有一個相關的數據類型。
3)行
表中的每一行代表一個客戶。每一行具有相同的格式,因而也具有相同的屬性。行也成為記錄。
4)值
每一行由對應每一列的單個值組成。每個值必須與該列定義的數據類型相同。
5)鍵
每一條數據所對應的唯一的標識。
6)模式
數據庫整套表格的完整設計成為數據庫的模式。
7)關系
外鍵標識兩個表格數據的關系。
如何設計Web數據庫
1)考慮要建模的實際對象。
2)避免保存冗余數據。
3)使用原子列值(對每一行的每個屬性只存儲一個數據。)
4)選擇有意義的鍵。
5)考慮需要詢問數據庫的問題。
6)避免多個空屬性的設計
Web數據庫架構
瀏覽器和Web服務器之間的通信:
瀏覽器和PHP&MySQL服務器之間的通信
1)用戶的Web瀏覽器發出HTTP請求,請求特定Web頁面。
2)Web服務器收到.php的請求獲取該文件,并將它傳到PHP引擎,要求它處理。
3)PHP引擎開始解析腳本。腳本中有一條連接數據庫的命令,還有執行一個查詢的命令。PHP打開通向MYSQL數據庫的連接,發送適當的查詢。
4)MYSQL服務器接收數據庫查詢并處理。將結果返回到PHP引擎。
5)PHP以你去哪干完成腳本運行,通常,這包括將查詢結果格式化成HTML格式。然后再輸出HTML返回到Web服務器。
6)Web服務器將HTML發送到瀏覽器。
二.MySQL操作
登錄到MySQL
1)打開MySQL Command Line Client
2)輸入root的設置密碼
MySQL常規命令
1)顯示當前數據庫的版本號和日期。
SELECT VERSION(),CURRENT_DATE();
2)通過AS關鍵字設置字段名。
SELECT VERSION() AS version; //可設置中文,通過單引號
3)通過SELECT 執行返回計算結果
SELECT (20+5)*4;
4)通過多行實現數據庫的使用者和日期
>SELECT
>USER()
>,
>NOW()
>;
5)通過一行顯示數據庫使用者和日期
>SELECT USER();SELECT NOW();
6)命令的取消
>\c
7)MySQL窗口的退出
>exit;
MySQL常用數據類型
整數型:TINYINT,SMALLINT,INT,BIGINT
浮點型:FLOAT,DOUBLE,DECIMAL(M,D)
字符型:CHAR,VARCHAR
日期型:DATETIME,DATE,TIMESTAMP
備注型:TINYTEXT,TEXT,LONGTEXT
日期型
列類型 | “零”值 |
DATETIME | '0000-00-00 00:00:00' |
DATE | '0000-00-00' |
TIMESTAMP | 00000000000000 |
TIME | '00:00:00' |
YEAR | 0000 |
字符串型
值 | CHAR(4) | 存儲需求 | VARCHAR(4) | 存儲需求 |
'' | ' ' | 4個字節 | '' | 1個字節 |
'ab' | 'ab ' | 4個字節 | 'ab ' | 3個字節 |
'abcd' | 'abcd' | 4個字節 | 'abcd' | 5個字節 |
'abcdefgh' | 'abcd' | 4個字節 | 'abcd' | 5個字節 |
整數型
類型 | 字節 | 最小值 | 最大值 |
(帶符號的/無符號的) | (帶符號的/無符號的) | ||
TINYINT | 1 | -128 | 127 |
0 | 255 | ||
SMALLINT | 2 | -32768 | 32767 |
0 | 65535 | ||
MEDIUMINT | 3 | -8388608 | 8388607 |
0 | 16777215 | ||
INT | 4 | -2147483648 | 2147483647 |
0 | 4294967295 | ||
BIGINT | 8 | -9223372036854775808 | 9223372036854775807 |
0 | 18446744073709551615 |
整數型
類型 | 字節 | 最小值 | 最大值 |
FLOAT | 4 | +-1.175494351E-38 | +-3.402823466E+38 |
DOUBLE | 8 | +-2.2250738585072014E-308 | +-1.7976931348623157E+308 |
DECIMAL | 可變 | 它的取值范圍可變。 |
備注型
類型 | 描述 |
TINYTEXT | 字符串,最大長度255個字符 |
TEXT | 字符串,最大長度65535個字符 |
MEDIUMTEXT | 字符串,最大長度16777215個字符 |
LONGTEXT | 字符串,最大長度4294967295個字符 |
MySQL數據庫操作
1)顯示當前存在的數據庫
>SHOW DATABASES;
2)選擇你所需要的數據庫
>USE guest;
3)查看當前所選擇的數據庫
>SELECT DATABASE();
4)查看一張表的所有內容
>SELECT * FROM guest; //可以先通過SHOW TABLES;來查看有多少張表
5)根據數據庫設置中文編碼
>SET NAMES gbk; //set names utf8;
6)創建一個數據庫
>CREATE DATABASE book;
7)在數據庫里創建一張表
>CREATE TABLE users (
>username VARCHAR(20), //NOT NULL 設置不允許為空
>sex CHAR(1),
>birth DATETIME);
8)顯示表的結構
>DESCIRBE users;
9)給表插入一條數據
>INSERT INTO users (username,sex,birth) VALUES ('Lee','x',NOW());
10)篩選指定的數據
> SELECT * FROM users WHERE username = 'Lee';
11)修改指定的數據
>UPDATE users SET sex = '男' WHERE username='Lee';
12)刪除指定的數據
> DELETE FROM users WHERE username='Lee';
13)按指定的數據排序
> SELECT * FROM users ORDER BY birth DESC; //正序
14)刪除指定的表
>DROP TABLE users;
15)刪除指定的數據庫
>DROP DATABASE book;
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。