Thêm khóa ngoại trong mysql

Hi all, ở bài viết này mình sẽ hướng dẫn mọi người các thao tác cơ bản với MySQL WorkBench giống như thao tác cơ bản với phpMyAdmin ở bài trước mình đã viết ( xem thêm ). Nếu bạn chưa cài đặt MySQL WorkBench hay muốn tìm hiểu MySQL WorkBench là gì thì hãy qua bài viết này của mình xem trước nhé ( click here )

Chúng ta bắt đầu luôn nào!!

Tổng quan về MySQL WorkBench bản 6.0.8

Có 1 giao diện rất đơn giản không bị rối như ở version trước của nó, có 1 thanh điều hướng chính ở trên cùng, bên dưới là quản lý các connections các models và bên tay phải là các shortcuts mở nhanh.

Thêm khóa ngoại trong mysql

mysql workbench

Mọi người tự tìm hiểu thêm cách sử dụng các tiện ích hay các shortcut nhé ở đây mình sẽ chỉ hướng dẫn các thao tác cơ bản để sử dụng được MySQL WorkBench thôi, chúng ta sẽ có các thao tác sau đây:

OK bắt đầu thôi!

#1: Tạo connection

Khác với phpMyAdmin, MySQL WorkBench cho chúng ta tạo ra các connections để có thể quản lý chúng. Đây chính là các thông tin để khi chúng ta lập trình hay cài đặt phần mềm nào đó muốn kết nối tới database thì sẽ sử dụng các thông tin ở đây để kết nối tới. Để tạo ra connection chúng ta click vào dấu (+) tại dòng MySQL Connections.

Thêm khóa ngoại trong mysql

create connection

Tại đây chúng ta sẽ điền thông tin vào:

  • Connection Name: tên của connection
  • Connnection Method: phương thức kết nối của connection
  • Parameters:
    • Hostname: tên host. Đặt là localhost ( 127.0.0.1 ) hoặc địa chỉ ip của host các bạn.
    • Port: cổng kết nối
    • Username: tên tài khoản kết nối ( nếu là lần đầu tiên tạo thì chúng ta sẽ sử dụng tài khoản Root)
    • Password: click vào Store in Keychain điền vào password của tài khoản Root lúc cài đặt mysql server ( cái này mình chỉ ở bài trước click here )
    • Default Schema : cái này là đặt mặc định database khi connect tới nó sẽ tự vào database đó luôn. ( bỏ trống cũng được hoặc điền tên vào nếu tên database chưa có thì nó sẽ tự tạo mới luôn )
  • SSL và Advanced: mọi người tìm hiểu thêm nhé 😀

Thêm khóa ngoại trong mysql

create connection-2

Sau khi đã điền hết thông tin xong chúng ta sẽ thử test xem có thể connect được vào không bằng cách click vào Test Connection để kiểm tra nhanh :

Thêm khóa ngoại trong mysql

test connection

Nếu thông báo như hình trên thì là ok rồi. Có 1 cách khác để cho chúng ta xem được các thông số kỹ và chi tiết hơn là click vào “Configure Server Managerment…” Khi click vào đây sẽ có thông báo Introduction hiện ra chúng ta click Next để tiếp tục:

Thêm khóa ngoại trong mysql

config intro

Bước tiếp theo nó sẽ kiểm tra connect tới database nếu có xảy ra lỗi gì thì sẽ hiện ngay thông tin chi tiết ở đây:

Thêm khóa ngoại trong mysql

config test

Bước tiếp theo hệ thống cho chúng ta config lại Hệ điều hành ( Operating System) và kiểu cài đặt MySQL ( MySQL Installation Type )

Thêm khóa ngoại trong mysql

config os

Sau khi xong chúng ta click Next để hệ thống check các config :

Thêm khóa ngoại trong mysql

check config

Thêm khóa ngoại trong mysql

check config -2

Click Next tại đây nếu đã Ok với các thông tin rồi chúng ta có thể click vào Continue luôn để thoát ra còn nếu muốn xem lại các Setting thì click vào ” I’d like to review the setting again “. Ở đây mình muốn xem lại config:

Thêm khóa ngoại trong mysql

check config -3

Ok sau đó click vào Finish để kết thúc qúa trình kiểm tra và config. Click tiếp vào Ok để tạo ra connection mới.

Thêm khóa ngoại trong mysql

new connection

Click vào connection để vào trong:

Thêm khóa ngoại trong mysql

new connection 2

Mục lục:

 

 

#2: Quản lý cơ sở dữ liệu

Sau khi tạo xong connection ở chúng ta click vào connection đấy để bắt đầu tạo database. Tại tab mới bên dưới thanh điều hướng chính của MySQL WorkBench có 1 loạt các icon lựa chọn. Để tạo ra database mới click vào biểu tượng như trong hình dưới :

Thêm khóa ngoại trong mysql

create database

Tại tab mới được sinh ra chúng ta sẽ điền vào các thông tin sau:

  • Name: tên database
  • Default Collation: Đây là kiểu chữ hiển thị ( nên đặt là utf8 – utf8_general_ci hoặc utf8 – utf8_unicode_ci để có thể hiển thị được tiếng việt )

Thêm khóa ngoại trong mysql

create database 2

Sau khi điền xong click vào Apply. Sẽ có 1 thông báo hiện thị ra câu lệnh SQL tạo database mới cho chúng ta kiểm tra sau đó click vào Apply lần nữa để thực thi câu SQL:

Thêm khóa ngoại trong mysql

create database 3

Qúa trình thực thi câu SQL thành công:

Thêm khóa ngoại trong mysql

create database 4

Chúng ta đã tạo ra được 1 database thành công.

Thêm khóa ngoại trong mysql

create database 5

Mục lục:

#3: Quản lý table trong database

Sau khi tạo xong database ở chúng ta mở database ra sẽ có các tab bên trong: Table, Views, Stored Procedures và Functions. Chuột phải vào Table -> Create Table, sẽ có 1 tab tạo 1 table để điền thông tin:

Thêm khóa ngoại trong mysql

create table

Chúng ta đang ở tab Columns:

  • Name: tên table
  • Schema: tên database
  • Column Name: tên column trong table
  • Datatype: kiểu dữ liệu
  • PK, NN, UQ, BIN, UN, ZF, AI, Defaul: là các cờ ( ý nghĩa thì các bạn tự tìm hiểu thêm nhé )
    • PK: Primarey Key
    • NN: Not Null
    • UQ: Unique
    • BIN: Binary
    • UN: Unsigned
    • ZF: Zero-Filled
    • AI: Auto Increment
  • Column Details:
    • Collation: đây là chọn kiểu ký tự cho cột nếu là dạng text hoặc varchar … ( nên chọn utf8 để có thể hiển thị tiếng việt )
    • Comment: ghi chú gì thì có thể thêm ở đây.

Thêm khóa ngoại trong mysql

create table 2

Sau khi điền xong click vào Apply để tạo ra table mới, thông báo sẽ hiển thị ra câu SQL khởi tạo table. Click vào Apply để thực thi câu lệnh:

Thêm khóa ngoại trong mysql

create table 3

Qúa trình thực thi thành công, chúng ta đã có 1 table mới trong mục Tables:

Thêm khóa ngoại trong mysql

create table 4

Thêm khóa ngoại trong mysql

create table 5

Để chỉnh sửa lại thông tin hay thêm biến … chúng ta chuột phải vào table cần chỉnh sửa chọn ” Alter Table ” thì toàn bộ thông tin của table sẽ hiển thị ra giống như lúc khởi tạo 1 table mới.

VD: mình sẽ chỉnh sửa lại tên và click vào Apply:

Thêm khóa ngoại trong mysql

create table 6

Chú ý bên dưới chúng ta sẽ thấy có 1 số tab. Mình sẽ giới thiệu thêm công dụng của 1 số tab tại cửa sổ này:

  • Columns: Đây là nơi chúng ta thiết lập thông tin column cho table này.
  • Indexes: Sẽ hiển thị những cột nào được Index

Thêm khóa ngoại trong mysql

indexes

  • Foreign Keys: Cột này sẽ cho chúng ta thêm các khóa ngoại cho table. ( )
  • Trigger, Partitioning và Options: mọi người tìm hiểu thêm nhé.

Thêm khóa ngoại trong mysql

create table 7

Tạo khóa ngoại ( Foreign Keys )

Chúng ta sẽ chọn table cần thêm chuột phải vào và chọn Alter Table -> Foreign Keys. Tại tab này để thêm khóa ngoại vào chúng ta sẽ chú ý tới bảng bên tay trái. Click vào dòng sát bên dưới để tạo ra 1 Foreign Key mới.

  • Foreign Key Name: Điền tên khóa ngoại
  • Referenced Table: Chọn bảng tham chiếu tới

Còn bảng bên phải sẽ chọn column làm khóa ngoại:

    • Columns: Chọn column.

Referenced Column

    : Column của bảng tham chiếu tới.

Thêm khóa ngoại trong mysql

foreign key

Ok sau khi xong chúng ta lại click vào Apply để thực thi câu SQL và hoàn tất qúa trình:

Thêm khóa ngoại trong mysql

foreign key 2

Thêm khóa ngoại trong mysql

foreign key 3

Mục lục:

#4: Thực hiện truy vấn

Để tạo ra câu truy vấn mới chúng ta click vào icon như trong ảnh dưới đây:

Thêm khóa ngoại trong mysql

query-1

Sau khi tạo xong trong file SQL đó bắt đầu viết các câu SQL vào đây.

VD: mình sẽ viết như sau ở đây mình sẽ viết 1 câu trước. Sau khi xong để thực thi câu truy vấn chúng ta click vào biểu tượng hình tia sét để thực thi:

Thêm khóa ngoại trong mysql

query-2

Ở đây sẽ có 2 biểu tượng tia sét:

  • Biểu tượng tia sét 1 ( Excute the selected portion of the script or everything, if there is no selection ) : biểu tượng này sẽ thực thi các câu lệnh nếu chúng ta bôi đen nó hoặc nó nếu có 1 câu trong file thì không cần bôi đen giống với ví dụ ở trên mình làm
  • Biểu tượng tia sét 2 ( Excute the statement under the keyboard cursor ) : sẽ thực thi tất cả các câu lệnh nằm sau dấu keyboard cusor

VD: mình sẽ có câu lệnh như sau :

NOTE: sau khi kết thúc 1 câu SQL phải kết thúc bằng dấu ” ; ”

Thêm khóa ngoại trong mysql

query-3

Mục lục:

#5: Sao lưu dữ liệu ( Export )

Để có thể sao lưu dữ liệu ( export) chúng ta click vào Data Export ở Management:

Thêm khóa ngoại trong mysql

export-1

Trong tab này chúng ta chú ý đển tab Object Selection ( các option còn lại mọi người tìm hiểu thêm nhé ) trong tab này sẽ hiển thị toàn bộ các database của chúng ta muốn export database nào thì tick vào nó thì sẽ hiển thị toàn bộ các table chọn để export :

Thêm khóa ngoại trong mysql

export-2

Có 2 kiểu export:

  • Export to Dump Project Folder: kiểu này sẽ export từng table thành từng file khác nhau trong 1 folder.
  • Export to Self-Contained File: kiểu này sẽ export tất cả thành 1 file SQL.

VD: Mình chọn kiểu 2, sau đó click vào dấu ” … ” ở cuối để chọn nơi lưu trữ :

Thêm khóa ngoại trong mysql

export-3

Sau đó click Save và click Start Export để bắt đầu qúa trình Export:

Thêm khóa ngoại trong mysql

export-4

Chờ qúa trình xong chúng ta đã Export thành công.

Mục lục:

#6: Phục hồi dữ liệu ( Import )

Cũng tương tự như export click vào Data Import/Restore:

Thêm khóa ngoại trong mysql

import-1

Thêm khóa ngoại trong mysql

import-2

Tại tab Import From Disk cũng có 2 kiểu import giống khi export ra:

  • Import from Dump Project Folder: đây là kiểu import từ 1 folder giống như option export.
  • Import from Self-Contained File: kiểu import từ 1 file.

VD: mình sẽ import theo kiểu 2:

Thêm khóa ngoại trong mysql

imoprt-3

Sau khi chọn được file. Chúng ta chọn đến database cần imoprt vào nếu chưa có thì có thể click vào New để tạo mới database luôn. Sau khi xong  click vào Start Import để bắt đầu qúa trình import:

Thêm khóa ngoại trong mysql

import-4

Chờ đợi để qúa trình import thành công:

Thêm khóa ngoại trong mysql

import-5

Thêm khóa ngoại trong mysql

import-6

Mục lục:

#7: Tạo tài khoản ( user )

Tạo 1 user mới chúng ta chọn vào User and Privileges

Thêm khóa ngoại trong mysql

user-1

Trong này sẽ hiển thị thông tin toàn bộ các user đang tồn tại trong hệ thống. Để thêm mới chúng ta click vào Add Account:

Thêm khóa ngoại trong mysql

user-2

Điền vào các khung nhập:

  • Login Name: tên user
  • Authentication Type: kiểu xác thực ( Standard hoặc Standard Old )
  • Limit Connectivity to Hosts Matching: điền vào localhost ( 127.0.0.1 ) hoặc ip của host hoặc % ( tất cả các host )
  • Password: mật khẩu cho user
  • Confirm Password: nhập lại mật khẩu của user

Chúng ta có thể sang các tab bên cạnh để thiết lập thêm:

  • Account Limits: tab này sẽ giới hạn số lượng queries hay connection … của user

Thêm khóa ngoại trong mysql

user-3

  • Administrative Roles: set các roles cho user trong hệ thống

Thêm khóa ngoại trong mysql

user-4

  • Schema Privileges: Phân quyền cho User ( xem thêm )

Thêm khóa ngoại trong mysql

user-5

Sau khi xong chúng ta click vào Apply để hoàn tất qúa trình tạo User

Mục lục:

#8: Phân quyền cho tài khoản

Chúng ta sẽ vào User cần phân quyền và đến tab Schema Privileges mình đã giới thiệu qua ở . Tại đây để thêm quyền cho User tại 1 database nào đó chúng ta click vào Add Entry:

Thêm khóa ngoại trong mysql

user-5

Thêm khóa ngoại trong mysql

user-6

Sẽ có 1 thông báo để chọn:

  • Any Schema ( % ) : chọn cái này thì User sẽ có quyền với tất cả các database
  • Schemas matching pattern or name: cái này sẽ match với các tên của database khi tạo ví dụ db1_bill, db1_user
  • Selected schema: cái này sẽ cho chọn database có trong hệ thống.

Sau khi chọn xong click vào Ok. Sau khi có database cần phân quyền bên dưới chúng ta sẽ thấy tất cả các quyền điều khiển trong database được hiện ra nếu muốn cấp quyền cho database này làm những gì chúng ta sẽ tick vào còn nếu muốn toàn quyền thì click vào Select “ALL” rồi chọn Apply:

Thêm khóa ngoại trong mysql

user-7

Mục lục:

#9: Xóa database

Để xóa database đi chúng ta sẽ chọn vào database cần xóa trong phần Schemas:

Thêm khóa ngoại trong mysql

drop database

Sau đó chuột phải chọn -> Drop Database. Hệ thống sẽ cho chúng ta lựa chọn review SQL hoặc click vào Drop Now để xóa luôn:

Thêm khóa ngoại trong mysql

drop database 2

Mục lục:

#10: Xóa Table

Tương tự như xóa database chúng ta cũng chọn đến table cần xóa và chuột phải -> Drop Table:

Thêm khóa ngoại trong mysql

drop table

Click vào Review SQL để xem lại hoặc Drop Now để xóa luôn.

Mục lục:

#11: Xóa User

Để xóa User chúng ta vào lại trang quản lý tất cả User ( Users and Privilleges ). Chọn User cần xóa và click vào Drop -> Drop để xóa:

Thêm khóa ngoại trong mysql

drop user

Mục lục:

Ok vậy là mình đã hướng dẫn với các bạn các thao tác cơ bản để sử dụng MySQL WorkBench. Nếu chỉ sử dụng thông thường thì bấy nhiêu là qúa đủ rồi :D.