ডেভসংকেত

পোস্টগ্রেস / পোস্টজিআরই এসকিউএল

পোস্টগ্রেস / পোস্টজিআরই এসকিউএল একটি এডভান্সড ওপেন সোর্স রিলেশনাল ডেটাবেজ

কন্ট্রিবিউটর

    শেয়ার করুন

    ব্যাসিক কমান্ডস

    • লিনাক্সে ইনস্টল

      sudo apt-get install postgresql postgresql-contrib
    • উইন্ডোজে ইনস্টল

      just type in the name of the executable and hit enter(PostgreSQL-Installer.exe)
    • ম্যাকে ইনস্টল

      brew install postgresql
    • সার্ভারের সাথে কানেক্ট করা

      sudo su - postgres(ডিফল্ট ইউজার)
    • সার্ভারে লগইন করা

      psql
    • লগইন ডিটেইলস জানা

      \conninfo
    • নতুন ইউজার ক্রিয়েট করা

      sudo -u postgres createuser <username>
    • নতুন ইউজারের পাসওয়ার্ড সেট করা

      alter user <username> with encrypted password '<password>'
    • নতুন ইউজারকে নির্দিষ্ট ডেটাবেজে এক্সেস পারমিশন দেয়া

      grant all privileges on database <dbname> to <username>
    • নির্দিষ্ট ইউজারকে ডিলিট করা

      su - postgres -c 'dropuser www-dtata'
    • সার্ভার থেকে ডিসকানেক্ট/লগআউট হয়ে যাওয়া

      \q

    ডেটাবেজ কুয়েরি

    • একটা টেবিলের সব ডেটা দেখা

      SELECT * FROM table_name
    • স্পেসিফিক কলামের সব ডেটা দেখা

      SELECT column, column2….FROM table
    • টেবিলের ইউনিক রো এর ডেটা দেখা

      SELECT DISTINCT (column) FROM table
    • ফিল্টার করে ডেটা দেখা

      SELECT * FROM table WHERE condition
    • একাধিক কন্ডিশন ফিল্টার করে ডেটা দেখা(AND / OR)

      SELECT * FROM table WHERE condition1 AND condition2 OR condition3 ...... conditionN;
    • একটি কলামের মানের জন্য একাধিক ভ্যালু ফিল্টার করে ডেটা দেখা(IN)

      SELECT * FROM table WHERE (column) IN (value1,value2,...... valueN);
    • একটি কলামের মান নির্দিষ্ট সীমায় আছে কীনা চেক করা(BETWEEN)

      SELECT * FROM table WHERE (column) BETWEEN (lower bound) AND (upper bound);
    • নির্দিষ্ট সংখ্যক আউটপুট কুয়েরি করা(LIMIT)

      SELECT * FROM table LIMIT 10;
    • কুয়েরির ১ম থেকে নির্দিষ্ট সংখ্যক রো বাদ দিয়ে তারপর থেকে দেখানো(OFFSET)

      SELECT * FROM table OFFSET 10;
    • স্ট্রিং ম্যাচ করে ডেটা দেখা

      SELECT * FROM table_name WHERE column LIKE '%value%'
    • কুয়েরি আউটপুট pretty-format এ দেখা

      \x
    • টেবিল নতুন কলাম এড করা

      ALTER TABLE table_name ADD COLUMN new_column_name TYPE
    • টেবিলের স্পেসিফিক রো ডিলিট করে দেয়া

      DELETE FROM table_name WHERE condition
    • টেবিলের ইউনিক রো এর ডেটা দেখা

      SELECT DISTINCT (column) FROM table
    • টেবিলের সব রো ডিলিট করে দেয়া

      DELETE FROM table_name
    • টেবিলের (যে টেবিল অন্য টেবিলের সাথে রিলেশন আছে) সব রো ডিলিট করার ক্ষেত্রে

      TRUNCATE tableName RESTART IDENTITY CASCADE
    • ক্রমানুসারে ডাটা কুয়েরি করা

      SELECT * FROM table ORDER BY ASC/ DESC;

    টেবিল জয়েন

    • ক্রস জয়েন(ডান টেবিলের প্রতি রো এর জন্য বাম টেবিলের সকল রো এর কম্বিনেশন)

      SELECT (column) FROM left_table CROSS JOIN right_table;
    • ইনার জয়েন(বাম টেবিলের যেসব রো এর প্রাইমারি কি ডান টেবিলে ফরেইন কি হিসেবে আছে)

      SELECT left_table.column,...right_table.column FROM left_table INNER JOIN right_table ON left_table.pk = right_table.fk;
    • লেফট আউটার জয়েন(বাম টেবিলের সব রো, ডান টেবিলের মিলে যাওয়া রো)

      SELECT (columns) FROM left_table LEFT OUTER JOIN right_table ON left_table.pk = right_table.fk;
    • রাইট আউটার জয়েন(ডান টেবিলের সব রো, বাম টেবিলের মিলে যাওয়া রো)

      SELECT (columns) FROM left_table RIGHT OUTER JOIN right_table ON left_table.pk = right_table.fk;
    • ফুল আউটার জয়েন(২ টেবিলের কমন আনকমন সব রো)

      SELECT * FROM left_table FULL OUTER JOIN right_table ON left_table.pk = right_table.fk;

    জেনারেল কমান্ডস

    • ডেটাবেজ ক্রিয়েট করা

      CREATE DATABASE yourdbname
    • স্পেসিফিক ডেটাবেজের সাথে কানেক্ট হওয়া

      \c database_name
    • সার্ভারে এভাইলেবল ডাটাবেজের লিস্ট দেখা

      \l
    • সার্ভারে এভাইলেবল ডাটাবেজের স্কিমা দেখা

      \dn
    • কারেন্ট ডাটাবেজের সব টেবিল দেখা

      \dt
    • স্পেসিফিক টেবিলের সব ইনফরমেশন দেখা

      \d+ table_name
    • সকল ইউজারের লিস্ট দেখা

      \du
    • নতুন রোল ক্রিয়েট করা

      CREATE ROLE role_name
    • ডেটাবেজ পার্মানেন্টলি ডিলিট করে দেয়া

      DROP DATABASE [IF EXISTS] db_name
    • ডেটাবেজের নাম পরিবর্তন

      ALTER DATABASE <old_name> RENAME TO <new_name>
    • কারেন্ট ইউজার দেখা

      SELECT current_user

    গাণিতিক অপারেশন

    • কলামের সর্বনিম্ন মান বের করা

      SELECT MIN(column name) FROM table;
    • কলামের সর্বোচ্চ মান বের করা

      SELECT MAX(column name) FROM table;
    • কলামের সকল মানের গড় বের করা

      SELECT AVG(column name) FROM table;
    • কলামের সকল মানের সমষ্টি বের করা

      SELECT SUM(column name) FROM table;
    • n দশমিক স্থান পর্যন্ত আসন্ন মান বের করা(ROUND)

      SELECT ROUND(AVG(column name), n) FROM table;
    • n দশমিক স্থান পর্যন্ত মান বের করা(TRUNC)

      SELECT TRUNC(AVG(column name), n) FROM table;

    ডেটাবেজ ব্যাকআপ

    • এক্সিস্টিং ডেটাবেজ এর কপি/ডাম্প ক্রিয়েট করা

      pg_dump -h localhost -U postgres --no-acl --no-owner existingdb > newgenerateddb.sql
    • ব্যাকআপ নেয়া ডেটা নতুন ডেটাবেজে লোড করা

      psql -h localhost -U postgres mynewcreateddb -f newgenerateddb.sql

    ডেভসংকেত সম্পর্কে

    ডেভসংকেত এর লক্ষ্য হচ্ছে বাংলাতে একটা বড় চিটশিটের ভান্ডার গড়ে তোলা। এটা সম্পূর্ণ স্বাধীন এবং ওপেন সোর্স গিটহাব অর্গানাইজেশন।

    স্পন্সর