Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn từng bước cách tạo một bảng mới bằng cách sử dụng câu lệnh MySQL CREATE TABLE.
Bạn đang xem : cú pháp để tạo bảng trong mysql
Tóm tắt : trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách sử dụng câu lệnh MySQL CREATE TABLE
để tạo một bảng mới trong cơ sở dữ liệu.
Cú pháp CREATE TABLE
của MySQL.
Câu lệnh CREATE TABLE
cho phép bạn tạo một bảng mới trong cơ sở dữ liệu.
Phần sau minh họa cú pháp cơ bản của CREATE TABLE < / code> câu lệnh:
TẠO
BẢNG
[NẾU
KHÔNG
TỒN TẠI
] table_nam e ( cột_1_định nghĩa, cột_2_định nghĩa, ..., table_constraints )ENGINE
= storage_engine;Ngôn ngữ mã:
SQL (Ngôn ngữ truy vấn có cấu trúc)
(
sql
)
Hãy kiểm tra cú pháp chi tiết hơn.
Đầu tiên, bạn chỉ định tên của bảng mà bạn muốn tạo sau TẠO BẢNG
từ khóa. Tên bảng phải là duy nhất trong cơ sở dữ liệu. IF NOT EXISTS
là tùy chọn. Nó cho phép bạn kiểm tra xem bảng mà bạn tạo đã tồn tại trong cơ sở dữ liệu hay chưa. Nếu đúng như vậy, MySQL sẽ bỏ qua toàn bộ câu lệnh và sẽ không tạo bất kỳ bảng mới nào.
Thứ hai, bạn chỉ định danh sách các cột của bảng trong phần column_list
, các cột được phân tách bằng dấu phẩy.
Thứ ba, bạn có thể tùy ý chỉ định công cụ lưu trữ cho bảng trong ENGINE điều khoản
. Bạn có thể sử dụng bất kỳ công cụ lưu trữ nào như InnoDB và MyISAM. Nếu bạn không khai báo rõ ràng công cụ lưu trữ, MySQL sẽ sử dụng InnoDB theo mặc định.
InnoDB trở thành công cụ lưu trữ mặc định kể từ MySQL phiên bản 5.5. Công cụ lưu trữ InnoDB mang lại nhiều lợi ích của hệ thống quản lý cơ sở dữ liệu quan hệ như giao dịch ACID, tính toàn vẹn tham chiếu và khôi phục sự cố. Trong các phiên bản trước, MySQL sử dụng MyISAM làm công cụ lưu trữ mặc định.
Phần sau trình bày cú pháp cho định nghĩa cột:
column_name data_type (length) [NOT NULL] [DEFAULT value] [AUTO_INCREMENT] column_constraint;
Ngôn ngữ mã:
SQL (Ngôn ngữ truy vấn có cấu trúc)
(
sql
)
Dưới đây là thông tin chi tiết:
-
column_name mã> chỉ định tên của cột. Mỗi cột có một
VARCHAR (255)
cụ thể để xác định tên của cột. Mỗi cột có một loại dữ liệu cụ thể và kích thước tùy chọn, ví dụ:
-
NOT NULL Ràng buộc
đảm bảo rằng cột sẽ không chứaNULL
. Bên cạnh ràng buộcNOT NULL
, một cột có thể có thêm ràng buộc như CHECK và UNIQUE . -
DEFAULT
chỉ định một giá trị mặc định cho cột. -
AUTO_INCREMENT
cho biết rằng giá trị của cột sẽ tự động tăng lên bất cứ khi nào một hàng mới được chèn vào bảng. Mỗi bảng có tối đa một cộtAUTO_INCREMENT
.
Sau danh sách cột, bạn có thể xác định các ràng buộc bảng, chẳng hạn như UNIQUE , KIỂM TRA , CHÌA KHÓA CHÍNH và CHÌA KHÓA NGOẠI LỆ .
Ví dụ: nếu bạn muốn đặt một cột hoặc một nhóm cột làm khóa chính, bạn sử dụng cú pháp sau:
PRIMARY KEY (col1, col2, ... )
Ngôn ngữ mã:
SQL (Ngôn ngữ truy vấn có cấu trúc)
(
sql
)
MySQL < code> Ví dụ câu lệnh CREATE TABLE
Hãy lấy một số ví dụ về cách tạo bảng mới.
1) MySQL CREATE TABLE
ví dụ đơn giản h3 >
Câu lệnh sau tạo một bảng mới có tên task
:
TẠO
BẢNG
Nhiệm vụ NẾU
KHÔNG
TỒN TẠI
( task_idINT
AUTO_INCREMENT PRIMARYKEY
, titleVARCHAR
(255
)KHÔNG
KHÔNG ĐẦY ĐỦ
, start_dateDATE
, do_dateDATE
,status
TINYINT
KHÔNG
KHÔNG ĐẦY ĐỦ
,ưu tiên
TINYINT
KHÔNG
KHÔNG ĐẦY ĐỦ
, descriptionTEXT
, create_atTIMESTAMP
DEFAULT
CURRENT_TIMESTAMP
)ENGINE
=INNODB
;Ngôn ngữ mã:
SQL (Ngôn ngữ truy vấn có cấu trúc)
(
sql
)
Bảng nhiệm vụ có các cột sau:
- < code> task_id là cột tăng tự động. Nếu bạn sử dụng câu lệnh
INSERT
để chèn một hàng mới vào bảng mà không chỉ định giá trị cho cộttask_id
, MySQL sẽ tự động tạo một chuỗi số nguyên chotask_id
bắt đầu từ 1. - Cột
title
là một cột chuỗi ký tự biến đổi có độ dài tối đa là 255. Điều đó có nghĩa là bạn không thể chèn một chuỗi có độ dài lớn hơn 255 vào cột này. Ràng buộcNOT NULL
chỉ ra rằng cột không chấp nhậnNULL
. Nói cách khác, bạn phải cung cấp giá trị không phải NULL khi chèn hoặc cập nhật cột này. - Mã
start_date > và
do_date
là các cộtDATE
. Vì các cột này không có ràng buộcNOT NULL
, chúng có thể lưu trữNULL
. Cột start_date có giá trị mặc định là ngày hiện tại. Nói cách khác, nếu bạn không cung cấp giá trị cho cột start_date khi chèn một hàng mới, cột start_date sẽ lấy ngày hiện tại của máy chủ cơ sở dữ liệu. - Trạng thái
mã> và
ưu tiên
là các cộtTINYINT
không cho phépNULL
. - Cột
description
là cộtTEXT
chấp nhậnNULL
. -
created_at
là cộtTIMESTAMP
chấp nhận thời gian hiện tại làm giá trị mặc định.
task_id code> là cột khóa chính của bảng
task
. Điều đó có nghĩa là các giá trị trong cột task_id
sẽ xác định duy nhất các hàng trong bảng.
Khi bạn thực thi câu lệnh CREATE TABLE
để tạo task
, bạn có thể xem cấu trúc của nó bằng cách sử dụng câu lệnh DESCRIBE
:
MÔ TẢ
nhiệm vụ;Ngôn ngữ mã:
SQL (Ngôn ngữ truy vấn có cấu trúc)
(
sql
)
Hình ảnh này hiển thị sơ đồ cơ sở dữ liệu của các tác vụ
table:
2) MySQL TẠO BẢNG
với ví dụ về khóa chính khóa ngoại
Giả sử mỗi công việc có một danh sách kiểm tra hoặc danh sách việc cần làm. Để lưu trữ danh sách kiểm tra các công việc, bạn có thể tạo một bảng mới có tên danh sách kiểm tra
như sau:
TẠO
BẢNG
NẾU
< p class = "hljs-keyword"> KHÔNGdanh sách kiểm tra TỒN TẠI
( todo_idINT
AUTO_INCREMENT, task_idINT
, todoVARCHAR
(255
)KHÔNG
KHÔNG ĐẦY ĐỦ
, is_completedBOOLEAN
KHÔNG
KHÔNG CÓ
DEFAULT
FALSE
, PRIMARYKEY
(todo_id, task_id),NGOÀI NƯỚC
KEY
(task_id)TÀI LIỆU THAM KHẢO
nhiệm vụ (task_id)BẬT
CẬP NHẬT
HẠN CHẾBẬT
XÓA
CASCADE
);Ngôn ngữ mã:
SQL (Ngôn ngữ truy vấn có cấu trúc)
(
sql
)
bảng danh sách kiểm tra
có khóa chính bao gồm hai cột. Do đó, chúng tôi đã sử dụng ràng buộc bảng để xác định khóa chính :
TỪ KHÓA CHÍNH (todo_id, task_id)
Ngôn ngữ mã:
SQL (Ngôn ngữ truy vấn có cấu trúc) p>
(
sql
)
pre >Ngoài ra,
task_id
là cột khóa ngoại tham chiếu đến cộttask_id
của bảngtask
, chúng tôi đã sử dụng ngoại ràng buộc khóa để thiết lập mối quan hệ này:
NGOẠI KHÓA (task_id) THAM KHẢO nhiệm vụ (task_id) BẬT
< / p>CẬP NHẬT
HẠN CHẾBẬT
XÓA
BẬT
Ngôn ngữ mã:
SQL (Ngôn ngữ truy vấn có cấu trúc)
(
sql
)
Bạn sẽ tìm hiểu thêm về ràng buộc khóa ngoại trong hướng dẫn tiếp theo.
Hình ảnh này minh họa bảng
danh sách kiểm tra
và mối quan hệ của nó với bảngtask
: p>![]()
Trong hướng dẫn này, bạn đã học cách sử dụng câu lệnh MySQL
CREATE TABLE
để tạo một bảng mới trong cơ sở dữ liệu.Hướng dẫn này có hữu ích không?
Xem thêm những thông tin liên quan đến chủ đề cú pháp tạo bảng trong mysql
5 phút hướng dẫn sử dụng MySQL Workbench
- Tác giả: Huy Init
- Ngày đăng: 2021-10-01
- Đánh giá: 4 ⭐ ( 8039 lượt đánh giá )
- Khớp với kết quả tìm kiếm: Học tốt nha mọi người . có chủ đề gì cần mình giải đáp cmt bên dưới nhé
Hi . có thể follow mình và vào github lấy tài liệu tại đâynhé :
tài liệu sql (copy và chạy được)trên github: https://github.com/huyinit/hoc-co-so-du-lieu-sql-sieu-nhanh-co-code-san-
fb: https://www.facebook.com/huyinit13
youtube bài giảng :https://www.youtube.com/channel/UCgktVJ2PAuA3zHSR1A-K20w
youtube vlog :https://www.youtube.com/channel/UCskOQJ8MIQXTAQ_jGryJNcQ
Các câu lệnh MySQL thao tác bảng
- Tác giả: teamvietdev.com
- Đánh giá: 3 ⭐ ( 7618 lượt đánh giá )
- Khớp với kết quả tìm kiếm: Phần tiếp theo trong chuyên mục tìm hiểu về MySQL thì Team Việt Dev sẽ trình bày phần tổng hợp một số câu lệnh MySQL thao tác bảng giúp bạn tham khảo.
Lệnh tạo bảng (Create Table) trong MySQL
- Tác giả: vi-magento.com
- Đánh giá: 5 ⭐ ( 8086 lượt đánh giá )
- Khớp với kết quả tìm kiếm:
Chi tiết bài học 02. Lệnh SQL CREATE TABLE
- Tác giả: www.vimentor.com
- Đánh giá: 4 ⭐ ( 7210 lượt đánh giá )
- Khớp với kết quả tìm kiếm: Vimentor chi tiết bài học
Tạo Database trong MySQL
- Tác giả: hoc.tv
- Đánh giá: 5 ⭐ ( 2077 lượt đánh giá )
- Khớp với kết quả tìm kiếm: Tạo cơ sở dữ liệu trong MySQL
Để tạo cơ sở dữ liệu, bạn sử dụng lệnh CREATE trong MySQL. Dưới đây là cú pháp của lệnh CREATE:
Tạo bảng trong MySQL
- Tác giả: hoclaptrinh.vn
- Đánh giá: 3 ⭐ ( 1550 lượt đánh giá )
- Khớp với kết quả tìm kiếm: Các Lệnh để tạo một bảng dữ liệu trong MySQL cần bao gồm:- Tên bảng - Tên các trường - Định nghĩa cho mỗi trường
Hướng dẫn cách viết câu lệnh INSERT INTO trong MySQL có ví dụ minh họa
- Tác giả: gitiho.com
- Đánh giá: 3 ⭐ ( 1466 lượt đánh giá )
- Khớp với kết quả tìm kiếm: Trong bài viết này Blog.Gitiho sẽ hướng dẫn cách viết câu lệnh INSERT INTO trong MySQL. Câu lệnh INSERT được sử dụng dùng để lưu trữ dữ liệu vào bảng
Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình