Mục tiêu
Luyện tập thao tác với bảng
Mô tả- Thao tác với bảng
Hướng dẫn nộp bài:
Up code lên github
Paste link github vào phần nộp bài
Tạo bảng mới
Câu lệnh CREATE TABLE được sử dụng để tạo một bảng mới.
Cú pháp rút gọn
CREATE TABLE table_name ( column1 datatype [ NULL | NOT NULL ], column2 datatype [ NULL | NOT NULL ], ... );
Trong đó, table_name là tên của bảng. column1 và column2 là tên của các cột, datatype là kiểu dữ liệu của từng cột.
Lưu ý: Đây là cú pháp rút gọn, hãy xem cú pháp đầy đủ của câu lệnh CREATE TABLE ở đây: https://dev.mysql.com/doc/refman/5.5/en/create-table.html
Ví dụ
Hãy xem đoạn mã tạo bảng contacts trong MySQL:
CREATE TABLE contacts ( contact_id INT(11) NOT NULL AUTO_INCREMENT, last_name VARCHAR(30) NOT NULL, first_name VARCHAR(25), birthday DATE, CONSTRAINT contacts_pk PRIMARY KEY (contact_id) );
Bảng contacts sẽ có 5 cột và một cột là khoá chính:
- Cột contact_id có kiểu dữ liệu số nguyên (với tối đa 11 chữ số) và không thể chứa giá trị NULL. Giá trị của cột này sẽ được tự động tăng dần (Giá trị đầu tiên là 1, tiếp theo là 2, 3…).
- Cột last_name có kiểu dữ liệu VARCHAR (chuỗi – với tối đa 30 ký tự) và không thể chứa giá trị NULL.
- Cột first_name có kiểu dữ liệu VARCHAR (chuỗi – với tối đa 25 ký tự) và có thể chứa giá trị NULL.
- Cột birthday có kiểu dữ liệu ngày tháng và có thể chứa giá trị NULL.
- Khoá chính của bảng này có tên là contacts_pk và được gán cho cột contact_id.
Trong ví dụ sau đây, chúng ta sử dụng từ khoá DEFAULT để gán giá trị mặc định cho một cột.
CREATE TABLE suppliers ( supplier_id INT(11) NOT NULL AUTO_INCREMENT, supplier_name VARCHAR(50) NOT NULL, account_rep VARCHAR(30) NOT NULL DEFAULT 'TBD', CONSTRAINT suppliers_pk PRIMARY KEY (supplier_id) );
Trong ví dụ này, cột account_rep có kiểu dữ liệu là chuỗi (với tối đa 30 ký tự), không thể chứa giá trị NULL và mặc định thì giá trị của cột này là ‘TBD’.
Xoá bảng
Câu lệnh DROP TABLE được sử dụng để xoá các bảng đã tạo trước đó.
Cú pháp rút gọn
DROP TABLE table_name1, table_name2, ...
Trong đó, table_name1 và table_name2 là tên của các bảng muốn xoá.
Lưu ý: Đây là cú pháp rút gọn, xem cú pháp đầy đủ ở đây: https://dev.mysql.com/doc/refman/5.5/en/drop-table.html
Ví dụ
Đoạn mã sau đây sẽ xoá bảng customers:
DROP TABLE customers;
Đoạn mã sau đây sẽ xoá 2 bảng là customers và suppliers:
DROP TABLE customers, suppliers;
Chỉnh sửa bảng
Câu lệnh ALTER TABLE được sử dụng để chỉnh sửa một bảng đang tồn tại.
Cú pháp rút gọn để thêm cột mới
ALTER TABLE table_name ADD new_column_name column_definition;
Trong đó, table_name là tên bảng, new_column_name là tên của cột mới, column_definition là các mô tả cho cột mới (chẳng hạn như kiểu dữ liệu, NULL, giá trị mặc định…).
Ví dụ
Đoạn mã trong ví dụ sau đây sẽ thêm cột last_name vào cho bảng contacts:
ALTER TABLE contacts ADD last_name varchar(40) NOT NULL AFTER contact_id;
Chúng ta cũng có thêm nhiều cột một lúc bằng cách sử dụng cú pháp:
ALTER TABLE table_name ADD new_column_name column_definition [ FIRST | AFTER column_name ], ADD new_column_name column_definition [ FIRST | AFTER column_name ], ... ;
Ví dụ:
ALTER TABLE contacts ADD last_name varchar(40) NOT NULL AFTER contact_id, ADD first_name varchar(35) NULL AFTER last_name;
Cú pháp để chỉnh sửa mô tả của một cột
ALTER TABLE table_name MODIFY column_name column_definition;
Trong đó table_name là tên của bảng, column_name là tên của cột, column_definition là mô tả mới của cột.
Ví dụ, đoạn mã sau sẽ sửa kiểu dữ liệu của cột last_name thành kiểu chuỗi (với tối đa 50 ký tự) và cho phép nó chứa giá trị NULL:
ALTER TABLE contacts MODIFY last_name varchar(50) NULL;
Chúng ta cũng có thể chỉnh sửa nhiều cột một lúc bằng cách sử dụng cú pháp:
ALTER TABLE table_name MODIFY column_name column_definition [ FIRST | AFTER column_name ], MODIFY column_name column_definition [ FIRST | AFTER column_name ], ... ;
Cú pháp để xoá một cột trong bảng
ALTER TABLE table_name DROP COLUMN column_name;
Trong đó, table_name là tên của bảng, column_name là tên của cột muốn xoá.
Ví dụ, đoạn mã sau sẽ xoá cột contact_type trong bảng contacts:
ALTER TABLE contacts DROP COLUMN contact_type;
Cú pháp để thay đổi tên cột
ALTER TABLE table_name CHANGE COLUMN old_name new_name column_definition
Trong đó, table_name là tên bảng, old_name là tên hiện tại của cột, new_name là tên mới muốn đổi thành, column_definition là mô tả của cột.
Ví dụ, đoạn mã sau sẽ đổi tên cột contact_type thành ctype:
ALTER TABLE contacts CHANGE COLUMN contact_type ctype varchar(20) NOT NULL;
Cú pháp để đổi tên bảng
ALTER TABLE table_name RENAME TO new_table_name;
Trong đó, table_name là tên hiện tại của bảng, new_table_name là tên mới của bảng.
Ví dụ, đoạn mã sau sẽ đổi tên bảng contacts thành people:
ALTER TABLE contacts RENAME TO people;
Trên đây CodeGym đã cùng với bạn luyện tập thao tác với bảng. Hãy chụp ảnh màn hình và nộp bài thực hành của bạn trên CodeGymX để cùng nhau luyện tập nhé!
0 Lời bình