Skip to content

Tạo bảng trong MySQL Workbench

Tóm lược nội dung

Bài này hướng dẫn cách tạo một bảng dữ liệu trong phần mềm MySQL Workbench.

Tạo tập tin SQL script

Trước hết, ta mở một tab mới trong Workbench như sau:

  1. Chọn menu File.
  2. Chọn New Query Tab.

    Image title

Sau đó, ta lưu tập tin của tab đang mở này, mặc dù chưa có nội dung gì, bằng cách:

  1. Chọn menu File.
  2. Chọn Save Script As...

    Image title

  3. Trong hộp thoại hiện ra, chọn thư mục để lưu tùy ý và nhập tên tập tin cũng tùy ý.

  4. Click nút Save.

Trong quá trình gõ mã lệnh, ta nên thường xuyên nhấn Ctrl + S để lưu tập tin.

Tập tin .sql

Tập tin .sql là tập tin chứa các mã lệnh SQL dùng để tương tác với cơ sở dữ liệu.

Khi cơ sở dữ liệu gặp trục trặc, ta có thể chạy tập tin này để phần nào đó khôi phục lại cơ sở dữ liệu ban đầu.

Tạo cơ sở dữ liệu

Cơ sở dữ liệu cần tạo có tên là coffee_shop, dùng để quản lý việc kinh doanh ăn uống tại cửa hàng cà phê.

Câu lệnh tạo cơ sở dữ liệu như sau:

create database coffee_shop;

Hệ thống không cho phép các cơ sở dữ liệu trùng tên nhau. Do đó, để phòng hờ cơ sở dữ liệu trùng tên coffee_shop đã tồn tại, ta thêm dòng lệnh drop database để xóa cơ sở dữ liệu này.

drop database if exists coffee_shop;
create database coffee_shop;

Để chạy đoạn mã trên, ta quét khối đoạn mã, rồi click nút Execute (biểu tượng sấm sét).

Image title

Lưu ý

Nếu không quét khối, mà chỉ click nút Execute, thì toàn bộ mã lệnh trong tập tin sẽ thực thi, có thể làm ảnh hưởng dữ liệu ngoài ý muốn.

Do đó, khi cần chạy đoạn mã nào, bạn nên quét khối đoạn mã đó trước, rồi mới nhấn nút Execute.

Tạo bảng

Cơ sở dữ liệu coffee_shop gồm ba bảng:

  • Bảng customers dùng để lưu dữ liệu là thông tin cá nhân của các khách hàng.
  • Bảng menu dùng để lưu dữ liệu là các món ăn hoặc món uống của cửa hàng.
  • Bảng invoice dùng để lưu dữ liệu là các giao dịch tại cửa hàng của khách.

Lược đồ cơ sở dữ liệu như sau:

  • customers(customer_id, customer_name, phone, district, province, customer_type)
  • menu(item_id, item_name, item_type, price, item_real_name)
  • invoice(invoice_id, invoice_date, customer_id, item_id, amount, actual_price, total)

Lưu ý

Đây chỉ là cơ sở dữ liệu minh họa, đừng áp dụng vào thực tế khi chưa chỉnh sửa cho hoàn thiện, trừ phi bạn muốn nhanh chóng phá sản.

Bài này chỉ trình bày cách tạo một bảng, là bảng customers chứa dữ liệu khách hàng.

Mô tả của bảng customers như sau:

Thuộc tính Ý nghĩa Kiểu dữ liệu
customer_id mã định danh của mỗi khách hàng chuỗi gồm 6 ký tự và là khóa chính
customer_name họ tên khách hàng chuỗi gồm 100 ký tự
phone số điện thoại chuỗi gồm 10 ký tự
district nơi ở của khách hàng theo quận chuỗi gồm 50 ký tự
province nơi ở của khách hàng theo tỉnh chuỗi gồm 50 ký tự
customer_type loại khách hàng: VIP, thân thiết hoặc vãng lai một ký tự, là: V, F hoặc C

Ứng với mô tả trên, đoạn mã lệnh tạo bảng customers là:

use coffee_shop;

create table `customers` (
    `customer_id` char(6) primary key,
    `customer_name` nvarchar(100) not null,
    `phone` char(10),
    `district` nvarchar(50),
    `province` nvarchar(50),
    `customer_type` char(1)
) engine=InnoDB default charset=utf8mb4;

Trong đó, use coffee_shop; là dòng lệnh phụ, thêm vào để cho máy chủ biết ta chuyển sang làm việc với cơ sở dữ liệu này.

Thêm dữ liệu vào bảng

Để thêm dữ liệu vào một bảng, ta sử dụng câu lệnh SQL INSERT INTO.

Note

INSERT INTO <bảng> (<cột 1>, <cột 2>, ..., <cột n>)
VALUES (<giá trị 1>, <giá trị 2>, ..., <giá trị n>);

Trong trường hợp thêm dữ liệu cho tất cả cột, ta có thể bỏ qua không gần gõ tên cột.

INSERT INTO <bảng>
VALUES (<giá trị 1>, <giá trị 2>, ..., <giá trị n>);

Chẳng hạn, ta viết năm dòng lệnh sau để thêm năm mẫu tin vào bảng customers.

insert into customers values('315533',N'Larry Ellison','0922638352',N'Nhà Bè',N'Ho Chi Minh City','V');
insert into customers values('350112',N'Christopher Edward Nolan CBE','0989686766',N'',N'Gia Lai','F');
insert into customers values('527951',N'Bill Gates','0974539210',N'5',N'Ho Chi Minh City','V');
insert into customers values('806518',N'Lionel Messi','0952637964',N'Tân Phú',N'Ho Chi Minh City','V');
insert into customers values('744486',N'Cristiano Ronaldo','0997851356',N'12',N'Ho Chi Minh City','V');

Trong đó, tiếp đầu ngữ N đứng trước một số chuỗi dùng để chỉ định chuỗi tương ứng là Unicode.

Như vậy, cơ sở dữ liệu coffee_shop đã có một bảng, là bảng customers gồm năm mẫu tin.