การจัดการข้อมูล SQL ใน Excel
บทนำ
ฉันคิดว่า "MySQL Workbench" เป็นเครื่องมือที่ยอดเยี่ยมสำหรับการจัดการตาราง ไดอะแกรมตาราง (ความสัมพันธ์) ดัชนี มุมมอง และออบเจ็กต์อื่น ๆ แต่การเติมและการจัดการข้อมูลถือเป็นฝันร้ายที่นั่น เนื่องจากมีข้อบกพร่องบางอย่างและผู้ใช้ที่ไม่เป็นมิตร อินเทอร์เฟซ .. ดังนั้นฉันจึงสร้างเอกสาร Excel เพื่อสิ่งนั้น
กรณีการใช้งาน
- หากคุณต้องการโหลดข้อมูล (นำเข้า) ลงในตาราง "MySQL Workbench" บางตาราง
- หากคุณต้องการสร้างคำสั่ง INSERT สำหรับ "PhpMyAdmin"
ในทั้งสองกรณี คุณจะจัดการข้อมูลในเอกสาร Excel โดยตรง นี่คือเครื่องมือที่ฉันสร้างขึ้นเพื่อการใช้งานส่วนตัว และฉันไม่เคยใช้ตัวเลือกที่ 1 เลย ดังนั้นจึงมีข้อจำกัดบางประการอยู่ที่นั่น
วิธีใช้
การสร้างไฟล์เอาต์พุต
ไฟล์ใหม่จะถูกสร้างขึ้นในไดเร็กทอรีเดียวกันกับที่ไฟล์ Excel อยู่
กรณีที่ 1:
- เปิด Excel
- ตั้งค่า "ชื่อไฟล์"
- ตั้งค่า "นามสกุลไฟล์" เป็น "csv"
- ตั้งค่า "ใช้คำสั่ง SQL.." เป็น "ไม่"
- คลิกที่ปุ่ม "สร้างไฟล์"
จากนั้นสามารถนำเข้าไฟล์ใน MySQL workbench ( ข้อจำกัดปัจจุบัน - สำหรับตารางที่ต่างกัน คุณจะต้องสร้างไฟล์ที่แตกต่างกัน!! )
กรณีที่ 2:
- เปิด Excel
- ตั้งค่า "ชื่อไฟล์"
- ตั้งค่า "นามสกุลไฟล์" เป็น "txt"
- ตั้งค่า "ใช้คำสั่ง SQL.." เป็น "ใช่"
- คลิกที่ปุ่ม "สร้างไฟล์"
ด้วยไฟล์นี้ คุณสามารถเรียกใช้ส่วนแทรก SQL ทั้งหมดใน PhpMyAdmin ได้ เป็นต้น
การสร้างแผ่นงาน (ตาราง)
ปัญหาคือคุณต้องทราบคอลัมน์ที่แน่นอนที่คุณมีในตารางเมื่อเติมข้อมูลใน Excel ฉันจึงสร้างปุ่มตัวช่วยซึ่งจะสร้าง "แผ่นงาน" ใหม่ใน Excel พร้อมด้วยชื่อคอลัมน์ เพื่อให้คุณมีความสามารถในการจัดการได้ดีขึ้น
- ไปที่ "Mysql Workbench"
- ไปที่มุมมองไดอะแกรมของตารางของคุณ
- คลิกขวาที่ตารางแล้วใช้ตัวเลือกที่เรียกว่า "คัดลอกเทมเพลตแทรกไปยังคลิปบอร์ด"
- เปิดเอกสาร Excel
- วางเทมเพลตแทรกลงในช่อง "แทรกคำสั่ง"
- คลิกที่ปุ่ม "เพิ่มแผ่นงาน (ตาราง)"
PS: ปุ่ม "คัดลอกเทมเพลตแทรกไปยังคลิปบอร์ด" จะสร้างข้อมูลในรูปแบบเสมอ:
INSERT INTO `DATABASE`.`TABLE` (`COLUMN1`, `COLUMN2`, ...) VALUES (NULL, NULL, NULL, ...);
ดังนั้นหากคุณไม่สามารถใช้ Workbench ได้ด้วยเหตุผลบางประการ คุณสามารถสร้างแผ่นงาน Excel ด้วยตัวเอง (โดยใช้แบบแผนด้านล่าง หรือสร้าง "เทมเพลตคำสั่งแทรก" ด้วยตัวเอง
อนุสัญญา
- Excel จะต้องมีแผ่นงาน "หลัก" เสมอและจะต้องอยู่ในอันดับแรกในรายการ
- แผ่นงาน (ไม่ใช่หลัก) ควรมีชื่อที่ตรงกับชื่อตารางเพื่อสร้างข้อมูลอย่างถูกต้อง
- ในแผ่นงานที่ไม่ใช่หลัก - แถวที่ 1 สามารถมีค่าได้: NUMBER สิ่งนี้จะบังคับให้ไม่ใช้เครื่องหมายคำพูดเดี่ยวสำหรับค่าที่สร้างขึ้น
- ในแผ่นงานที่ไม่ใช่หลัก - แถวที่ 2 เป็นค่าเริ่มต้นสำหรับข้อมูล ดังนั้นหากคุณไม่ได้ระบุค่าใด ๆ ในแถวข้อมูล -> ค่าเริ่มต้นจะถูกนำมาจาก "แถวที่ 2"
- ในแผ่นงานที่ไม่ใช่หลัก - แถวที่ 3 เป็นเพียงชื่อคอลัมน์ในตาราง MySQL นี่เป็นเพียงเพื่อความสะดวกของคุณเองเท่านั้น มันไม่มีผลกระทบต่อสิ่งใดๆ
- ในแผ่นงานที่ไม่ใช่หลัก - แถว 4+ นี่คือแถวที่มีข้อมูลของคุณ
- สำหรับแถวข้อมูลทั้งหมดที่คุณไม่ได้ใส่ "NUMBER" ในแถวที่ 1 - สคริปต์จะใส่ค่าด้วยเครื่องหมายคำพูดเดี่ยวโดยอัตโนมัติ
- คุณกำลังใช้เครื่องหมายคำพูดคู่ในค่าเซลล์ข้อมูลของคุณ - มันจะเลี่ยงโดยอัตโนมัติโดยใช้สัญลักษณ์ ดังนั้น " จะกลายเป็น "
มีส่วนร่วม
หากคุณเป็นนักพัฒนาที่ต้องการมีส่วนร่วมในโปรเจ็กต์ - หลังจากที่คุณเปลี่ยน VBA ใน Excel แล้ว - อย่าลืมส่งออกโมดูล VBA ไปเป็นไฟล์แยก .BAS และคอมมิตไฟล์ด้วยเช่นกัน ดังนั้นเราจึงติดตามการเปลี่ยนแปลง