sql

Topic: 
 

ขออนุญาตบันทึกการทดลองเพื่อเอาไว้ดูครับ

สมมุติถ้ามีตาราง t_phone เอาไว้เก็บข้อมูลลูกค้า มีโครงสร้างคือ

CREATE TABLE t_phone 
(   phoneid	SERIAL,
    custid      VARCHAR(10),
    name        VARCHAR(128),
    phone       VARCHAR(64),
    cat         VARCHAR(64),
    rem         TEXT
);

ถ้าเราต้องการค้นข้อมูลจากฟิลด์ rem เป็นข้อมูลสองชุด เช่น
ค้นว่าในฟิลด์ rem ต้องมีข้อมูลว่า 'S1' และ/หรือ 'S2' ประกอบอยู่
เราอาจใช้เงื่อนไขคือ

Topic: 
 

ความรู้ sql น้อยมาก ขออนุญาตบันทึกเอาไว้ดูครับ

ต้องการแปลงโครงสร้างตารางคือ
สมมุติว่ามีตาราง phone มีโครงสร้างดังนี้

CREATE TABLE phone 
(   phoneid	SERIAL,
    custid      VARCHAR(10),
    name        VARCHAR(128),
    phone       VARCHAR(64),
    cat         VARCHAR(64),
    rem         TEXT
);

เมื่อใส่ข้อมูลแล้ว ต้องการเปลี่ยนสดมถ์ custid เป็นข้อมูลชนิด integer
พบว่าไม่สามารถเปลี่ยนตรง ๆ โดยใช้คำสั่ง ALTER ได้

แปลงโดยใช้ตาราง temp เป็นตัวทด

 

บันทึกผลของการเลือกใช้ SELECT แบบต่าง ๆ
เดเบียน Etch, Postgresql 8.1

มีตารางสองตาราง

  1. ตาราง ft_word เก็บคำศัพท์ประมาณ 20,000 เรคคอร์ด
    • wordid = ไอดีคำศัพท์
    • word = คำศัพท์
  2. ตาราง ft เก็บการกระจายศัพท์ มีประมาณ 6 แสนเรคคอร์ด
    • wordid = ไอดีคำศัพท์
    • mftid = ไอดีที่จะชี้ไปที่ตารางเก็บ
    • occur = จำนวนคำศัพท์ที่พบในตารางเก็บ
Topic: 
 

บันทึกความผิดพลาดของการใช้คำสั่ง SQL

  • เวลาต้องการตรวจแค่ว่าเรคคอร์ดนั้นมีข้อมูลหรือไม่
    • เดิมใช้ SELECT abc FROM ... WHERE ...
    • ควรใช้ SELECT 1 FROM ... WHERE ...
  • เหมือนข้อแรก แต่ถ้ามีจำนวนเรคคอร์ดมาก ต้องเติม LIMIT 1 เข้าไปด้วย มิฉะนั้นจะทำให้ช้ามาก
    • เดิมใช้ SELECT 1 FROM ... WHERE ...
    • ควรใช้ SELECT 1 FROM ... WHERE ... LIMIT 1
Subscribe to RSS - sql