PostgreSQL : คำสั่ง SQL การ INSERT
Moderator: mindphp, ผู้ดูแลกระดาน
-
- PHP Super Hero Member
- โพสต์: 677
- ลงทะเบียนเมื่อ: 28/07/2014 10:24 am
PostgreSQL : คำสั่ง SQL การ INSERT
INSERT ( การเพิ่มข้อมูลลงในตาราง )
การ INSERT เป็นการเพิ่มข้อมูลลงตารางบนฐานข้อมูลที่เราสร้างไว้ โดยการเพิ่มข้อมูลลงตารางนั้นมีหลายวิธี และการเพิ่มข้อมูลลงตารางใน PostgreSQL นั้น สามารถใช้คำสั่งที่เหมือนกับคำสั่งใน MySql โดยทั่วไป
การ INSERT ข้อมูลมีหลากหลายรูปแบบ ดังนี้
» บทที่ 1 การ INSERT ข้อมูลทั้งหมด
» บทที่ 2 การ INSERT ข้อมูลโดยกำหนดคอลัมน์
» บทที่ 3 การ INSERT ข้อมูลทีละหลาย record
» บทที่ 4 การ INSERT ข้อมูลโดยการดึง(คัดลอก)จากตารางอื่น
การ INSERT เป็นการเพิ่มข้อมูลลงตารางบนฐานข้อมูลที่เราสร้างไว้ โดยการเพิ่มข้อมูลลงตารางนั้นมีหลายวิธี และการเพิ่มข้อมูลลงตารางใน PostgreSQL นั้น สามารถใช้คำสั่งที่เหมือนกับคำสั่งใน MySql โดยทั่วไป
การ INSERT ข้อมูลมีหลากหลายรูปแบบ ดังนี้
» บทที่ 1 การ INSERT ข้อมูลทั้งหมด
» บทที่ 2 การ INSERT ข้อมูลโดยกำหนดคอลัมน์
» บทที่ 3 การ INSERT ข้อมูลทีละหลาย record
» บทที่ 4 การ INSERT ข้อมูลโดยการดึง(คัดลอก)จากตารางอื่น
แก้ไขล่าสุดโดย thitikorn_lp เมื่อ 26/08/2014 11:52 am, แก้ไขไปแล้ว 5 ครั้ง.
-
- PHP Super Hero Member
- โพสต์: 677
- ลงทะเบียนเมื่อ: 28/07/2014 10:24 am
Re: PostgreSQL : คำสั่ง SQL การ INSERT
การ INSERT ข้อมูลทั้งหมด
ตัวอย่างการเพิ่มข้อมูลทั้งหมด
วิธีการที่ 1 : การเพิ่มข้อมูลลงทุกคอลัมน์ในตาราง
อธิบายคำสั่ง
INSERT INTO : คำสั่งเพิ่มข้อมูล
table_name : ชื่อตารางที่ต้องการเพิ่มข้อมูล
value_1 : ค่าที่ใส่ในตาราง
VALUES : คำสั่งแสดงค่าที่ต้องการเพิ่ม
** ค่า (value) ที่ใส่ต้องใส่ให้ตรงกับคอลัมน์ในตาราง
โค้ด :
ตัวอย่าง :
ผลที่ได้ :
ผลที่ได้จาการเพิ่มข้อมูลเข้าสู่ตารางในฐานข้อมูล postgreSQL สามารถทำการค้นหาดูได้จาก
- คลิกขวาที่ตารางที่ทำการเพิ่มข้อมูล > เลือก View Data > เลือก View all Rows หลังจากนั้น จะมีหน้าต่างแสดงผลขึ้นมา จะเห็นได้ว่ามีข้อมูลที่ได้หรอกไว้ขึ้นมาในตารางดังกล่าว
ตัวอย่างการเพิ่มข้อมูลทั้งหมด
วิธีการที่ 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]');
ผลที่ได้จาการเพิ่มข้อมูลเข้าสู่ตารางในฐานข้อมูล postgreSQL สามารถทำการค้นหาดูได้จาก
- คลิกขวาที่ตารางที่ทำการเพิ่มข้อมูล > เลือก View Data > เลือก View all Rows หลังจากนั้น จะมีหน้าต่างแสดงผลขึ้นมา จะเห็นได้ว่ามีข้อมูลที่ได้หรอกไว้ขึ้นมาในตารางดังกล่าว
แก้ไขล่าสุดโดย thitikorn_lp เมื่อ 26/08/2014 11:12 am, แก้ไขไปแล้ว 3 ครั้ง.
-
- PHP Super Hero Member
- โพสต์: 677
- ลงทะเบียนเมื่อ: 28/07/2014 10:24 am
Re: PostgreSQL : คำสั่ง SQL การ INSERT
การ INSERT ข้อมูลโดยกำหนดคอลัมน์
อธิบายคำสั่ง
table_name : ชื่อตารางที่ต้องการเพิ่มข้อมูล
column_1 : ชื่อคอลัมน์ในตาราง
value_1 : ค่าที่ใส่ในตาราง
** ค่าจะถูกเพิ่มลงในฐานข้อมูลที่ตรงกับตำแหน่งของคอมลัมน์ เช่น value_1 จะถูกแทรกลงใน column_1 , value_2 ลงใน column_2 และต่อไปจน value_n และ column_n โดยจะคั่นระหว่างค่าต่างๆ ด้วยเครื่องหมายจุลภาค และข้อมูลที่เพิ่มจะใส่ไว้ในเครื่องหมายอัญประกาศ (' ')
โค้ด :
** กำหนดคอลัมน์และค่าใน values ให้ตรงกัน
หรือ
** กรณีที่หากไม่กำหนดค่าใน values สามารถใส่เพียง ' ' ได้
หรือ
** สามารถสลับที่คอลัมน์ได้ แต่ต้องกำหนดค่าใน values ให้ตรงกับคอลัมน์ที่เปลี่ยนตำแหน่งไปด้วย
ผลที่ได้ : คำอธิบาย :
ไอดีที่ 2 คือผลที่ได้จากการไม่กำหนดค่าของ email โดยใส่แค่เพียง ' '
ไอดีที่ 3 คือผลที่ได้จากการสลับที่ของคอลัมน์
โค้ด: เลือกทั้งหมด
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]');
หรือ
โค้ด: เลือกทั้งหมด
INSERT INTO z_testcreatetable (id, username, pass, email)
VALUES ( 2, 'timus potter', 'test1234','[email protected]','');
หรือ
โค้ด: เลือกทั้งหมด
INSERT INTO z_testcreatetable (id, username, email, pass)
VALUES ( 3, 'marisa bunaree', 'test12345','[email protected]');
ผลที่ได้ : คำอธิบาย :
ไอดีที่ 2 คือผลที่ได้จากการไม่กำหนดค่าของ email โดยใส่แค่เพียง ' '
ไอดีที่ 3 คือผลที่ได้จากการสลับที่ของคอลัมน์
-
- PHP Super Hero Member
- โพสต์: 677
- ลงทะเบียนเมื่อ: 28/07/2014 10:24 am
Re: PostgreSQL : คำสั่ง SQL การ INSERT
การ INSERT ข้อมูลทีละหลาย record
อธิบายคำสั่ง
table_name : ชื่อตารางที่ต้องการเพิ่มข้อมูล
column_1 : ชื่อคอลัมน์ในตาราง
value_1 : ค่าที่ใส่ในตาราง
, : อัญประกาศ (' ') เครื่องหมายคั่นข้อมูลแต่ละ record
โค้ด :
ผลที่ได้ :
คำอธิบาย :
ข้อมูลที่ทำการเพิ่มทั้งหมด 3 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]');
ข้อมูลที่ทำการเพิ่มทั้งหมด 3 record จะลงไปอยู่ในตาราง ตามที่เราได้กำหนดค่าไว้
-
- PHP Super Hero Member
- โพสต์: 677
- ลงทะเบียนเมื่อ: 28/07/2014 10:24 am
Re: PostgreSQL : คำสั่ง SQL การ INSERT
การ INSERT ข้อมูลโดยการดึง(คัดลอก)จากตารางอื่น
อธิบายคำสั่ง
table_name : ชื่อตารางที่ต้องการเพิ่มข้อมูล
column_1 : ชื่อคอลัมน์ในตารางที่ต้องการเพิ่ม
SELECT : คำสั่งเลือกคอมลัมน์
column_name_1 : ชื่อคอลัมน์ในตารางที่ต้องการดึงข้อมูล
FROM : คำสั่งเลือกตาราง
table_name_1 : ชื่อตารางที่ต้องการดึงข้อมูล[
WHERE : คำสั่งแสดงเงื่อนไข
condition : เงื่อนไขในการดึงข้อมูล
โค้ด :
ผลที่ได้ :
ภาพที่ 1 เป็นภาพจากตารางที่มีชื่อว่า res_partner ซึ่งในตารางมีข้อมูลอยู่เยอะมาก เราไม่ต้องการทั้งหมด เราต้องการแค่เพียงบางส่วน เราก็ทำการตั้งเงื่อนไขในการดึงข้อมูล(คัดลอก)ข้อมูลเหล่านั้น ในโค้ดเงื่อนไข เราต้องการแค่เพียงชื่อที่มีคำว่า Demo
โดยใช้คำสั่งที่ว่า
WHERE res_partner.name like '%Demo%'; ผลที่ได้คือ ข้อมูลชื่อ ( name ) จากตาราง res_partner ที่มีคำว่า "Demo" นั้นจะมาอยู่ในตาราง z_testcreatetable_cpartner ใหม่ที่เราต้องการ
โค้ด: เลือกทั้งหมด
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 ซึ่งในตารางมีข้อมูลอยู่เยอะมาก เราไม่ต้องการทั้งหมด เราต้องการแค่เพียงบางส่วน เราก็ทำการตั้งเงื่อนไขในการดึงข้อมูล(คัดลอก)ข้อมูลเหล่านั้น ในโค้ดเงื่อนไข เราต้องการแค่เพียงชื่อที่มีคำว่า Demo
โดยใช้คำสั่งที่ว่า
WHERE res_partner.name like '%Demo%'; ผลที่ได้คือ ข้อมูลชื่อ ( name ) จากตาราง res_partner ที่มีคำว่า "Demo" นั้นจะมาอยู่ในตาราง z_testcreatetable_cpartner ใหม่ที่เราต้องการ
-
- Similar Topics
- ตอบกลับ
- แสดง
- โพสต์ล่าสุด
-
-
โพสต์ใหม่ วิธีเช็คเวอร์ชั่น PostgreSQL กรณีติดตั้ง PostgreSQL ไว้หลายเวอร์ชั่นในเครื่องเดียว
โดย mindphp » 13/02/2022 10:58 am » ใน PostgreSQL - 1 ตอบกลับ
- 2067 แสดง
-
โพสต์ล่าสุด โดย mindphp
30/05/2022 9:56 am
-
-
-
โพสต์ใหม่ Magento 2 with PostgreSQL Magento2 รองรับหลายฐานข้อมูล PostgreSQL
โดย mindphp » 07/01/2016 6:59 am » ใน Magento user Guide Knowledge (เลิกทำเนื้อหา) - 0 ตอบกลับ
- 6968 แสดง
-
โพสต์ล่าสุด โดย mindphp
07/01/2016 6:59 am
-
-
-
โพสต์ใหม่ คำสั่ง PostgreSQL แสดงชื่อฐานข้อมูลทั้งหมด ของ PostgreSQL Server
โดย mindphp » 29/08/2017 5:51 am » ใน PostgreSQL - 2 ตอบกลับ
- 7579 แสดง
-
โพสต์ล่าสุด โดย mindphp
21/10/2018 2:11 am
-
-
-
โพสต์ใหม่ ถ้าจะเขียน SQL Insert เเล้วไม่ให้มัน Insert ซ้ำในคำสั่งเดียว จะเขียนได้ยังไงค่ะ
โดย thatsawan » 21/10/2016 2:37 pm » ใน SQL - Database - 3 ตอบกลับ
- 4941 แสดง
-
โพสต์ล่าสุด โดย Noyne043009
21/06/2022 3:31 am
-
-
-
โพสต์ใหม่ c# insert ข้อมูลที่ละมากๆ โดยไม่ใช้การ insert into
โดย jataz2 » 25/11/2016 4:20 pm » ใน Programming - C/C++ & java & Python - 0 ตอบกลับ
- 1938 แสดง
-
โพสต์ล่าสุด โดย jataz2
25/11/2016 4:20 pm
-
-
- 0 ตอบกลับ
- 1203 แสดง
-
โพสต์ล่าสุด โดย fonfonn
31/08/2022 6:04 pm
-
-
โพสต์ใหม่ สอบถามเรื่องการ รัน ID ใน PostgreSQL
โดย fonfonn » 31/08/2022 11:06 am » ใน SQL - Database - 2 ตอบกลับ
- 1693 แสดง
-
โพสต์ล่าสุด โดย fonfonn
31/08/2022 11:33 am
-
ผู้ใช้งานขณะนี้
สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 75