ซึ่งจะมีดังนี้
การเขียน Python ให้เชื่อมต่อกับฐานข้อมูล
โค้ด: เลือกทั้งหมด
# -*- coding=utf-8 -*-
import psycopg2 as n
con = None
try:
# connect to database
con = n.connect(host='localhost', user='postgres', password='postgres', port='5432')
cur = con.cursor()
cur.execute('SELECT version()')
var = cur.fetchone()
print var
except n.DatabaseError: # some error
print 'Error %s' %n.DatabaseError
if con:
con.close()
เมื่อรันออกมาแล้วจะเป็นแบบนี้
โค้ด: เลือกทั้งหมด
('PostgreSQL 9.3.9 on x86_64-unknown-linux-gnu, compiled by gcc (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4, 64-bit',)
โค้ด: เลือกทั้งหมด
CREATE DATABASE test
จะใช้คำสั่ง SQL ในการสร้างตาราง
โค้ด: เลือกทั้งหมด
CREATE TABLE table_name
โค้ด: เลือกทั้งหมด
# -*- coding=utf-8 -*-
import psycopg2 as n
con = None
try:
con = n.connect(host='localhost', database='test', user='postgres', password='postgres', port='5432')
cur = con.cursor()
# Drop test table
cur.execute("DROP TABLE IF EXISTS test_python")
print "Drop test_python table is compeleted"
# Create table as per requirement
sql = """CREATE TABLE IF NOT EXISTS test_python(
id serial NOT NULL,
first_name character varying(100) NOT NULL,
last_name character varying(100) NOT NULL,
favorite_color character varying(100),
CONSTRAINT test_python_pkey PRIMARY KEY (id)
)"""
cur.execute(sql)
con.commit()
print "Create test_python table is compeleted"
except n.DatabaseError: # some error
print 'Error %s' %n.DatabaseError
if con:
con.close()
โค้ด: เลือกทั้งหมด
Drop test_python table is compeleted
Create test_python table is compeleted
การเพิ่มข้อมูล
จะใช้คำสั่ง SQL ในการเพิ่มข้อมูล
โค้ด: เลือกทั้งหมด
INSERT INTO table_name (column1, column2, column3,...)
VALUES (value1, value2, value3,...)
โค้ด: เลือกทั้งหมด
# -*- coding=utf-8 -*-
import psycopg2 as n
con = None
try:
con = n.connect(host='localhost', database='test', user='postgres', password='postgres', port='5432')
cur = con.cursor()
sql = """INSERT INTO test_python (first_name, last_name, favorite_color)
VALUES ('Jack', 'Man', 'Yellow')"""
sql = sql.encode('utf-8')
try:
cur.execute(sql)
con.commit()
print 'Insert compelete'
except:
con.pollback()
print 'Insert False'
except n.Error:
print 'Connection error'
if con:
con.close()
โค้ด: เลือกทั้งหมด
Insert compelete
การเขียน Python ให้รับข้อมูลจาก Keyboard
จะใช้คำสั่ง Insert เหมือนเดิมแต่จะทำการวนลูปรับค่าจาก Keyboard
โค้ด: เลือกทั้งหมด
while loop==1:
firstname = raw_input('Input Your First Name : ')
lastname = raw_input('Input Your Last Name : ')
color = raw_input('Input Your Favorite color : ')
if firstname=='esc' or lastname=='esc' or color=='esc':
loop = 0
continue
sql = "INSERT INTO test_python (first_name, last_name, favorite_color) \
VALUES ('%s', '%s', '%s')" % (firstname, lastname, color)
sql = sql.encode('utf-8')
โค้ด: เลือกทั้งหมด
# -*- coding=utf-8 -*-
import psycopg2 as n
con = None
try:
con = n.connect(host='localhost', database='test', user='postgres', password='postgres', port='5432')
cur = con.cursor()
loop = 1
while loop==1:
firstname = raw_input('Input Your First Name : ')
lastname = raw_input('Input Your Last Name : ')
color = raw_input('Input Your Favorite color : ')
if firstname=='esc' or lastname=='esc' or color=='esc':
loop = 0
continue
sql = "INSERT INTO test_python (first_name, last_name, favorite_color) \
VALUES ('%s', '%s', '%s')" % (firstname, lastname, color)
sql = sql.encode('utf-8')
try:
cur.execute(sql)
con.commit()
print 'Insert compelete'
except:
con.pollback()
print 'Insert False'
except n.Error:
print 'Connection error'
if con:
con.close()
การเขียน Python ให้แสดงข้อมูล
จะใช้คำสั่ง SELECT มาวนปริ้น
โค้ด: เลือกทั้งหมด
# -*- coding=utf-8 -*-
import psycopg2 as n
con = None
try:
con = n.connect(host='localhost', database='test', user='postgres', password='postgres', port='5432')
cur = con.cursor()
sql = "SELECT * FROM test_python WHERE id <> 0"
sql = sql.encode('utf-8')
cur.execute(sql)
results = cur.fetchall()
for row in results:
id = row[0]
first_name = row[1]
last_name = row[2]
favorite_color = row[3]
print "First Name : %s" %first_name
print "Last Name : %s" %last_name
except n.Error:
print 'Connection error'
if con:
con.close()
โค้ด: เลือกทั้งหมด
First Name : Jack
Last Name : Man
First Name : boy
Last Name : um
First Name : gril
Last Name : um
จะใช้คำสั่ง SQL ในการแก้ไขดังนี้
โค้ด: เลือกทั้งหมด
UPDATE table_name
SET column1=value1,column2=value2,...
WHERE some_column=some_value;
โค้ด: เลือกทั้งหมด
# -*- coding=utf-8 -*-
import psycopg2 as n
con = None
try:
con = n.connect(host='localhost', database='test', user='postgres', password='postgres', port='5432')
cur = con.cursor()
sql = "UPDATE test_python SET first_name = 'Rose' WHERE id = 1"
try:
cur.execute(sql)
con.commit()
print "Update compelete"
except:
con.rollback()
print "Update False"
except n.Error:
print 'Connection error'
if con:
con.close()
การลบข้อมูล
จะใช้คำสั่ง SQL ในการลบข้อมูลดังนี้
โค้ด: เลือกทั้งหมด
DELETE FROM table_name
WHERE some_column=some_value;
โค้ด: เลือกทั้งหมด
# -*- coding=utf-8 -*-
import psycopg2 as n
con = None
try:
con = n.connect(host='localhost', database='test', user='postgres', password='postgres', port='5432')
cur = con.cursor()
sql = "DELETE FROM test_python WHERE id > '%d'" %(1)
try:
cur.execute(sql)
con.commit()
print "Delete compelete"
except:
con.rollback()
print "Delete False"
except n.Error:
print 'Connection error'
if con:
con.close()
การลบตาราง
จะใช้คำสั่ง SQL ในการลบตารางดังนี้
โค้ด: เลือกทั้งหมด
DROP TABLE table_name
โค้ด: เลือกทั้งหมด
# -*- coding=utf-8 -*-
import psycopg2 as n
con = None
try:
con = n.connect(host='localhost', database='test', user='postgres', password='postgres', port='5432')
cur = con.cursor()
sql = "DROP TABLE test_python"
cur.execute(sql)
con.commit()
print "Drop table compelete"
except n.Error:
print 'Connection error'
if con:
con.close()