溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

PHP MySQL數(shù)據(jù)庫一

發(fā)布時間:2020-07-20 06:11:44 來源:網(wǎng)絡(luò) 閱讀:478 作者:菜鳥不菜么 欄目:web開發(fā)

一.Web數(shù)據(jù)庫概述

 

現(xiàn)在,我們已經(jīng)熟悉了PHP的基礎(chǔ)知識,這是我們想暫時離開PHP一章,來重點介紹一下關(guān)系型數(shù)據(jù)庫,讓大家了解數(shù)據(jù)庫比文件儲存的有點。這些優(yōu)點包括:

1.關(guān)系型數(shù)據(jù)庫比普通文件的數(shù)據(jù)訪問速度更快。

2.關(guān)系型數(shù)據(jù)庫更容易查閱并提取滿足特定條件的數(shù)據(jù)。

3.關(guān)系型數(shù)據(jù)庫更具有專門的內(nèi)置機制處理并發(fā)訪問,作為程序員,不需要為此擔(dān)心。

4.關(guān)系型數(shù)據(jù)庫可以提供對數(shù)據(jù)的隨即訪問。

5.關(guān)系型數(shù)據(jù)庫具有內(nèi)置的權(quán)限系統(tǒng)。

 

關(guān)系數(shù)據(jù)庫的概念

至今為止,關(guān)系數(shù)據(jù)庫是最常用的數(shù)據(jù)庫類型。在關(guān)系代數(shù)方面,它們具有很好的理論基礎(chǔ)。當使用關(guān)系數(shù)據(jù)庫的時候,并不需要了解關(guān)系理論(這是一件好事),但是還是需要理解一些關(guān)于數(shù)據(jù)庫的基本概念。

1)表格

關(guān)系數(shù)據(jù)庫由關(guān)系組成,這些關(guān)系通常稱為表格。顧名思義,一個關(guān)系就是一個數(shù)據(jù)的表格。電子數(shù)據(jù)表就是一種表格。

編號

姓名

地址

電話

1

周杰倫

臺灣高雄

0323839233

2

陳道明

大陸上海

0212324534

3

李炎恢

大陸鹽城

0152343434

 

2)

表中的每一列都有惟一的名稱,包含不同的數(shù)據(jù)。此外,每一列都有一個相關(guān)的數(shù)據(jù)類型。

3)

表中的每一行代表一個客戶。每一行具有相同的格式,因而也具有相同的屬性。行也成為記錄。

4)

每一行由對應(yīng)每一列的單個值組成。每個值必須與該列定義的數(shù)據(jù)類型相同。

5)

每一條數(shù)據(jù)所對應(yīng)的唯一的標識。

6)模式

數(shù)據(jù)庫整套表格的完整設(shè)計成為數(shù)據(jù)庫的模式。

7)關(guān)系

外鍵標識兩個表格數(shù)據(jù)的關(guān)系。

 

如何設(shè)計Web數(shù)據(jù)庫

1)考慮要建模的實際對象。

2)避免保存冗余數(shù)據(jù)。

3)使用原子列值(對每一行的每個屬性只存儲一個數(shù)據(jù)。)

4)選擇有意義的鍵。

5)考慮需要詢問數(shù)據(jù)庫的問題。

6)避免多個空屬性的設(shè)計

 

Web數(shù)據(jù)庫架構(gòu)

瀏覽器和Web服務(wù)器之間的通信:

PHP MySQL數(shù)據(jù)庫一PHP MySQL數(shù)據(jù)庫一PHP MySQL數(shù)據(jù)庫一 

PHP MySQL數(shù)據(jù)庫一 

 

PHP MySQL數(shù)據(jù)庫一PHP MySQL數(shù)據(jù)庫一 

 

 

PHP MySQL數(shù)據(jù)庫一PHP MySQL數(shù)據(jù)庫一PHP MySQL數(shù)據(jù)庫一PHP MySQL數(shù)據(jù)庫一PHP MySQL數(shù)據(jù)庫一PHP MySQL數(shù)據(jù)庫一PHP MySQL數(shù)據(jù)庫一PHP MySQL數(shù)據(jù)庫一PHP MySQL數(shù)據(jù)庫一PHP MySQL數(shù)據(jù)庫一PHP MySQL數(shù)據(jù)庫一PHP MySQL數(shù)據(jù)庫一PHP MySQL數(shù)據(jù)庫一瀏覽器和PHP&MySQL服務(wù)器之間的通信

 

PHP MySQL數(shù)據(jù)庫一PHP MySQL數(shù)據(jù)庫一PHP MySQL數(shù)據(jù)庫一 

 

1)用戶的Web瀏覽器發(fā)出HTTP請求,請求特定Web頁面。

2)Web服務(wù)器收到.php的請求獲取該文件,并將它傳到PHP引擎,要求它處理。

3)PHP引擎開始解析腳本。腳本中有一條連接數(shù)據(jù)庫的命令,還有執(zhí)行一個查詢的命令。PHP打開通向MYSQL數(shù)據(jù)庫的連接,發(fā)送適當?shù)牟樵儭?/span>

4)MYSQL服務(wù)器接收數(shù)據(jù)庫查詢并處理。將結(jié)果返回到PHP引擎。

5)PHP以你去哪干完成腳本運行,通常,這包括將查詢結(jié)果格式化成HTML格式。然后再輸出HTML返回到Web服務(wù)器。

6)Web服務(wù)器將HTML發(fā)送到瀏覽器。

 

二.MySQL操作

 

登錄到MySQL

1)打開MySQL Command Line Client

2)輸入root的設(shè)置密碼

 

MySQL常規(guī)命令

1)顯示當前數(shù)據(jù)庫的版本號和日期。

SELECT VERSION(),CURRENT_DATE();

2)通過AS關(guān)鍵字設(shè)置字段名。

SELECT VERSION() AS version;  //可設(shè)置中文,通過單引號

3)通過SELECT 執(zhí)行返回計算結(jié)果

SELECT (20+5)*4;

4)通過多行實現(xiàn)數(shù)據(jù)庫的使用者和日期

>SELECT

>USER()

>,

>NOW()

>;

5)通過一行顯示數(shù)據(jù)庫使用者和日期

>SELECT USER();SELECT NOW();

6)命令的取消

>\c

7)MySQL窗口的退出

>exit;

 

MySQL常用數(shù)據(jù)類型

整數(shù)型:TINYINT,SMALLINTINT,BIGINT

浮點型:FLOAT,DOUBLE,DECIMAL(M,D)

字符型:CHARVARCHAR

日期型:DATETIME,DATETIMESTAMP

備注型:TINYTEXT,TEXTLONGTEXT

 

 

日期型

列類型

DATETIME

'0000-00-00 00:00:00'

DATE

'0000-00-00'

TIMESTAMP

00000000000000

TIME

'00:00:00'

YEAR

0000

 

 

字符串型

CHAR(4)

存儲需求

VARCHAR(4)

存儲需求

''

'    '

4個字節(jié)

''

1個字節(jié)

'ab'

'ab  '

4個字節(jié)

'ab '

3個字節(jié)

'abcd'

'abcd'

4個字節(jié)

'abcd'

5個字節(jié)

'abcdefgh'

'abcd'

4個字節(jié)

'abcd'

5個字節(jié)

 

 

整數(shù)型

類型

字節(jié)

最小值

最大值



(帶符號的/無符號的)

(帶符號的/無符號的)

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

 

整數(shù)型

類型

字節(jié)

最小值

最大值

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數(shù)據(jù)庫操作

1)顯示當前存在的數(shù)據(jù)庫

>SHOW DATABASES;

2)選擇你所需要的數(shù)據(jù)庫

>USE guest;

3)查看當前所選擇的數(shù)據(jù)庫

>SELECT DATABASE();

4)查看一張表的所有內(nèi)容

>SELECT * FROM guest;   //可以先通過SHOW TABLES;來查看有多少張表

5)根據(jù)數(shù)據(jù)庫設(shè)置中文編碼

>SET NAMES gbk;   //set names utf8;

6)創(chuàng)建一個數(shù)據(jù)庫

>CREATE DATABASE book;

7)在數(shù)據(jù)庫里創(chuàng)建一張表

>CREATE TABLE users (

>username VARCHAR(20),   //NOT NULL 設(shè)置不允許為空

>sex CHAR(1),

>birth DATETIME);

8)顯示表的結(jié)構(gòu)

>DESCIRBE users;

9)給表插入一條數(shù)據(jù)

>INSERT INTO users (username,sex,birth) VALUES ('Lee','x',NOW());

10)篩選指定的數(shù)據(jù)

> SELECT * FROM users WHERE username = 'Lee';

11)修改指定的數(shù)據(jù)

>UPDATE users SET sex = '' WHERE username='Lee';

12)刪除指定的數(shù)據(jù)

> DELETE FROM users WHERE username='Lee';

13)按指定的數(shù)據(jù)排序

> SELECT * FROM users ORDER BY birth DESC;  //正序

14)刪除指定的表

>DROP TABLE users;

15)刪除指定的數(shù)據(jù)庫

>DROP DATABASE book;

 


 


向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI