Ch12 MySQL資料庫管理 網頁程式設計
大綱 認識資料庫(課本Ch11) 使用phpMyAdmin管理MySQL資料庫 認識SQL查詢(課本Ch12) 2018/12/30
認識資料庫 「資料庫」(database) 是一組相關資料的集合,這些資料之間可能具有某些關聯,允許使用者從不同的觀點來加以存取,例如學校的選課系統、公司的進銷存系統等, 下面的例子屬於「關聯式資料庫」 。 2018/12/30
透過共通欄位可以產生如下資料: MySQL資料庫伺服器的管理介面: 2018/12/30
PHP 與資料庫 PHP 提供許多連接資料庫所需的函式庫,下面是 PHP 支援的資料庫。 Adabas D DBA/DBM dBase Empress filepro IBM DB2 Informix Interbase Microsoft Access Microsoft SQL Server mSQL MySQL Oracle PostgreSQL Solid SQLite 2018/12/30
使用phpMyAdmin管理MySQL資料庫 step 1. Step 2. 2018/12/30
新增、移除、修改登入帳號與密碼 Step 1. Step 2. 2018/12/30
Step 3. Step 4. 2018/12/30
建立資料庫 2018/12/30
建立資料表 日期與時間型態 數值型態 DATE TINYINT[(M)] DATETIME SMALLINT[(M)] TIMESTAMP YEAR[(2|4)] 字串型態 CHAR(M) VARCHAR(M) TINYTEXT TEXT MEDIUMTEXT LONGTEXT TINYBLOB BLOB MEDIUMBLOB LONGBLOB 數值型態 TINYINT[(M)] SMALLINT[(M)] MEDIUNINT[(M)] INT[(M)] INTEGER[(M)] BIGINT[(M)] FLOAT(p) FLOAT[(M,D)] (單倍精確浮點數) DOUBLE[(M,D)] REAL[(M,D)] (雙倍精確浮點數) DECIMAL[(M[,D])] NUMERIC[(M[,D])] DEC[(M[,D])] 2018/12/30
建立friend_club資料表,這個資料表包含下列8個欄位:
5.
6. 7.
新增記錄
匯出資料庫 出現 [Exporting tables from "friend" database] 網頁,請依照下面的提示操作: 在 [Export Method] 欄位選取 [Custom - display all possible options]。 核取 [Add CREATE DATABASE / USE statement] 選項。 其它欄位保留預設值,按頁面最下方的 [Go]。 3.
認識SQL查詢 SQL是「Structured Query Language」的簡寫,諸如MySQL、Access、Oracle、SQL Server等關聯式資料庫均採用這個標準語言來進行資料庫查詢。 使用phpMyAdmin執行SQL指令的步驟如下:
篩選記錄 當我們想從資料表篩選記錄時,可以使用SQL指令中的SELECT陳述式,其語法如下: 例如: SELECT 欄位名稱 FROM 資料表名稱 [WHERE 搜尋子句] [ORDER BY 排序子句 {ASC|DESC}] SELECT name, nature, chinese FROM grade SELECT * FROM grade SELECT name AS 姓名, nature AS 自然 FROM grade
SELECT ... FROM ... WHERE ... 語法 (篩選) SELECT name, math FROM grade WHERE chinese > 90 SELECT name, chinese, math FROM grade WHERE chinese > 90 OR math > 90 SELECT * FROM grade WHERE chinese < 90 AND (math > 90 OR nature > 90)
SELECT ... FROM ... ORDER BY ... 語法 (排序) 有時我們會需要將篩選出來的記錄依照遞增或遞減順序來進行排序, 例如: SELECT * FROM grade ORDER BY chinese ASC SELECT * FROM grade ORDER BY chinese DESC SELECT * FROM grade ORDER BY chinese DESC, math DESC
SELECT ... LIMIT語法 (設定最多傳回筆數) 有時符合查詢條件的記錄可能有很多筆,但我們並不需要看到所有記錄,只是想看看前幾筆記錄。 那麼可以加上LIMIT語法來限制最多傳回筆數, 例如: SELECT * FROM grade ORDER BY chinese DESC LIMIT 5 SELECT * FROM grade ORDER BY chinese DESC LIMIT 3, 5
新增、更新與刪除記錄 使用INSERT陳述式新增記錄 SQL指令的INSERT陳述式可以在資料表內插入新的記錄,其語法如下: 例如: INSERT INTO 資料表名稱 (欄位1, 欄位2, 欄位3…) Values (資料1, 資料2, 資料3…) INSERT INTO grade (no, name, chinese, math, nature) VALUES ('A8608011', '小丸子', 88, 95, 92)
使用UPDATE陳述式更新記錄 SQL指令的UPDATE陳述式可以更新資料表內現有的記錄,其語法如下: 例如: UPDATE 資料表名稱 SET 欄位1 = 資料1, 欄位2 = 資料2… WHERE 條件 UPDATE grade SET name = '張小毛', nature = 100 WHERE no = 'A8608011'
使用DELETE陳述式刪除記錄 SQL指令的DELETE陳述式可以刪除資料表內現有的記錄,其語法如下: 例如: DELETE FROM 資料表名稱 WHERE 條件 DELETE FROM grade WHERE nature < 85 AND math < 85
建立與刪除資料庫 / 資料表 建立資料庫 SQL指令的CREATE DATABASE陳述式可以建立資料庫,其語法如下: 例如: DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci CREATE DATABASE web_database DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci
刪除資料庫 SQL指令的DROP DATABASE陳述式可以刪除資料庫,其語法如下: 例如: DROP DATABASE 資料庫名稱 DROP DATABASE web_database
建立資料表 SQL指令的CREATE TABLE陳述式可以建立新的資料表,其語法如下: 例如: CREATE TABLE 資料表名稱 (欄位名稱1 資料型態 [欄位選項][, 欄位名稱2 資料型態 [欄位選項] …… [, 欄位名稱n 資料型態 [欄位選項]]][, PRIMARY KEY (欄位名稱)]) CREATE TABLE email (address TEXT NOT NULL)
刪除資料表 SQL指令的DROP TABLE陳述式可以刪除資料表,其語法如下: 例如: DROP TABLE 資料表名稱 DROP TABLE guestbook