Trong bài này chúng ta sẽ tìm hiểu một lệnh đầu tiên trong ngôn ngữ T-SQL nói riêng và trong MySQL nói chung đó là lệnh tạo mới một bảng (Create Table). Trong bài này chúng ta có sử dụng một số kiểu dữ liệu trong MySQL để thiết lập kiểu dữ liệu cho các field trong table.
Trước khi vào vấn đề chính thì chúng ta cần phải làm sáng tỏ một vài vấn đề. Như bạn biết trong các mô hình như mô hình thực thể mối kết hợp thì chúng ta có tìm hiểu khái niệm về loại thực thể (entity), nếu liên hệ với hệ CSDL thì ta sẽ gọi nó là một table. Ví dụ như trong mô hình quản lý sinh viên ta sẽ có bảng SINHVIEN, bảng LOP, bảng MONHOC và đây cũng chính là các loại thực thể.
Mỗi table chúng ta sẽ có một số thông tin riêng. Ví dụ như bảng SINHVIEN chúng ta có:
- Tên sinh viên
- Năm sinh
- Đang học lớp
- ...
Các thông tin này chúng ta gọi là thuộc tính của table, nghĩa là khi lưu trữ dữ liệu của sinh viên chính là lưu trữ thông tin của các thuộc tính này.
Bài viết này được đăng tại tranvanbinh.vn
Lưu ý:
- Nếu bạn chạy nhiều lệnh cùng lúc thì bạn phải thêm dấu
;
ở cuối mỗi lệnh.- Tất cả các đoạn code SQL này bạn copy và dán vào trình chạy và Execute nhé, nếu chưa biết nó ở đâu bạn quay lại bài cài đặt mysql để tìm hiểu thêm.
Bây giờ ta sẽ tìm hiểu chi tiết hơn về cú pháp tạo table nhé.
Mục lục
- 1. Lệnh tạo bảng (Create Table) trong MySQL
- 2. Gán giá trị mặc định cho table
- 3. Thiết lập Null và Not Null cho Column
- 5. Xóa bảng (DROP TABLE)
- 6. Lời kết
1. Lệnh tạo bảng (Create Table) trong MySQL
Trước tiên chúng ta cần sử dụng lệnh tạo database để tạo mới một database, sau đó sử dụng lệnh USE để chọn database này.
1 2 | CREATE DATABASE QLSV; USE QLSV; |
Để tạo mới một bảng ta sử dụng cú pháp sau:
1 2 3 | CREATE TABLE [IF NOT EXISTS] table_name( /*column_list*/ ) ENGINE=table_type |
Trong đó:
CREATE TABLE
: là từ khóa tạo bảng[IF NOT EXISTS]
: dòng này có thể có hoặc không, ý nghĩa của nó là nếu table này chưa tồn tại thì thực hiện tạo table, còn nếu tồn tại rồi thì không tạo.column_list
: là danh sách các fields, ví dụ như TenSV, MaSV, ... Mỗi field gồm hai thông số là tên field và kiểu dữ liệu cho nó, nếu có nhiều field thì sẽ dùng dấu phảy (,) để ngăn cách.
Ví dụ: TenSV varchar(255)ENGINE=table_type
: Là kiểu engine của bảng này, các kiểu này chúng ta đã được học ở bài MySQL Table Types & Storage Engines
Ví dụ: Cho bảng SINHVIEN gồm có các thông tin sau:
- TenSV: Tên sinh viên, kiểu varchar và chiều dài tối đa 255 ký tự
- MaSV: Mã sinh viên, kiểu INT và chiều dai là tối đa 11 số
- NamSinh: Năm sinh, kiểu INT và chiều dài tối đa là 4 số
Lệnh tạo bảng như sau:
1 2 3 4 5 6 7 | USE QLSV; CREATE TABLE SINHVIEN( TenSV VARCHAR (255), MaSV INT (11), NamSinh INT (4) ) ENGINE = InnoDB |
2. Gán giá trị mặc định cho table
Giá trị mặc định tức là khi bạn thêm một record mà bạn không nhập dữ liệu vào thì nó sẽ lấy giá trị mặc định làm giá trị. Để gán giá trị mặc định thì ta sẽ dùng từ khóa DEFAULT đằng sau mỗi field.
1 2 3 4 5 6 7 | USE QLSV; CREATE TABLE SINHVIEN( TenSV VARCHAR (255) DEFAULT 'noname' , MaSV INT (11), NamSinh INT (4) ) ENGINE = InnoDBsinhvien |
3. Thiết lập Null và Not Null cho Column
Nếu bạn muốn một column bắt buộc nhập dữ liệu khi thêm mới thì bạn sẽ sử dụng từ khóa NOT NULL. Ngược lại thì bạn sẽ dùng từ khóa NULL (mặc định là NULL).
1 2 3 4 5 6 7 | USE QLSV; CREATE TABLE SINHVIEN( TenSV VARCHAR (255) DEFAULT 'noname' , MaSV INT (11) NOT NULL , NamSinh INT (4) ) ENGINE = InnoDBsinhvien<br><br><br><br> |
5. Xóa bảng (DROP TABLE)
Để xóa bảng ta sử dụng cú pháp: DROP TABLE tb_name
.
1 | DROP TABLE users |
khi bạn chạy lệnh này thì bảng sẽ được xóa khỏi database, đương nhiên toàn bộ dữ liệu nằm trong bảng cũng bị xóa theo.
6. Lời kết
Trong thực tế thì bạn có thể sử dụng các chương trình quản lý CSDL MySQL thông dụng như SQLYog hay thậm chí là PHPMyAdmin để tạo bảng thay vì sử dụng lệnh, nhưng nếu bạn muốn trở thành coder giỏi thì nên tìm hiểu, biết đâu sau này đi phỏng vấn thì còn biết đường trả lời. Bài này chúng ta tìm hiểu tới đây thôi, bài tiếp theo chúng ta sẽ tìm hiểu lệnh tạo khóa chính (primary key).
* KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học.
* CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
* Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile/Zalo: 0902912888
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: https://www.youtube.com/@binhguru
👨 Tiktok: https://www.tiktok.com/@binhguru
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhguru
👨 Podcast: https://www.podbean.com/pu/pbblog-eskre-5f82d6
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội
=============================
oracle tutorial, học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,sql tutorial, khóa học pl/sql tutorial, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail,oracle RAC, ASM, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, postgresql tutorial, mysql tutorial, mariadb tutorial, ms sql server tutorial, nosql, mongodb tutorial, oci, cloud, middleware tutorial, hoc solaris tutorial, hoc linux tutorial, hoc aix tutorial, unix tutorial, securecrt, xshell, mobaxterm, putty