MySQL là một hệ quản trị cơ sở dữ liệu mã nguồn mở được sử dụng rộng rãi trên toàn thế giới. Với khả năng lưu trữ và xử lý dữ liệu, MySQL đang dần trở thành công cụ quan trọng trong ứng dụng web và các dự án phần mềm. Hãy đọc bài viết này để hiểu rõ hơn về MySQL và cách sử dụng công cụ hữu ích này nhé.
MySQL là gì?

MySQL là một hệ thống quản lý cơ sở dữ liệu mã nguồn mở (RDBMS), chúng quản lý dữ liệu thông qua các cơ sở dữ liệu. Mỗi cơ sở dữ liệu có thể có nhiều bảng quan hệ chứa dữ liệu.
MySQL được phát triển bởi Oracle dựa trên ngôn ngữ truy vấn dữ liệu có cấu trúc (SQL). MySQL được xem là ngôn ngữ dễ sử dụng, bạn chỉ cần học một số lệnh cơ bản là có thể làm việc, tạo và tương tác với database.
MySQL hoạt động như thế nào?

MySQL hoạt động dựa trên hai khái niệm chính: cơ sở dữ liệu quan hệ (relational database) và mô hình client-server.
1. Cơ sở dữ liệu quan hệ (relational database) trong MySQL
Trong cơ sở dữ liệu quan hệ, bạn sẽ lưu trữ dữ liệu trong table (bảng), các table thường liên quan đến nhau.
Ví dụ: Chúng ta có hai table trong công ty hàng không, một table cho phi công, một table thể hiện các chuyến bay. Trong trường hợp này, chúng ta có thể kết nối dữ liệu hai table thành một column như hình sau:

PilotID sẽ là primary key (khoá chính) biểu diễn mối quan hệ giữa hai table.
2. Mô hình client-server trong MySQL

MySQL là hệ thống quản lý (management system) được xây dựng theo mô hình client-server. Nói một cách dễ hiểu, server là nơi lưu trữ dữ liệu và client là công cụ mà bạn sẽ cần sử dụng để truy cập và truy xuất dữ liệu.
Chúng ta sẽ tiếp tục với ví dụ bên trên nhé!
Hiển thị tất cả dữ liệu trong Pilots Table
SELECT *
FROM Pilots;
Hiển thị một cột cụ thể trong Pilots Table
SELECT Name
FROM Pilots;
Hiển thị Pilot cụ thể dựa trên ID
SELECT *
FROM Pilots
WHERE PilotID = 10 ;
Tạo table mới về Meals on a Flight (bữa ăn trên máy bay)
Trong đó, FlightID là số nguyên, tên suất ăn sẽ trong phạm vi 25 ký tự và số lượng mỗi suất ăn cũng là số nguyên.
CREATE TABLE MealsInfo(
FlightID INT,
MealName VARCHAR(25),
Quantity INT,
);
Thêm Meals vào MealsInfo Table
INSERT INTO MealsInfo (FlightID,MealName, Quantity)
VALUES
(1002, Chicken, 46),
(1003, Beef , 28),
(1004, Veg , 39);
Tất cả các lệnh này độc lập với ngôn ngữ lập trình mà bạn sử dụng để xây dựng ứng dụng của mình. Vì vậy, cho dù bạn sử dụng Python, PHP, JavaScript hay các ngôn ngữ khác thì câu lệnh để tương tác với cơ sở dữ liệu sẽ luôn ở dạng SQL.
Sự khác nhau giữa MySQL và SQL

Là phần mềm cơ sở dữ liệu, sử dụng SQL làm ngôn ngữ để truy vấn cơ sở dữ liệu | Là một ngôn ngữ truy vấn |
Được phát triển bởi Oracle Corporation | Được phát triển bởi Microsoft Corporation |
Là mã nguồn mở và có thể truy cập miễn phí | Không miễn phí |
Hỗ trợ các ngôn ngữ lập trình cơ bản như C, C++, Python, Ruby,... | Là ngôn ngữ lập trình được sử dụng cho các hệ thống cơ sở dữ liệu (database systems) |
Không hỗ trợ user-defined functions và XML | Hỗ trợ user-defined functions và XML |
Được phát triển bởi Oracle | Được phát triển bởi Microsoft |
Cung cấp hỗ trợ một số ngôn ngữ bổ sung như Perl, Tcl, Haskey,... | Hỗ trợ ngôn ngữ lập trình như C++, JAVA, Ruby, Visual Basic, Delphi, R,... |
Cú pháp MySQL hơi phức tạp | Cú pháp SQL Server rất đơn giản và dễ sử dụng |
Cần ít dung lượng lưu trữ hoạt động hơn | Yêu cầu một lượng lớn không gian lưu trữ hoạt động |
Không cho phép hủy query giữa chừng | Cho phép hủy query giữa chừng |
Chặn cơ sở dữ liệu trong khi sao lưu dữ liệu | Không chặn cơ sở dữ liệu trong khi sao lưu dữ liệu |
Là mã nguồn mở, được cung cấp miễn phí | Không miễn phí |
Có sẵn trong MySQL Standard Edition, MySQL Enterprise Edition và MySQL Cluster Grade Edition | Có sẵn trong nhiều phiên bản, chẳng hạn như Enterprise, Standard, Web, Workgroup hoặc Express |

Pum
Life is short. Smile while you still have teeth :)
Bài viết liên quan
Data Analyst là gì? Trở thành Data Analyst cần chuẩn bị gì?
Sep 20, 2023 • 25 min read
SQL Server là gì? Hướng dẫn tải & cài đặt Microsoft SQL Server
Sep 16, 2023 • 10 min read
SQL là gì? Ưu & nhược điểm của Structured Query Language
Sep 16, 2023 • 15 min read
Review khóa học Data Analyst Bootcamp của 200Lab: Học viên nói gì?
Sep 16, 2023 • 12 min read
28 loại biểu đồ thông dụng trong Trực Quan Hóa Dữ Liệu
Sep 16, 2023 • 17 min read
Hypothesis Testing là gì ? Cách thực hiện Kiểm Định Giả Thuyết
Sep 16, 2023 • 7 min read