Database

studio, microphone, rec-4065105.jpg

HỆ QUẢN TRỊ CSDL MYSQL

CSDL ( Database) là một thư viện sách. Mỗi loại sách văn học, toán học, ... chúng ta có khái niệm bảng, thêm thay thế, loại bỏ sách khỏi giá sách chúng ta có khái niệm insert, update, delete.

Tóm tắt nội dung

Database là gì?

he-quan-tri-co-so-du-lieu-mysql
Database là một thành phần quan trọng trong thời đại công nghệ ngày nay

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).

Hệ quản trị CSDL MySQL

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.

Download CSDL Mẫu

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 hệ thống

Môi trường cụ thể Antonio Nguyen tiến hành cài đặt bao gồm:

  • Hệ điều hành: Ubuntu 20.04
  • Web Server: Apache 2.2
  • MySQL 8.0

Ứng dụng của MySQL

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.

Thao tác với CSDL MySQL

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

Ở đâ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;
				
			

Tạo người dùng kết nối CSDL

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.

ket-noi-csdl-prestashop
Kết nối CSDL PrestaShop

Các lệnh insert, update, delete

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)
				
			

Backup /Restore CSDL

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
				
			

Tổng kết

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:

Bài viết liên quan

Lựa chọn là của chính bạn
Tình yêu

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õ.

Đọc thêm »
người-vô-gia-cư
LifeStyle

CÂU CHUYỆN 20 EURO

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

Đọc thêm »

3 thoughts on “HỆ QUẢN TRỊ CSDL MYSQL”

  1. Pingback: HƯỚNG DẪN CÀI LAMP - AN Publisher - Antonio Nguyen

  2. Pingback: KHÓA HỌC XÂY DỰNG HỆ THỐNG WEBSITE TRÊN VPS

  3. Pingback: HƯỚNG DẪN RESET MẬT KHẨU ROOT CỦA MYSQL TRÊN UBUNTU

Leave a Comment

Viết Blog là cách tôi thể hiện cá tính và tự do trong thế giới quan của mình.
avarta_antonionguyen_student
Antonio Nguyen
Co- Founder An Publisher

Người nào ở nơi kín đáo của Đấng Chí Cao,Sẽ hằng được ở dưới bóng của Đấng Toàn Năng (Thi Thiên 91:1)

Scroll to Top
Scroll to Top