06/04/2021, 14:50

Lệnh Create Table trong SQL - Ngôn ngữ truy vấn T-SQL

Trong bài này mình sẽ nói về lệnh tạo bảng bằng T-SQL, đây là lệnh dùng để tạo bảng lưu trữ dữ liệu trong một database cụ thể. Mỗi table có nhiều column và mỗi column sẽ có các thông số như kiểu dữ liệu, kích thước giới hạn dữ liệu, cho phép NULL và NOT NULL ... Và trước khi bắt đầu bài học thì ...

Trong bài này mình sẽ nói về lệnh tạo bảng bằng T-SQL, đây là lệnh dùng để tạo bảng lưu trữ dữ liệu trong một database cụ thể. Mỗi table có nhiều column và mỗi column sẽ có các thông số như kiểu dữ liệu, kích thước giới hạn dữ liệu, cho phép NULL và NOT NULL ... Và trước khi bắt đầu bài học thì ta tìm hiểu cú pháp trước nhé.

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

Dưới đây là cú pháp tạo bảng.

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
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
SELECT *
INTO newtable [IN externaldb]
FROM oldtable
WHERE CONDITION;


Ví dụ
SELECT * INTO BackupTable
FROM Students;

MySQL

Cú pháp
CREATE TABLE new_tbl [AS] SELECT * FROM orig_tbl;

Lưu ý: Từ khóa AS có thể có hoặc không.

Ví dụ
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
CREATE TABLE new_table  
AS (SELECT * FROM old_table);

Ví dụ
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.

Trịnh Tiến Mạnh

27 chủ đề

6824 bài viết

Cùng chủ đề
0