Tổng quan về MySQL
MySQL có một số đặc điểm nổi bật sau đây:
- MySQL là hệ cơ sở dữ liệu sử dụng cho web.
- MySQL hoạt động trên một máy chủ (server).
- MySQL phù hợp cho ứng dụng nhỏ và lớn.
- MySQL sử dụng cú pháp SQL.
- MySQL rất nhanh và dễ dàng sử dụng.
- MySQL hỗ trợ nhiều nền tảng khác nhau như Windows, Linux, ...
- MySQL có phiên bản hoàn toàn miễn phí và có phiên bản trả phí.
Dữ liệu trong MySQL được lưu trữ dưới dạng bảng. Mỗi bảng là tập hợp các dữ liệu có quan hệ với nhau chứa các dòng và cột.
Ví dụ trong công ty cần quản lý nhân viên. Tương ứng sẽ có table Employee đơn giản như sau:
ID | Name | Gender | Salary |
1 | Nguyen Van A | Male | 3.000.000 |
2 | Nguyen Van B | Male | 5.000.000 |
3 | Nguyen Van C | Male | 10.000.000 |
Thao tác với MySQL trong PHP
Connect
Với bất kì hệ quản trị cơ sở dữ liệu nào, để bắt đầu làm việc được với nó thì đầu tiên phải connect với hệ quản trị database đó.
Trong PHP mở connect như sau:
$conn = mysqli_connect("servername", "username", "password", "dbname");
Giải thích: Hàm mysqli_connect
sẽ mở một connect tới MySQL với các tham số như sau:
- Tham số thứ 1:
Servername
, nếu đang test ở local truyền vàolocalhost
. - Tham số thứ 2:
Username
của database. - Tham số thứ 3:
Password
của database. - Tham số thứ 4: database muốn làm việc, mọi câu truy vấn sẽ thực thi trên database này. Lưu ý, tham số này có thể chưa cần truyền nếu muốn tạo mới database.
Có thể chọn database muốn thao tác bằng cách sử dụng câu lệnh mysqli_select_db
mysqli_select_db("connect", "dbname");
Với tham số lần lượt là biến connect
và tên database
.
Luôn luôn kiểm tra connect trước khi thao tác với MySQL.
if(!$conn) { echo "Connect Failed!". mysqli_connect_error($conn); } else { echo "Successful"; }
Hàm mysqli_connect_error($conn) sẽ trả về lỗi nếu connect thất bại.
Tạo connect
$servername = 'localhost'; $username = 'root'; $password = ''; $conn = mysqli_connect($servername, $username, $password); if(!$conn) { echo "Connect Failed!". mysqli_connect_error($conn); } else { echo "Successsful"; }
Do đang test ở môi trường local nên:
$servername = 'localhost'
$username = 'root'
$password = ''
.
Create database
Sau khi connect thành công đến MySQL thì hoàn toàn có quyền thực thi các thao tác trên nó.
Mỗi thao tác cần tạo 1 câu truy vấn SQL mà sử dụng hàm mysqli_query
để thực thì câu truy vấn đó xuống MySQL.
Tạo 1 database có tên là QuanLyNhanVien
$sql = "CREATE DATABASE QuanLyNhanVien"; mysqli_query($conn, $sql);
Những thao tác như insert, update, delete hoàn toàn tương tự.
Vào phpMyAdmin
sẽ thấy một database có tên QuanLySinhVien
được tạo ra.
Create table
Tạo table có tên là Employee
gồm các cột là Id
tự tăng, Name
, Gender
, Salary
Tạo câu truy vấn
$dbname = 'QuanLyNhanVien'; mysqli_select_db($conn, $dbname); $sqlTable = "CREATE TABLE Employee( Id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, Name VARCHAR(100) NOT NULL, Gender VARCHAR(5) NOT NULL, Salary DECIMAL NOT NULL )";
Thực thi câu truy vấn
mysqli_query($conn, $sqlTable);
Kết quả sau khi thực thi câu truy vấn
![](https://resources.stdio.vn/content/article/5ef62dae5ef9e26f89a5c792/resources/res-1599137642-1599137642444.png)
Insert
$sqlInsert = "INSERT INTO Employee(Name, Gender, Salary) VALUES ('Nguyen Van A', 'Male', 80000)";
Và thực thi câu truy vấn.
mysqli_query($conn, $sqlInsert);
Select
Tạo câu truy vấn select. Lấy về tất cả các trường dữ liệu và tất cả các dòng có trong table Employee
.
$sqlSelect = "SELECT * FROM Employee";
Thực thi câu truy vấn trả về $result
$result = mysqli_query($conn, $sqlSelect);
Khác với những lần thực thi truy vấn khác thì đối với select
cần trả về $result
để có thể lấy ra thông tin như dưới đây:
if(mysqli_num_rows($result) > 0) { while ($row = mysqli_fetch_assoc($result)) { echo $row['Id'].','.$row['Name'].','.$row['Gender'].','.$row['Salary']; echo "<br />"; } }
Giải thích:
Dòng 1: Hàm mysqli_num_rows($result)
lấy về tổng số dòng lấy được khi thực thi câu truy vấn select
. Nếu kết quả trả về > 0
sẽ lấy ra data của từng dòng.
Dòng 3: mysqli_fetch_assoc($result)
sẽ trả đổ dữ liệu của 1 dòng trong Employee
vào mảng $row
.
Dòng 5: Xuất các thông tin ra màn hình.
Update
Viết câu truy vấn update lương cho nhân viên có Id = 1
lên 10.000.000
.
$sqlUpdate = "UPDATE Employee SET Salary= 10000000 WHERE Id = 1";
Thực thi câu truy vấn update
mysqli_query($conn, $sqlUpdate);
Delete
Câu truy vấn xóa nhân viên có id = 1
ra khỏi table Employee.
$sqlDelte = "DELETE FROM Employee WHERE id = 1";
Thực thi câu truy vấn để thực hiện delete.
mysqli_query($conn, $sqlDelte);
Close Connect
Sau khi thao tác xong với database. Đóng connect.
mysqli_close($conn);