Trả lời: KHÔNG
MySQL bắt buộc dùng cặp ngoặc đơn ( ) để bao danh sách cột khi tạo bảng. Không dùng { }.
Cú pháp đúng
CREATE TABLE ten_bang (
cot1 kieu_du_lieu,
cot2 kieu_du_lieu,
...
PRIMARY KEY (cot1)
);
Ví dụ minh họa
Tạo bảng đúng
mysql> CREATE TABLE IF NOT EXISTS DemoTable (
CustomerId INT,
CustomerName VARCHAR(20),
CustomerAge INT,
PRIMARY KEY(CustomerId)
);
Chèn dữ liệu
mysql> INSERT INTO DemoTable VALUES(1, 'Chris', 25);
mysql> INSERT INTO DemoTable VALUES(2, 'Robert', 34);
Kết quả
+------------+--------------+-------------+
| CustomerId | CustomerName | CustomerAge |
+------------+--------------+-------------+
| 1 | Chris | 25 |
| 2 | Robert | 34 |
+------------+--------------+-------------+
So sánh các ngôn ngữ
| Ngôn ngữ | Block delimiter |
| MySQL / SQL | ( ) cho column list |
| JSON | { } cho object |
| JavaScript | { } object, [ ] array |
| Python | { } dict/set, [ ] list |
| C/C++/Java | { } code block |
Lỗi thường gặp
-- Sai: Dùng {}
CREATE TABLE DemoTable {
Id INT
};
-- ERROR 1064: You have an error in your SQL syntax...
-- Đúng: Dùng ()
CREATE TABLE DemoTable (
Id INT
);
Các cặp ngoặc trong MySQL
| Ngoặc | Dùng cho |
( ) | Column list, VALUES, subquery, function args, GROUP BY, ORDER BY, biểu thức |
[ ] | Identifier quoting (alternative backtick), array index trong JSON |
` ` | Identifier quoting (chuẩn MySQL): tên bảng, cột, index |
' ' / " " | String literal |
Best Practice
- Luôn dùng
( ) cho column definition list
- Dùng backtick
` ` cho identifier
- Format SQL có thụt lề để dễ đọc
- Kết thúc câu lệnh bằng
;