วันจันทร์ที่ 5 กุมภาพันธ์ พ.ศ. 2561

Database System - work 4 try SQLite , Insert team csv to db

โหลด SQLite
https://www.sqlite.org/

ทำตาม Tutorial
http://www.sqlitetutorial.net/sqlite-sample-database/

SQLite มี ชนิดของ ข้อมูลที่แตกต่างจาก MySQL อยู่มาก
http://www.sqlitetutorial.net/sqlite-data-types/
ซึ่งจะมี 5 ชนิดหลักๆ ดังนี้

NULL
INTEGER
REAL
TEXT
BLOB

โดยจะมีการทำงานที่แตกต่างกัน

NULL values mean missing information or unknown.

Integer values are whole numbers (either positive or negative). An integer can have variable sizes such as 1, 2,3, 4, or 8 bytes.

Real values are real numbers with decimal values that use 8-byte floats.

TEXT is used to store character data. The maximum length of TEXT is unlimited. SQLite supports various character encodings.

BLOB stands for a binary large object that can be used to store any kind of data. The maximum size of BLOBs is unlimited.

SQLite กำหนด User ไม่ได้ ทำให้ใช้งานแบบ Multi-user ได้ไม่ดี

SQLite จะสร้างไฟล์ .db ออกมาในทันที



SQLite มี GUI ที่ช่วยในการจัดการฐานข้อมูล ตัวนึง ชื่อ SQLiteStudio
https://sqlitestudio.pl/index.rvt

ดังรูป


การใช้งาน Python + SQLite
http://www.sqlitetutorial.net/sqlite-python/
จะแสดงรายละเอียด ทั้งการสร้างตาราง สร้างฐานข้อมูลการนำข้อมูลเข้าฐานข้อมูล ซึ่งจะคล้ายๆกับตอนใช้งาน MySQL ทำให้เข้าใจได้ไม่อยาก แต่ว่ามีบางส่วนที่โค้ดแตกต่างกันออกไป
ซึ่งโค้ดจะอยู่ใน Github
https://github.com/poklonas/Python-GPA-cal

ส่วนที่ใช้ในการเตรียมตารางและฐานข้อมูล
https://github.com/poklonas/Python-GPA-cal/blob/master/sqlite_prepareDB.py

ส่วนที่ใช้ในการนำข้อมูลเข้าฐานข้อมูล
https://github.com/poklonas/Python-GPA-cal/blob/master/insertDB_sqlite.py

ซึ่ง ขั้นตอนการทำงานได้ถอดแบบมาจากโค้ดที่ใช้ในตอนทำ MySQL
https://github.com/poklonas/Python-GPA-cal/blob/master/insertDB_mysql.py
แต่หากว่าจำเป็นต้องเปลี่ยนเนื้อหาบางส่วนเช่น

การ Import Module mysql.connector นั้น จะ import module sqlite3 มาใช้งานแทน
และใน คำสั่ง sql แต่เดิมนั้น จะใช้


เครื่องหมาย %s แทนค่าที่จะใส่ลงไป แต่ว่าใน sqlite นั้นจะใช้


เครื่องหมาย ? แทน และ ถ้าทำตามตัวอย่างนั้นจะเห็นได้ว่า MySQL จะใช้รูปแบบ

( " command " ) แต่ Sqlite จะใช้ ''' command ''' แทน

และ นอกนั้นก็จะใช้หลักการคล้ายๆเดิม คือ

1. connect database
2. กำหนด cursor
3. execute คำสั่ง
4. commit database
5. close cursor

เป็นต้น

และได้ทำการแก้ไข โปรแกรม แปลงไฟล์ csv ของตัวเองให้ export csv รูปแบบที่ถูกต้องมากขึ้น ( ตัวใหญ่นำหน้า )
https://github.com/poklonas/Python-GPA-cal/commit/095626f6e031cc508e33e5d81a1ff744b20f1f5a

และสุดท้ายแล้ว ขั้นตอนการทำงานและผลลัพธ์จะได้ดังนี้

1 . ทำการ เตรียมฐานข้อมูลก่อน โดยจะมีให้กรอกชื่อว่าจะใช้ชื่อไฟล์ว่าอะไร
และต่อไปก็ทำการ นำข้อมูลเข้าฐานข้อมูล ได้เลยโดยจะมีให้กรอก รายละเอียดต่างๆ ข้อมูลก็จะเข้าไปในฐานข้อมูลแล้ว


2 . หากต้องการจะดูข้อมูลใน ฐานข้อมู,แบบง่ายๆ ให้เข้า SQLite แล้วเลือกตามภาพ เพื่อเพิ่มฐานข้อมูลที่จะดู


3 . เลือกไฟล์ฐานข้อมูลและกดตกลง

.
4. จะเห็นได้ว่าฐานข้อมูลได้เพิ่มขึ้นมา โดยอันนี้เป็นผลลัพธ์จาก ในข้อ 1 จะได้ตาราง มา 2 ตาราง


5. ในตาราง Student ก็จะมีข้อมูลที่เพิ่งสร้างในขั้นตอนที่ 1


6. รวมถึง ข้อมูลเกรดด้วย



 7 . ผลลัพธ์จากการเพิ่มข้อมูลคนอื่นๆ เข้าไปด้วย


ส่วนในการเข้าถึงแบบ command line ทำได้ดังรูป
ใช้คำสั่ง
sqlite3 databasename
.tables --> show all table
select * from student;  --> แสดง ข้อมูลทุกคอลัมน์ ใน ตาราง student
(หมายถึงการเลือกทั้งหมดก็ได้)
select * from student_records --> แสดงข้อมู,ทุกคอลัมน์ในตาราง student_records

สรุป แล้ว สามารถเพิ่มข้อมูลของคนในกลุ่มได้แล้ว

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

แสดงความคิดเห็น