Cách thực hiện các truy vấn SQL đơn giản đối với cơ sở dữ liệu

Tác giả sysadmin, T.M.Hai 31, 2022, 03:15:33 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

Cách thực hiện các truy vấn SQL đơn giản đối với cơ sở dữ liệu


Hướng dẫn nhanh này sẽ chỉ cho bạn cách thực hiện các truy vấn SQL rất đơn giản đối với cơ sở dữ liệu MariaDB/MySQL theo mục tiêu của kỳ thi RHCE và không được thiết kế để trở thành một hướng dẫn chuyên sâu về SQL.

Ở đây chúng ta sẽ đề cập đến việc sử dụng các truy vấn SQL cơ bản như hiển thị, tạo, chọn, chèn, cập nhật, xóa, mô tả và thả, điều này sẽ cho phép chúng ta xác định một lược đồ cơ sở dữ liệu cơ bản.

Trước tiên, bạn sẽ cần cài đặt MariaDB hoặc MySQL trước khi tiếp tục, trong ví dụ này, chúng tôi đang làm việc với MariaDB tuy nhiên các truy vấn SQL sẽ giống nhau trong cả hai.

Lưu ý: Bạn nên thực hiện thử nghiệm trên cơ sở dữ liệu thử nghiệm hoặc tập dữ liệu thay vì thực hiện bất kỳ ví dụ nào ở đây trên cơ sở dữ liệu sản xuất. Trước tiên, bạn cũng nên tạo một bản sao lưu của tất cả các cơ sở dữ liệu.

1. Truy vấn SQL đơn giản

Để làm việc với MariaDB, chúng tôi sẽ sử dụng ngôn ngữ truy vấn có cấu trúc (SQL).

Đầu tiên truy cập dòng lệnh MariaDB/MySQL như bên dưới, bạn sẽ được nhắc nhập mật khẩu mà bạn đã cấu hình trong hướng dẫn cài đặt MariaDB.

Mã nguồn [Chọn]
[root@centos7 ~]# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 3
Server version: 5.5.44-MariaDB MariaDB Server

Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

2. Hiển thị cơ sở dữ liệu

Với truy vấn 'hiển thị cơ sở dữ liệu', chúng ta có thể xem tất cả các cơ sở dữ liệu có sẵn, theo mặc định, bạn sẽ có các cơ sở dữ liệu này sau khi cài đặt MariaDB.

Mã nguồn [Chọn]
MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
3 rows in set (0.01 sec)

3. Tạo cơ sở dữ liệu

Tạo cơ sở dữ liệu bằng truy vấn 'tạo cơ sở dữ liệu' theo sau là tên cơ sở dữ liệu của bạn. Trong ví dụ này, cơ sở dữ liệu mà chúng tôi đang tạo được đặt tên là 'người dùng'.

Mã nguồn [Chọn]
MariaDB [(none)]> create database users;
Query OK, 1 row affected (0.01 sec)

Khi cơ sở dữ liệu đã được tạo thành công, chúng tôi có thể xác nhận bằng truy vấn 'hiển thị cơ sở dữ liệu' để xem nó được liệt kê.

Mã nguồn [Chọn]
MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| users              |
+--------------------+
4 rows in set (0.00 sec)

4. Sử dụng cơ sở dữ liệu

Bây giờ cơ sở dữ liệu đã được tạo, để thực sự thực hiện các truy vấn trên đó, trước tiên chúng ta cần sử dụng cơ sở dữ liệu.

Mã nguồn [Chọn]
MariaDB [(none)]> use users;
Database changed

MariaDB [users]>

Lưu ý rằng điều này đã thay đổi lời nhắc của chúng ta từ "none" thành "users", tên của cơ sở dữ liệu mà chúng ta vừa chọn. Điều này cho chúng tôi thấy cơ sở dữ liệu hiện tại mà chúng tôi đang làm việc và hiện đang sử dụng, các truy vấn mà chúng tôi chạy sẽ được thực hiện đối với cơ sở dữ liệu này.

5. Tạo một bảng

Cơ sở dữ liệu trống không đặc biệt hữu ích, bây giờ chúng ta sẽ tạo một số dữ liệu mẫu bắt đầu bằng một bảng.

Mã nguồn [Chọn]
MariaDB [users]>  create table name (firstname VARCHAR(50) NOT NULL, lastname VARCHAR(50) NOT NULL, middlename VARCHAR(50));
Query OK, 0 rows affected (0.05 sec)

Điều này tạo ra một bảng có tên là 'tên' với 3 trường có tên là 'tên', 'họ' và 'tên đệm'. Các trường 'firstname' và 'lastname' được đặt thành NOT NULL nghĩa là phải có một giá trị, trong khi 'tên đệm' có thể để trống vì trường này sẽ là tùy chọn. Tất cả các trường được đặt thành VARCHAR(50) cho phép chúng tôi nhập tối đa 50 ký tự vào mỗi trường.

Chúng ta có thể xem bảng này bằng lệnh 'show table'.

Mã nguồn [Chọn]
MariaDB [users]> show tables;
+-----------------+
| Tables_in_users |
+-----------------+
| name            |
+-----------------+
1 row in set (0.00 sec)

6. Mô tả bảng

Mặc dù lệnh show table trước đó cho chúng ta thấy rằng có một bảng trong cơ sở dữ liệu người dùng có tên là name, nhưng điều đó không có nhiều thông tin. Chúng ta có thể xem cấu trúc bảng bằng lệnh description như hình bên dưới.

Mã nguồn [Chọn]
MariaDB [users]> describe name;
+------------+-------------+------+-----+---------+-------+
| Field      | Type        | Null | Key | Default | Extra |
+------------+-------------+------+-----+---------+-------+
| firstname  | varchar(50) | NO   |     | NULL    |       |
| lastname   | varchar(50) | NO   |     | NULL    |       |
| middlename | varchar(50) | YES  |     | NULL    |       |
+------------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)

Cấu trúc hiển thị các trường như chúng ta đã tạo trước đây. Lệnh mô tả rất hữu ích để lấy ý tưởng về cấu trúc cơ sở dữ liệu và xem lược đồ tại chỗ.

7. Chèn vào cơ sở dữ liệu

Bây giờ chúng ta có một bảng trống, chúng ta có thể chèn một số dữ liệu thực với truy vấn 'insert into'.

MariaDB [người dùng]> chèn vào các giá trị tên (tên, họ) ("bob", "người dùng");
Truy vấn OK, 1 hàng bị ảnh hưởng (0,00 giây)

Mã nguồn [Chọn]
MariaDB [users]> insert into name (firstname, lastname) values ("bob", "user");
Query OK, 1 row affected (0.00 sec)

MariaDB [users]> select * from name;
+-----------+----------+------------+
| firstname | lastname | middlename |
+-----------+----------+------------+
| bob       | user     | NULL       |
+-----------+----------+------------+
1 row in set (0.00 sec)

Trong ví dụ này, chúng tôi đã chèn một người dùng có tên 'người dùng bob'. Dữ liệu có thể được truy xuất bằng lệnh chọn, trong ví dụ trên, chúng tôi đang chọn mọi thứ như được chỉ định bởi * từ bảng tên, hiện chỉ là một hàng.

8. Cập nhật dữ liệu

Khi dữ liệu đã được nhập vào cơ sở dữ liệu, nó có thể được sửa đổi bằng truy vấn cập nhật.

Mã nguồn [Chọn]
MariaDB [users]> update name set lastname="test" where lastname="user";
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

MariaDB [users]> select * from name;
+-----------+----------+------------+
| firstname | lastname | middlename |
+-----------+----------+------------+
| bob       | test     | NULL       |
+-----------+----------+------------+
1 row in set (0.00 sec)

Ở đây chúng tôi đã cập nhật giá trị họ của bob từ người dùng để kiểm tra.

9. Xóa dữ liệu

Dữ liệu từ cơ sở dữ liệu cũng có thể bị xóa bằng truy vấn xóa. Trong ví dụ này, chúng tôi xóa hàng bob mà chúng tôi vừa tạo bằng cách chỉ định rằng chúng tôi muốn xóa khỏi bảng tên cho tất cả các trường hợp mà firstname được đặt thành bob.

Mã nguồn [Chọn]
MariaDB [users]> delete from name where firstname="bob";
Query OK, 1 row affected (0.01 sec)

MariaDB [users]> select * from name;
Empty set (0.00 sec)

Sau khi xóa hàng và chạy một lựa chọn trên bảng tên, bây giờ chúng ta có thể thấy rằng nó trống, tuy nhiên bản thân bảng vẫn tồn tại.

Chúng ta cũng có thể xóa bảng bằng lệnh 'thả bảng' như hình bên dưới, thao tác này sẽ xóa mọi dữ liệu được lưu trữ trong bảng và chính bảng đó.

Mã nguồn [Chọn]
MariaDB [users]> drop table name;
Query OK, 0 rows affected (0.00 sec)

MariaDB [users]> show tables;
Empty set (0.01 sec)

10. Xoá bỏ một cơ sở dữ liệu

Mặc dù chúng tôi đã xóa hàng duy nhất của mình trong bảng tên và chính bảng đó, nhưng cơ sở dữ liệu người dùng vẫn tồn tại. Cơ sở dữ liệu người dùng có thể bị xóa bằng truy vấn 'thả cơ sở dữ liệu' sẽ xóa cơ sở dữ liệu và tất cả dữ liệu bên trong bao gồm bất kỳ bảng nào khác.

Mã nguồn [Chọn]
MariaDB [users]> drop database users;
Query OK, 1 row affected (0.05 sec)

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
3 rows in set (0.00 sec)

Các truy vấn SQL đơn giản nhưng vẫn cho phép chúng tôi kiểm soát ở mức độ cao đối với lược đồ cơ sở dữ liệu. Ở đây chúng tôi đã trình bày các truy vấn cơ bản như hiển thị, tạo và sử dụng cơ sở dữ liệu, hiển thị và tạo bảng, mô tả cấu trúc của bảng, chèn dữ liệu, cập nhật và xóa dữ liệu khỏi bảng.