TsaiChihWei / learning-blog

1 stars 0 forks source link

[筆記] PHP & MySQL #21

Open TsaiChihWei opened 4 years ago

TsaiChihWei commented 4 years ago

此篇內容引用並改寫自 [week9] 給自己看的 PHP 和 MySQL 溝通

MySQL 是什麼?

MySQL 是一種關聯式資料庫。

關聯式資料庫

phpMyAdmin

本文使用的系統 MariaDB 是 MySQL 的分支,我們可以選擇使用 CLI 和資料庫溝通,也可以用 GUI 例如 phpmyadmin 。

基礎語法

基礎語法以大寫表示,但實際執行時小寫也可以, 資料表(table name)的反引號可以省略。

新增資料:

INSERT INTO `資料表名稱` (欄位名稱1, 欄位名稱2, 欄位名稱3, ...)
VALUES (欄位值1, 欄位值2, 欄位值3, ...);

範例:

INSERT INTO comments (nickname, username, content)
VALUES ('Leonardo', 'leo123456', 'Hi, my name is Leo.');

選取資料

一次選取所有欄位:

SELECT * FROM 資料表名稱 WHERE 條件;

選取特定欄位:

SELECT 欄位名稱1, 欄位名稱2 ... FROM 資料表名稱 WHERE 條件;

範例:

SELECT * FROM students ORDER BY grades DESC;

註:

  1. WHERE 條件為自定義條件可加可不加,若有多個條件可用 AND 或 OR 連接
  2. ORDER BY 為自定義條件可加可不加,ASC 為升冪; DESC 為降冪

更新資料

UPDATE 資料表名稱
SET 欄位名稱1 = 欄位值2, 欄位名稱2 = 欄位值2, ...
WHERE 條件;

範例:

UPDATE students
SET gender = 0, grades = 88
WHERE id = 1;

註:若更新資料沒設定條件則會影響所有被選取欄位

刪除資料

DELETE FROM 資料表名稱 WHERE 條件;

範例:

DELETE FROM students WHERE id = 6;

PHP 和資料庫連線:MySQLi

<?php
$conn = new mysqli(主機名稱, 使用者名稱, 密碼, 資料庫名稱);

// 錯誤處理
if ($conn->connect_error) {
    die('資料庫連線錯誤:' . $conn->connect_error);
}
?>

範例:

<?php
$localhost = 'localhost';
$user_name = 'wei';
$password = '1234';
$db_name = 'week9';

$conn = new mysqli($localhost, $user_name, $password, $db_name);

// 錯誤處理
if ($conn->connect_error) {
    die('資料庫連線錯誤:' . $conn->connect_error);
}

//設定檔案格式與時區
$conn->query('SET NAMES UTF8');
$conn->query('SET time_zone = "+8:00"');
?>

PHP 筆記

常用函式