Lựa chọn là của chính bạn
Đó là lúc bạn tin tưởng vào sự lựa chọn của mình mặc dù người ta có thể cho bạn là điên hay thằng khùng hay nói rằng cô ấy không hợp với bạn. Tương lai của bạn, sự lựa chọn của bạn chỉ có thể trái tim bạn hiểu rõ.
Antonio Nguyen sử dụng hình ảnh thư viện sách để giải thích một khái niệm mang tính chuyên ngành như Database ( CSDL). Database giống như một thư viện sách. Trong thư viện sách, người ta sẽ có các bảng tên để phân loại các sách khác nhau như sách Thiên văn, sách Văn học, sách Khoa học, sách Toán học … Cũng vậy, CSDL cũng sẽ sử dụng khái niệm bảng (table) để phân loại các dữ liệu khác nhau. Nếu ánh xạ vào chúng ta sẽ có các bảng như van-hoc, toan-hoc, khoa-hoc … Với mỗi loại sách như Thiên văn học sẽ có nhiều đầu sách khác nhau và các sách sẽ được sắp xếp trên giá sách, mỗi vị trí của cuốn sách trên giá sách chúng ta có khai niệm bản ghi (record).
Với mỗi vị trí cuốn sách chúng ta chỉ có thể đặt được một cuốn sách duy nhất khi tiến hành thêm, thay thế, loại bỏ cuốn sách trên giá sách chúng ta sẽ có các lệnh tương ứng trong CSDL là insert, update và delete. Ngoài ra để đảm bảo mỗi vị trí trên giá sách là dành cho một cuốn sách cụ thể chúng ta cần một khái niệm xác định đó là Primary Key.
Như vậy, với một cách liên tưởng như vậy, Antonio Nguyen đã giải thích một khái niệm mang tính chuyên ngành như Database (CSDL).
Tiếp tục, Antonio Nguyen quay lại với sự liên tưởng thư viện sách. Để có thể quản lý được thư viện sách chúng ta cần một người trông nom là thủ thư (hay còn gọi là cán bộ thư viện). Nhiệm vụ người này là quản lý sách trên giá sách, cho thuê sách và trông nom bảo quản sách. Cũng vậy, để quản trị CSDL chúng ta có khái niệm Hệ quản trị CSDL ( DMBS – SQL database management system). DMBS này không khác gì vai trò của thủ thư trong thư viên cả.
MySQL là hệ quản trị cơ sở dữ liệu SQL nguồn mở phổ biến nhất, được phát triển, phân phối và hỗ trợ bởi Oracle Corporation. Trang web MySQL (http://www.mysql.com/) cung cấp thông tin mới nhất về phần mềm MySQL.
Một trong những điểm mình thích ở Oracle đó là tài liệu của nó rất đầy đủ. MySQL cũng do Oracle quản lý nên bộ tài liệu của họ rất đầy đủ. Bạn có thể tải và tiến hành cài đặt CSDL mẫu sakira tại địa chỉ https://dev.mysql.com/doc/sakila/en/sakila-installation.html.
Vì tài liệu cài đặt và hướng dẫn của họ quá tỉ mỉ nên mình sẽ không nói chi tiết nữa. Bạn tự tìm hiểu nhé!
Môi trường cụ thể Antonio Nguyen tiến hành cài đặt bao gồm:
Rất nhiều tổ chức cá nhân sử dụng MySQL như TESLA, Facebook, Youtube, Booking.com, NASA, Netflix, Twitter… Chỉ cần biết vậy đã đủ hiểu vai trò của MySQL như thế nào. MySQL được quản lý bởi Tập đoàn công nghệ hàng đầu Oracle mà có hệ quản trị nổi tiếng không kém là Oracle Database. Cá nhân Antonio Nguyen may mắn được quản trị Oracle và tham gia các dự án đồng bộ dữ liệu làm việc các hệ quản trị khác nhau như DB2, SQL Server, Oracle, Mysql… Antonio Nguyen đánh giá MySQL nhẹ và nó đơn giản nhất và sức mạnh của nó được thể hiện qua các ứng dụng Web.
Ở đây, mình bổ sung thêm lệnh xóa CSDL để mọi người tham khảo nhé. Tạo xong bạn cần FLUSH PRIVILEGES để xác nhận quyền cao nhất để thực hiện tạo CSDL nhé.
DROP DATABASE presta_h2s;
FLUSH PRIVILEGES;
CREATE DATABASE presta_h2s;
FLUSH PRIVILEGES;
EXIT;
Mục đích tạo người dùng kết nối CSDL là các ứng dụng cần kết nối phải thông qua user này. Khi tiến hành cài đặt ứng dụng web, ứng dụng sẽ yêu cầu nhập thông tin này để kết nối CSDL. Để tạo người dùng chúng ta thực hiện lệnh sau ( thay your-password: bằng password của bạn):
CREATE USER 'prestauser'@'localhost' IDENTIFIED BY 'your-password';
GRANT ALL PRIVILEGES ON presta_h2s . * TO 'prestauser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Ví dụ khi cài đặt Prestashop sẽ yêu cầu thông tin để kết nối đến CSDL.
Như trình bày ở trên, lệnh insert, update, delete giống như việc chúng ta thêm, thay thế, loại bỏ một cuốn sách ra khỏi giá sách mà thôi. Một số lệnh mẫu bạn có thể tham khảo:
Ví dụ lệnh insert:
mysql> SELECT inventory_in_stock(10);
+------------------------+
| inventory_in_stock(10) |
+------------------------+
| 1 |
+------------------------+
1 row in set (0.01 sec)
mysql> INSERT INTO rental(rental_date, inventory_id, customer_id, staff_id)
VALUES(NOW(), 10, 3, 1);
Query OK, 1 row affected (0.00 sec)
mysql> SET @rentID = LAST_INSERT_ID(),
@balance = get_customer_balance(3, NOW());
Query OK, 0 rows affected (0.14 sec)
mysql> SELECT @rentID, @balance;
+---------+----------+
| @rentID | @balance |
+---------+----------+
| 16050 | 4.99 |
+---------+----------+
1 row in set (0.00 sec)
mysql> INSERT INTO payment (customer_id, staff_id, rental_id, amount, payment_date)
VALUES(3, 1, @rentID, @balance, NOW());
Query OK, 1 row affected (0.00 sec)
Ví dụ lệnh update:
mysql> SELECT rental_id
FROM rental
WHERE inventory_id = 10
AND customer_id = 3
AND return_date IS NULL
INTO @rentID;
Query OK, 1 row affected (0.01 sec)
mysql> SELECT @rentID;
+---------+
| @rentID |
+---------+
| 16050 |
+---------+
1 row in set (0.00 sec)
mysql> UPDATE rental
SET return_date = NOW()
WHERE rental_id = @rentID;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> SELECT get_customer_balance(3, NOW());
+--------------------------------+
| get_customer_balance(3, NOW()) |
+--------------------------------+
| 0.00 |
+--------------------------------+
1 row in set (0.13 sec)
Trong bài viết Backup Website mình cũng đã nói về phần này. Ví dụ Backup dữ liệu CSDL traveltospain ta tiến hành lệnh sau:
cd /var/www/html/traveltospain.info
mysqldump --add-drop-table -uroot -p traveltospain > traveltospain.sql
Bài viết hướng dẫn Restore Website mình cũng đã thực hiện lệnh Restore Database. Cụ thể bạn có thể chạy lệnh như sau:
mysql -root -p presta_h2s < /var/www/html/northernvnccc.com/preta_h2s.sql
Như vậy, Antonio Nguyen đã giới thiệu cho bạn khái niệm rất cơ bản về CSDL ở mức dễ hiểu nhất. Nếu có ý kiến hay hỏi đáp thắc mắc gì có thể để lại bình luận nhé!
Chia sẻ bài viết:
Đó là lúc bạn tin tưởng vào sự lựa chọn của mình mặc dù người ta có thể cho bạn là điên hay thằng khùng hay nói rằng cô ấy không hợp với bạn. Tương lai của bạn, sự lựa chọn của bạn chỉ có thể trái tim bạn hiểu rõ.
20 Euro không phải số tiền lớn nhưng nếu nó được ban cho lúc bần hàn thì nó lại là câu chuyện khác
Hướng dẫn Reset mật khẩu Root của MySQL 8.0 trên Ubuntu 21.04 mới nhất 2021 từ AN Publisher. Đừng lo nếu bạn quên mật khẩu root của MySQL.
3 thoughts on “HỆ QUẢN TRỊ CSDL MYSQL”
Pingback: HƯỚNG DẪN CÀI LAMP - AN Publisher - Antonio Nguyen
Pingback: KHÓA HỌC XÂY DỰNG HỆ THỐNG WEBSITE TRÊN VPS
Pingback: HƯỚNG DẪN RESET MẬT KHẨU ROOT CỦA MYSQL TRÊN UBUNTU