Python Database Tutorial in Marathi — सविस्तर मार्गदर्शक (Tutorial Guide)

रुपेश पवार

Python मध्ये Database सोबत कसं काम करायचं, SQLite3, MySQL, MongoDB आणि JSON, connect करणे, table तयार करणे, data insert/select/update/delete करणे, हे सर्व सोप्या मराठीत, प्रॅक्टिकल उदाहरणांसह.

आतापर्यंत आपण Python मध्ये Variables, Functions आणि File Handling शिकलो. पण प्रत्यक्ष प्रोजेक्ट्समध्ये जसं की website, app किंवा software data फक्त file मध्ये नाही, तर Database मध्ये structured स्वरूपात साठवला जातो. या लेखात आपण Python च्या मदतीने Database कसा वापरायचा हे सुरुवातीपासून शिकणार आहोत.

Database म्हणजे electronically साठवलेला माहितीचा व्यवस्थित (organized) संग्रह. याचं व्यवस्थापन DBMS (Database Management System) द्वारे केलं जातं, जे data access करणे, update करणे आणि सुरक्षितपणे manage करणे शक्य करतं. Database चे प्रामुख्याने दोन प्रकार आहेत:

Data rows आणि columns असलेल्या structured tables मध्ये साठवला जातो. Tables मधील data एकमेकांशी संबंधित (related) असू शकतो.

उदाहरणे: MySQL, PostgreSQL, SQLite

Data documents, key-value pairs किंवा graph स्वरूपात साठवला जातो, जास्त flexibility देतो.

उदाहरणे: MongoDB, Cassandra

या tutorial मध्ये आपण Python सोबत सर्वाधिक वापरल्या जाणाऱ्या तीन databases SQLiteMySQL आणि MongoDB कसे वापरायचे ते शिकू, आणि Python मध्ये JSON data कसा handle करायचा हेही पाहू.

SQLite ही एक lightweight, file-based database आहे जी वेगळी install करण्याची गरज नाही. कारण Python 2.5 पासून sqlite3 module हे built-in आहे. त्यामुळे नवशिक्यांसाठी (beginners) database शिकण्याचा हा सर्वात सोपा मार्ग आहे.

import sqlite3 conn = sqlite3.connect("students.db") cursor = conn.cursor() print("Database connected successfully")

connect() function दिलेल्या नावाची database file उघडतो अस्तित्वात नसेल तर नवीन तयार करतो. cursor object च्या मदतीने आपण SQL queries चालवतो (execute करतो).

cursor.execute(""" CREATE TABLE IF NOT EXISTS students ( id INTEGER PRIMARY KEY, name TEXT, marks INTEGER ) """) conn.commit()x`

Data Insert करणे

cursor.execute("INSERT INTO students (name, marks) VALUES (?, ?)", ("Rahul", 88)) conn.commit()

Security Tip: query मध्ये थेट values न टाकता ? placeholder वापरा — यामुळे SQL Injection सारखा धोका टळतो.

cursor.execute("SELECT * FROM students") rows = cursor.fetchall() for row in rows: print(row)

(1, 'Rahul', 88)

# Update cursor.execute("UPDATE students SET marks = ? WHERE name = ?", (95, "Rahul")) # Delete cursor.execute("DELETE FROM students WHERE name = ?", ("Rahul",)) conn.commit() conn.close()

काम पूर्ण झाल्यावर conn.commit() ने बदल save करणे आणि conn.close() ने connection बंद करणे विसरू नका — जसं File Handling मध्ये आपण close() करतो अगदी तसंच.

वेबसाईट किंवा मोठ्या application साठी MySQL ही सर्वात लोकप्रिय relational database आहे. Python सोबत जोडण्यासाठी mysql-connector-python हे package वापरतात.

# Install: pip install mysql-connector-python import mysql.connector conn = mysql.connector.connect( host="localhost", user="root", password="your_password" ) cursor = conn.cursor() cursor.execute("CREATE DATABASE IF NOT EXISTS school") print("MySQL Connected")

यानंतरची syntax — table तयार करणे, insert/select/update/delete करणे — SQLite प्रमाणेच असते, फक्त connection वेगळ्या पद्धतीने host/user/password देऊन तयार होतो. Real project मध्ये password थेट code मध्ये न लिहिता environment variables मध्ये ठेवावा.

# Install: pip install mysql-connector-python import mysql.connector conn = mysql.connector.connect( host="localhost", user="root", password="your_password" ) cursor = conn.cursor() cursor.execute("CREATE DATABASE IF NOT EXISTS school") print("MySQL Connected")

यानंतरची syntax table तयार करणे, insert/select/update/delete करणे SQLite प्रमाणेच असते, फक्त connection वेगळ्या पद्धतीने host/user/password देऊन तयार होतो. Real project मध्ये password थेट code मध्ये न लिहिता environment variables मध्ये ठेवावा.

MongoDB ही सर्वाधिक लोकप्रिय NoSQL database आहे. ती data tables ऐवजी documents स्वरूपात (BSON – JSON सारखा format) साठवते, त्यामुळे high speed, high scalability आणि flexible structure मिळतो. Python सोबत MongoDB जोडण्यासाठी pymongo library वापरतात.

# Install: pip install pymongo from pymongo import MongoClient client = MongoClient("mongodb://localhost:27017/") db = client["school"] students = db["students"] students.insert_one({"name": "Sneha", "marks": 92}) for s in students.find(): print(s)

Methodउपयोग
insert_one()एक document add करण्यासाठी
insert_many()एकाच वेळी अनेक documents add करण्यासाठी
find()सर्व documents शोधण्यासाठी
update_one()एक document update करण्यासाठी
delete_one()एक document delete करण्यासाठी

JSON (JavaScript Object Notation) हा data structure करण्याचा एक हलका (lightweight) आणि सर्वत्र वापरला जाणारा format आहे — विशेषतः browser आणि server दरम्यान data पाठवण्यासाठी. Python चं built-in json module JSON सोबत काम करणं सोपं करतं.

import json data = {"name": "Aarav", "marks": 90} # Python object → JSON string json_str = json.dumps(data) print(json_str) # JSON string → Python object parsed = json.loads(json_str) print(parsed["name"])

Output: {“name”: “Aarav”, “marks”: 90} Aarav

json.dump()
Python data file मध्ये JSON स्वरूपात लिहिणे.

json.dumps()
Python data ला JSON string मध्ये convert करणे.

json.load() / loads()
JSON file/string Python object मध्ये वाचणे.

DatabaseSetupसर्वोत्तम उपयोग
SQLiteInstall ची गरज नाहीशिकणे, छोटे प्रोजेक्ट्स, prototypes
MySQLServer install करावा लागतोWebsites, मोठे structured applications
MongoDBServer install करावा लागतोFlexible/unstructured data, मोठ्या प्रमाणातील real-time apps

🔹 SQL query मध्ये नेहमी ? placeholder वापरा, थेट string मध्ये values टाकू नका (SQL Injection टाळण्यासाठी).

🔹 काम झाल्यावर conn.commit() आणि conn.close() नेहमी करा.

🔹 Password/credentials code मध्ये hardcode न करता environment variables मध्ये ठेवा.

🔹 File Handling प्रमाणेच database operations साठीही try/except वापरून errors handle करा.

Problem 1: SQLite वापरून books नावाची table तयार करा (title, author, price) आणि त्यात 3 books insert करा.

Problem 2: SELECT query वापरून ₹300 पेक्षा जास्त किमतीची सर्व books शोधा.

Problem 3: एक Python dictionary JSON file मध्ये json.dump() वापरून साठवा, नंतर ती परत वाचा.

Problem 4: MongoDB मध्ये students collection तयार करून 5 students insert_many() ने add करा.

Q1. Python मध्ये database वापरण्यासाठी कोणती library वापरतात?

Ans: SQLite साठी built-in sqlite3, MySQL साठी mysql-connector-python आणि MongoDB साठी pymongo हे library वापरतात.

Q2. SQLite आणि MySQL मध्ये मुख्य फरक काय आहे?

Ans: SQLite ही file-based, install न करता वापरता येणारी database आहे, तर MySQL साठी वेगळा server install करावा लागतो — मोठ्या applications साठी MySQL जास्त योग्य असते.

Q3. SQL Injection म्हणजे काय आणि तो कसा टाळायचा?

Ans: Query मध्ये user input थेट टाकल्यास होणारा सुरक्षा धोका म्हणजे SQL Injection. ? placeholder वापरून parameterized queries लिहिल्यास हा धोका टाळता येतो.

Q4. MongoDB ला relational database का म्हणत नाहीत?

Ans: MongoDB data tables ऐवजी documents (BSON format) स्वरूपात साठवते, त्यामुळे ती NoSQL / non-relational database मानली जाते.

Q5. json.dump() आणि json.dumps() मध्ये फरक काय?

Ans: json.dump() data थेट file मध्ये लिहितो, तर json.dumps() data ला JSON string मध्ये convert करतो जो नंतर वापरता येतो.

Q6. नवशिक्यांनी (beginners) कोणती database आधी शिकावी?

Ans: SQLite — कारण ती install करण्याची गरज नाही आणि Python सोबत built-in येते, त्यामुळे database concepts शिकण्यासाठी ती सर्वोत्तम सुरुवात आहे.

Database शिकल्यानंतर पुढे Django/Flask सारखं Web Framework शिकून database सोबत खरी website किंवा API कशी बनवायची हे शिकणं उपयुक्त ठरेल.

Blogger Vinita

Blogger Rupesh

माझं नाव रुपेश आहे, आणि मी एक Blogger तसेच Content Writer आहे. मी माझा ब्लॉगिंगचा प्रवास वयाच्या ३० व्या वर्षी सुरू केला आणि आज मला या क्षेत्रात ५ वर्षांचा अनुभव आहे.माझा ब्लॉग “Learn Grow” मराठी भाषेत असून, त्यावर मी Blogging, Education, Programming शिकणे आणि AI Tools यांसारख्या महत्त्वाच्या विषयांवर सोप्या आणि समजण्यासारख्या भाषेत माहिती शेअर करतो. यासोबतच, मी Freelancing Services देखील प्रदान करतो, ज्यामध्ये Content Writing, SEO आणि Digital Marketing संबंधित कामांचा समावेश आहे.

Scroll to Top