PostgreSQL : คำสั่ง SQL การ INSERT

ตอบกระทู้

รูปแสดงอารมณ์
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
รูปแสดงอารมณ์อื่นๆ

BBCode เปิด
[img] เปิด
[url] เปิด
[Smile icon] เปิด

กระทู้แนะนำ
   

มุมมองที่ขยายได้ กระทู้แนะนำ: PostgreSQL : คำสั่ง SQL การ INSERT

Re: PostgreSQL : คำสั่ง SQL การ INSERT

โดย thitikorn_lp » 26/08/2014 11:09 am

การ INSERT ข้อมูลโดยการดึง(คัดลอก)จากตารางอื่น

โค้ด: เลือกทั้งหมด

INSERT INTO table_name ( column_1, column_2, ..., column_n )
SELECT column_name_1, column_name_2, ..., column_name_n
FROM table_name_1
WHERE condition;
อธิบายคำสั่ง
table_name     :  ชื่อตารางที่ต้องการเพิ่มข้อมูล
column_1       :  ชื่อคอลัมน์ในตารางที่ต้องการเพิ่ม
SELECT         :  คำสั่งเลือกคอมลัมน์
column_name_1 :  ชื่อคอลัมน์ในตารางที่ต้องการดึงข้อมูล
FROM           :  คำสั่งเลือกตาราง
table_name_1   :  ชื่อตารางที่ต้องการดึงข้อมูล[
WHERE         :  คำสั่งแสดงเงื่อนไข
condition       :  เงื่อนไขในการดึงข้อมูล

โค้ด :

โค้ด: เลือกทั้งหมด

INSERT INTO z_testcreatetable_cpartner(id,name,title,email,mobile,birthdate,state_id)
SELECT id,name,title,email,mobile,birthdate,state_id
FROM res_partner
WHERE res_partner.name like '%Demo%';
ผลที่ได้ :
ภาพที่ 1 เป็นภาพจากตารางที่มีชื่อว่า res_partner ซึ่งในตารางมีข้อมูลอยู่เยอะมาก เราไม่ต้องการทั้งหมด เราต้องการแค่เพียงบางส่วน เราก็ทำการตั้งเงื่อนไขในการดึงข้อมูล(คัดลอก)ข้อมูลเหล่านั้น
insert6.jpg
insert6.jpg (364.75 KiB) Viewed 39023 times
ในโค้ดเงื่อนไข เราต้องการแค่เพียงชื่อที่มีคำว่า Demo
โดยใช้คำสั่งที่ว่า
WHERE res_partner.name like '%Demo%';
insert5.jpg
insert5.jpg (88.49 KiB) Viewed 39023 times
ผลที่ได้คือ ข้อมูลชื่อ ( name ) จากตาราง res_partner ที่มีคำว่า "Demo" นั้นจะมาอยู่ในตาราง z_testcreatetable_cpartner ใหม่ที่เราต้องการ

Re: PostgreSQL : คำสั่ง SQL การ INSERT

โดย thitikorn_lp » 25/08/2014 3:51 pm

การ INSERT ข้อมูลทีละหลาย record

โค้ด: เลือกทั้งหมด

INSERT INTO table_name ( column_1, column_2, ..., column_n )
VALUES ( 'value_1', 'value_2', ..., 'value_n' ),
( 'value_1', 'value_2', ..., 'value_n' ),
( 'value_1', 'value_2', ..., 'value_n' );
อธิบายคำสั่ง
table_name     :  ชื่อตารางที่ต้องการเพิ่มข้อมูล
column_1       :  ชื่อคอลัมน์ในตาราง
value_1        :  ค่าที่ใส่ในตาราง
,             :  อัญประกาศ (' ') เครื่องหมายคั่นข้อมูลแต่ละ record

โค้ด :

โค้ด: เลือกทั้งหมด

INSERT INTO z_testcreatetable (id, username, pass, email)
VALUES ( 1, 'Sommai', '1234','[email protected]'),
( 2, 'Saijai', 'Saijai','[email protected]'),
( 3, 'tanit12', 'qwerty','[email protected]');
ผลที่ได้ :
insert4.jpg
insert4.jpg (100.28 KiB) Viewed 39033 times
คำอธิบาย :
ข้อมูลที่ทำการเพิ่มทั้งหมด 3 record จะลงไปอยู่ในตาราง ตามที่เราได้กำหนดค่าไว้

Re: PostgreSQL : คำสั่ง SQL การ INSERT

โดย thitikorn_lp » 25/08/2014 3:08 pm

การ INSERT ข้อมูลโดยกำหนดคอลัมน์

โค้ด: เลือกทั้งหมด

INSERT INTO table_name (column_1,column_2,...,column_n)
VALUES ( 'value_1', 'value_2', ..., 'value_n' );
อธิบายคำสั่ง
table_name     :  ชื่อตารางที่ต้องการเพิ่มข้อมูล
column_1       :  ชื่อคอลัมน์ในตาราง
value_1        :  ค่าที่ใส่ในตาราง

** ค่าจะถูกเพิ่มลงในฐานข้อมูลที่ตรงกับตำแหน่งของคอมลัมน์ เช่น value_1 จะถูกแทรกลงใน column_1 , value_2 ลงใน column_2 และต่อไปจน value_n และ column_n โดยจะคั่นระหว่างค่าต่างๆ ด้วยเครื่องหมายจุลภาค และข้อมูลที่เพิ่มจะใส่ไว้ในเครื่องหมายอัญประกาศ (' ')

โค้ด :

โค้ด: เลือกทั้งหมด

INSERT INTO z_testcreatetable (id, username, pass, email)
VALUES ( 1, 'testinsert', '1234','[email protected]');
** กำหนดคอลัมน์และค่าใน values ให้ตรงกัน

หรือ

โค้ด: เลือกทั้งหมด

INSERT INTO z_testcreatetable (id, username, pass, email)
VALUES ( 2, 'timus potter', 'test1234','[email protected]','');
** กรณีที่หากไม่กำหนดค่าใน values สามารถใส่เพียง ' ' ได้

หรือ

โค้ด: เลือกทั้งหมด

INSERT INTO z_testcreatetable (id, username, email, pass)
VALUES ( 3, 'marisa bunaree', 'test12345','[email protected]');
** สามารถสลับที่คอลัมน์ได้ แต่ต้องกำหนดค่าใน values ให้ตรงกับคอลัมน์ที่เปลี่ยนตำแหน่งไปด้วย

ผลที่ได้ :
insert3.jpg
insert3.jpg (99.84 KiB) Viewed 39033 times
คำอธิบาย :
ไอดีที่ 2 คือผลที่ได้จากการไม่กำหนดค่าของ email โดยใส่แค่เพียง ' '
ไอดีที่ 3 คือผลที่ได้จากการสลับที่ของคอลัมน์

Re: PostgreSQL : คำสั่ง SQL การ INSERT

โดย thitikorn_lp » 25/08/2014 1:52 pm

การ INSERT ข้อมูลทั้งหมด

ตัวอย่างการเพิ่มข้อมูลทั้งหมด
วิธีการที่ 1 : การเพิ่มข้อมูลลงทุกคอลัมน์ในตาราง

โค้ด: เลือกทั้งหมด

INSERT INTO table_name
VALUES ( 'value_1', 'value_2', ..., 'value_n' );
อธิบายคำสั่ง
INSERT INTO    :  คำสั่งเพิ่มข้อมูล
table_name     :  ชื่อตารางที่ต้องการเพิ่มข้อมูล
value_1        :  ค่าที่ใส่ในตาราง
VALUES         :  คำสั่งแสดงค่าที่ต้องการเพิ่ม
** ค่า (value) ที่ใส่ต้องใส่ให้ตรงกับคอลัมน์ในตาราง

โค้ด :

โค้ด: เลือกทั้งหมด

INSERT INTO z_testcreatetable
VALUES ( 1, 'testinsert', '1234','[email protected]');
ตัวอย่าง :
insert.jpg
insert.jpg (263.96 KiB) Viewed 39033 times
ผลที่ได้ :
ผลที่ได้จาการเพิ่มข้อมูลเข้าสู่ตารางในฐานข้อมูล postgreSQL สามารถทำการค้นหาดูได้จาก
- คลิกขวาที่ตารางที่ทำการเพิ่มข้อมูล > เลือก View Data > เลือก View all Rows
insert1.jpg
insert1.jpg (267.88 KiB) Viewed 39033 times
หลังจากนั้น จะมีหน้าต่างแสดงผลขึ้นมา จะเห็นได้ว่ามีข้อมูลที่ได้หรอกไว้ขึ้นมาในตารางดังกล่าว
insert2.jpg
insert2.jpg (55.24 KiB) Viewed 39153 times

PostgreSQL : คำสั่ง SQL การ INSERT

โดย thitikorn_lp » 23/08/2014 7:41 pm

INSERT ( การเพิ่มข้อมูลลงในตาราง )

  การ INSERT เป็นการเพิ่มข้อมูลลงตารางบนฐานข้อมูลที่เราสร้างไว้ โดยการเพิ่มข้อมูลลงตารางนั้นมีหลายวิธี และการเพิ่มข้อมูลลงตารางใน PostgreSQL นั้น สามารถใช้คำสั่งที่เหมือนกับคำสั่งใน MySql โดยทั่วไป

การ INSERT ข้อมูลมีหลากหลายรูปแบบ ดังนี้
» บทที่ 1 การ INSERT ข้อมูลทั้งหมด
» บทที่ 2 การ INSERT ข้อมูลโดยกำหนดคอลัมน์
» บทที่ 3 การ INSERT ข้อมูลทีละหลาย record
» บทที่ 4 การ INSERT ข้อมูลโดยการดึง(คัดลอก)จากตารางอื่น

ข้างบน