Hướng dẫn create database mysql utf8

Lệnh khởi tạo database với Character Set là UTF8

Chào các bạn.

Hôm nay mình sẽ hướng dẫn các bạn lệnh khởi tạo database với việc set thông số “Character set” là UTF8 và “Collation” là utf8_general_ci. Lệnh đó như sau:

mysql> CREATE DATABASE `dbname` CHARACTER SET utf8 COLLATE utf8_general_ci;

hoặc bạn có thể sử dụng lệnh “CREATE SCHEMA”:

mysql> CREATE SCHEMA `dbname` CHARACTER SET utf8 COLLATE utf8_general_ci;

Note:
– Các bạn kiểm tra lại xem database của mình đã được set Character Set chính xác chưa bằng lệnh sau:

mysql> SELECT default_character_set_name FROM information_schema.SCHEMATA WHERE schema_name = "dbname";

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

Khi tạo CSDL, có rất nhiều chuẩn mà MySQL / MariaDB gọi là collation như hình bên dưới:

Vậy để tạo database đúng collation được khuyến khích trong các dự án phần mềm sử dụng hệ quản trị CSDL MySQL / MariaDB là gì? Đó là: utf8mb4_unicode_ci

Tạo database với collation utf8mb4_unicode_ci trong MySQL / MariaDB

Để tạo database đầu tiên chúng ta cần kết nối tới MySQL / MariaDB Server

sudo mysql -u root -p

Sau đó sử dụng lệnh sql sau để tạo database:

CREATE DATABASE <my_database> CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Trong đó: <my_database>: là tên của CSDL

VD:

MariaDB [(none)]> CREATE DATABASE vinasupport CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Kiểm tra collation của database

Sau khi tạo xong database, các bạn muốn kiểm tra collation của database chúng ta sử dụng câu lệnh SQL sau:

MariaDB [(none)]> use vinasupport; MariaDB [vinasupport]> SELECT @@character_set_database, @@collation_database;

Kết quả sẽ được giống như là:

Vì sao nên sử dụng utf8mb4_unicode_ci để tạo database trong MySQL / MariaDB?

Lý do thì vô vàn lắm, mình sẽ liệt ra những ưu điểm như sau:

  • utf8mb4_unicode_ci được dựa trên tiêu chuẩn Unicode để sắp xếp và so sánh, sắp xếp chính xác trong một phạm vi ngôn ngữ rất rộng.
  • utf8mb4_unicode_ci  sử dụng các quy tắc Unicode để sắp xếp và so sánh, sử dụng một thuật toán khá phức tạp để sắp xếp chính xác trong một loạt các ngôn ngữ và khi sử dụng một loạt các ký tự đặc biệt. Các quy tắc này cần phải tính đến các quy ước cụ thể về ngôn ngữ; không phải ai cũng sắp xếp các nhân vật của mình theo cái mà chúng ta gọi là “thứ tự chữ cái”.

Nguồn: vinasupport.com

Bài này hướng dẫn bạn 3 cách để tạo cơ sở dữ liệu trong MySQL:

  1. Sử dụng lệnh CREATE DATABASE
  2. Sử dụng trình phpMyAdmin của XAMPP
  3. Sử dụng phần mềm Navicat

I. Sử dụng lệnh CREATE DATABASE

Để tạo cơ sở dữ liệu, bạn có thể sử dụng lệnh CREATE trong MySQL.

1. Cú pháp cơ bản của lệnh CREATE DATABASE:

CREATE DATABASE [database_name];

Ví dụ: tạo cơ sở dữ liệu sinhvien:

CREATE DATABASE sinhvien;

Lệnh này sẽ tạo một cơ sở dữ liệu có tên là sinhvien trong MySQL Database.

2. Tạo database trong MySQL với character set và collation:

Với việc chỉ định character set và collection cho phép bạn nhập kiểu ký tự vào bảng trong cơ sở dữ liệu, ví dụ bạn muốn nhập tiếng Việt có dấu thì character set bạn phải chỉ định là UTF-8…

CREATE DATABASE [database_name] character set [CHAR_SET] collate [COLLATION];

Ví dụ: tạo cơ sở dữ liệu sinhvien có thể lữu trữ dữ liệu tiếng Việt có dấu:

CREATE DATABASE sinhvien character set UTF8 collate utf8_vietnamese_ci;

MySQL hỗ trợ hai loại bộ ký tự UTF8: utf8 và utf8mb4.

Bảng ký tự utf8 của MySQL chứa các ký tự từ mặt phẳng đa lớp, còn được gọi là BMP – nó là tập hợp con của các ký tự UTF8 có từ 1 đến 3 byte. Các ký tự 4 byte không được bao gồm trong bảng ký tự này và khi cố lưu trữ các ký tự này trong bảng MySQL, sẽ xảy ra lỗi giá trị chuỗi không chính xác.

Ký tự utf8mb4 của MySQL là siêu ký tự của BMP và cũng chứa các ký tự 4 byte. Ký tự này được hỗ trợ kể từ MySQL 5.5.3. Trong trường hợp này, máy chủ MySQL phải được cấu hình với tùy chọn character_set_server = utf8mb4 và không sử dụng thuộc tính kết nối thecharacterEncoding. Xem //dev.mysql.com/doc/refman/5.5/en/connector-j-reference-charsets.html để biết thêm chi tiết.

Vì vậy để sử dụng bộ ký tự utf8mb4 nên sử dụng phiên bản MySQL 5.5.3 trở lên và trình kết nối / J (trình điều khiển jdbc) của MySQL phiên bản 5.1.18 trở lên.

3. Sử dụng từ khóa IF NOT EXISTS

Khi các bạn dùng lệnh trên thì nếu bảng đã tồn tại thì hệ thống sẽ báo lỗi. Nếu không muốn nhìn thấy lỗi này, bạn nên sử dụng thêm từ khóa IF NOT EXISTS của MySQL.

Cú pháp:

CREATE DATABASE IF NOT EXISTS [database_name]

Ví dụ: tạo cơ sở dữ liệu có tên nhanvien như sau, hệ thống sẽ không hiển thị lỗi:

CREATE DATABASE nhanvien; CREATE DATABASE IF NOT EXISTS nhanvien;

II. Sử dụng trình phpMyAdmin của XAMPP

Trong bài cài đặt MySQL đã hướng dẫn bạn cài đặt MySQL bằng cách cài đặt XAMPP trên windows.

Start Apache và MySQL:

Mở page //localhost/ -> Mở page “phpMyAdmin” (hệ quản trị cơ sở dữ liệu)

Để tạo một database các bạn click chuột vào Databases trên thanh menu hoặc kích vào New ở phía bên tay trái như trong hình sau:

Nhập tên database là sinhvien và kiểu ký tự tiếng Việt có dấu là utf8_vietnamese_ci:

Sau đó click Create để tạo database, kết quả như sau:

III. Sử dụng phần mềm Navicat

Tạo một connection đến máy chủ MySQL có tên MySQL-Connection.

Click chuột phải vào MySQL-Connection -> click “New Database…

Hộp thoại tạo database hiển thị, nhập thông tin như hình sau và click “OK”

Database sinhvien được tạo ra:

Chủ đề