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 CSDLcolumn (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 datatypecolumn_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ọ.
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
SELECT * INTO newtable [IN externaldb] FROM oldtable WHERE CONDITION;
SELECT * INTO BackupTable FROM Students;
MySQL
CREATE TABLE new_tbl [AS] SELECT * FROM orig_tbl;
Lưu ý: Từ khóa AS có thể có hoặc không.
CREATE TABLE demoBackup ( a INT NOT NULL AUTO_INCREMENT, b VARCHAR(200) NULL, PRIMARY KEY (a) ) ENGINE = MYISAM SELECT a, b FROM demo;
Oracle
CREATE TABLE new_table AS (SELECT * FROM old_table);
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.