[SQL Server] Lệnh Create Table trong SQL

1. Cú pháp lệnh Create Table trong T-SQL

Dưới đây là cú pháp tạo bảng.
1
2
3
4
5
6
7
8
CREATE TABLE table_name(
   column1 datatype,
   column2 datatype,
   column3 datatype,
   .....
   columnN datatype,
   PRIMARY KEY( columns_list )
);
Trong đó:
  • table_name là tên bảng, nó phải là duy nhất trong một CSDL
  • column (1, 2, 3 ... n) là danh sách các column, mỗi column sẽ được thiết lập kiểu dữ liệu datatype
  • column_list trong dòng primary key là danh sách các column được xác định là khóa chính, có thể có 1 hoặc nhiều column.
Có một số thuộc tính như thiết lập tăng tự động auto_increment thì không có ở Oracle, vì vậy với mỗi hệ quản trị CSDL thì bạn nên tham khảo thêm tài liệu của họ.
SQL Server + Oracle + MySQL
1
2
3
4
5
6
7
8
CREATE TABLE STUDENTS(
   ID   INT              NOT NULL,
   NAME VARCHAR (20)     NOT NULL,
   AGE  INT              NOT NULL,
   ADDRESS  CHAR (25) ,
   DEPARTMENT   VARCHAR (200),
   PRIMARY KEY (ID)
);

2. Create Table kết hợp Select

Nếu bạn muốn tạo mộ table với cấu trúc từ một table khác thì có thể kết hợp nó với lệnh SELECT, danh sách các columns của table mới chính là các column trả về của lệnh Select, cú pháp như sau:

SQL Server

Cú pháp
1
2
3
4
SELECT *
INTO newtable [IN externaldb]
FROM oldtable
WHERE CONDITION;
Ví dụ
1
2
SELECT * INTO BackupTable
FROM Students;

MySQL

Cú pháp
1
CREATE TABLE new_tbl [AS] SELECT * FROM orig_tbl;
Lưu ý: Từ khóa AS có thể có hoặc không.
Ví dụ
1
2
3
4
5
6
CREATE TABLE demoBackup (
    a INT NOT NULL AUTO_INCREMENT,
    b VARCHAR(200) NULL,
    PRIMARY KEY (a)
)
ENGINE = MYISAM SELECT a, b FROM demo;

Oracle 

Cú pháp
1
2
CREATE TABLE new_table 
AS (SELECT * FROM old_table);
Ví dụ
1
2
CREATE TABLE newcustomers 
AS (SELECT *   FROM customers  WHERE customer_id < 5000);
Trên là cách sử dụng lệnh Create Table trong T-SQL và thể hiện của no qua một số hệ quản trị CSDL khác nhau.

Nhận xét

Bài đăng phổ biến từ blog này

[SQL Server] Toán tử LIKE và NOT LIKE trong SQL

[Javascript] Object constructor

[SQL Server] Lọc dữ liệu trùng với DISTINCT trong SQL