Các bước tạo cơ sở dữ liệu trong MySQL
Tạo cơ sở dữ liệu theo hai cách
1) Bằng cách thực hiện một truy vấn SQL đơn giản
2) Bằng cách sử dụng kỹ thuật chuyển tiếp trong MySQL Workbench
Trong Hướng dẫn SQL này, bạn sẽ học-
- Cách tạo cơ sở dữ liệu
- Cách tạo bảng trong MySQL
- Loại dữ liệu
- Sơ đồ ER chuyển tiếp bàn làm việc MySQL
Là người mới bắt đầu sử dụng SQL, trước tiên hãy xem xét phương thức truy vấn.
Cách tạo cơ sở dữ liệu
Đây là cách tạo cơ sở dữ liệu trong MySQL:
CREATE DATABASE là lệnh SQL được sử dụng để tạo cơ sở dữ liệu trong MySQL.
Hãy tưởng tượng bạn cần tạo một cơ sở dữ liệu với tên "phim". Bạn có thể tạo cơ sở dữ liệu trong MySQL bằng cách thực hiện lệnh SQL sau.
CREATE DATABASE movies;
Lưu ý: bạn cũng có thể sử dụng lệnh CREATE SCHEMA thay vì CREATE DATABASE
Bây giờ chúng ta hãy cải thiện truy vấn SQL của chúng ta bằng cách thêm nhiều tham số và thông số kỹ thuật.
NẾU KHÔNG TỒN TẠI
Một máy chủ MySQL duy nhất có thể có nhiều cơ sở dữ liệu. Nếu bạn không phải là người duy nhất truy cập vào cùng một máy chủ MySQL hoặc nếu bạn phải xử lý nhiều cơ sở dữ liệu thì có khả năng bạn đang cố gắng tạo cơ sở dữ liệu mới với tên của cơ sở dữ liệu hiện có. NẾU KHÔNG TỒN TẠI cho phép bạn hướng dẫn máy chủ MySQL kiểm tra sự tồn tại của cơ sở dữ liệu có tên tương tự trước khi tạo cơ sở dữ liệu.
Khi sử dụng IF NOT EXISTS, cơ sở dữ liệu chỉ được tạo nếu tên đã cho không xung đột với tên của cơ sở dữ liệu hiện có. Nếu không sử dụng NẾU KHÔNG TỒN TẠI, MySQL sẽ tạo ra một lỗi.
CREATE DATABASE IF NOT EXISTS movies;
Đối chiếu và Bộ ký tự
Đối chiếu là tập hợp các quy tắc được sử dụng để so sánh. Nhiều người sử dụng MySQL để lưu trữ dữ liệu không phải là tiếng Anh. Dữ liệu được lưu trữ trong MySQL bằng cách sử dụng một bộ ký tự cụ thể. Bộ ký tự có thể được xác định ở các cấp độ khác nhau viz, máy chủ, cơ sở dữ liệu, bảng và cột.
Bạn cần chọn các quy tắc đối chiếu lần lượt phụ thuộc vào bộ ký tự đã chọn.
Ví dụ: bộ ký tự Latin1 sử dụng
latin1_swedish_ci
đối chiếu là lệnh không phân biệt chữ hoa chữ thường của Thụy Điển.
CREATE DATABASE IF NOT EXISTS movies CHARACTER SET latin1 COLLATE latin1_swedish_ci
Thực tiễn tốt nhất khi sử dụng các ngôn ngữ địa phương như tiếng Ả Rập, tiếng Trung, v.v. là chọn bộ ký tự Unicode (utf-8) có một số đối chiếu hoặc chỉ gắn vào đối chiếu mặc định utf8-general-ci.
Bạn có thể tìm thấy danh sách tất cả các ảnh ghép và bộ ký tự tại đây
Bạn có thể xem danh sách các cơ sở dữ liệu hiện có bằng cách chạy lệnh SQL sau.
SHOW DATABASES
Cách tạo bảng trong MySQL
Lệnh CREATE TABLE được sử dụng để tạo bảng trong cơ sở dữ liệu
Các bảng có thể được tạo bằng cách sử dụng câu lệnh CREATE TABLE và nó thực sự có cú pháp như sau.
CREATE TABLE [IF NOT EXISTS] `TableName` (`fieldname` dataType [optional parameters]) ENGINE = storage Engine;
ĐÂY
- "TẠO BẢNG" là phần tử chịu trách nhiệm tạo bảng trong cơ sở dữ liệu.
- "[IF NOT EXISTS]" là tùy chọn và chỉ tạo bảng nếu không tìm thấy tên bảng phù hợp.
- "` fieldName` "là tên của trường và" Kiểu dữ liệu "xác định bản chất của dữ liệu sẽ được lưu trữ trong trường.
- "[tham số tùy chọn]" thông tin bổ sung về trường như "AUTO_INCREMENT", NOT NULL, v.v.
Ví dụ về tạo bảng trong MySQL
Dưới đây là một ví dụ về MySQL để tạo một bảng trong cơ sở dữ liệu:
CREATE TABLE IF NOT EXISTS `MyFlixDB`.`Members` (`membership_number` INT AUTOINCREMENT ,`full_names` VARCHAR(150) NOT NULL ,`gender` VARCHAR(6) ,`date_of_birth` DATE ,`physical_address` VARCHAR(255) ,`postal_address` VARCHAR(255) ,`contact_number` VARCHAR(75) ,`email` VARCHAR(255) ,PRIMARY KEY (`membership_number`) )ENGINE = InnoDB;
Bây giờ chúng ta hãy xem các kiểu dữ liệu của MySQL là gì. Bạn có thể sử dụng bất kỳ trong số chúng tùy thuộc vào nhu cầu của bạn. Bạn phải luôn cố gắng không đánh giá thấp hoặc đánh giá quá cao phạm vi dữ liệu tiềm năng khi tạo cơ sở dữ liệu.
LOẠI DỮ LIỆU
Các kiểu dữ liệu xác định bản chất của dữ liệu có thể được lưu trữ trong một cột cụ thể của bảng
MySQL có 3 loại kiểu dữ liệu chính là
- Số,
- Bản văn
- Ngày giờ.
Kiểu dữ liệu số
Kiểu dữ liệu số được sử dụng để lưu trữ các giá trị số. Điều rất quan trọng là đảm bảo phạm vi dữ liệu của bạn nằm giữa ranh giới dưới và ranh giới trên của các kiểu dữ liệu số.
TINYINT () | -128 đến 127 bình thường 0 đến 255 UNSIGNED. |
SMALLINT () | -32768 đến 32767 bình thường 0 đến 65535 UNSIGNED. |
MEDIUMINT () | -8388608 đến 8388607 bình thường 0 đến 16777215 UNSIGNED. |
INT () | -2147483648 đến 2147483647 bình thường 0 đến 4294967295 CHƯA KÝ . |
BIGINT () | -9223372036854775808 đến 9223372036854775807 bình thường 0 đến 18446744073709551615 UNSIGNED. |
PHAO NỔI | Một số gần đúng nhỏ với dấu thập phân động. |
GẤP ĐÔI( , ) | Một số lớn có dấu thập phân động. |
DECIMAL (,) | DOUBLE được lưu trữ dưới dạng một chuỗi, cho phép một dấu thập phân cố định. Lựa chọn để lưu trữ các giá trị tiền tệ. |
Các kiểu dữ liệu văn bản
Như tên loại dữ liệu ngụ ý, chúng được sử dụng để lưu trữ các giá trị văn bản. Luôn đảm bảo độ dài dữ liệu văn bản của bạn không vượt quá độ dài tối đa.
CHAR () | Một phần cố định dài từ 0 đến 255 ký tự. |
VARCHAR () | Một phần biến có độ dài từ 0 đến 255 ký tự. |
TINYTEXT | Một chuỗi có độ dài tối đa là 255 ký tự. |
BẢN VĂN | Một chuỗi có độ dài tối đa là 65535 ký tự. |
BÃI | Một chuỗi có độ dài tối đa là 65535 ký tự. |
MEDIUMTEXT | Một chuỗi có độ dài tối đa là 16777215 ký tự. |
MEDIUMBLOB | Một chuỗi có độ dài tối đa là 16777215 ký tự. |
VĂN BẢN DÀI | Một chuỗi có độ dài tối đa là 4294967295 ký tự. |
LONGBLOB | Một chuỗi có độ dài tối đa là 4294967295 ký tự. |
Ngày giờ
NGÀY | YYYY-MM-DD |
NGÀY GIỜ | YYYY-MM-DD HH: MM: SS |
TIMESTAMP | YYYYMMDDHHMMSS |
THỜI GIAN | HH: MM: SS |
Ngoài phần trên còn có một số kiểu dữ liệu khác trong MySQL.
ENUM | Để lưu trữ giá trị văn bản được chọn từ danh sách các giá trị văn bản được xác định trước |
BỘ | Điều này cũng được sử dụng để lưu trữ các giá trị văn bản được chọn từ danh sách các giá trị văn bản được xác định trước. Nó có thể có nhiều giá trị. |
BOOL | Từ đồng nghĩa với TINYINT (1), được sử dụng để lưu trữ các giá trị Boolean |
BINARY | Tương tự như CHAR, sự khác biệt là văn bản được lưu trữ ở định dạng nhị phân. |
VARBINARY | Tương tự như VARCHAR, sự khác biệt là văn bản được lưu trữ ở định dạng nhị phân. |
Bây giờ chúng ta hãy xem một truy vấn để tạo một bảng có dữ liệu của tất cả các kiểu dữ liệu. Nghiên cứu nó và xác định cách mỗi kiểu dữ liệu được định nghĩa trong ví dụ tạo bảng MySQL dưới đây.
CREATE TABLE`all_data_types` (`varchar` VARCHAR( 20 ) ,`tinyint` TINYINT ,`text` TEXT ,`date` DATE ,`smallint` SMALLINT ,`mediumint` MEDIUMINT ,`int` INT ,`bigint` BIGINT ,`float` FLOAT( 10, 2 ) ,`double` DOUBLE ,`decimal` DECIMAL( 10, 2 ) ,`datetime` DATETIME ,`timestamp` TIMESTAMP ,`time` TIME ,`year` YEAR ,`char` CHAR( 10 ) ,`tinyblob` TINYBLOB ,`tinytext` TINYTEXT ,`blob` BLOB ,`mediumblob` MEDIUMBLOB ,`mediumtext` MEDIUMTEXT ,`longblob` LONGBLOB ,`longtext` LONGTEXT ,`enum` ENUM( '1', '2', '3' ) ,`set` SET( '1', '2', '3' ) ,`bool` BOOL ,`binary` BINARY( 20 ) ,`varbinary` VARBINARY( 20 )) ENGINE= MYISAM ;
Thực hành tốt nhất
- Sử dụng chữ hoa cho các từ khóa SQL, tức là "DROP SCHEMA NẾU TỒN TẠI` MyFlixDB`; "
- Kết thúc tất cả các lệnh SQL của bạn bằng dấu chấm phẩy.
- Tránh sử dụng khoảng trắng trong lược đồ, bảng và tên trường. Thay vào đó, hãy sử dụng dấu gạch dưới để phân tách các tên lược đồ, bảng hoặc trường.
Sơ đồ ER chuyển tiếp bàn làm việc MySQL
MySQL workbench có các tiện ích hỗ trợ kỹ thuật chuyển tiếp. Kỹ thuật chuyển tiếp là một thuật ngữ kỹ thuật để mô tả quá trình dịch một mô hình logic thành một triển khai vật lý một cách tự động .
Chúng tôi đã tạo một sơ đồ ER trên hướng dẫn lập mô hình ER của chúng tôi. Bây giờ chúng ta sẽ sử dụng mô hình ER đó để tạo các tập lệnh SQL sẽ tạo cơ sở dữ liệu của chúng ta.
Tạo cơ sở dữ liệu MyFlix từ mô hình MyFlix ER
1. Mở mô hình ER của cơ sở dữ liệu MyFlix mà bạn đã tạo trong hướng dẫn trước đó.
2. Nhấp vào menu cơ sở dữ liệu. Chọn kỹ sư chuyển tiếp
3. Cửa sổ tiếp theo, cho phép bạn kết nối với một phiên bản của máy chủ MySQL. Nhấp vào danh sách thả xuống kết nối được lưu trữ và chọn máy chủ lưu trữ cục bộ. Nhấp vào Thực thi
4. Chọn các tùy chọn được hiển thị bên dưới trong trình hướng dẫn xuất hiện. Nhấn tiếp
5. Màn hình tiếp theo hiển thị tóm tắt các đối tượng trong biểu đồ EER của chúng tôi. MyFlix DB của chúng tôi có 5 bảng. Giữ các lựa chọn mặc định và nhấp vào Tiếp theo.
6… Cửa sổ hiển thị bên dưới xuất hiện. Cửa sổ này cho phép bạn xem trước tập lệnh SQL để tạo cơ sở dữ liệu của chúng tôi. Chúng tôi có thể lưu các tập lệnh vào tệp * .sql "hoặc sao chép các tập lệnh vào khay nhớ tạm. Nhấp vào nút tiếp theo
7. Cửa sổ hiển thị bên dưới xuất hiện sau khi tạo thành công cơ sở dữ liệu trên phiên bản máy chủ MySQL đã chọn.
Tóm lược
- Tạo cơ sở dữ liệu liên quan đến việc dịch mô hình thiết kế cơ sở dữ liệu logic sang cơ sở dữ liệu vật lý.
- MySQL hỗ trợ một số kiểu dữ liệu cho các giá trị số, ngày tháng và chuỗi.
- Lệnh CREATE DATABASE được sử dụng để tạo cơ sở dữ liệu
- Lệnh CREATE TABLE được sử dụng để tạo bảng trong cơ sở dữ liệu
- MySQL workbench hỗ trợ kỹ thuật chuyển tiếp liên quan đến việc tự động tạo các tập lệnh SQL từ mô hình cơ sở dữ liệu logic có thể được thực thi để tạo cơ sở dữ liệu vật lý
Cơ sở dữ liệu cùng với Dữ liệu giả được đính kèm. Chúng tôi sẽ sử dụng DB này cho tất cả các hướng dẫn tiếp theo của chúng tôi. Nhập DB trong MySQL Workbench đơn giản để bắt đầu
Nhấp vào đây để tải xuống MyFlixDB