Tạo bảng trong MySQL

Bảng Là Gì?

Mỗi một cơ sở dữ liệu thường gồm một hoặc nhiều bảng khác nhau. Mỗi một bảng gồm có các trường (cột) khác nhau. Ví dụ như bảng dưới đây gồm có 5 cột là ID, Họ, Tên, Ngày SinhGiới Tính.

ID Họ Tên Ngày Sinh Giới Tính
001 Anh 01/01/1992 Nữ
002 Nguyễn Bình 01/02/1992 Nam
003 Nguyễn Chung 01/03/1992 Nam

Mỗi bảng sẽ chứa dữ liệu của cơ sở dữ liệu.

Câu Lệnh CREATE TABLE

Câu lệnh CREATE TABLE trong MySQL được sử dụng để tạo bảng.

CREATE TABLE table_name ( 
    column_1_name TYPE_1, 
    column_2_name TYPE_2, 
    column_3_name TYPE_3, 
    ... 
);

Trong đó:

  • table_name là tên bảng sẽ được tạo ra.
  • columm_1_name là tên của trường đầu tiên (tương tự column_2_name, column_3_name…).
  • TYPE_1 là kiểu dữ liệu của trường column_1_name (tương tự TYPE_2, TYPE_3…)

Tên bảng và cột thường sử dụng chữ thường và phân biệt bởi dấu gạch dưới _. Tên kiểu dữ liệu của cột được quy định sẵn trong MySQL như INTEGER dành cho kiểu số nguyên, VAR_CHAR dành cho kiểu chuỗi ký tự ngắn, TEXT dành cho kiểu văn bản…

Ví Dụ

Câu lệnh dưới đây tạo một bảng với tên là students trong đó gồm có 5 trường:

> CREATE TABLE students ( 
    id INT(3) NOT NULL AUTO_INCREMENT, 
    first_name VARCHAR(50) NOT NULL, 
    last_name VARCHAR(50) NOT NULL, 
    gender INT(1) NOT NULL, 
    birthday DATE, 
    PRIMARY KEY (id) 
);

Trong đó:

  • Cột id là cột với kiểu dữ liệu số nguyên với tối đa 3 chữ số INT(3), không được bỏ trống NOT NULL và tự động tăng AUTO INCREMENT
  • Cột first_name là cột có kiểu dữ liệu VAR_CHAR với tối đa 5 ký tự. Cột này cũng không được phép bỏ trống NOT NULL.
  • Cột last_name là cột có kiểu dữ liệu VAR_CHAR với tối đa 5 ký tự. Cột này cũng không được phép bỏ trống.
  • Cột gender là cột với kiểu dữ liệu số nguyên với tối đa 1 chữ số INT(3)
  • Cột birthday là cột với kiểu dữ liệu DATE

Ngoài ra cột id được đánh là khoá chính PRIMARY KEY trong bảng.

Tạo database trong MySQL

Sử Dụng MySQL Client

MySQL Client là một chương trình cho phép chúng ta tương tác với máy chủ cơ sở dữ liệu (hay MySQL Database Server) sử dụng cửa sổ dòng lệnh. Trên cửa sổ dòng lệnh chương trình MySQL Client được chạy thông qua sử dụng tập tin nhị phân mysql.

Trên Linux sau khi cài đặt MySQL Client thì bạn có thể chạy câu lệnh sau để kiểm tra phiên bản của MySQL Client:

$ mysql --v

Trên Windows nếu bạn cài đặt MySQL sử dụng XAMPP hoặc WAMP thì bạn cần chắc chắn rằng địa chỉ thư mục chứa tập tin mysql.exe được đưa vào biến môi trường Environment Variables.

Để Tạo database sử dụng MySQL Client chúng ta cần thực hiện qua hai bước:

  • Bước 1: Đăng nhập vào máy chủ cơ sở dữ liệu.
  • Bước 2: Thực hiện câu lệnh tạo cơ sở dữ liệu.

Đăng Nhập Vào Máy Chủ Cơ Sở Dữ Liệu

Để đăng nhập vào máy chru cơ sở dữ liệu bạn sử dụng câu lệnh sau:

$ mysql -u root -p

Sau khi gõ Enter, bạn sẽ được yêu cầu nhập mật khẩu cho người dùng root. Sau khi đăng nhập thành công, MySQL Client sẽ cung cấp một phiên làm việc mà ở đó bạn có thể gửi các câu lệnh tới máy chủ MySQL Server mà không phải đăng nhập lại.

Thực Hiện Việc Tạo Cơ Sở Dữ Liệu

Tiếp theo sau khi đăng nhập thành công, bạn chạy câu lệnh dưới đây để tạo cơ sở dữ liệu my_test_db:

> CREATE DATABASE my_test_db;

Lưu ý con trỏ trên cửa sổ dòng lệnh (hay command prompt) lúc này chuyển thành biểu tượng < thay vì biểu tượng $. Điều này có nghĩa rằng bạn đã đăng nhập thành công và đang trong phiên làm việc với máy chủ MySQL Server dưới tên người dùng là root.

Để kiểm tra lại cơ sở dữ liệu đã được tạo ra bằng câu lệnh sau:

> show databases

Sử Dụng MySQL Admin

Ngoài việc sử dụng chương trình MySQL Client để tạo cơ sở dữ liệu thì chúng ta có thể sử dụng một cách khác đó là thông qua chương trình MySQL Admin. Chương trình MySQL Admin được cài đặt mặc định cùng với chương trình MySQL Client khi cài đặt MySQL Server.

Trên cửa sổ dòng lệnh bạn chạy câu lệnh sau để tạo cơ sở dữ liệu với tên my_test_db:

$ mysqladmin -u root -p create my_test_db

Nhập mật khẩu cho người dùng root và sau đó kiểm tra lại cơ sở dữ liệu đã được tạo ra bằng câu lệnh sau:

$ mysqladmin -u root -p show databases

Chọn database trong MySQL

Một MySQL Database Server thường được dùng để lưu trữ nhiều cơ sở dữ liệu cùng một lúc. Khi làm việc với MySQL Database Server thông thường chúng ta sẽ gửi các câu truy vấn (query) tới một cơ sở dữ liệu nhất định.

Sau khi sử dụng MySQL Client để truy cập vào MySQL Database Server với tên người dùng root:

$ mysql -u root -p

Với mỗi câu truy vấn gửi tới một cơ sở dữ liệu chúng ta trên MySQL Database Server thì MySQL Database Server cần phải biết được rằng câu lệnh đó sẽ được chạy trên cơ sở dữ liệu nào.

Ví dụ sau khi đăng nhập vào MySQL Server sử dụng MySQL Client và chạy câu lệnh sau:

> SHOW TABLES;

MySQL Server sẽ báo lỗi No database selected về cho MySQL Client.

Để chọn cơ sở dữ liệu trên MySQL Server làm cơ sở dữ liệu mặc định khi làm việc bạn sử dụng câu lệnh sau:

> USE db_name

Trong đó db_name là tên của cơ sở dữ liệu bạn muốn chọn để lam việc.

Câu lệnh dưới đây chọn my_test_db làm cơ sở dữ liệu mặc định khi làm việc với MySQL Database Server:

> USE my_test_db;

Trong các câu lệnh tiếp sau đó MySQL Server sẽ áp dụng trên cơ sở dữ liệu my_test_db:

> SHOW TABLES;

Câu lệnh trên sẽ liệt kê ra các bảng (table) được tạo ra trên cơ sở dữ liệu my_test_db.

Để chuyển sang sử dụng cơ sở dữ liệu khác làm cơ sở dữ liệu mặc định khi làm việc với MySQL Database Server, bạn chạy câu lệnh sau:

> USE my_new_db;

Câu lệnh USE sẽ chỉ chọn cơ sở dữ liệu trong phiên làm việc hiện tại. Ở các phiên làm việc sau đó bạn cần chạy lại câu lệnh này.