メインコンテンツへ移動

เนื้อหาภาษาไทย / タイ語のコンテンツ

システムガイド 内容確認済み

การสร้างฐานข้อมูลและตารางใน SQLite

บทนี้อธิบายวิธีการสร้างฐานข้อมูลและตารางใน SQLite โดยเน้นว่าการสร้างฐานข้อมูลทำได้โดยการสร้างไฟล์ฐานข้อมูลใหม่ และการสร้างตารางต้องใช้คำสั่ง SQL `CREATE TABLE`...

การสร้างฐานข้อมูลและตารางใน SQLite

หลังจากที่เราติดตั้ง SQLite และ DB Browser for SQLite เรียบร้อยแล้ว ในบทนี้เราจะมาเรียนรู้วิธีการสร้างฐานข้อมูลและตารางใน SQLite กันครับ การสร้างฐานข้อมูลและตารางเป็นขั้นตอนแรกในการเริ่มต้นใช้งานฐานข้อมูลใดๆ ก็ตาม ดังนั้นมาเริ่มกันเลย!

การสร้างฐานข้อมูล (CREATE DATABASE)

ใน SQLite นั้นแตกต่างจากฐานข้อมูลอื่นๆ เล็กน้อย ตรงที่ไม่มีคำสั่ง CREATE DATABASE โดยตรงครับ การสร้างฐานข้อมูลใน SQLite ทำได้โดยการเชื่อมต่อไปยังไฟล์ฐานข้อมูล ถ้าไฟล์นั้นยังไม่มีอยู่ ระบบจะสร้างไฟล์นั้นขึ้นมาให้เราโดยอัตโนมัติครับ

ขั้นตอนการสร้างฐานข้อมูล:

  1. เปิดโปรแกรม DB Browser for SQLite
  2. คลิกที่ปุ่ม "New Database"
  3. เลือกตำแหน่งที่ต้องการบันทึกไฟล์ฐานข้อมูล (เช่น Desktop) ตั้งชื่อไฟล์ (เช่น `mydatabase.db`) และคลิก "Save"

แค่นี้เองครับ! เราก็มีฐานข้อมูลเปล่าๆ ชื่อ `mydatabase.db` พร้อมใช้งานแล้ว

กรณีใช้งานจริง: สมมติว่าเราต้องการสร้างฐานข้อมูลสำหรับเก็บข้อมูลหนังสือ เราอาจจะตั้งชื่อไฟล์ว่า `bookstore.db` ครับ

การสร้างตาราง (CREATE TABLE)

เมื่อเรามีฐานข้อมูลแล้ว ขั้นตอนต่อไปคือการสร้างตารางเพื่อเก็บข้อมูล ตารางคือโครงสร้างที่เก็บข้อมูลในรูปแบบแถว (row) และคอลัมน์ (column) แต่ละคอลัมน์จะมีชื่อและชนิดข้อมูล (Data Type) กำหนดไว้

คำสั่ง SQL:

CREATE TABLE table_name (
    column1 data_type constraints,
    column2 data_type constraints,
    column3 data_type constraints,
    ...
);

คำอธิบาย:

  • CREATE TABLE: เป็นคำสั่ง SQL สำหรับสร้างตาราง
  • table_name: คือชื่อของตารางที่เราต้องการสร้าง (ควรตั้งชื่อให้สื่อความหมาย)
  • column1, column2, column3, ...: คือชื่อของคอลัมน์แต่ละคอลัมน์
  • data_type: คือชนิดข้อมูลของคอลัมน์นั้นๆ (เช่น TEXT, INTEGER, REAL)
  • constraints: คือข้อจำกัดเพิ่มเติมของคอลัมน์ (เช่น PRIMARY KEY, NOT NULL)

ตัวอย่าง: สร้างตาราง `books` สำหรับเก็บข้อมูลหนังสือ

CREATE TABLE books (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    title TEXT NOT NULL,
    author TEXT,
    price REAL
);

คำอธิบาย:

  • books: ชื่อของตาราง
  • id: คอลัมน์สำหรับเก็บ ID ของหนังสือ (ชนิดข้อมูล INTEGER, เป็น Primary Key และ Auto Increment)
  • title: คอลัมน์สำหรับเก็บชื่อหนังสือ (ชนิดข้อมูล TEXT, ห้ามเป็นค่าว่าง NOT NULL)
  • author: คอลัมน์สำหรับเก็บชื่อผู้แต่ง (ชนิดข้อมูล TEXT)
  • price: คอลัมน์สำหรับเก็บราคาหนังสือ (ชนิดข้อมูล REAL)

ขั้นตอนการสร้างตารางใน DB Browser for SQLite:

  1. เปิดโปรแกรม DB Browser for SQLite และเปิดฐานข้อมูลที่เราสร้างไว้ (`mydatabase.db` หรือ `bookstore.db`)
  2. ไปที่แท็บ "Execute SQL"
  3. พิมพ์คำสั่ง CREATE TABLE ที่เราต้องการสร้าง (เช่น ตัวอย่างข้างบน)
  4. คลิกที่ปุ่ม "Execute" (หรือกด Ctrl+Enter)
  5. ถ้าไม่มีข้อผิดพลาด ตาราง `books` จะถูกสร้างขึ้น
  6. ไปที่แท็บ "Browse Data" และเลือกตาราง `books` เพื่อดูโครงสร้างของตาราง

กรณีใช้งานจริง: เราอาจจะสร้างตาราง `customers` เพื่อเก็บข้อมูลลูกค้า หรือตาราง `orders` เพื่อเก็บข้อมูลการสั่งซื้อ

ข้อผิดพลาดที่พบบ่อย:

  • Syntax Error: เกิดจากการพิมพ์คำสั่ง SQL ผิด (เช่น ลืมใส่เครื่องหมาย ; หรือสะกดคำผิด)
  • Table Already Exists: เกิดจากการพยายามสร้างตารางที่มีชื่อซ้ำกับตารางที่มีอยู่แล้ว
  • Data Type Mismatch: เกิดจากการพยายามใส่ข้อมูลที่ไม่ตรงกับชนิดข้อมูลที่กำหนดไว้ในคอลัมน์

Data Types ใน SQLite

Data Type คือชนิดของข้อมูลที่สามารถเก็บไว้ในคอลัมน์ของตาราง SQLite มี Data Type ไม่มากนักเมื่อเทียบกับฐานข้อมูลอื่นๆ ทำให้ง่ายต่อการเรียนรู้และใช้งาน

Data Types หลักๆ ใน SQLite:

  • NULL: แทนค่าที่ไม่มีข้อมูล (Empty Value)
  • INTEGER: เก็บตัวเลขจำนวนเต็ม (เช่น 1, 2, 100, -5)
  • REAL: เก็บตัวเลขทศนิยม (เช่น 3.14, 2.71, -0.5)
  • TEXT: เก็บข้อความ (เช่น "Hello", "World", "SQLite")
  • BLOB: เก็บข้อมูลไบนารี (เช่น รูปภาพ, ไฟล์เสียง)

ข้อควรรู้: SQLite เป็น Dynamic Type System หมายความว่า Data Type ที่เรากำหนดตอนสร้างตารางเป็นเพียงคำแนะนำ (Affinity) เท่านั้น SQLite จะพยายามแปลงข้อมูลให้ตรงกับ Affinity ที่กำหนดไว้ ถ้าไม่สามารถแปลงได้ก็จะเก็บข้อมูลนั้นๆ ในรูปแบบเดิม

ตารางสรุป Data Types:

Data Type คำอธิบาย ตัวอย่าง
NULL ค่าที่ไม่มีข้อมูล NULL
INTEGER ตัวเลขจำนวนเต็ม 10, -5, 0
REAL ตัวเลขทศนิยม 3.14, -2.5, 0.0
TEXT ข้อความ "Hello World", "SQLite", "123"
BLOB ข้อมูลไบนารี (Binary data)

กรณีใช้งานจริง:

  • INTEGER: ใช้เก็บ ID, จำนวนสินค้า, อายุ
  • REAL: ใช้เก็บราคา, คะแนน, อัตราดอกเบี้ย
  • TEXT: ใช้เก็บชื่อ, ที่อยู่, รายละเอียดสินค้า
  • BLOB: ใช้เก็บรูปภาพสินค้า, ไฟล์เอกสาร

ข้อควรจำ: การเลือก Data Type ที่เหมาะสมจะช่วยให้ฐานข้อมูลของเรามีประสิทธิภาพและใช้งานได้ง่ายขึ้น

ในบทนี้เราได้เรียนรู้วิธีการสร้างฐานข้อมูลและตารางใน SQLite รวมถึง Data Types ที่สำคัญ ในบทต่อไปเราจะมาเรียนรู้เกี่ยวกับ CRUD Operations ซึ่งเป็นพื้นฐานของการจัดการข้อมูลในฐานข้อมูลครับ เตรียมตัวให้พร้อม!

Office.in.th Custom Service

この構成をもとにシステムを開発・カスタマイズしたいですか?

Office.in.th は、エンタープライズ Web アプリケーション、API 連携、官民の業務管理システムの設計・開発を承り、長期的なサポートも提供します。

ソフトウェア開発サービスを見る