วิธีสร้างฐานข้อมูลใน MySQL (สร้าง MySQL ตาราง)
⚡ สรุปอย่างชาญฉลาด
การสร้างฐานข้อมูลใน MySQL ดำเนินการตามสองเส้นทางที่ได้รับการพิสูจน์แล้ว ได้แก่ การเรียกใช้คำสั่ง CREATE DATABASE หรือการสร้างสคีมาทางกายภาพจากแบบจำลอง ER ผ่านทาง MySQL การออกแบบเชิงวิศวกรรมแบบก้าวหน้าของเวิร์กเบนช์ ทั้งสองวิธีให้ผลลัพธ์เป็นตารางที่เหมือนกันและพร้อมใช้งานสำหรับการผลิต

ขั้นตอนการสร้างฐานข้อมูลใน MySQL
ฐานข้อมูลใน MySQL เป็นคอนเทนเนอร์ที่มีชื่อสำหรับตาราง มุมมอง และวัตถุที่เกี่ยวข้อง คุณสามารถสร้างได้สองวิธี:
1) โดยการดำเนินการค้นหา SQL อย่างง่าย
2) โดยใช้วิศวกรรมส่งต่อค่ะ MySQL ม้านั่งทำงานของช่างเครื่อง
As ผู้เริ่มต้น SQLมาดูวิธีการสืบค้นกันก่อน
วิธีสร้างฐานข้อมูลใน MySQL
นี่คือวิธีการสร้างฐานข้อมูลใน MySQL:
CREATE DATABASE คือคำสั่ง SQL ที่ใช้สำหรับสร้างฐานข้อมูล MySQL.
ลองนึกภาพว่าคุณต้องการสร้างฐานข้อมูลชื่อ “ภาพยนตร์” คุณสามารถสร้างฐานข้อมูลได้ใน MySQL โดยการเรียกใช้คำสั่ง SQL ต่อไปนี้
CREATE DATABASE movies;
หมายเหตุ: คุณสามารถใช้คำสั่ง CREATE SCHEMA แทนคำสั่ง CREATE DATABASE ได้เช่นกัน
คำสั่งนี้ใช้งานได้เพียงครั้งเดียวเท่านั้น การเรียกใช้ซ้ำจะทำให้เกิดข้อผิดพลาด ดังนั้นเรามาปรับปรุงคำสั่งค้นหาโดยเพิ่มพารามิเตอร์เพิ่มเติมกันดีกว่า
หากไม่มีอยู่
โสด MySQL เซิร์ฟเวอร์สามารถรองรับฐานข้อมูลได้หลายฐาน เมื่อมีหลายคนใช้เซิร์ฟเวอร์ร่วมกัน คุณอาจพยายามสร้างฐานข้อมูลโดยใช้ชื่อของฐานข้อมูลที่มีอยู่แล้ว
หากไม่มีอยู่ สั่งสอน MySQL เซิร์ฟเวอร์จะตรวจสอบฐานข้อมูลที่มีชื่อเดียวกันก่อนที่จะสร้างฐานข้อมูลนั้น ฐานข้อมูลจะถูกสร้างขึ้นก็ต่อเมื่อชื่อนั้นว่างอยู่เท่านั้น หากไม่มีเงื่อนไขนี้... MySQL พ่นข้อผิดพลาด
CREATE DATABASE IF NOT EXISTS movies;
เมื่อชื่อฐานข้อมูลปลอดภัยแล้ว ขั้นตอนต่อไปคือการตัดสินใจว่าจะทำอย่างไร MySQL ควรจัดเก็บและเปรียบเทียบข้อความที่อยู่ภายในนั้น
การจัดเรียงและชุดอักขระ
A ชุดตัวอักษร ตัดสินใจว่าคอลัมน์นั้นสามารถจัดเก็บอักขระใดได้บ้าง ในขณะที่ การตรวจทาน เป็นชุดของ กฎที่ใช้ในการเปรียบเทียบ และการเรียงลำดับ ทั้งสองอย่างสามารถกำหนดได้ในสี่ระดับ ได้แก่ เซิร์ฟเวอร์ ฐานข้อมูล ตาราง และคอลัมน์
การเรียงลำดับที่คุณเลือกขึ้นอยู่กับชุดอักขระ ตัวอย่างเช่น ชุดอักขระ latin1 ใช้การเรียงลำดับแบบใด latin1_swedish_ci การเรียงลำดับ ซึ่งเป็นการเรียงลำดับแบบไม่คำนึงถึงตัวพิมพ์ใหญ่เล็กของสวีเดน
CREATE DATABASE IF NOT EXISTS movies CHARACTER SET latin1 COLLATE latin1_swedish_ci;
สำหรับภาษาท้องถิ่น เช่น ภาษาอาหรับหรือภาษาจีน ให้เลือก Unicode utf8mb4 ชุดอักขระ ซึ่งจัดเก็บอักขระยูนิโค้ดทุกตัว รวมถึงอิโมจิด้วย ใน MySQL 8.0, utf8mb4 เป็นชุดอักขระเริ่มต้นและ utf8mb4_0900_ai_ci การเรียงลำดับเริ่มต้น
CREATE DATABASE IF NOT EXISTS movies CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
คุณสามารถดูรายการการเปรียบเทียบและชุดอักขระทั้งหมดได้ Good Farm Animal Welfare Awards.
คุณสามารถดูรายชื่อฐานข้อมูลที่มีอยู่ได้โดยเรียกใช้คำสั่ง SQL ต่อไปนี้
SHOW DATABASES;
เมื่อสร้างฐานข้อมูลเสร็จแล้ว คุณก็สามารถเพิ่มตารางที่จะใช้เก็บข้อมูลได้
วิธีสร้างตารางใน MySQL
คำสั่ง CREATE TABLE ใช้สำหรับสร้างตารางในฐานข้อมูล
ดังที่แผนภาพแสดงไว้ ตารางทุกตารางเป็นของฐานข้อมูลหนึ่งฐานข้อมูล ตารางถูกสร้างขึ้นด้วย สร้างตาราง คำสั่งดังกล่าวมีไวยากรณ์ดังต่อไปนี้
CREATE TABLE [IF NOT EXISTS] `TableName` (`fieldname` dataType [optional parameters]) ENGINE = storage Engine;
ที่นี่
- คำสั่ง “CREATE TABLE” มีหน้าที่สร้างตารางในฐานข้อมูล
- “[IF NOT EXISTS]” เป็นตัวเลือกเสริม และจะสร้างตารางขึ้นมาก็ต่อเมื่อไม่พบชื่อตารางที่ตรงกันเท่านั้น
- “`fieldName`” คือชื่อของฟิลด์ และ “data Type” กำหนดลักษณะของข้อมูลที่จัดเก็บอยู่ในฟิลด์นั้น
- "[พารามิเตอร์เสริม]" คือข้อมูลเพิ่มเติมเกี่ยวกับฟิลด์ เช่น "AUTO_INCREMENT" หรือ NOT NULL
- "Storage Engine" ทำหน้าที่จัดการตารางข้อมูล ซึ่งโดยปกติจะเป็น InnoDB ที่รองรับธุรกรรมและคีย์ต่างประเทศ
MySQL สร้างตัวอย่างตาราง
ด้านล่างคือ MySQL ตัวอย่างการสร้างตารางในฐานข้อมูล:
CREATE TABLE IF NOT EXISTS `MyFlixDB`.`Members` ( `membership_number` INT AUTO_INCREMENT , `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;
หมายเหตุ ที่ถูกต้อง MySQL คีย์เวิร์ดคือ AUTO_INCREMENT โดยมีเครื่องหมายขีดล่างกำกับอยู่ AUTOINCREMENT เป็นของ SQLite และทำให้เกิดข้อผิดพลาดทางไวยากรณ์ใน MySQL.
แต่ละคอลัมน์มีชนิดข้อมูล ดังนั้นควรเลือกอย่างระมัดระวัง อย่าประเมินช่วงของข้อมูลที่คาดหวังต่ำหรือสูงเกินไป
MySQL ประเภทข้อมูล
ชนิดข้อมูลกำหนดลักษณะของข้อมูลที่สามารถจัดเก็บได้ในคอลัมน์ใดคอลัมน์หนึ่งของตาราง
MySQL มี 3 ประเภทข้อมูลหลัก ได้แก่:
- เป็นตัวเลข
- ข้อความ
- วันเวลา
ประเภทข้อมูลตัวเลข
ชนิดข้อมูลตัวเลขใช้สำหรับจัดเก็บค่าตัวเลข สิ่งสำคัญอย่างยิ่งคือต้องตรวจสอบให้แน่ใจว่าช่วงของข้อมูลของคุณอยู่ระหว่างขอบเขตล่างและขอบเขตบนของชนิดข้อมูลตัวเลขที่คุณเลือก
| เล็กๆ น้อยๆ( ) | -128 ถึง 127 ปกติ 0 ถึง 255 ไม่ได้ลงนาม |
| สมอลลินท์( ) | -32768 ถึง 32767 ปกติ 0 ถึง 65535 ไม่ได้ลงนาม |
| ปานกลาง( ) | -8388608 ถึง 8388607 ปกติ 0 ถึง 16777215 ไม่ได้ลงนาม |
| อินท์( ) | -2147483648 ถึง 2147483647 ปกติ 0 ถึง 4294967295 ไม่ได้ลงนาม |
| บิ๊กอินท์( ) | -9223372036854775808 ถึง 9223372036854775807 ปกติ 0 ถึง 18446744073709551615 ไม่ได้ลงนาม |
| ลอย | ตัวเลขประมาณเล็กๆ ที่มีจุดทศนิยมลอยตัว |
| สองเท่า( , ) | จำนวนมากที่มีจุดทศนิยมลอยตัว |
| ทศนิยม( , ) | ค่า DOUBLE ที่จัดเก็บในรูปแบบสตริง ซึ่งอนุญาตให้มีจุดทศนิยมคงที่ เหมาะสำหรับการจัดเก็บค่าสกุลเงิน |
ประเภทข้อมูลข้อความ
ตามชื่อหมวดหมู่ประเภทข้อมูลบ่งบอก ประเภทข้อมูลนี้ใช้สำหรับจัดเก็บค่าข้อความ โปรดตรวจสอบให้แน่ใจเสมอว่าความยาวของข้อมูลข้อความของคุณไม่เกินความยาวสูงสุดของคอลัมน์
| ถ่าน( ) | ส่วนที่คงที่มีความยาวตั้งแต่ 0 ถึง 255 อักขระ |
| วาร์ชาร์( ) | ส่วนตัวแปรมีความยาวตั้งแต่ 0 ถึง 255 อักขระ |
| ข้อความเล็กๆ | สตริงที่มีความยาวสูงสุด 255 อักขระ |
| TEXT | สตริงที่มีความยาวสูงสุด 65535 อักขระ |
| หยด | สตริงที่มีความยาวสูงสุด 65535 อักขระ |
| ข้อความขนาดกลาง | สตริงที่มีความยาวสูงสุด 16777215 อักขระ |
| ขนาดกลาง | สตริงที่มีความยาวสูงสุด 16777215 อักขระ |
| ข้อความยาว | สตริงที่มีความยาวสูงสุด 4294967295 อักขระ |
| ลองบล็อบ | สตริงที่มีความยาวสูงสุด 4294967295 อักขระ |
ประเภทข้อมูลวันที่และเวลา
ประเภทข้อมูลวันที่และเวลาจะจัดเก็บค่าปฏิทินและนาฬิกาในรูปแบบคงที่ ซึ่งทำให้การเรียงลำดับและการเปรียบเทียบมีความน่าเชื่อถือ
| วัน | YYYY-MM-DD |
| วันเวลา | ปปปป-ดด-วว HH:MM:SS |
| การประทับเวลา | yyyymmddhhmmss |
| เวลา | ฮช:ดด:สส |
ประเภทข้อมูลอื่นๆ
นอกเหนือจากที่กล่าวมาข้างต้นแล้ว ยังมีประเภทข้อมูลอื่นๆ อีกใน MySQL.
| อีนัม | เพื่อจัดเก็บค่าข้อความที่เลือกจากรายการค่าข้อความที่กำหนดไว้ล่วงหน้า |
| ตลาดหลักทรัพย์ | นอกจากนี้ยังใช้สำหรับจัดเก็บค่าข้อความที่เลือกจากรายการค่าข้อความที่กำหนดไว้ล่วงหน้า สามารถมีได้หลายค่า |
| บูล | คำพ้องสำหรับ TINYINT(1) ใช้เพื่อจัดเก็บค่าบูลีน |
| ไบนารี่ | คล้ายกับ CHAR แต่ต่างตรงที่ข้อความถูกจัดเก็บในรูปแบบไบนารี |
| วาร์บินารี่ | คล้ายกับ VARCHAR แต่ต่างตรงที่ข้อความถูกจัดเก็บในรูปแบบไบนารี |
ต่อไปนี้เราจะมาดูตัวอย่างคำสั่งสร้างตารางที่ใช้ชนิดข้อมูลทั้งหมด ศึกษาและระบุว่าชนิดข้อมูลแต่ละชนิดถูกกำหนดอย่างไรในคำสั่งสร้างตารางด้านล่าง MySQL ตัวอย่าง.
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;
แนวทางปฏิบัติที่ดีที่สุดสำหรับการสร้าง MySQL ฐานข้อมูล
มีหลักการพื้นฐานบางประการที่จะช่วยให้สคริปต์ของคุณอ่านง่าย:
- ใช้ตัวพิมพ์ใหญ่สำหรับคำหลักของ SQL เช่น “DROP SCHEMA IF EXISTS `MyFlixDB`;”
- ปิดท้ายคำสั่ง SQL ทั้งหมดด้วยเครื่องหมายเซมิโคลอน
- หลีกเลี่ยงการใช้ช่องว่างในชื่อสคีมา ตาราง และฟิลด์ ให้ใช้เครื่องหมายขีดล่างแทนเพื่อแยกชื่อสคีมา ตาราง หรือฟิลด์
- ควรเลือกใช้ InnoDB มากกว่า MyISAM สำหรับตารางใหม่ เนื่องจาก InnoDB รองรับธุรกรรม การล็อกระดับแถว และคีย์ต่างประเทศ
วิธีการค้นหาเสร็จสมบูรณ์แล้ว เส้นทางที่สองเข้าถึงฐานข้อมูลเดียวกันโดยใช้โมเดลภาพแทนการเขียน SQL ด้วยมือ
วิธีการสร้าง MySQL แผนภาพ ER ของเวิร์กเบนช์ วิศวกรรมไปข้างหน้า
MySQL ม้านั่งทำงานของช่างเครื่อง มีสาธารณูปโภคที่รองรับวิศวกรรมก้าวหน้า วิศวกรรมไปข้างหน้า เป็นศัพท์ทางเทคนิคที่ใช้อธิบายกระบวนการของ การแปลงแบบจำลองเชิงตรรกะไปสู่การใช้งานจริงโดยอัตโนมัติ.
เราสร้าง แผนภาพเอ้อ ความละมุนของ การสร้างแบบจำลอง ER บทเรียนนี้ เราจะใช้แบบจำลอง ER นั้นเพื่อสร้างสคริปต์ SQL ที่จะใช้สร้างฐานข้อมูลของเรา
การสร้างฐานข้อมูล MyFlix จากโมเดล MyFlix ER
ขั้นตอนที่ 1) เปิดโมเดล ER ของฐานข้อมูล MyFlix ที่คุณสร้างไว้ก่อนหน้านี้
ขั้นตอนที่ 2) เลือกวิศวกรส่งต่อ
คลิกที่เมนูฐานข้อมูล แล้วเลือก Forward Engineer
ขั้นตอนที่ 3) ตัวเลือกการเชื่อมต่อ
หน้าต่างถัดไปจะช่วยให้คุณสามารถเชื่อมต่อกับอินสแตนซ์ของ MySQL เซิร์ฟเวอร์ คลิกที่รายการดรอปดาวน์การเชื่อมต่อที่บันทึกไว้ แล้วเลือก localhost จากนั้นคลิก Execute
ขั้นตอนที่ 4) เลือกตัวเลือกที่แสดงด้านล่าง
เลือกตัวเลือกที่แสดงด้านล่างในตัวช่วยสร้างที่ปรากฏขึ้น จากนั้นคลิก ถัดไป
ขั้นตอนที่ 5) คงค่าเริ่มต้นของการเลือกไว้ แล้วคลิก ถัดไป
หน้าจอถัดไปแสดงสรุปของวัตถุในแผนภาพ EER ของเรา ฐานข้อมูล MyFlix ของเรามี 5 ตาราง ให้คงการเลือกไว้ตามค่าเริ่มต้นแล้วคลิกถัดไป
ขั้นตอน 6) Revดูสคริปต์ SQL
หน้าต่างด้านล่างแสดงตัวอย่างสคริปต์ SQL ที่ใช้สร้างฐานข้อมูลของเรา บันทึกสคริปต์เป็นไฟล์ *.sql หรือคัดลอกไปยังคลิปบอร์ด จากนั้นคลิก ถัดไป
ขั้นตอนที่ 7) บันทึกความคืบหน้า
หน้าต่างด้านล่างจะปรากฏขึ้นเมื่อสร้างฐานข้อมูลบนเครื่องที่เลือกเรียบร้อยแล้ว MySQL อินสแตนซ์เซิร์ฟเวอร์ ตารางจากโมเดล ER ตอนนี้มีอยู่จริงบนเซิร์ฟเวอร์แล้ว
ฐานข้อมูลพร้อมข้อมูลจำลองแนบมาด้วยแล้ว เราจะใช้ฐานข้อมูลนี้ในบทเรียนต่อไป เพียงแค่ทำการนำเข้าฐานข้อมูลเข้าไป MySQL โต๊ะทำงานสำหรับเริ่มต้นใช้งาน
คลิกที่นี่เพื่อดาวน์โหลด MyFlixDB







.png)