SQL là gì? SQL là Structured Query Language, ngôn ngữ truy vấn có cấu trúc, một ngôn ngữ lập trình dùng để tương tác với các hệ thống quản lý cơ sở dữ liệu. SQL đóng vai trò quan trọng trong việc thiết kế và quản lý cơ sở dữ liệu, tối ưu hiệu quả phân tích và làm cho việc truy cập thông tin trở nên thuận tiện hơn. Bài viết sau đây của VinaHost sẽ giúp bạn hiểu hơn về khái niệm này.
1. SQL là gì?
Trước khi khám phá SQL là gì, chúng ta nên nắm vững một số khái niệm cơ bản liên quan đến cơ sở dữ liệu:
- Cơ sở dữ liệu (Database): Được định nghĩa là một tập hợp dữ liệu có tổ chức, lưu trữ và có thể truy xuất thông qua hệ thống máy tính.
- Truy vấn cơ sở dữ liệu: Có thể được xem là một công cụ lọc với khả năng tập hợp dữ liệu từ nhiều bảng khác nhau trong cơ sở dữ liệu và áp dụng các tiêu chí nhất định để đạt được kết quả mong muốn từ hệ thống quản lý cơ sở dữ liệu.
Được biết đến với tên gọi đầy đủ là Structured Query Language, SQL là một ngôn ngữ lập trình dùng để truy vấn và cấu trúc dữ liệu. Nó được sử dụng rộng rãi trong việc tạo, chỉnh sửa, và trích xuất thông tin từ các hệ quản trị cơ sở dữ liệu quan hệ, bao gồm nhưng không giới hạn ở MySQL, Oracle, và SQL Server.
Các doanh nghiệp quy mô lớn thường phát triển một hệ thống riêng biệt để quản lý thông tin lưu trữ. Dữ liệu trong hệ thống này được tổ chức dưới dạng các bảng có liên kết với nhau. Sử dụng SQL, người dùng có thể thực hiện các truy vấn để trích xuất và tổng hợp dữ liệu từ nhiều bảng thành thông tin có ích, thông qua việc sử dụng các câu lệnh truy vấn.
Nền tảng này đóng một vai trò không thể thiếu trong việc tương tác với cơ sở dữ liệu. Được Viện Tiêu chuẩn Quốc gia Hoa Kỳ (ANSI) công nhận là ngôn ngữ chuẩn cho việc quản lý cơ sở dữ liệu quan hệ, SQL cho phép người dùng thực hiện nhiều loại tác vụ, bao gồm cập nhật và trích xuất thông tin từ cơ sở dữ liệu. Các hệ thống như Oracle, Sybase, Microsoft SQL Server, Access, Ingres, cùng nhiều hệ quản trị cơ sở dữ liệu quan hệ khác, đều hỗ trợ SQL.
Đối với những ai đang quan tâm và muốn tìm hiểu về lĩnh vực phân tích dữ liệu, việc nắm bắt ngôn ngữ SQL là điều không thể thiếu.
Xem thêm: MySQL là gì | Cài đặt MySQL trên Windows & Server/VPS
2. Lịch sử hình thành và phát triển của ngôn ngữ SQL
SQL (Structured Query Language) là một ngôn ngữ lập trình được sử dụng chủ yếu để quản lý và tương tác với cơ sở dữ liệu quan hệ. Lịch sử của SQL bắt đầu vào những năm 1970 khi các nhà nghiên cứu tại IBM, bao gồm Edgar F. Codd, đề xuất mô hình cơ sở dữ liệu quan hệ (Relational Database Model). Trong mô hình này, dữ liệu được tổ chức thành các bảng có các hàng và cột, tạo ra một cấu trúc dữ liệu logic và dễ dàng để truy cập.
Tính đến năm 1974, Donald D. Chamberlin và Raymond F. Boyce của IBM đã phát triển một ngôn ngữ truy vấn cơ sở dữ liệu đầu tiên dựa trên mô hình quan hệ, được gọi là SEQUEL (Structured English Query Language). Tuy nhiên, sau đó tên này đã phải thay đổi thành SQL do vấn đề bản quyền, và chính thức được chấp nhận trong tiêu chuẩn ANSI (American National Standards Institute) vào năm 1986.
Kể từ đó, nền tảng này đã trở thành ngôn ngữ tiêu chuẩn cho các hệ thống quản lý cơ sở dữ liệu quan hệ (RDBMS) và đã phát triển mạnh mẽ qua các phiên bản tiêu chuẩn khác nhau. Các phiên bản cập nhật tiêu chuẩn SQL đã được phát hành bởi ISO (International Organization for Standardization) và ANSI. Đây là một trong những ngôn ngữ lập trình quan trọng nhất và được sử dụng rộng rãi trong ngành công nghệ thông tin.
3. Nguyên lý hoạt động của SQL như thế nào?
SQL cho phép bạn thực hiện các thao tác như truy vấn dữ liệu từ cơ sở dữ liệu, cập nhật dữ liệu, thêm mới dữ liệu, xóa dữ liệu và quản lý cấu trúc của cơ sở dữ liệu. Cách hoạt động như sau:
Phân tích cú pháp
- Thực hiện truy vấn: Bạn sẽ viết một truy vấn SQL để yêu cầu dữ liệu từ cơ sở dữ liệu. Truy vấn này có thể là truy vấn đơn giản như “SELECT * FROM table_name” để lấy tất cả dữ liệu từ một bảng cụ thể hoặc có thể là truy vấn phức tạp hơn với điều kiện và phép nối.
- Phân tích quyền truy vấn: Hệ quản trị cơ sở dữ liệu (DBMS) sẽ phân tích cú pháp của truy vấn để hiểu ý định của bạn. Nó sẽ kiểm tra cú pháp, kiểm tra quyền truy vấn của bạn, xác định các bảng và cột cần được sử dụng.
Tối ưu hóa truy vấn
Sau khi phân tích, hệ quản trị cơ sở dữ liệu sẽ tối ưu hóa truy vấn. Quá trình này bao gồm việc sử dụng các kỹ thuật như sử dụng chỉ mục để tăng tốc độ truy vấn, tối ưu hóa phép nối và sử dụng kế hoạch thực thi phù hợp.
Xử lý truy vấn
- Thực thi truy vấn: Sau khi tối ưu hóa, truy vấn sẽ được thực thi. Cơ sở dữ liệu sẽ thực hiện các thao tác như quét bảng, tìm kiếm chỉ mục, và thực hiện các phép nối để trả về kết quả mong muốn.
- Trả về kết quả: Kết quả của truy vấn sẽ được trả về cho ứng dụng hoặc người dùng cuối. Dữ liệu trả về có thể là dữ liệu từ các bảng hoặc kết quả tính toán.
- Xử lý kết quả: Ứng dụng hoặc người dùng cuối sẽ nhận kết quả được trả về từ cơ sở dữ liệu theo nhu cầu của mình, dữ liệu có thể được hiển thị trên giao diện người dùng hoặc lưu trữ vào bộ nhớ đệm.
Xem thêm: PHPMyAdmin là gì | Cài đặt & Sử dụng PHPMyAdmin A-Z
4. Vì sao SQL lại quan trọng?
Dưới đây là các lý do vì sao SQL lại phổ biến đến vậy:
- Hỗ trợ việc lấy dữ liệu từ hệ thống quản lý cơ sở dữ liệu quan hệ.
- Hỗ trợ trong việc xác định cấu trúc của dữ liệu.
- Cho phép người dùng thiết lập, xóa, và thao tác dữ liệu trên cơ sở dữ liệu quan hệ và các bảng liên quan.
- Hỗ trợ tạo các view, các thủ tục lưu trữ, và nhiều chức năng khác trong cơ sở dữ liệu quan hệ.
- Giúp người dùng định nghĩa và chỉnh sửa dữ liệu trong cơ sở dữ liệu quan hệ.
5. Những thành phần của SQL
SQL có những thành phần cơ bản sau.
Bảng trong SQL
Là thành phần nền tảng của cơ sở dữ liệu quan hệ, bao gồm hàng và cột dùng để lưu giữ thông tin. Các nhà thiết kế cơ sở dữ liệu thiết lập liên kết giữa bảng này với bảng khác nhằm tăng hiệu quả lưu trữ.
Ví dụ, một bảng SQL dùng để quản lý thông tin sản phẩm của một cửa hàng.
ID sản phẩm | Sản phẩm | ID màu |
001 | Giày cao gót | Màu 1 |
002 | Giày thể thao | Màu 2 |
Liên kết bảng sản phẩm với bảng màu:
ID màu | Tên màu |
Màu 1 | Màu đen |
Màu 2 | Màu trắng |
Lệnh SQL
Trong hệ thống quản lý cơ sở dữ liệu quan hệ, lệnh SQL (hoặc Truy vấn SQL) được áp dụng để xử lý và quản lý thông tin. Các lập trình viên tạo ra các lệnh này bằng việc ghép các thành phần của ngôn ngữ SQL (như mã nhận dạng, biến, và các điều kiện truy vấn).
Ví dụ: Một lệnh SQL dùng lệnh INSERT để nhập dữ liệu của một sản phẩm từ thương hiệu A với giá 500 USD vào trong bảng Mattress_table.
Đoạn mã SQL dưới đây thực hiện việc thêm dữ liệu mới vào bảng Mattress_table:
sql
INSERT INTO Mattress_table (brand_name, cost)
VALUES (‘A’, 500);
Giải thích:
- INSERT INTO: Là lệnh để thêm dữ liệu mới vào bảng.
- Mattress_table: Là tên của bảng mà dữ liệu mới sẽ được thêm vào.
- brand_name, cost: Là tên các cột trong bảng mà dữ liệu mới sẽ được thêm vào.
- A, 500: Là giá trị tương ứng cho từng cột mà dữ liệu mới sẽ được thêm vào.
Quy trình lưu trữ
Quy trình lưu trữ là một tập hợp các câu lệnh SQL được lưu trữ trong hệ thống quản trị cơ sở dữ liệu quan hệ, nhằm tối ưu hóa hiệu quả và hiệu suất cho các nhà phát triển phần mềm.
Xem thêm: SQL Server là gì? | Hướng dẫn Tải & Cài đặt SQL Server
6. Ưu và nhược điểm của SQL
SQL có những ưu và nhược điểm như sau.
6.1. Ưu điểm
Là một ngôn ngữ đáng tin cậy và hiệu quả, SQL đóng một vai trò quan trọng trong việc tương tác với cơ sở dữ liệu. Dưới đây là những ưu điểm chính của lập trình SQL:
- Xử lý truy vấn nhanh chóng: SQL cho phép truy xuất lượng dữ liệu lớn một cách nhanh chóng và hiệu quả. Các thao tác như chèn, xóa, cập nhật dữ liệu cũng được thực hiện gần như ngay lập tức, giúp tiết kiệm thời gian cho người dùng.
- Không đòi hỏi kỹ năng lập trình phức tạp: SQL không yêu cầu người dùng phải viết mã phức tạp. Tất cả các từ khóa cơ bản như SELECT, INSERT INTO, UPDATE,… và quy tắc cú pháp đơn giản giúp SQL trở thành một ngôn ngữ thân thiện với người dùng.
- Ngôn ngữ chuẩn hóa: Với lịch sử phát triển lâu dài và hệ thống tài liệu hướng dẫn đầy đủ, SQL tạo ra một nền tảng thống nhất cho người dùng trên toàn cầu. Nhờ tính chuẩn hóa này, việc trao đổi và cộng tác dữ liệu trở nên dễ dàng và hiệu quả hơn bao giờ hết.
- Linh hoạt: SQL có khả năng hoạt động trên mọi hệ điều hành phổ biến như Windows, Linux, macOS,… Tính linh hoạt này giúp SQL tích hợp dễ dàng vào các ứng dụng khác, mở rộng khả năng ứng dụng trong nhiều lĩnh vực khác nhau.
- Ngôn ngữ tương tác: Dễ học và dễ hiểu, có thể nhận được câu trả lời cho các truy vấn phức tạp trong vài giây.
6.2. Nhược điểm
Mặc dù SQL có nhiều ưu điểm, nhưng vẫn tồn tại một số hạn chế như sau:
- Giao diện chưa thân thiện: SQL có một giao diện phức tạp, dẫn đến sự khó khăn cho một số người dùng khi làm việc với cơ sở dữ liệu.
- Chi phí cao: Có những phiên bản đắt đỏ, khiến cho việc truy cập không phải lúc nào cũng dễ dàng cho các lập trình viên.
Xem thêm: [Tìm hiểu] Các kiểu dữ liệu trong MySQL quan trọng cần biết
7. Tính ứng dụng của SQL
Dữ liệu hiện nay đã trở nên phổ biến ở mọi nơi. Theo Diễn đàn Kinh tế Thế giới, vào năm 2020, thế giới đã sản sinh ra 44 Zettabyte dữ liệu, tương đương với 1.000.000.000.000.000.000.000 byte. SQL là một trong những nền tảng chính để lưu trữ dữ liệu, nếu không có SQL, những byte dữ liệu đó sẽ không mang ý nghĩa gì.
7.1. Ứng dụng SQL đối với ngành tài chính
Tất cả các ngân hàng đều lưu trữ thông tin về các giao dịch của khách hàng thông qua hệ thống của họ. Điều này đồng nghĩa với việc các tổ chức tín dụng sẽ có các hồ sơ liên quan đến thế chấp, thẻ tín dụng, và các khoản vay sinh viên.
Ngược lại, các công ty bảo hiểm cũng duy trì hồ sơ về các chính sách, thanh toán, khiếu nại và thông tin cá nhân nhạy cảm. Tất cả dữ liệu này được lưu trữ trong cơ sở dữ liệu, với mức độ bảo mật cao nhất, sử dụng ngôn ngữ SQL.
7.2. Ứng dụng SQL đối với thương mại điện tử
Khi khách hàng đến mua hàng, nhân viên cửa hàng sẽ ghi lại thông tin cá nhân của họ như tên, số điện thoại, địa chỉ, và thời gian mua hàng,… Thông tin này sau đó sẽ được các công ty sử dụng từ cơ sở dữ liệu để phân tích lịch sử mua hàng và sở thích mua sắm của khách hàng, từ đó đưa ra các ưu đãi khuyến mãi phù hợp.
7.3. Ứng dụng SQL đối với phương tiện truyền thông xã hội
Mỗi bài đăng trên Facebook, ảnh trên Instagram hoặc tin nhắn trên Snapchat đều được lưu trữ ở một nơi nào đó. Quá trình truy xuất dữ liệu này đòi hỏi sử dụng SQL.
Thiếu ngôn ngữ lập trình tiêu chuẩn, việc thao tác dữ liệu để đáp ứng các yêu cầu tìm kiếm của người dùng sẽ không thể thực hiện. Facebook và các ứng dụng khác sẽ không thể hiện quảng cáo và cung cấp các ưu đãi cho đúng đối tượng người dùng nếu thiếu cơ sở dữ liệu.
Ba ngành này chỉ là một phần nhỏ trong số những lĩnh vực cần đến cơ sở dữ liệu. Vì cơ sở dữ liệu và nhu cầu sử dụng SQL hiện diện ở khắp mọi nơi trên thế giới.
Xem thêm: [Tìm Hiểu] Oracle là gì? | Tổng hợp kiến thức [A-Z] về Oracle
8. Một số câu lệnh SQL thường sử dụng
Lệnh SQL là tập hợp các từ khóa hoặc câu lệnh SQL mà các nhà phát triển sử dụng để thao tác với dữ liệu được lưu trữ trong cơ sở dữ liệu. SQL sử dụng các lệnh như Create, Drop, Insert,… để thực hiện các tác vụ cần thiết. Các lệnh SQL này thường được chia thành 5 loại cơ bản.
8.1. DDL (Ngôn ngữ Định nghĩa Dữ liệu)
DDL (Data Definition Language) là tập hợp các lệnh SQL được sử dụng để định nghĩa lược đồ của cơ sở dữ liệu. Thông qua DDL, các chuyên viên cơ sở dữ liệu có khả năng tạo và điều chỉnh các đối tượng dữ liệu theo yêu cầu của doanh nghiệp. Ví dụ, lệnh CREATE thường được sử dụng để tạo các đối tượng cơ sở dữ liệu như bảng, chế độ xem và chỉ mục.
Dưới đây là danh sách các lệnh DDL và mô tả chúng:
- CREATE: Dùng để tạo mới cơ sở dữ liệu hoặc các thành phần trong đó như hàm, dạng xem, bảng, chỉ mục, thủ tục lưu trữ và trình kích hoạt.
Cú pháp:
CREATE TABLE TABLE_NAME (COLUMN_NAME DATATYPES[,….]);
Ví dụ: Tạo một bảng mới trong cơ sở dữ liệu
CREATE TABLE EMPLOYEE(Name VARCHAR2(20), Email VARCHAR2(100), DOB DATE);
- DROP: Sử dụng để loại bỏ các thành phần đã tồn tại trong cơ sở dữ liệu.
Cú pháp:
DROP TABLE table_name;
Ví dụ:
DROP TABLE EMPLOYEE;
- ALTER: Thực hiện để điều chỉnh cấu trúc của cơ sở dữ liệu.
Cú pháp thêm một cột mới vào bảng
ALTER TABLE table_name ADD column_name COLUMN-definition;
Để sửa đổi cột hiện có trong bảng, sử dụng cú pháp:
ALTER TABLE table_name MODIFY(column_definitions….);
Ví dụ:
ALTER TABLE STU_DETAILS ADD(ADDRESS VARCHAR2(20));
ALTER TABLE STU_DETAILS MODIFY (NAME VARCHAR2(20));
- TRUNCATE: Xóa tất cả các bản ghi, bao gồm cả các khoảng trống được cấp cho các bản ghi đã bị xóa.
Cú pháp:
TRUNCATE TABLE table_name;
Ví dụ:
TRUNCATE TABLE EMPLOYEE;
- COMMENT: Thêm ghi chú vào từ điển dữ liệu để mô tả về các thành phần trong cơ sở dữ liệu.
Cú pháp:
COMMENT ON TABLE table_name IS ‘Description of the table’;
Ví dụ thêm ghi chú cho bảng “employees”
COMMENT ON TABLE employees IS ‘This table stores information about employees’;
- RENAME: Đổi tên một thành phần hiện có trong cơ sở dữ liệu.
Cú pháp
ALTER TABLE old_table_name RENAME TO new_table_name;
Ví dụ: Đổi tên bảng “employees” thành “staff”
ALTER TABLE employees RENAME TO staff;
8.2. DQL (Ngôn ngữ truy vấn dữ liệu)
Các lệnh DQL (Data Query Language) được dùng để truy vấn dữ liệu từ các đối tượng trong cấu trúc lược đồ. Mục đích chính của các lệnh DQL là trích xuất các mối quan hệ lược đồ dựa trên truy vấn được cung cấp.
Mọi lệnh trong DDL đều được tự động cam kết, đảm bảo rằng mọi thay đổi trong cơ sở dữ liệu được lưu trữ vĩnh viễn. Nó chỉ sử dụng một lệnh SELECT. Lệnh này được ứng dụng trong các phần mềm để lấy và xử lý kết quả mong muốn từ một bảng SQL.
Cú pháp
SELECT expressions
FROM TABLES
WHERE conditions;
Ví dụ
SELECT emp_name
FROM employee
WHERE age > 20;
8.3. DML (Ngôn ngữ thao tác dữ liệu)
DML (Data Manipulation Language) là ngôn ngữ dùng để thao tác dữ liệu. Ví dụ, lệnh INSERT được sử dụng để thêm một bản ghi vào cơ sở dữ liệu của một ứng dụng tài chính.
Các lệnh DML bao gồm:
- INSERT: Sử dụng để thêm dữ liệu vào bảng.
Cú pháp:
INSERT INTO TABLE_NAME
(col1, col2, col3,…. col N)
VALUES (value1, value2, value3, …. valueN);
Hoặc
INSERT INTO TABLE_NAME VALUES (value1, value2, value3, …. valueN);
Ví dụ:
INSERT INTO javatpoint (Author, Subject) VALUES (“Sonoo”, “DBMS”);
- UPDATE: Sử dụng để cập nhật dữ liệu hiện có trong bảng.
Cú pháp:
UPDATE table_name SET [column_name1= value1,…column_nameN = valueN] [WHERE CONDITION]
Ví dụ:
UPDATE students
SET User_Name = ‘Sonoo’
WHERE Student_Id = ‘3’
- DELETE: Sử dụng để xóa các bản ghi khỏi bảng cơ sở dữ liệu.
Cú pháp:
DELETE FROM table_name [WHERE condition];
Ví dụ:
DELETE FROM javatpoint
WHERE Author=”Sonoo”;
- LOCK: Sử dụng để khóa một bảng, ngăn chặn truy cập từ các người dùng khác.
Cú pháp:
LOCK [tên_bảng]
Ví dụ: Khóa bảng spreadsheet1
LOCK spreadsheet1
- CALL: Sử dụng để gọi một chương trình con PL/SQL hoặc Java.
Cú pháp:
CALL subprogram_name (parameter1, parameter2, …)
Ví dụ: Calculate sum là tên của chương trình con PL/SQL mà chúng ta muốn gọi, và “10” và “20” là các tham số được truyền vào chương trình con đó.
CALL calculate_sum(10, 20);
- EXPLAIN PLAN: Sử dụng để mô tả kế hoạch truy cập đến dữ liệu.
Cú pháp:
EXPLAIN PLAN FOR
{SQL statement};
Ví dụ:
EXPLAIN PLAN FOR
SELECT * FROM customers WHERE city = ‘New York’;
8.4. DCL (Ngôn ngữ điều khiển dữ liệu)
DCL (Data Control Language) là một ngôn ngữ quản lý dữ liệu, trong đó các lệnh như GRANT và REVOKE được sử dụng chủ yếu để quản lý quyền truy cập và các kiểm soát khác của hệ thống cơ sở dữ liệu. Ví dụ, một kỹ sư có thể sử dụng lệnh GRANT để cho phép các ứng dụng cụ thể thực hiện các thao tác trên một hoặc nhiều bảng.
Dưới đây là danh sách các lệnh DCL:
- GRANT: Cấp quyền truy cập vào cơ sở dữ liệu cho người dùng.
Cú pháp:
GRANT [privilege] ON [object] TO [username];
Ví dụ: Cấp quyền SELECT và INSERT cho người dùng có tên là “user1” truy cập vào bảng “employees”.
GRANT SELECT, INSERT ON employees TO user1;
- REVOKE: Thu hồi các quyền truy cập đã được cấp cho người dùng thông qua lệnh GRANT.
Cú pháp:
REVOKE [privilege] ON [object] FROM [username];
Ví dụ: Thu hồi quyền SELECT và INSERT từ người dùng có tên “user1” cho bảng “employees”.
REVOKE SELECT, INSERT ON employees FROM user1;
8.5. TCL (Ngôn ngữ kiểm soát giao dịch)
Thường xuyên sử dụng trong các công cụ quan hệ, ngôn ngữ kiểm soát giao dịch (TCL) tự động thực hiện các thay đổi đối với cơ sở dữ liệu. Dưới đây là một số lệnh thuộc TCL:
- Commit: Sao lưu tất cả các giao dịch vào cơ sở dữ liệu
Cú pháp:
COMMIT;
Ví dụ:
DELETE FROM CUSTOMERS
WHERE AGE = 25;
COMMIT;
- Rollback: Hoàn tác các giao dịch chưa được lưu vào cơ sở dữ liệu
Cú pháp:
ROLLBACK;
Ví dụ:
DELETE FROM CUSTOMERS
WHERE AGE = 25;
ROLLBACK;
- Savepoint: Tạo một điểm lưu trữ trong một giao dịch, cho phép bạn quay trở lại điểm đó sau khi đã thực hiện một số thay đổi.
Cú pháp:
SAVEPOINT savepoint_name;
Ví dụ: Một SAVEPOINT có tên là “it_department” được tạo sau khi thực hiện một số thay đổi trong bảng “employees” liên quan đến phòng ban IT. Sau đó, nếu có lỗi xảy ra hoặc cần hoàn tác một phần của giao dịch, chúng ta có thể sử dụng lệnh ROLLBACK TO SAVEPOINT để quay trở lại trạng thái của SAVEPOINT “it_department”.
START TRANSACTION;
UPDATE employees SET salary = salary * 1.1 WHERE department = ‘IT’;
SAVEPOINT it_department;
UPDATE employees SET salary = salary * 1.05 WHERE department = ‘HR’;
ROLLBACK TO SAVEPOINT it_department;
COMMIT;
8.6. Một số câu lệnh SQL khác
Ngoài những câu lệnh trên, SQL còn có một số câu lệnh phổ biến khác.
- INSERT INTO: Thêm dữ liệu vào trong cơ sở dữ liệu.
- CREATE DATABASE: Tạo cơ sở dữ liệu mới.
- ALTER DATABASE: Điều chỉnh cấu trúc của cơ sở dữ liệu.
- CREATE TABLE: Tạo bảng mới trong cơ sở dữ liệu.
- ALTER TABLE: Thay đổi cấu trúc của bảng.
- DROP TABLE: Loại bỏ một bảng khỏi cơ sở dữ liệu.
- CREATE INDEX: Tạo một chỉ mục để tăng tốc độ truy xuất dữ liệu.
- DROP INDEX: Xóa một chỉ mục đã được tạo trước đó.
9. Tìm hiểu bảng cơ sở dữ liệu trên SQL
Ví dụ, bảng lương tháng X
STT | Họ và tên nhân viên | Chức vụ | Số ngày công | Lương cơ bản | Thưởng | Phụ cấp | Tổng thu nhập | Thuế TNCN | Tổng lương |
---|---|---|---|---|---|---|---|---|---|
1 | Nguyễn Văn A | Nhân viên | 26 | 10,000,000đ | 1,000,000đ | 500,000đ | 11,500,000đ | 1,500,000đ | 10,000,000đ |
2 | Trần Thị B | Kế toán | 25 | 12,000,000đ | 1,200,000đ | 600,000đ | 13,800,000đ | 1,800,000đ | 12,000,000đ |
3 | Lê Văn C | Trưởng phòng | 24 | 15,000,000đ | 1,500,000đ | 700,000đ | 17,200,000đ | 2,200,000đ | 15,000,000đ |
Ghi chú:
- Lương cơ bản: Lương căn bản của nhân viên.
- Thưởng: Các khoản thưởng được tính vào bảng lương.
- Phụ cấp: Các khoản phụ cấp khác (nếu có) được tính vào bảng lương.
- Tổng thu nhập: Tổng số tiền nhận được của nhân viên sau khi tính thêm thưởng và phụ cấp.
- Thuế TNCN: Thuế thu nhập cá nhân được tính trên tổng thu nhập.
- Tổng lương: Số tiền nhân viên thực sự nhận được sau khi trừ đi thuế.
10. Một số câu hỏi liên quan đến SQL
10.1. SQL Server là gì?
Microsoft SQL Server, một hệ thống quản trị cơ sở dữ liệu phát triển bởi Microsoft, đóng vai trò không thể phủ nhận trong việc lưu trữ, quản lý và truy xuất dữ liệu cho các ứng dụng phần mềm. Nền tảng này cung cấp tính linh hoạt trong vận hành, có thể triển khai trên cùng một máy tính với ứng dụng hoặc trên máy chủ riêng biệt trong mạng, bao gồm cả môi trường Internet.
Các phiên bản hiện tại của SQL Server là gì? Hiện tại, Microsoft đang cung cấp các phiên bản SQL Server sau đây, mỗi phiên bản được thiết kế đặc biệt cho một đối tượng cụ thể:
Phiên bản SQL Server | Mô tả |
SQL Server Enterprise | Phiên bản SQL Server hướng đến doanh nghiệp, đem lại đa dạng các tính năng với hiệu suất vô cùng cao, khả năng trực quan hóa thông tin không hạn chế, và cho phép người dùng tự do truy cập thông tin chi tiết về dữ liệu. |
SQL Server Standard | Phiên bản SQL Server tiêu chuẩn cho phép người dùng quản lý cơ sở dữ liệu ở mức cơ bản để triển khai các ứng dụng và hỗ trợ các công cụ phát triển phổ biến cho cả on-premise và cloud, phù hợp với các doanh nghiệp có quy mô nhỏ hoặc có nguồn lực IT hạn chế. |
SQL Server Web | SQL Server Web là sự lựa chọn phù hợp cho các nhà cung cấp dịch vụ lưu trữ web (Web hoster) và các nhà cung cấp ứng dụng web (Web VAP), mang lại khả năng mở rộng và quản lý cho các dự án web từ quy mô nhỏ đến lớn. |
SQL Server Developer | SQL Server Developer Edition cho phép các nhà phát triển xây dựng các ứng dụng trên SQL Server mà không bị hạn chế. Phiên bản này bao gồm tất cả các tính năng của phiên bản Enterprise, nhưng được phép sử dụng cho mục đích phát triển và thử nghiệm, không dành cho máy chủ sản xuất. |
SQL Server Express | SQL Server Express là phiên bản dễ sử dụng và đơn giản nhất, phù hợp cho các nhà phát triển phần mềm độc lập và người mới bắt đầu làm quen với SQL. Nếu bạn cần các tính năng cao cấp hơn, bạn có thể nâng cấp từ SQL Server Express lên các phiên bản cao cấp một cách dễ dàng. |
10.2. PL/SQL là gì?
PL/SQL là một ngôn ngữ lập trình được sử dụng trong hệ thống quản lý cơ sở dữ liệu Oracle. Viết tắt của Procedural Language/Structured Query Language, PL/SQL là một phần mở rộng của Oracle.
PL/SQL được thiết kế để cung cấp hỗ trợ cho việc phát triển các dịch vụ web. Trong khi SQL thường được sử dụng để truy vấn dữ liệu từ các bảng, PL/SQL thực hiện các nhiệm vụ tiếp theo như đóng gói kết quả, xử lý giao diện hiển thị và các hoạt động khác.
10.3. SQL được sử dụng nhiều ở đâu?
Trong thực tế, ngôn ngữ SQL được sử dụng trong nhiều tình huống khác nhau, đặc biệt là trong việc xử lý các bảng quyết toán, bảng lương, danh sách phòng ban, và thông tin nhân viên. Khi dữ liệu được lưu trữ dưới dạng cơ sở dữ liệu, chúng ta có thể sử dụng SQL để nhanh chóng phân tích và xử lý thông tin trong đó. Kết quả từ các truy vấn SQL thường là các bảng dữ liệu mới, giúp việc xử lý trở nên dễ dàng và nhanh chóng hơn.
Hơn nữa, SQL cũng được sử dụng để cập nhật thông tin đã tồn tại trước đó. Quá trình này thường được thực hiện một cách nhanh chóng và đảm bảo không có sai sót, đồng thời không bỏ lỡ bất kỳ dữ liệu nào.
10.4. MSSQL là gì?
Microsoft SQL Server (MSSQL) là một phần mềm do Microsoft phát triển, được thiết kế để lưu trữ dữ liệu theo chuẩn RDBMS một cách dễ dàng.
10.5. Liệu học SQL có khó học không?
Học SQL không phức tạp, vì chỉ cần bạn có kiến thức về tiếng Anh là có thể dễ dàng hiểu các câu lệnh trong SQL. Ngoài ra, SQL không phân biệt chữ hoa chữ thường, các dấu câu đơn giản và dễ hiểu, vì vậy chỉ cần thực hành thường xuyên, bạn sẽ nhanh chóng nắm bắt được chúng.
10.6. Tại sao nên học ngôn ngữ SQL?
Dữ liệu có giá trị rất lớn. Mọi lĩnh vực đều cần dữ liệu. SQL được sử dụng làm nền tảng cho các công cụ cơ sở dữ liệu phổ biến như MySQL, SQL Server, SQLite và PostgreSQL.
11. Tổng kết
Bài viết đã đề cập đến thông tin tổng quan về SQL là gì, cung cấp cho bạn một số lệnh và truy vấn phổ biến để bạn có thể áp dụng. Hy vọng đã giải đáp được thắc mắc của bạn. Để có thể tìm hiểu thêm thông tin, mời bạn truy cập vào Blog của VinaHost TẠI ĐÂY hoặc liên hệ ngay cho chúng tôi nếu cần tư vấn về dịch vụ.
- Email: support@vinahost.vn
- Hotline: 1900 6046
- Livechat: https://livechat.vinahost.vn/chat.php
Xem thêm một số bài viết khác:
[HOT] Cách sửa lỗi MySQL Server has gone away hiệu quả
[Tìm Hiểu] Big Data là gì | Tổng hợp thông tin về dữ liệu lớn