วันจันทร์ที่ 18 เมษายน พ.ศ. 2559

Try PostgreSQL on Ubuntu

PostgreSQL คือ  ORDBMS ที่สามารถใช้รูปแบบคำสั่งของภาษา SQL ได้เกือบทั้งหมด เป็นระบบฐานข้อมูลที่ทันสมัยที่สุดของ OpenSource สามารถใช้งานได้ฟรี
และ PostgreSQL สามารถทำงานบนระบบปฏิบัติการได้ทั้ง Linux, UNIX (AIX, BSD, HP-UX, SGI Irix, Mac OS X, Solaris, Tru64) และ Windows

 วิธีการติดตั้ง PostgreSQL บน Ubuntu

sudo apt-get update                              

เริ่มต้นด้วยการอัพเดตข้อมูลของ แพ็กเก็จทั้งหมด

sudo apt-get install postgresql postgresql-contrib        

คำสั่งที่ใช้ติดตั้ง  postgresql

วิธีการสร้าง Database ใน  PostgreSQL
sudo -u postgres createdb trainDB        

1.คำสั่งที่ใช้สร้าง Database ใน PostgreSQL โดยการระบุ user (postgres) แล้วตามด้วยชื่อตาราง

sudo -i -u postgres 

2.คำสั่งที่ใช้เข้า command promp ของPostgreSQL โดยการระบุชื่อ user postgres 

psql trainDB

3.คำสั่งที่ใช้สำหรับเข้าใช้งาน PostgreSQL Database ที่เราสร้างไว้

แสดงการใช้คำสั่ง สร้าง Database และเข้าถึงเพื่อใช้งาน
\d 

ใช้สำหรับดูข้อมูลตารางที่เราสร้างไว้ใน Database

แสดงการใช้ \d  เพื่อดูข้อมูลของตาราง

\q

ใช้สำหรับออกจาก Database ไปสู่ command promp ของPostgreSQL และสามารถออกจาก command promp ของ PostgreSQL ได้โดยการใช้ exit

วิธีสร้างตารางใน PostgreSQL

คำสั่ง SQL ที่ใช้ :

CREATE TABLE table_name(
   column1 datatype,
   column2 datatype,
   column3 datatype,
   .....
   columnN datatype,
   PRIMARY KEY( one or more columns )
);
ตัวอย่างสร้างตาราง TRAIN_TYPE

create table TRAIN_TYPE (Train_name varchar(100) primary key,Max_seate int);

แสดงตาราง TRAIN_TYPE ที่สร้างโดยใช้ sql statement ด้านบน

Insert ข้อมูลลงใน PostgreSQL ทาง terminal

คำสั่ง SQL ที่ใช้ :

INSERT INTO TABLE_NAME VALUES (value1,value2,value3,...valueN);
ตัวอย่าง Insert ข้อมูล ตาราง COMPANY

INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY,JOIN_DATE) VALUES (1, 'Paul', 32, 'California', 20000.00 ,'2001-07-13');

แสดงตัวอย่าง Insert ข้อมูล ตาราง COMPANY

Insert ข้อมูลลงใน PostgreSQL โดยใช้ python

#!/usr/bin/python
import random, string, psycopg2,time
from string import ascii_lowercase
from random import randint

start_time = time.time()
conn = psycopg2.connect(database="trainDB",user="postgres",password="*****",host="127.0.0.1", port="5432")
c = conn.cursor()
size=[100,150,200,250,300,350,400,450,500]
mm=["01","02","03","04","05","06","07","08","09","10","11","12"]
re1=["Yes","No"]
re2=["Unlimit","15kg","30kg","45kg"]
i=1

while i<=5000000:
    amount = randint(50,50000)
    tname = ''.join(random.choice(ascii_lowercase) for i in range(15))
    rands = randint(0,8)
    ran1 = randint(0,1)
    ran2 = randint(0,3)
    res = "Smoke:"+re1[ran1]+"|WeightLimit:"+re2[ran2]
    noaval = randint(0,50)
    total = size[rands]-noaval
 
    c.execute("insert into TRAIN_TYPE values('%s','%s');"
%(tname,str(size[rands])))
    c.execute("insert into TRAIN values('%s','%s','%s');"
%(str(i),str(total),tname))
    c.execute("insert into FARE values('%s','%s','%s','%s');"
%(str(i),str(i),res,str(amount)))

    conn.commit()
    i+=1
conn.close()
print('---%s seconds---'%(time.time()-start_time))


โค้ดส่วน : psycopg2.connect(database="trainDB",user="postgres",password="*****",host="127.0.0.1", port="5432")

เป็นส่วนที่ใช้เชื่อมต่อไปยัง PostgreSQL โดยการระบุ parameter ตามที่ตั้งค่าไว้ใน PostgreSQL

เปรียบเทียบ PostgreSQL กับ  SQLite and MySQL


สามารถดูการเปรียบเทียบประสิทธิภาพระหว่าง MySQL , PostgreSQL, Sqlite3 และข้อมูลเพิ่มเติมอื่นๆได้ที่ บทความตามลิ้งนี้ update-a1-mysql-postgresql-sqlite3.html

ขอบคุณสำหรับแหล่งข้อมูล : http://www.tutorialspoint.com/postgresql/postgresql_create_table.htm
https://www.digitalocean.com/community/tutorials/how-to-install-and-use-postgresql-on-ubuntu-14-04


Presentation Group 4 Week 12 

ไม่มีความคิดเห็น:

แสดงความคิดเห็น