what you have done/learned
- การใช้งาน Module SQLconnector ของ Python เบื้องต้น- หลายๆ Module จะรองรับเฉพาะ version ที่ตรงกันเท่านั้น (เช่น python 3.4 ,2.7)
- การใช้ power shell ใน window
- การ insert data to database , create database , delete database , delete table, create table การกำหนด PK, ForeignKey, NOTNULL ,type ,auto increatement,
การรับส่วน Error ผ่านทาง module SQLconnector
- สำเร็จในการ แปลง file csv จากที่ import มาจาก
https://docs.google.com/spreadsheets/d/16zSaz5njoh-vLxbrVzll4fLuU3ydmjfWm1_mYEMflKU/edit?usp=sharing
ให้กลายเป็น file csv ที่มีรูปแบบที่กำหนด จากนั้นนำไฟล์ที่ มีรูปแบบที่กำหนดไว้
ไป เข้า ใน database ได้ ซึ่งจะคือ ถ้ามีรูปแบบที่กำหนดถูกต้อง ก็สามารถ นำเข้าได้โดยไม่มีผลกระทบใดๆ
- แบ่งโค้ดเป็นหลายส่วน ส่วนแปลงไฟล์ให้เป็นรูปแบบมาตรฐาน ส่วนสร้าง database ส่วนสร้าง table ส่วนนำข้อมูลเข้า table
- code https://github.com/poklonas/Python-GPA-cal
- commit
เตรียมฟังก์ชั่นในการสร้างไฟล์รูปแบบที่กำหนดไว้
ฟังก์ชั่น สร้างไฟล์ตามรูปแบบที่ต้องการเสร็จแล้ว
แก้ปัญหา มีบรรทัดว่างในไฟล์
เปลี่ยนให้สามารถรับค่าชื่อไฟล์ผ่าน command line
แยกไฟล์ระหว่างสร้างtable, insert
สร้าง database, table ได้แล้ว
insert ได้แล้ว
ผลลัพธ์สุดท้าย
any problem/solution
การทำงานเป็นกลุ่มใหญ่ ที่ไม่คุ้นเคย และไม่ค่อยได้เจอหน้ากัน ทำให้ติดต่อกันค่อนข้างลำบาก และอาจจะทำให้งานไม่ไปในทางเดียวกัน แก้ปัญหาโดยการสร้างกลุ่ม ใน Facebook , Messenger ขึ้นมาเพื่อติดต่องานโดยเฉพาะ และ ลงรายละเอียดต่างๆ เกี่ยวกับงานเอาไว้ ใช้ git hub เพื่อ แสดงโค้ดที่แต่ละคนจะใช้ในการจัดการกับหัวข้อต่างๆ ใช้บล๊อคเพื่อเขียนรายละเอียดมากขึ้น และ คอยพูดคุยงานด้วยเสียงผ่านทาง discord หากต้องใช้
ต้องการแยก subject id ออกจาก subject name ที่ไม่ได้แยก column ออกมาตั้งแต่ตอนแรก ในงานแรกที่ทำ ทำให้ต้องใช้ split ในการช่วยแยกข้อมูลออกมา
decision
งาน Tutorial ให้แต่ละคนแยกกันทำ เนื่องจากไม่มีความจำเป็นต้องทำร่วมกันก็ได้ส่วน เรื่องการนำข้อมูลเข้า Database นั้น จะให้เริ่มจาก แยกกันไปศึกษาและทำกันเอง โดยให้เขียนลง blog และ อัพโค้ดลง github แต่ว่า ได้คุยกันเอาไว้ว่าจะให้ทำขั้นตอนดังนี้
ดึงข้อมูล CSV จาก google spreedsheet และดูว่า รูปแบบตรงกับที่ต้องการมั้ย หรือนำเข้า ฐานข้อมูลได้เลยหรือไม่
ถ้า ไม่ จะไปยังรูป ไฟล์ที่เป็นตัว X ในภาพ และผ่าน ฟังก์ชั่นทำให้เป็นรูปแบบที่กำหนดไว้ ดังไฟล์รูป ถูกต้อง หรือหาก ดึงจาก google spreedsheet และ รูปแบบตรงก็มาขั้นตอนนี้ได้เลย จากนั้น นำเข้าฟังก์ชั่น ที่จะนำข้อมูลนั้นเข้าฐานข้อมูลได้
การทำ TABLE 2 Table ดังนี้
| "CREATE TABLE Student (" | |
| " `Student_id` varchar(13) NOT NULL, " | |
| " `First_name` varchar(100) NOT NULL," | |
| " `Last_name` varchar(100) NOT NULL," | |
| " PRIMARY KEY (`Student_id`)," | |
| " UNIQUE (Student_id))") | |
| "CREATE TABLE Student_Records (" | |
| " PK int(11) NOT NULL AUTO_INCREMENT," | |
| " SubjectID varchar(10) NOT NULL," | |
| " SubjectName varchar(100) NOT NULL," | |
| " Weight int(1) NOT NULL," | |
| " Section int(3) NOT NULL," | |
| " Grade varchar(2) NOT NULL," | |
| " Term int(2) NOT NULL," | |
| " Student_id varchar(13) NOT NULL," | |
| " PRIMARY KEY (`PK`)," | |
| " FOREIGN KEY (Student_id) REFERENCES Student(Student_id))") |
โดยจะมี TABLE Student และ Student record ที่จะมี Foreign key ชี้ไปยัง ข้อมูลในตาราง Student นั้นเอง
แยกฟังก์ชั่นสร้าง Database , Table และ เพิ่มข้อมูลแยกกันเอาไว้ เพราะไม่มีความจำเป็นต้องสร้างใหม่ตลอดเวลา (และ mysql ก็ไม่ยอมอยู่แล้วด้วย)
ตัวอย่างข้อมูลที่ ไม่ตรงตามรูปแบบที่ต้องการ
และ รูปแบบที่ต้องการ
related info/link/reference
https://www.w3schools.com/sql/ sql command
sql connector module for python 3.4 and 2.7
https://dev.mysql.com/doc/connector-python/en/ how to use sql connector module


ไม่มีความคิดเห็น:
แสดงความคิดเห็น