wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

DATABASE TEST

Total questions: 60

Worksheet time: 2hrs 36mins

Name
Class
Date
1.

Cú pháp nào sau đây dùng để xoá 1 dòng ra khỏi bảng đã cho?

a)

DELETE [tên bảng] WHERE [điều kiện];

b)

DELETE FROM [tên bảng] WHERE [điều kiện];

c)

DROP FROM [tên bảng] WHERE [điều kiện];

d)

DROP [tên bảng] WHERE [điều kiện];

2.

Đặc điểm của khoá chính là :

a)

Định danh cho duy nhất cho bảng

b)

Định danh duy nhất cho bản ghi

c)

Thuộc tính duy nhất cho bảng

d)

Thuộc tính duy nhất cho bản ghi

3.

Mỗi bảng trong cơ sở dữ liệu phải có:

a)

Một trường ID.

b)

Ít nhất một bản ghi.

c)

Một cái tên duy nhất.

d)

Ít nhất năm trường thuộc tính.

4.

Mỗi KH có thể có nhiều số điện thoại. Số điện thoại là dạng thuộc tính gì của thực thể KH

a)

Đơn trị

b)

Đa trị

c)

Phức hợp

d)

Suy diễn

5.

Câu lệnh "CREATE DATABASE <Tên database>" có chức năng gì?

a)

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

b)

Tạo mới bảng

c)

Tạo thuộc tính của bảng

d)

Tạo khóa chính

6.

Câu lệnh nào sau đây là đúng khi tạo ràng buộc NgSinh phải nhỏ hơn ngày hiện tại

a)

NGSDATETIME CHECK (NGSINH>CURDATE())

b)

NGSINH DATETIME CHECK (NGSINH<NOWDATE())

c)

NGSINH DATETIME CHECK (NGSINH<CURDATE())

d)

NGSINH DATETIME CHECK (NGSINH<TODAYDATE())

7.

Để tạo khóa chính cho MaNV có thể dùng câu lệnh nào sau đây?

a)

MANV char(4) PRIMARY KEY

b)

CONSTRAINT PK_NV PRIMARY KEY (MaNV)

c)

ALTER TABLE Nhanvien

ADD CONSTRAINT pk_MaNV PRIMARY KEY (MaNV)

d)

Tất cả đều đúng

8.

Câu lệnh "CREATE TABLE <Tên Table>" có chức năng gì?

a)

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

b)

Tạo mới bảng

c)

Tạo thuộc tính của bảng

d)

Tạo khóa chính

9.

Khóa chính trong một bảng được gọi là?

a)

Foreign Key

b)

Unique

c)

Candidate Key

d)

Primary Key

10.

Nhận định nào sau đây là sai về khóa?

a)

Một bảng có thể có nhiều khóa chính

b)

Khóa chính và khóa duy nhất (unique) đảm bảo không có dòng nàogiống hệt nhau về dữ liệu

c)

Nên chọn khóa chính là khóa có ít thuộc tính nhất

d)

Mỗi bảng có ít nhất một khóa

11.

Dòng lệnh nào sau đây được dùng để thiết lập cột ID là khóa chính của bảng với MySQL?

a)

ID int NOT NULL PRIMARY KEY

b)

PRIMARY_KEY(ID)

c)

PrimaryKey(ID)

d)

PRIMARY KEY (ID)

12.

 

Câu lệnh nào dùng để truy vấn (lấy) dữ liệu từ một bảng trong CSDL?

a)

INSERT

b)

DELETE

c)

GET

d)

SELECT

13.

Câu lệnh SQL sau được sử dụng để làm gì?

"SELECT firstname, lastname, email, phone FROM Student;"

a)

Cập nhật dữ liệu trong bảng Student

b)

Lấy dữ liệu của của cột firstname, lastname, email, phone của tất cả các dòng trong bảng Student

c)

Thêm dữ liệu vào bảng Student

d)

Lấy tất cả dữ liệu từ bảng Student

14.

Mệnh đề WHERE được sử dụng khi nào?

a)

Khi muốn truy vấn dữ liệu với một điều kiện nào đó

b)

Khi xóa CSDL trong MySQL

c)

Khi xóa bảng trong CSDL

d)

Khi muốn thêm dữ liệu vào bảng

15.

Cú pháp tạo ràng buộc Check là gì?

a)

CONSTRAINT tên ràng buộc CHK (điều kiện)

b)

CONSTRAINT thuộc tính CHECK (điều kiện)

c)

CONSTRAINT tên ràng buộc CHECK (điều kiện)

d)

CHECK tên ràng buộc CONSTRAINT (điều kiện)

16.

Lệnh ALTER TABLE có chức năng gì?

a)

Xóa một bảng trong một cơ sở dữ liệu

b)

Thêm, sửa, xóa các cột trong bảng hiện tại

c)

Tạo ra một bảng trong một cơ sở dữ liệu

d)

Tất cả đáp án đều đúng

17.

Trong toán tử Like, kí tự % biểu thị điều gì?

a)

Kí tự đơn bất kì trong giới hạn

b)

Thể hiện nhiều kí tự trong xâu

c)

Kí tự không nằm trong các giới hạn

d)

Bắt buộc chỉ được 1 kí tự

18.

Hãy chọn câu truy vấn đúng:

a)

SELECT * FROM T1 ORDER BY id DESC;

b)

SELECT * FROM T1 WHERE BY id;

c)

SELECT * WHERE T1 ORDER BY id ASC;

d)

SELECT % FROM t1 WHERE BY id;

19.

Trong câu lệnh Select, sau từ khoá ‘‘Having ’’ là gì?

a)

Biểu thức điều kiện của lệnh select

b)

Biểu thức điều kiện của nhóm

c)

Ràng buộc cột trong nhóm

d)

Ràng buộc bản ghi trong bảng

20.

Mệnh đề Having thực hiện điều nào sau đây?

a)

Hoạt động giống như mệnh đề WHERE nhưng được sử dụng cho các group thay vì các row

b)

Hoạt động giống như mệnh đề WHERE nhưng được sử dụng cho các row thay vì các colum

c)

Hoạt động giống như mệnh đề WHERE nhưng được sử dụng cho các colum thay vì group

d)

Hoạt động chính xác như mệnh đề WHERE

21.

Cú pháp để thêm bản ghi vào 1 bảng là gì?

a)

INSERT INTO table_name (column1, column2, column3, ...)

VALUES (value1, value2, value3, ...);

b)

INSERT table_name (column1, column2, column3, ...)

VALUES (value1, value2, value3, ...);

c)

INSERT INTO table_name ADD (column1, column2, column3, ...)

VALUES (value1, value2, value3, ...);

d)

SELECT column1, column2, ...

FROM table_name;

22.

Khóa chính (PRIMARY KEY) có được NULL không?

a)

b)

Không

c)

Tùy dữ liệu insert

d)

Tùy hệ cơ sở dữ liệu sử dụng.

23.

Cú pháp lệnh này có tác dụng gì?

ALTER TABLE table_name

ADD PRIMARY KEY(primary_key_column);

a)

Xóa bỏ cột trong bảng

b)

Bổ sung khóa ngoại cho bảng

c)

Bổ sung khóa chính cho bảng

d)

Thêm cột cho bảng

24.

Từ khoá FOREIGN KEY REFERENCES được sử dụng khi nào?

a)

Chỉ định giá trị mặc định cho bảng

b)

Chỉ định khóa ngoại cho bảng

c)

Chỉ định khóa chính cho bảng

d)

Chỉ định khóa duy nhất cho bảng

25.

Với Sql, làm thế nào lấy tất cả các bản ghi từ bảng có tên là Persons?

a)

SELECT Persons

b)

SELECT [all] FROM Persons

c)

SELECT * FROM Persons

d)

SELECT *.Persons

26.

Với Sql, làm thế nào để sắp xếp bảng theo thứ tự tăng dần của cột "Luong"

a)

Having Luong asc

b)

Order by Luong desc

c)

Order by Luong asc

d)

Group by Luong asc

27.

Cho biết nội dung của câu truy vấn sau:

SELECT * FROM SINHVIEN WHERE GIOITINH = 'Nam' AND DIACHI = 'HCM';

a)

In ra thông tin các sinh viên nam

b)

In ra thông tin các sinh viên nam sống tại HCM.

c)

In ra danh sách tất cả các sinh viên

d)

Tất cả đều sai

28.

Việc lưu trữ dữ liệu dưới dạng CSDL có thể khắc phục được những khuyết điểm nào sau đây

a)

Giảm trùng lặp thông tin, đảm bảo tính nhất quán và toàn vẹn dữ liệu.

b)

Cho phép chia sẻ cho nhiều ứng dụng sử dụng đồng thời trên một CSDL.

c)

Đảm bảo an toàn dữ liệu.

d)

Tất cả các ý trên

29.

Hãy cho biết kết quả chuyển từ mô hình TT-KH sau sang mô hình quan hệ

a)

S(S1,...)

T(T1,T1,R1...)

b)

S(S1,...)

T(T1,...)

Q(S1,T1,...)

c)

S(S1,...,T1)

T(T1,...)

d)

S(S1,...,T1,R1)

T(T1,...)

30.

Điền vào chỗ còn thiếu trong câu truy vấn sau:

INSERT INTO SINHVIEN (MSSV, TEN, TUOI, DIACHI) (a)   (1211153,'Nguyễn Văn An',20,'HCM');

31.

Cú pháp nào sau đây dùng để thêm một cột mới sau khi đã tạo bảng?

a)

ALTER TABLE table_name ADD COLUMN column_name;

b)

ALTER TABLE table_name ADD COLUMN column_name data_type;

c)

ALTER TABLE table_name DROP COLUMN column_name data_type;

d)

ALTER TABLE table_name ADD column_name data_type;

32.

Để xóa cột tuổi ra khỏi bảng SINHVIEN ta sử dụng lệnh:

ALTER TABLE SINHVIEN (a)   COLUMN TUOI;

33.

Để xóa ràng buộc có tên là check_GIOITINH, ta sử dụng lệnh:

ALTER TABLE SINHVIEN DROP (a)   check_GIOITINH;

34.

Để lấy ra danh sách tuổi của sinh viên và loại bỏ các giá trị trùng lặp, ta dùng lệnh:

a)

SELECT ALL TUOI FROM SINHVIEN;

b)

SELECT DISTINCT TUOI FROM SINHVIEN;

c)

SELECT TUOI FROM SINHVIEN;

d)

SELECT * FROM SINHVIEN;

35.

Cho biết nội dung của câu truy vấn sau:

SELECT MSSV, TEN FROM SINHVIEN WHERE TUOI NOT BETWEEN 20 AND 25;

a)

Liệt kê những sinh viên có độ tuổi không nằm trong khoản từ 20 đến 25.

b)

Liệt kê danh sách tất cả sinh viên

c)

Liệt kê những sinh viên có độ tuổi từ 20 đến 25.

d)

Tất cả đều sai

36.

Cho biết nội dung của câu truy vấn sau:

SELECT MSSV, SUM(DIEM)

FROM KETQUA GROUP BY MSSV;

a)

In danh sách điểm thi của sinh viên

b)

Tính tổng điểm các môn thi theo từng sinh viên

c)

Tính điểm các môn thi theo từng sinh viên

d)

Tất cả đều sai

37.

Cho biết nội dung của câu truy vấn sau:

SELECT *

FROM SINHVIEN

ORDER BY DIEM DESC LIMIT 3;

a)

In danh sách điểm thi của 3 sinh viên bất kỳ

b)

In danh sách điểm thi của tất cả sinh viên

c)

In danh sách 3 sinh viên có điểm cao nhất

d)

In danh sách 3 sinh viên có điểm thấp nhất

38.

Khẳng định nào sau đây là đúng ?

a)

A. TRUNCATE TABLE xóa bảng khỏi cơ sở dữ liệu

b)

B. TRUNCATE TABLE phải được sử dụng cùng với mệnh đề WHERE

c)

C. TRUNCATE TABLE có chức năng tương tự như lệnh DELETE nhưng không có mệnh đề WHERE và đều được sử dụng để xóa các bản ghi từ một bảng đang tồn tại trong SQL.

39.

Câu lệnh nào sau đây là đúng

a)

A. SELECT FROM HOADON WHERE NGHD BETWEEN '10/12/2022' AND '01/01/2023'

b)

B. SELECT * FROM HOADON WHERE NGHD BETWEEN '10/12/2022' AND '01/01/2023'

c)

C. SELECT FROM HOADON WHERE NGHD BETWEEN ('10/12/2023', '01/01/2023')

d)

D. SELECT HOADON WHERE NGHD BETWEEN '10/12/2022' AND '01/01/2023'

40.

RDBMS là viết tắt của...?

a)

A. Real Database Management System

b)

B. Read Database Master System

c)

C. Relational Database Management System

d)

D. Read Database Management System

41.

Nếu không chỉ định ASC hoặc DESC sau mệnh đề ORDER BY thì từ khóa nào được sử dụng theo mặc định ?

a)

A. ASC

b)

B. DESC

c)

C. DOWN

d)

D. UP

42.

Hãy chọn các câu trả lời ĐÚNG.

a)

A. Trong MySQL, các lệnh DELETE, TRUNCATE, DROP có chức năng xóa dữ liệu.

b)

B. Trong cùng một Database, ta có thể đặt tên các bảng trùng nhau.

c)

C. Một bảng chỉ có thể có một khóa chính (Primary Key) nhưng có thể có nhiều khóa ngoại (Foreign Key).

d)

D. Unique cũng có thể xem là một khóa ở trong bảng.

43.

Chọn câu trả lời sai

a)

A. Một cột được đặt Primary Key có thể có các giá trị trùng nhau.

b)

B. Để tối ưu hóa truy vấn, ta có thể ưu tiên sử dụng câu lện nối JOIN thay vì truy vấn con.

c)

C. VIEW (khung nhìn) là một bảng ảo có nội dung được định nghĩa thông qua một câu lệnh MyQL nào đó.

d)

D. INSERTED và DELETED là 2 bảng tạm (temporary table) chỉ chứa trên bộ nhớ cho nên các bảng này chỉ được sử dụng với các lệnh trong TRIGGER

44.

Phát biểu nào sai trong các phát biểu sau khi nói về khoá chính?

a)

Mỗi bảng có ít nhất một khóa

b)

Một bảng có thể có nhiều khóa chính

c)

Xác định khoá phụ thuộc vào quan hệ logic của các dữ liệu chứ không phụ thuộc vào giá trị các dữ liệu

d)

Nên chọn khoá chính là khoá có ít thuộc tính nhất

45.

Hoạt động nào sau đây có sử dụng CSDL?

a)

Bán vé máy bay

b)

Quản lý học sinh trong nhà trường

c)

Quản lý bệnh nhân trong bệnh viên

d)

Bán hàng có quy mô

46.

Chỉ ra câu lệnh đồng loạt tăng giá bán sản phẩm lên 10%

a)

UPDATE SANPHAM SET GIA*10/100

b)

UPDATE SANPHAM SET GIA=GIA*10/100

c)

UPDATE SANPHAM=GIA+GIA*10/100 FROM SANPHAM

d)

UPDATE SANPHAM SET GIA=GIA+GIA*10/100

47.

Câu lệnh nào dưới đây trả về số lượng nhân viên trong một công ty

a)

SELECT COUNT(MANV) FROM NHANVIEN

b)

SELECT SUM(MANV) FROM NHANVIEN

c)

SELECT MAX(MANV) FROM NHANVIEN

d)

SELECT MANV FROM NHANVIEN WHERE COUNT(MANV) >0

48.

Câu nào dưới đây không đúng khi nói về ORDER BY

a)

ORDER BY dùng để sắp xếp dữ liệu trả về từ lệnh SELECT

b)

ORDER BY có thể sắp xếp theo chiều giảm dần bằng từ khóa ASC

c)

Khi sử dụng ORDER BY có thể không cần viết chiều sắp xếp

d)

ORDER BY có thể sắp xếp theo nhiều cột

49.

Lệnh nào để lấy các bản ghi có tuổi (age) nằm trong khoảng từ 20 đến 30 (có lấy 2 đầu mút)

a)

SELECT * FROM table WHERE age IN (20,30)

b)

SELECT FROM table WHERE age BETWEEN 20 AND 30

c)

SELECT * FROM table WHERE age <= 20 AND age >= 30

d)

SELECT * FROM table WHERE age >= 20 AND age <= 30

e)

SELECT * FROM table WHERE age >= 20 OR age <= 30

50.

Lệnh nào để lấy các bản ghi có cột title chứa từ khóa ‘hello’ ?

a)

SELECT * FROM table WHERE title = ‘%hello%’

b)

SELECT * FROM table WHERE title LIKE ‘hello’

c)

SELECT * FROM table WHERE title LIKE ‘%hello%’

d)

SELECT * FROM table WHERE title LIKE ‘%hello’ OR title LIKE ‘hello%’

e)

SELECT * FROM table WHERE title LIKE ‘%hello_’

51.

Câu lệnh SQL nào để sắp xếp dữ liệu theo các cột first_name ( theo chiều tăng dần ) và last_name (theo chiều giảm dần)

a)

SELECT * FROM table_1 ORDER BY first_name, last_name

b)

SELECT * FROM table_1 ORDER BY last_name ASC, first_name DESC

c)

SELECT * FROM table_1 ORDER BY first_name ASC, last_name DESC

d)

SELECT * FROM table_1 ORDER BY first_name AND last_name

e)

SELECT FROM table_1 ORDER BY first_name ASC, last_name DESC

52.

Câu lệnh SQL nào sai cú pháp

a)

SELECT * FROM table_1 WHERE col_1 > 20 AND < 30

b)

SELECT * FROM table_1 WHERE col_1 OR col_2 > 30

c)

SELECT * FROM table_1 WHERE col_1 < 20 OR col_2 > 40 ORDER BY col_1 col_2

d)

SELECT * FROM table_1 WHERE col_1 BETWEEN 50 AND 40

53.

Cho lệnh SQL:

SELECT * FROM table_1 WHERE col_1 BETWEEN val_1 AND val_2


Lệnh nào dưới đây tương đương với lệnh SQL trên:

a)

SELECT * FROM table_1 WHERE col_1 IN (val_1, val_2)

b)

SELECT * FROM table_1 WHERE col_1 >= val_1 OR col_1 <= val_2

c)

SELECT * FROM table_1 WHERE col_1 >= val_1 AND col_1 =< val_2

d)

SELECT * FROM table_1 WHERE col_1 >= val_1 AND col_1 <= val_2

e)

SELECT * FROM table_1 WHERE col_1 >= val_1 AND <= val_2

54.

Cho lệnh SQL:

SELECT * FROM table WHERE col_1 != 10


Lệnh SQL nào tương đương với lệnh trên

a)

SELECT * FROM table WHERE col_1 IN (10)

b)

SELECT * FROM table WHERE col_1 < 10 AND col_1 > 10

c)

SELECT FROM table WHERE col_1 < 10 OR col_1 > 10

d)

SELECT * FROM table WHERE col_1 <= 10 OR col_1 >= 10

e)

SELECT * FROM table WHERE col_1 < 10 OR col_1 > 10

55.

Lệnh nào để lấy ra các bản ghi thỏa mãn điều kiện: cột name có chữ cái 'a' nằm ở vị trí số 2

a)

SELECT * FROM table_1

b)

SELECT * FROM table_1 WHERE name LIKE '%a%'

c)

SELECT * FROM table_1 WHERE name LIKE '_a%'

d)

SELECT * FROM table_1 WHERE name LIKE '%a'

e)

SELECT * FROM table_1 WHERE name LIKE '_a'

56.

Cho bảng table_1 gồm 3 cột: name, gender, age


Lệnh SQL nào tính tuổi trung bình theo gender

a)

SELECT AVG(age), gender FROM table_1 ORDER BY gender

b)

SELECT AVG(age), gender FROM table_1

c)

SELECT gender, AVG(age) FROM table_1 GROUP BY gender

d)

SELECT gender, SUM(age) FROM table_1 GROUP BY gender

e)

SELECT gender, AVG(age) FROM table_1 GROUP BY name, gender

57.

Lệnh SQL nào dưới đây đúng cú pháp

a)

SELECT SUM(col_1) FROM table_1

b)

SELECT SUM(col_1) GROUP BY col_2

c)

SELECT AVG(col_1) FROM table_1 GROUP BY col_2, col_3

d)

SELECT MIN(col_1), MAX(col_2) FROM table_1

e)

SELECT col_1, COUNT(col_2) FROM table_1

58.

Trong các tình huống sau, tình huống nào cần dùng đến lệnh UPDATE

a)

Người dùng cập nhật thông tin profile cá nhân trên trang web

b)

Người dùng truy cập vào 1 đường link sản phẩm trên trang web

c)

Quản trị viên website xóa sản phẩm khỏi hệ thống

d)

Người dùng sau khi mua hàng thì được cộng điểm thưởng

59.

Câu lệnh UPDATE nào dưới đây đúng cú pháp ?

a)

UPDATE table_1

b)

UPDATE table_1 SET col_1 = 10

c)

UPDATE table_1 SET col_1 = 10 WHERE col_2 = 20

d)

SET col_1 = 10 UPDATE table_1

e)

FROM table_1 SET col_1 = 10 WHERE col_2 = 20

60.

Lệnh SQL nào đúng cú pháp ?

a)

SELECT Order_date, AVG(Quantity)

FROM Order_details

b)

SELECT Order_date, AVG(Quantity)

FROM Order_details

GROUP BY Order_date

c)

SELECT Order_date, AVG(SUM(Quantity))

FROM Order_details

GROUP BY Order_date

d)

SELECT Order_date

FROM Order_details

WHERE SUM(Quantity) > 1000

GROUP BY Order_date