Bài 47: Sử dụng hệ quản trị Cơ sở dữ liệu MySQL Server-MySQL Workbench

Trong bài học 46, chúng ta đã cài đặt thành công MySQL Server và MySQL Workbench, bài học này Tui sẽ hướng dẫn cách sử dụng công cụ MySQL Workbench để tương tác và quản lý cơ sở dữ liệu MySQL Server. Các hướng dẫn tập trung vào những thao tác sau:

(1) Kết nối MySQL Server

(2) Tạo và cấu hình Schema

(3) Tạo và cấu hình Table

(4) Các thao tác CRUD bằng visualization

(5) Các thao tác CRUD bằng cách viết SQL Script

(6) Cách Export và Import Schema

Ta bắt đầu thao tác theo hướng dẫn chi tiết dưới đây:

(1) Kết nối MySQL Server:

Khởi động MySQL Workbench lên ta thấy giao diện Welcome to MySQL Workbench như bên dưới:

Nhấn chọn biểu tượng “(+)” ở trên để cài đặt Connection, giao diện Setup New Connection hiển thị ra như dưới đây:

Ta bấm chọn nút lệnh “Store In Vault” để mở cửa sổ “Store Password For Connection’:

Ta nhập mật khẩu @Obama123 đã cấu hình lúc cài đặt MySQL Server ở bài 46, rồi nhấn OK để quay trở lại màn hình Setup New Connection:

Để kiểm tra kết nối tới MySQL Server có thành công hay không ta nhấn nút lệnh “Test Connection“, nếu màn hình thông báo kết nối thành công xuất hiện như dưới đây thì ta đã hoàn tất quá trình cấu hình kết nối MySQL Server:

Nhấn “Ok” để quay trở về màn hình Setup New Connection:

Đặt tên Connection Name “MyConnection” Nhấn OK, để quay trở lại màn hình Welcome to MySQL Workbench:

Lúc này hệ thống sẽ xuất hiện khung lệnh kết nối “MyConnection” như màn hình trên, ta nhấn vào nó để kết nối và mở màn hình quản trị hệ quản trị cơ sở dữ liệu MySQL Server:

Mặc định hệ thống có 3 SChema là “sakila”, “world” và “sys”.

(2) Tạo và cấu hình Schema:

Giả sử ta tạo Schema mới tên là “StudentManagement

Để tạo mới Schema ta có nhiều cách, cách nhanh nhất là nhấn vào biểu tượng “Create a new schema in the connected server” trong thanh toolbar:

Màn hình tạo Schema hiện thị ra như đưới đây:

  • Mục name: Ta đặt tên schema là “StudentManagement
  • Mục Charset/Collation: Ta chọn utf8 tương ứng như hình

Sau đó nhấn nút Apply, màn hình thông báo Apply Changes to Object xuất hiện ra như dưới đây:

Sau khi nhấn OK, màn hình Apply SQL Script to Database sẽ hiển thị bước “Reviewing the SQL Script to be Applied on the Database” ra như dưới đây:

Nhấn nút “Apply” để hiển thị bước “Applying SQL script to the database”:

Nhấn nút “Finish” để hoàn tất, ta có kết quả là schema “studentmanagement” được tạo ra như dưới đây:

Bây giờ ta qua chức năng tạo các Tables cho Schema studentmanagement

(3) Tạo và cấu hình Table:

Để tạo 1 Table mới, ta nhấn chuột phải vào Tables/Sau đó chọn Create Table…. như hình dưới đây:

Lúc này màn hình tạo Table mới hiện thị ra như dưới đây:

  • Mục số 1: là nơi ta đặt tên Table và thiết lập Charset cho Table. Ví dụ ta đặt tên table là “student” và Charset chọn utf8
  • Mục số 2: Là các cột/thuộc tính của table “Student“, giả sử ta có 3 thuộc tính là ID, Code, Name. Bạn nhập trực tiếp vào Column Name, và chỉnh DataType như hình. Lưu ý ID có biểu tượng chìa khóa màu vàng ở đằng trước là vì ta thiết lập nó là khóa chính (tick vào PK), NN (not null), AI (Auto Increment) tự động tăng khi phát sinh dòng dữ liệu mới

Sau đó ta nhấn nút “Apply“, màn hình Apply changes to Object sẽ hiển thị như dưới đây:

Nhấn nút OK, màn hình “Review the SQL Script to be Applied on the Database” xuất hiện như dưới đây:

Ta nhấn nút “Apply”, màn hình “Applying SQL script to the database” xuất hiện như dưới đây:

Ta nhấn “Finish” để hoàn tất quá trình tạo bảng student. Kết quả hiện thị như màn hình dưới đây:

Tuy nhiên, không phải lúc nào ta cũng tạo 1 lần là chính xác hay hiện thiện luôn bảng dữ liệu, mà ta thường làm thiếu hoặc sai và cần bổ sung hay chỉnh sửa. Để làm điều này ta chọn chức năng “Alter Table“:

Bấm chuột phải vào bảng “student” rồi chọn “Alter Table…”

Giả sử rằng ta muốn hiệu chỉnh cấu trúc bảng student như dưới đây:

Ta cấu hình thêm Age, Avatar và Intro, đồng thời hiệu chỉnh Datatype cho Name như hình.

Sau đó lặp lại thao tác nhấn nút “Apply”, rồi “Finish” ta có kết quả:

Như vậy tới đây ta đã biết cách tạo và hiệu chỉnh cấu trúc Table.

(4) Các thao tác CRUD bằng visualization:

Phần này Tui sẽ hướng dẫn các bạn các thao tác Xem, thêm, sửa, xóa dữ liệu (CRUD) bằng công cụ visualization.

  • C (Create, tương ứng với lệnh insert) là thêm mới dữ liệu
  • R (Retrieve, Read, tương ứng với select) là xem, truy vấn dữ liệu
  • U (Update, tương ứng với lệnh update) là cập nhật dữ liệu
  • D (Delete, tương ứng với lệnh delete) là xóa dữ liệu

Để xem dữ liệu trong bảng (R) hoặc cập nhật dữ liệu (U) ta bấm chuột phải vào bảng rồi chọn “Select rows – Limit 1000“:

Để thêm mới dữ liệu hoặc chỉnh sửa dữ liệu, ngay trong mục số 2 ta nhập dữ liệu mới hoặc chỉnh sửa dữ liệu. Cột ID là Auto Increment nên ta không cần nhập, ta nhập dữ liệu cho các ô Code, Name, Age, Avatar, Intro:

Bạn cứ nhận dữ liệu bao nhiêu tùy thích, sau đó nhấn nút “Apply”, màn hình “Review the SQL Script” xuất hiện như dưới đây:

Nhấn nút “Apply”, màn hình “Applying SQL script to the database” xuất hiện:

Sau khi bấm “Finish” ta có kết quả:

Để xóa (D) dữ liệu dòng nào đó, ta bấm chuột phải vào dòng đó rồi chọn “Delete Row(s)”, muốn xóa nhiều dòng thì bôi đen nhiều dòng:

Sau khi bấm Delete Row(s), ta cần lặp lại tao tác nhấn nút “Apply” rồi “Finish” như chức năng thêm mới hay cập nhật dữ liệu.

Ngoài ra, các thao tác Xem, thêm, sửa, xóa ta có thể làm trong nhóm Form Editor:

Ở giao diện trên, bạn có thể nhấn vào biểu tượng Xóa dữ liệu “-” và biểu tượng thêm mới dữ liệu “+”, có thể chỉnh sửa trực tiếp trong các ô dữ liệu. Sau đó nhấn nút “Apply” như các chức năng trước.

(5) Các thao tác CRUD bằng cách viết SQL Script:

Trước tiên chúng ta cần thiết lập default cho Schema:

Bấm chuột phải vào cơ sở dữ liệu/ chọn Set as Default Schema.

khi thiết lập default, thì mọi thác tác ngầm định sẽ ảnh hưởng trên Schema này.

(5.1) Truy vấn dữ liệu bằng SQL Script

  • Truy vấn toàn bộ sinh viên:
SELECT * FROM student;

Sau khi gõ lệnh truy vấn, ta nhấn biểu tượng execute để xem kế quả:

  • Truy vấn các Sinh viên có độ tuổi từ 22 tới 26
SELECT * FROM student where Age>=22 and Age<=26;

Viết xong mã lệnh, ta bấm biểu tượng execute để xem kết quả:

  • Truy vấn toàn bộ sinh viên và sắp xếp theo tuổi tăng dần:
SELECT * FROM student 
order by Age asc

Thực thi lệnh trên ta có kết quả:

  • Truy vấn các Sinh viên có độ tuổi từ 22 tới 26 và sắp xếp theo tuổi giảm dần
SELECT * FROM student 
where Age>=22 and Age<=26 
order by Age desc 

Chạy mã lệnh để xem kết quả thực hiện:

(5.2) Cập nhật dữ liệu bằng SQL Script

Với chức năng cập nhật và xóa, thì đa phần trong các trường hợp MySQL Server sẽ bảo vệ dữ liệu vì sợ ta cập nhật và xóa bậy bạ, ta bỏ chức năng này đi để thử nghiệm:

Vào menu Edit/ chọn Preferences….

Sau đó nhấn vào SQL Editor:

Unchecked “Safe Updates (rejects UPDATEs and DELETEs with no restrictions)” rồi bấm OK

Đóng và Khởi động lại MySQL Workbench (bắt buộc)

  • Sửa tên Sinh viên có mã “sv06” thành “Obama”
update student 
set Name="Obama"
where ID=6

Sau khi thực thi xong câu lệnh Update, ta xem lại câu truy vấn sẽ có kết quả được thay đổi:

(5.3) Xóa dữ liệu bằng SQL Script

Xóa Sinh viên có Code sv06

delete from student
where Code="sv06"

Thực thi lệnh trên xong, sau đó truy vấn lại ta thấy sinh viên sv06 đã bị xóa:

(6) Cách Export và Import Schema:

Cuối cùng ta vào chức năng Export vào Import. Đây là các chức năng quan trọng và tiện lợi, vì ta cần phải di chuyển dữ liệu:

(6.1) Export Schema

Để Export Schema: Ta vào menu Server -> chọn Export Data

Màn hình Data Export xuất hiện ra như dưới đây:

(1)Ta tick chọn Schema muốn Export

(2)Chọn Dump Structure and Data

(3)Chọn nơi lưu trữ dữ liệu Export

(4)Sau đó nhấn nút “Start Export”

Lưu ý rằng, một số Laptop độ phân giải yếu, cần chỉnh lại Resolution mới thấy nút “Start Export”

Ta thấy kết quả báo như dưới đây là thành công:

Ta vào Windows Explorer sẽ thấy thư mục chứa dữ liệu vừa Export:

Ta có thể sao chép, lưu trữ, di chuyển dữ liệu Export này tới bất kỳ nơi đâu, có thể chuyển qua máy tính khác. Ví dụ như làm việc nhóm, ta có thể lấy dữ liệu trong máy của thành viên này qua máy của thành viên khác.

(6.2) Import Schema

Giả sử ta cần import Schema vừa export kia vào 1 máy tính khác:

Máy tính này phần mềm MySQL Server chưa có Schema “studentmanagement”

Ta vào menu Server/chọn Data Import:

Chức năng import sẽ hiện thị ra như dưới đây:

Ta bấm vào nút “New” để tạo Schema mới, trong màn hình Create Schema ta đặt tên “studentmanagement” rồi bấm nút Ok, kết quả hiển thị ra như bên dưới:

Ở màn hình trên ta cần làm các thao tác sau:

(1)Trỏ tới thư mục lưu trữ tập tin được export (không phải tập tin, mà chọn thư mục chứa tập tin được export). Lúc này Schema sẽ hiển thị vào bảng ở bên tay trái (studentmanagement), nhấn vào Schema ta sẽ thấy các bảng dữ liệu dược hiển thị trong màn hình bên phải (student). Tick chọn schema trong trong bảng ở bên trái

(2)Mục Default Target Schema: Chọn Schema mà ta vừa tạo ở trên

(3) Chọn Dump Structure and Data

(4) Bấm chọn “Start Import” để bắt đầu Import. Nếu máy tính resolution kém thì chỉnh lại để thấy nút này.

Kết quả import:

Sau khi thấy màn hình trên hiển thị tức là đã import thành công, tuy nhiên ta vẫn chưa thấy Schema được import được hiển thị trong Navigator:

Trong màn hình này ta bấm vào biểu tượng Refresh (biểu tượng có 2 mũi tên chỗ cùng hàng chữ SCHEMAS). Kết quả import sẽ hiển thị ra như dưới đây:

Như vậy tới đây Tui đã hướng dẫn đầy đủ các chức năng liên quan tới quản trị cơ sở dữ liệu trong MySQL Workbench, các bạn cần thao tác nhuần nhuyễn để các bài học sau được hiệu quả hơn.

Bài học sau chúng ta sẽ học lập trình về Python tương tác dữ liệu MySQL Server, học về các lệnh quan trọng, và mô hình hóa hướng đối tượng với các table trong MySQL Server, cũng như thiết kế phần mềm tương tác người dùng kết hợp với cơ sở dữ liệu MySQL Server(khoảng 3 bài học liên quan).

Các bạn chú ý theo dõi

Chúc các bạn thành công!