Sql trong php

Trước khi thao tác với dữ liệu trong cơ sở dữ liệu (ví dụ. MySQL), chúng ta cần tạo cơ sở dữ liệu. Lệnh CREATE DATABASE được sử dụng để tạo cơ sở dữ liệu mới trong MySQL

Chúng ta hãy tạo một truy vấn SQL bằng cách sử dụng câu lệnh CREATE DATABASE, sau đó chúng ta sẽ thực hiện truy vấn SQL này thông qua việc chuyển nó đến hàm mysqli_query() của PHP để cuối cùng tạo ra cơ sở dữ liệu của

1. Tạo cơ sở dữ liệu MySQL bằng MySQLi

2. Tạo bảng bên trong cơ sở dữ liệu MySQL bằng PHP

Chúng ta sẽ sử dụng câu lệnh SQL là CREATE TABLE để tạo bảng trong cơ sở dữ liệu

Chúng ta hãy thử tạo một truy vấn SQL bằng cách sử dụng câu lệnh CREATE TABLE, sau đó chúng ta sẽ thực hiện truy vấn SQL này thông qua việc chuyển nó đến hàm mysqli_query() của PHP để cuối cùng tạo bảng như chúng ta muốn

Đoạn mã PHP trong ví dụ về việc tạo ra một bảng có tên khách hàng với bốn cột id, first_name, last_name và email bên trong cơ sở dữ liệu demo

Lưu ý rằng mỗi tên trường được theo sau bởi một loại dữ liệu khai báo. Khai báo này chỉ định loại dữ liệu mà cột có thể giữ nguyên, cho dù là kiểu số nguyên, chuỗi, ngày, v. v

Có một vài ràng buộc bổ sung (còn được gọi là bổ sung) được chỉ định sau tên cột trong câu lệnh SQL trước đó, chẳng hạn như NOT NULL (Không null), PRIMARY KEY (Khóa chính), AUTO_INCREMENT (Tự động tăng), . v

Các ràng buộc này xác định các quy tắc liên quan đến các giá trị được cho phép trong các cột

3. Hãy thử tạo bảng của cơ sở dữ liệu của bạn trong MySQL

Đến đây bạn đã được hướng dẫn kết nối CSDL, tạo CSDL trên máy chủ MySQL và tạo bảng CSDL trong CSDL MySQL của mình

Hãy thử thực hiện lại tất cả các bước này để tạo Bảng cơ sở dữ liệu của riêng bạn phục vụ cho một nhu cầu nào đó, ví dụ:. Bảng CSDL lưu trữ thông tin sản phẩm, Bảng CSDL lưu trữ danh mục sản phẩm, Bảng CSDL lưu trữ thông tin đơn hàng,…

Ví dụ sau đây truy xuất các cột id, firstname và lastname từ bảng MyGuests và hiển thị nó trên trang

connect_error) {
  die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
  // output data of each row
  while($row = $result->fetch_assoc()) {
    echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "
"; } } else { echo "0 results"; } $conn->close(); ?>

This is results

id: 1 - Name: John Doe
id: 2 - Name: Mary Moe
id: 3 - Name: Julie Dooley

Đầu tiên, chúng tôi tạo một truy vấn SQL truy xuất các cột id, tên và họ từ bảng MyGuests. Dòng mã tiếp theo sẽ thực hiện truy vấn và lưu dữ liệu kết quả vào biến

id: 1 - Name: John Doe
id: 2 - Name: Mary Moe
id: 3 - Name: Julie Dooley
4

Sau đó, hàm

id: 1 - Name: John Doe
id: 2 - Name: Mary Moe
id: 3 - Name: Julie Dooley
5 sẽ kiểm tra dữ liệu được trả về hay không

Nếu có thì hàm

id: 1 - Name: John Doe
id: 2 - Name: Mary Moe
id: 3 - Name: Julie Dooley
6 sẽ gán tất cả kết quả vào một mảng kết hợp mà chúng ta có thể duyệt qua. Vòng lặp
id: 1 - Name: John Doe
id: 2 - Name: Mary Moe
id: 3 - Name: Julie Dooley
7 sẽ duyệt qua kết quả tệp và hiển thị các cột id, tên và họ trên trang

Ví dụ sau đây tương tự như ví dụ trên, nhưng nó sử dụng MySQLi thủ tục

________số 8

This is results

id: 1 - Name: John Doe
id: 2 - Name: Mary Moe
id: 3 - Name: Julie Dooley

Truy xuất dữ liệu với PDO

Ví dụ sau sử dụng PDO để truy xuất dữ liệu

0

This is results

id: 1 - Name: John Doe
id: 2 - Name: Mary Moe
id: 3 - Name: Julie Dooley

Lọc dữ liệu từ cơ sở dữ liệu MySQL

Mệnh đề WHERE được sử dụng để lọc các bản ghi trả lời một điều kiện cụ thể

2

Lọc dữ liệu với MySQLi

Ví dụ sau đây truy xuất các cột id, firstname và lastname từ bảng MyGuests những người có họ là "Doe" và hiển thị nó trên trang

3

This is results

4

Đầu tiên, chúng tôi tạo truy vấn SQL truy xuất các cột id, tên và họ từ bảng MyGuests những người có họ là "Doe". Dòng mã tiếp theo sẽ thực hiện truy vấn và lưu dữ liệu kết quả vào biến

id: 1 - Name: John Doe
id: 2 - Name: Mary Moe
id: 3 - Name: Julie Dooley
4

Sau đó, hàm

id: 1 - Name: John Doe
id: 2 - Name: Mary Moe
id: 3 - Name: Julie Dooley
5 sẽ kiểm tra dữ liệu được trả về hay không

Nếu có thì hàm

id: 1 - Name: John Doe
id: 2 - Name: Mary Moe
id: 3 - Name: Julie Dooley
6 sẽ gán tất cả kết quả vào một mảng kết hợp mà chúng ta có thể duyệt qua. Vòng lặp
id: 1 - Name: John Doe
id: 2 - Name: Mary Moe
id: 3 - Name: Julie Dooley
7 sẽ duyệt qua kết quả tệp và hiển thị các cột id, tên và họ trên trang

Ví dụ sau đây tương tự như ví dụ trên, nhưng nó sử dụng MySQLi thủ tục

________số 8

This is results

4

Filter data with PDO

Ví dụ sau sử dụng PDO để truy xuất dữ liệu

connect_error) {
  die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
  // output data of each row
  while($row = $result->fetch_assoc()) {
    echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "
"; } } else { echo "0 results"; } $conn->close(); ?>
2

This is results

4

Sắp xếp dữ liệu từ cơ sở dữ liệu MySQL

Lệnh ORDER BY được sử dụng để sắp xếp các bản ghi theo thứ tự tăng dần (ASC) theo mặc định. Để sắp xếp các bản ghi theo thứ tự giảm dần, hãy sử dụng từ khóa DESC

connect_error) {
  die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
  // output data of each row
  while($row = $result->fetch_assoc()) {
    echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "
"; } } else { echo "0 results"; } $conn->close(); ?>
4

Sắp xếp dữ liệu với MySQLi

Ví dụ sau đây truy xuất các cột id, firstname và lastname từ bảng MyGuests theo thứ tự họ tăng dần và hiển thị nó trên trang

connect_error) {
  die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
  // output data of each row
  while($row = $result->fetch_assoc()) {
    echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "
"; } } else { echo "0 results"; } $conn->close(); ?>
5

This is results

connect_error) {
  die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
  // output data of each row
  while($row = $result->fetch_assoc()) {
    echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "
"; } } else { echo "0 results"; } $conn->close(); ?>
6

Đầu tiên, chúng tôi tạo một truy vấn SQL truy xuất các cột id, tên và họ từ bảng MyGuests theo thứ tự họ tăng dần. Dòng mã tiếp theo sẽ thực hiện truy vấn và lưu dữ liệu kết quả vào biến

id: 1 - Name: John Doe
id: 2 - Name: Mary Moe
id: 3 - Name: Julie Dooley
4

Sau đó, hàm

id: 1 - Name: John Doe
id: 2 - Name: Mary Moe
id: 3 - Name: Julie Dooley
5 sẽ kiểm tra dữ liệu được trả về hay không

Nếu có thì hàm

id: 1 - Name: John Doe
id: 2 - Name: Mary Moe
id: 3 - Name: Julie Dooley
6 sẽ gán tất cả kết quả vào một mảng kết hợp mà chúng ta có thể duyệt qua. Vòng lặp
id: 1 - Name: John Doe
id: 2 - Name: Mary Moe
id: 3 - Name: Julie Dooley
7 sẽ duyệt qua kết quả tệp và hiển thị các cột id, tên và họ trên trang

Ví dụ sau đây tương tự như ví dụ trên, nhưng nó sử dụng MySQLi thủ tục

________số 8

This is results

connect_error) {
  die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
  // output data of each row
  while($row = $result->fetch_assoc()) {
    echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "
"; } } else { echo "0 results"; } $conn->close(); ?>
6

Sắp xếp dữ liệu với PDO

Ví dụ sau sử dụng PDO để truy xuất dữ liệu

connect_error) {
  die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
  // output data of each row
  while($row = $result->fetch_assoc()) {
    echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "
"; } } else { echo "0 results"; } $conn->close(); ?>
9

This is results

connect_error) {
  die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
  // output data of each row
  while($row = $result->fetch_assoc()) {
    echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "
"; } } else { echo "0 results"; } $conn->close(); ?>
6

Giới hạn truy xuất dữ liệu từ cơ sở dữ liệu MySQL

MySQL cung cấp mệnh đề GIỚI HẠN để chỉ định số lượng bản ghi sẽ trả về

Mệnh đề GIỚI HẠN dễ dàng giúp nhanh chóng giới hạn kết quả trả về hoặc phân trang bằng SQL và rất hữu ích trên các bảng lớn. Trả về quá nhiều dữ liệu trong một lần truy vấn có thể ảnh hưởng đến hiệu suất của hệ thống

Giả sử chúng tôi muốn truy xuất tất cả các bản ghi từ 1 - 30 từ một bảng MyGuests. Truy vấn SQL sẽ trông như thế này

id: 1 - Name: John Doe
id: 2 - Name: Mary Moe
id: 3 - Name: Julie Dooley
1

Khi chạy truy vấn SQL ở trên nó sẽ trả về 30 bản ghi đầu tiên

Nếu chúng tôi muốn truy xuất bản ghi thứ 10 từ bản ghi thứ 16 thì sao?

Mysql cũng cung cấp một cách để xử lý công việc này đó là sử dụng từ khóa OFFSET. Ví dụ dưới đây minh họa sử dụng từ khóa OFFSET