We’ve updated our privacy policy so that we are compliant with changing global privacy regulations and to provide you with insight into the limited ways in which we use your data. Show You can read the details below. By accepting, you agree to the updated privacy policy. Thank you! View updated privacy policy We've encountered a problem, please try again. หลังจากที่ทดลองเขียน Go มาบ้างเล็กน้อย เริ่มต้นการเดินทางเพื่อเรียนรู้เมื่อเข้าไปดูที่ package ของ Go Driver ของฐานข้อมูลชนิดต่างๆ นั้นมีคนพัฒนาไว้ให้แล้วที่นี่ SQL Driver 1. package ที่ใช้งานคือ database/sqlimport "database/sql" 2. การติดต่อฐานข้อมูลdb, err := sql.Open(driver, dataSourceName) … db.Close() คำอธิบาย และเมื่อใช้งานเสร็จแล้ว ให้ทำการปิดการเชื่อมต่อด้วย function Close() 3. การประมวลผลคำสั่ง SQLตัวอย่างการใช้งานเพื่อสร้างข้อมูลลงในฐานข้อมูล result, err := db.Exec( "INSERT INTO users (name, age) VALUES (?, ?)", "gopher", 27, ) และสามารถดึงข้อมูลของ ID และ จำนวนข้อมูลที่ได้รับผลกระทบด้วยคำสั่ง result.LastInsertId() result.RowsAffected() ตัวอย่างการดึงข้อมูลจากฐานข้อมูล rows, err := db.Query("SELECT id, name FROM users WHERE age = ?", age) if err != nil { log.Fatal(err) } for rows.Next() { var id int var name string if err := rows.Scan(&id, &name); err != nil { log.Fatal(err) } fmt.Printf("%s is %d\n", name, age) } if err := rows.Err(); err != nil { log.Fatal(err) } คำอธิบาย ถ้ามั่นใจว่าข้อมูลที่ต้องการดึงออกมานั้น มีเพียง 1 row เท่านั้น สามารถเขียน code ได้ดังนี้ var age int64 row := db.QueryRow("SELECT age FROM users WHERE name = ?", name) err := row.Scan(&age) แล้วถ้าถามว่ามี function แนวๆ Prepare statement บ้างไหม age := 27 stmt, err := db.Prepare("SELECT name FROM users WHERE age = ?") if err != nil { log.Fatal(err) } rows, err := stmt.Query(age) เริ่มต้นการใช้งานจริงๆ ดีกว่าเมื่อทำการเรียนรู้ในเบื้องต้น สำหรับการใช้งานเบื้องต้นแล้ว การใช้งานง่ายมากๆ โดยทำการติดตั้ง package ด้วยคำสั่ง $go get github.com/go-sql-driver/mysql จากนั้นทำการเขียน code เพื่อใช้งานดังนี้ ต่อมาทำการเพิ่มข้อมูลลงในฐานข้อมูล และปิดท้ายด้วยการดึงข้อมูลตามเงื่อนไขขึ้นมาเพื่อแสดงผล เพียงเท่านี้ เราก็สามารถจัดการข้อมูลใน MySQL ได้แล้ว Have Fun With Go ครับ …. !! การสร้างตารางนี้สร้างขึ้นมาสำหรับเป็นตัวอย่างในการเขียน SQL บน PostgreSQL เท่านั้น ในบทความเรื่อง PostgreSQL : คำสั่ง SQL การ Create Table นั้น เป็นการสร้างตารางแบบพื้นฐาน ซึ่งจะทำการกำหนดชื่อตาราง ชื่อคอลัมน์ที่ต้องการ และค่าต่างๆ เอง ส่วนในบทความนี้ จะเป็นการสร้างตารางโดยวิธี INHERITS หรือ การสืบทอดคุณสมบัติ INHERITS คืออะไร? “Inherits” หรือ “Inheritance” คือการสืบทอด Class (คลาส) จาก Class ต้นฉบับไปยัง Class ใหม่ โดยจะทำการ copy (ก๊อปปี้) สิ่งที่อยู่ใน Class ต้นฉบับไปยัง Class ใหม่ทั้งหมด อธิบายตามภาษาบ้านๆ ก็คือ การสืบทอดคุณสมบัติจากแม่ไปสู่ลูก CREATE TABLE table_name ( อธิบายคำสั่ง table_name (เทเบิล_เนม) : ชื่อตาราง column_name (คอลลัมน์_เนม) : ขื่อคอลัมน์ TYPE (ไทป์) : ชนิดของคอลัมน์ column_constraint (คอลลัมน์_คอนสเตรนท) : ข้อจำกัดของคอลัมน์ table_constraint (เทเบิล_คอนสเตรนท) : ข้อจำกัดของตาราง INHERITS (อินเฮริท) : คำสั่งการสืบทอด existing_table_name (เอ็กซิสทิ้ง_เทเบิล_เนม) : ชื่อตารางที่ต้องการสืบทอดมา ตัวอย่างการสร้างตาราง CREATE TABLE z_testcreatetable_inherit( ตัวอย่าง : ผลที่ได้ : CREATE TABLE z_testcreatetable_inherit คำอธิบาย : ในตัวอย่าง เป็นการสร้างตารางที่มีชื่อว่า "z_testcreatetable_inherit" (แซดเทสครีเอทเทเบิล_อินเฮริท)โดยทำการสืบทอดคุณสมบัติของตาราง "z_testcreatetable" มาใช้โดยคำสั่ง Inherited from table z_testcreatetable: ซึ่งจะนำ คอลัมน์ id (ไอดี), username (ยูสเซอร์เนม), pass (พาส) และ email (อีเมล)มาโดยที่ผู้ใช้ไม่ต้องพิมพ์เอง สามารถศึกษาเพิ่มเติมได้ที่ คำสั่ง SQL ต่างๆ www.postgresqltutorial.com Eng.ver www.postgresql.org Eng.ver โดย : http://www.mindphp.com |