Oracle Database là một trong những hệ quản trị cơ sở dữ liệu (DBMS) mạnh mẽ và phổ biến nhất hiện nay. Để làm việc hiệu quả với OracleDB, việc nắm vững các câu lệnh cơ bản là vô cùng quan trọng. Dưới đây là một số câu lệnh SQL cơ bản giúp bạn thao tác với cơ sở dữ liệu Oracle:

1. Tạo bảng (CREATE TABLE)
Câu lệnh CREATE TABLE
dùng để tạo một bảng mới trong cơ sở dữ liệu.
CREATE TABLE employees (
employee_id NUMBER PRIMARY KEY,
first_name VARCHAR2(50),
last_name VARCHAR2(50),
hire_date DATE
);
2. Chèn dữ liệu (INSERT)
Câu lệnh INSERT
dùng để thêm dữ liệu vào bảng.
INSERT INTO employees (employee_id, first_name, last_name, hire_date)
VALUES (1, 'John', 'Doe', TO_DATE('2023-10-01', 'YYYY-MM-DD'));
3. Truy vấn dữ liệu (SELECT)
Câu lệnh SELECT
dùng để truy vấn dữ liệu từ một hoặc nhiều bảng.
SELECT * FROM employees;
Hoặc truy vấn có điều kiện:
SELECT first_name, last_name FROM employees WHERE employee_id = 1;
4. Cập nhật dữ liệu (UPDATE)
Câu lệnh UPDATE
dùng để sửa đổi dữ liệu hiện có trong bảng.
UPDATE employees
SET last_name = 'Smith'
WHERE employee_id = 1;
5. Xóa dữ liệu (DELETE)
Câu lệnh DELETE
dùng để xóa dữ liệu từ bảng.
DELETE FROM employees WHERE employee_id = 1;
6. Câu lệnh TRUNCATE
Câu lệnh TRUNCATE
dùng để xóa toàn bộ dữ liệu trong một bảng một cách nhanh chóng và hiệu quả. Khác với DELETE
, TRUNCATE
không ghi lại các thay đổi vào nhật ký giao dịch (transaction log), do đó nó không thể hoàn tác (rollback) được.
TRUNCATE TABLE table_name;
Ví dụ:
TRUNCATE TABLE employees;
7. Xóa bảng (DROP TABLE)
Câu lệnh DROP TABLE
dùng để xóa toàn bộ bảng khỏi cơ sở dữ liệu.
DROP TABLE employees;
8. Thay đổi cấu trúc bảng (ALTER TABLE)
Câu lệnh ALTER TABLE
dùng để thay đổi cấu trúc của bảng, chẳng hạn như thêm cột, xóa cột hoặc sửa đổi kiểu dữ liệu.
ALTER TABLE employees ADD (email VARCHAR2(100));
9. Tạo chỉ mục (CREATE INDEX)
Câu lệnh CREATE INDEX
dùng để tạo chỉ mục trên một hoặc nhiều cột, giúp tăng tốc độ truy vấn.
CREATE INDEX idx_last_name ON employees(last_name);
10. Tạo View (CREATE VIEW)
Câu lệnh CREATE VIEW
dùng để tạo một khung nhìn (view) từ kết quả của một truy vấn.
CREATE VIEW employee_view AS
SELECT first_name, last_name FROM employees;
11. Quản lý giao dịch (COMMIT và ROLLBACK)
COMMIT
: Lưu các thay đổi vào cơ sở dữ liệu.ROLLBACK
: Hủy bỏ các thay đổi chưa được lưu.
COMMIT;
ROLLBACK;
12. Câu lệnh SAVEPOINT
Câu lệnh SAVEPOINT
dùng để đánh dấu một điểm trong giao dịch (transaction), cho phép bạn quay lại điểm đó nếu cần thiết. Điều này rất hữu ích khi bạn muốn thực hiện các thay đổi tạm thời và có thể hủy bỏ chúng mà không cần hủy toàn bộ giao dịch.
Cú pháp:
SAVEPOINT savepoint_name;
Ví dụ:
-- Bắt đầu giao dịch
INSERT INTO employees (employee_id, first_name, last_name) VALUES (1, 'John', 'Doe');
-- Tạo savepoint
SAVEPOINT sp1;
-- Thêm dữ liệu khác
INSERT INTO employees (employee_id, first_name, last_name) VALUES (2, 'Jane', 'Smith');
-- Quay lại savepoint
ROLLBACK TO sp1;
-- Lúc này, chỉ có dữ liệu của John Doe được lưu, còn Jane Smith bị hủy.
13. Phân quyền (GRANT và REVOKE)
GRANT
: Cấp quyền truy cập cho người dùng hoặc role.REVOKE
: Thu hồi quyền truy cập.
GRANT SELECT ON employees TO user1;
REVOKE SELECT ON employees FROM user1;
14. Tạo người dùng (CREATE USER)
Câu lệnh CREATE USER
dùng để tạo một người dùng mới trong OracleDB.
CREATE USER new_user IDENTIFIED BY password;
15. Tạo role (CREATE ROLE)
Câu lệnh CREATE ROLE
dùng để tạo một role mới, giúp quản lý quyền dễ dàng hơn.
CREATE ROLE manager;
16. Xem cấu trúc bảng (DESC)
Câu lệnh DESC
dùng để xem cấu trúc của một bảng.
DESC employees;
17. Tạo sequence (CREATE SEQUENCE)
Câu lệnh CREATE SEQUENCE
dùng để tạo một sequence, thường dùng để tự động tạo giá trị cho các cột khóa chính.
CREATE SEQUENCE emp_seq START WITH 1 INCREMENT BY 1;
Trên đây là một số câu lệnh cơ bản giúp bạn bắt đầu làm việc với Oracle Database.