MariaDB मध्ये Database आणि Table कसं बनवायचं
तुम्ही वापरता ते प्रत्येक app, Instagram सुद्धा, आपले users, posts आणि messages एका database मध्ये ठेवतं. या पहिल्या SQL chapter मध्ये आपण Amazon Linux वर MariaDB install करू, त्यात login करू, आणि स्वतः एक छोटा Instagram सारखा database बनवू: database आणि users table बनवू, प्रत्येक column साठी data type निवडू, INSERT ने rows जोडू आणि SELECT ने परत वाचू.
या class मध्ये काय शिकणार
- Amazon Linux वर MariaDB install आणि start करणं,
sudo mysqlने login, आणिALTER USERने root password सेट करणं - MariaDB prompt कसा चालतो: semicolons, अनेक lines च्या queries,
->, Ctrl+C, आणि socket error - Database, table, row आणि column, आणि
SHOW DATABASES,CREATE DATABASE,USE - Data types:
INT,VARCHAR,DATE,TIME,FLOAT,BOOLEAN, आणि phone numberVARCHARका CREATE TABLE users,SHOW TABLESआणिDESC- CRUD:
INSERT,SELECT,UPDATE,DELETE - सगळे columns किंवा नाव दिलेले columns सह
INSERT,NULL, दोन नेहमीचे errors, आणि एकदम अनेक rows SELECT *विरुद्ध नाव दिलेले columns
1. MariaDB install, start आणि login
का: Database server हा Apache किंवा Nginx सारखाच एक program आहे. काही साठवण्याआधी तो install होऊन चालू असला पाहिजे.
काय: Amazon Linux वर package mariadb105-server आणि service mariadb. MariaDB हा MySQL चा drop-in replacement आहे, म्हणून तेच SQL आणि तीच mysql command चालते.
कसं:
- SSH ने तुमच्या Amazon Linux EC2 instance ला connect व्हा.
sudo yum install mariadb105-server -yserver install करतो.sudo service mariadb startतो start करतो.sudo service mariadb statusनेactive (running)दिसलं पाहिजे.sudo mysqlतुम्हाला database च्या root user म्हणून login करतो. पहिल्यांदा password लागत नाही, कारण तुम्ही sudo वापरलं.- Prompt
MariaDB [(none)]>होतो. आता तुम्ही Linux शी नाही, database शी बोलत आहात. -
root ला password द्या (quotes अगदी असेच ठेवा):
ALTER USER 'root'@'localhost' IDENTIFIED BY 'YOUR_STRONG_PASSWORD'; -
बाहेर पडायला
exit;type करा. - आता पासून
mysql -u root -p(किंवाsudo mariadb -u root -p) ने login करा.-uम्हणजे user, आणि-ppassword विचारतो. - Password type करून Enter दाबा. Type करताना screen वर काहीच दिसत नाही; ते normal आहे.
Password सेट झाल्यावर नुसता sudo mysql ERROR 1045 ... Access denied देतो: त्याऐवजी -u root -p वापरा.
Figure 1. Animation: install, start, sudo mysql ने पहिलं login, ALTER USER ने root password, exit, आणि मग नेहमी mysql -u root -p.
Classroom line
Whenever an error mentions .sock, remember: your database service isn't running.
Class मधलं वाक्य
"Kadhi bi error madhe dot socket aala, lakshat ghyaycha tumchi service chalu nahiye."
कधीही error मध्ये dot socket आलं, लक्षात घ्यायचं तुमची service चालू नाहीये.
Classroom line
Whenever an error mentions .sock, remember: your database service isn't running.
Can't connect to local server through socket '/var/lib/mysql/mysql.sock' दिसलं तर MariaDB service बंद आहे. sudo service mariadb start चालवा आणि परत login करा.
2. MariaDB शी बोलणं: semicolons आणि arrow prompt
काय:
- प्रत्येक SQL statement semicolon
;ने संपतो. MariaDB;दिसल्यावरच तो चालवतो. ;शिवाय Enter दाबलं तर prompt->होतो. MariaDB statement च्या उरलेल्या भागाची वाट बघतो.- एक statement अनेक lines मध्ये जाऊ शकतो. पण keyword (
DATABASE,CREATE) कधी दोन lines मध्ये तोडू नका. - Ctrl+C तुम्ही type करत असलेला statement cancel करतो. Ctrl+L screen साफ करतो.
- SQL keywords case-sensitive नाहीत:
show databases;आणिSHOW DATABASES;एकच. Keywords उठून दिसावेत म्हणून आपण capital मध्ये लिहितो. - Names वेगळी: Linux वर database आणि table names default ने case-sensitive असतात, म्हणून
usersआणिUsersहे दोन वेगळे tables. Lowercase नावं निवडा आणि तीच वापरा.
Classroom line
(Forgetting the semicolon) It happens in a hurry, when you're not used to it yet.
Class मधलं वाक्य
(Semicolon विसरणं) घाईत असं होतं, अजून सवय नाही म्हणून.
Classroom line – हिंदी
"Gadbadi me hota hai aisa, aadat nahi hai."
कसं:
SHOW DATABASEStype करून Enter दाबा.->येतो.;type करून Enter दाबा. List दिसते.SHOW DATtype करून Ctrl+C दाबा. अर्धवट statement cancel होतो.
Figure 2. Statement semicolon ला चालतो. Arrow prompt म्हणजे MariaDB उरलेल्याची वाट बघतो; Ctrl+C cancel, Ctrl+L screen साफ.
3. Database, table, row आणि column
का: App वेगवेगळ्या प्रकारचा data ठेवतं: users, posts, reels, chats. प्रत्येक प्रकाराला स्वतःचा table, आणि एका app चे सगळे tables एका database मध्ये.
Classroom line
What data does Instagram have? Users, reels, posts, chats...
Class मधलं वाक्य
"Instagram madhe kutla kutla data ahe? Users ahet, reels ahet, posts ahet, chats..."
Instagram मध्ये कुठला कुठला data आहे? Users आहेत, reels आहेत, posts आहेत, chats...
Classroom line
What data does Instagram have? Users, reels, posts, chats...
काय:
- Database म्हणजे व्यवस्थित ठेवलेला data चा संग्रह. एका MariaDB server मध्ये अनेक databases असू शकतात.
- Table एका प्रकारचा data ठेवतो, spreadsheet सारखा.
- Column (field) म्हणजे माहितीचा एक भाग, जसं
nameकिंवाcity. - Row (record) म्हणजे एक entry, जसं एक user.
- Interview मध्ये database म्हणजे database server manage करतो असा tables चा container, असं सांगा. Disk वर MariaDB प्रत्येक database
/var/lib/mysqlखाली एका folder मध्ये ठेवतो, पण त्या files तुम्ही कधीच direct edit करत नाही; data सोबत नेहमी SQL मधूनच काम करायचं.
Classroom line
If an interview asks what a database is, don't answer "just a folder".
Class मधलं वाक्य
"Interview madhe database mhanje kay vicharla tar folder mhanu naka."
Interview मध्ये database म्हणजे काय विचारलं तर "फक्त एक folder" असं उत्तर देऊ नका.
Classroom line
If an interview asks what a database is, don't answer "just a folder".
Figure 3. MariaDB server मध्ये databases, database मध्ये tables, आणि table म्हणजे columns (fields) आणि rows (records).
4. SHOW DATABASES, CREATE DATABASE आणि USE
का: App तिचे tables स्वतःच्या database मध्ये ठेवते. कोणताही table बनवण्याआधी तो database बनवून select करावा लागतो.
कसं:
SHOW DATABASES;databases ची list देतो.information_schema,mysqlआणिperformance_schemaहे MariaDB चे स्वतःचे; त्यांना हात लावू नका.CREATE DATABASE instagram;नवीन database बनवतो.CREATE DATABASE instagram;परत चालवा:ERROR 1007 ... database exists. दुसरं नाव निवडा, किंवा असलेलाच वापरा.- परत
SHOW DATABASES;: list मध्येinstagramआहे. USE instagram;Database changedम्हणतो, आणि promptMariaDB [(none)]>वरूनMariaDB [instagram]>होतो. आता बनवलेला प्रत्येक tableinstagramमध्ये जातो.
Classroom line
To create it's CREATE DATABASE, but to see them it's SHOW DATABASES.
Class मधलं वाक्य
"Database create kartana create database ahe, pan baghtana show databases ahe."
Database create करताना create database आहे, पण बघताना show databases आहे.
Classroom line
To create it's CREATE DATABASE, but to see them it's SHOW DATABASES.
5. Data types: प्रत्येक column मध्ये काय ठेवता येतं
का: प्रत्येक column साठी तुम्ही database ला सांगता की त्यात कोणत्या प्रकारची value असेल. मग तो value बरोबर साठवतो आणि चुकीच्या values नाकारतो.
काय:
INT: पूर्ण संख्या, जसं id किंवा age. सगळ्यात मोठाINT2,147,483,647.VARCHAR(n):ncharacters पर्यंत text: अक्षरं, अंक, symbols, emoji सुद्धा. योग्यnनिवडा, उदा. नावासाठीVARCHAR(100).DATE: तारीख,'YYYY-MM-DD'अशी.TIME: दिवसाची वेळ,'HH:MM:SS'अशी.FLOAT: दशांश असलेल्या संख्या, जसं वजन. पैशासाठीDECIMALवापरा, तो नेमक्या values ठेवतो.BOOLEAN: true किंवा false (MariaDB तो 1 किंवा 0 म्हणून ठेवतो).
Classroom line
For the phone number column, will you use integer or varchar?
Class मधलं वाक्य
"Phone number chya column la integer denar ka varchar denar?"
Phone number च्या column ला integer देणार का varchar देणार?
Classroom line
For the phone number column, will you use integer or varchar?
Phone number VARCHAR मध्ये:
- 10 अंकी mobile number 2,147,483,647 पेक्षा मोठा, म्हणून
INTतोOut of rangeerror देऊन नाकारतो. - Phone numbers मध्ये
+91, spaces किंवा सुरुवातीचा 0 असू शकतो, जो number type मध्ये हरवतो. - Phone numbers ची बेरीज किंवा गुणाकार कधी करत नाही. ज्यावर गणित करत नाही, ते text म्हणून ठेवा.
Figure 4. नेहमीचे data types उदाहरणांसह. Phone number VARCHAR मध्ये: INT साठी खूप मोठा, त्यात +91 किंवा spaces असू शकतात, आणि त्यावर गणित करत नाही.
6. CREATE TABLE, SHOW TABLES आणि DESC
का: Table म्हणजे तुमच्या data चा वर्षानुवर्षं राहणारा आकार. बनवल्यानंतर लगेच DESC ने तपासलं की data जाण्याआधीच चुकीचा type पकडला जातो.
कसं:
- Prompt मध्ये
[instagram]आहे ना ते बघा (नसेल तरUSE instagram;). -
Table बनवा:
CREATE TABLE users (id INT, name VARCHAR(100), city VARCHAR(50), age INT); -
Query OK, 0 rows affectedम्हणजे table तयार, अजून रिकामा. SHOW TABLES;database मधले tables दाखवतो:users.DESC users;(किंवाDESCRIBE users;) प्रत्येक column, त्याचा type, तो रिकामा राहू शकतो का (Null) आणि त्याची default value दाखवतो.
Classroom line
Name the table users, not user. USER is a keyword in SQL.
Class मधलं वाक्य
"Table cha nav users theva, user nahi. User ha SQL madhe keyword ahe."
Table चं नाव users ठेवा, user नाही. User हा SQL मध्ये keyword आहे.
Classroom line
Name the table users, not user. USER is a keyword in SQL.
आपण table ला users म्हणतो कारण USER हा SQL keyword आहे, आणि built-in mysql database मध्ये आधीच user नावाचा table आहे. अनेकवचनी नावाने तो गोंधळ टळतो.

Whiteboard: USE instagram, चार columns सह CREATE TABLE users, आणि SHOW TABLES मध्ये users.
DESC मध्ये int(11) दिसू शकतं. 11 हा जुन्या MySQL versions मधला फक्त display width आहे; INT किती ठेवू शकतो ते त्याने बदलत नाही.

Whiteboard: DESC users: प्रत्येक column त्याच्या type, Null, Key आणि Default सह.
ERROR 1064 (syntax error) देणाऱ्या नेहमीच्या चुका:
- दोन columns मध्ये comma नाही.
- Size शिवाय
VARCHAR. - शेवटी
)नाही.
Figure 5. CREATE TABLE users वाचा: आधी column चं नाव मग type, VARCHAR ला size लागते, columns मध्ये commas, bracket बंद करून semicolon ने संपवा.
Ravindra Bagale's Tip
Table आणि column ची नावं lowercase, spaces शिवाय ठेवा (users, city, created_at). Linux वर नावं case-sensitive असतात, आणि एकच पद्धत ठेवली की पुढे "table doesn't exist" errors टळतात.
7. CRUD: data बरोबर करायच्या चार गोष्टी
का: App मधली जवळजवळ प्रत्येक screen या चारपैकी एक कृती असते. ही चार नावं माहीत असली की कोणत्याही app चं SQL वाचता येतं.
काय: App आपल्या rows बरोबर जे करतं ते जवळजवळ सगळं या चार कामांपैकी एक, त्यांना मिळून CRUD म्हणतात:
- Create =
INSERT: नवीन rows जोडा. - Read =
SELECT: rows वाचा. तो कधी काही बदलत नाही. - Update =
UPDATE: असलेल्या rows बदला, उदा.UPDATE users SET age = 31 WHERE id = 1; - Delete =
DELETE: rows काढा, उदा.DELETE FROM users WHERE id = 3;
CREATE DATABASE, CREATE TABLE आणि ALTER TABLE हे CRUD नाहीत. ते structure बदलतात; CRUD tables मधल्या rows वर काम करतो. या chapter मध्ये आपण INSERT आणि SELECT practice करतो.
Figure 6. CRUD: Create = INSERT, Read = SELECT, Update = UPDATE, Delete = DELETE. CREATE TABLE आणि ALTER structure commands, CRUD नाहीत.
8. INSERT: rows जोडा
का: रिकामा table निरुपयोगी. App मधलं प्रत्येक sign-up, post किंवा order शेवटी एक INSERT होतं.
8.1 सगळे columns, table च्या क्रमाने
DESC users;columns चा क्रम दाखवतो:id,name,city,age.-
त्याच क्रमाने प्रत्येक column साठी एक value द्या:
INSERT INTO users VALUES (1, 'ravi', 'solapur', 30); -
Text single quotes मध्ये (
'ravi'); numbers quotes शिवाय (30). Query OK, 1 row affectedम्हणजे row save झाली.SELECT * FROM users;ती दाखवतो.
8.2 नाव दिलेले columns, कोणत्याही क्रमाने
-
भरायचे columns list करा, मग values त्याच क्रमाने:
INSERT INTO users (name, id, city) VALUES ('zoya', 2, 'pune'); -
सोडलेल्या column ला,
ageला,NULLमिळतो. - हा मार्ग जास्त safe: महिन्यांनंतर table कोणत्या क्रमाने बनवला होता ते आठवणार नाही, आणि आठवायची गरजही नाही.
Classroom line
If you come to insert values four or five months later, how will you know the column order the table was created with?
Class मधलं वाक्य
"Char-paach mahinyanantar value insert karayla aalat, tar kasa mahiti honar kutlya sequence ne table tayar kela hota?"
चार-पाच महिन्यांनंतर value insert करायला आलात, तर कसं माहिती होणार कुठल्या sequence ने table तयार केला होता?
Classroom line
If you come to insert values four or five months later, how will you know the column order the table was created with?
8.3 NULL
NULLम्हणजे कोणतीच value नाही. ते रिकामा text''नाही, आणि0पण नाही.INSERT INTO users (name, id) VALUES ('siya', 3);cityआणिageNULLठेवतो.
Classroom line
In any column where we don't put a value, NULL will appear.
Class मधलं वाक्य
"Ja column madhe aapan value taknar nahi, tithe NULL yeil."
ज्या column मध्ये आपण value टाकणार नाही, तिथे NULL येईल.
Classroom line
In any column where we don't put a value, NULL will appear.
Classroom line
NULL means nothing at all; the value doesn't exist.
Class मधलं वाक्य
"NULL mhanje kahich nahi, tyacha astitvach nahi."
NULL म्हणजे काहीच नाही, त्याचं अस्तित्वच नाही.
Classroom line
NULL means nothing at all; the value doesn't exist.
8.4 तुम्हाला भेटणारे दोन errors
- Values ची संख्या चुकली:
INSERT INTO users VALUES (4, 'amit', 'nashik');चार columns साठी तीन values देतो:ERROR 1136 ... Column count doesn't match value count at row 1. चारही values द्या, किंवा columns ची नावं द्या. - Values चुकीच्या क्रमाने:
INSERT INTO users (name, id, city) VALUES ('zoya', 'pune', 2);'pune'लाidमध्ये टाकतो:ERROR 1366 ... Incorrect integer value: 'pune' for column ... id. Values तुमच्या column list च्या क्रमाने द्या.

Whiteboard: सगळ्या columns सह INSERT, नाव दिलेल्या columns सह INSERT (age NULL होतो), आणि value चुकीच्या column मध्ये गेल्यावरचा error.
Figure 7. Table च्या क्रमाने सगळ्या columns सह INSERT, किंवा कोणत्याही क्रमाने नाव दिलेल्या columns सह (सोडलेले columns NULL), आणि भेटणारे दोन errors.
8.5 एका INSERT मध्ये अनेक rows
नवीन app मध्ये test data भरताना प्रत्येक row साठी एक INSERT type करणं slow आहे. अनेक rows एकाच statement मध्ये, comma ने वेगळ्या करून द्या:
INSERT INTO users VALUES (1, 'ravi', 'solapur', 30), (2, 'siya', 'pune', 27), (3, 'maya', 'mumbai', 25);
- MariaDB
Query OK, 3 rows affectedम्हणतो. - Table मध्ये अजून duplicates विरुद्ध नियम नाही, म्हणून तोच id दोनदा येऊ शकतो. हे थांबवणाऱ्या keys नंतर येतात.

Whiteboard: तीन rows असलेला एक INSERT: Query OK, 3 rows affected.
9. SELECT: rows वाचा
का: Data वाचण्यासाठीच साठवतात. प्रत्येक feed, profile आणि search result म्हणजे SELECT, आणि तो काहीच बदलत नाही, म्हणून practise करायला सुरक्षित.
काय: SELECT rows वाचतो आणि दाखवतो. तो data कधी बदलत नाही.
Classroom line
Only the SELECT query is a read query. It doesn't change the data.
Class मधलं वाक्य
"Fakt select query hi read query ahe. Hi data change nahi karat."
फक्त select query ही read query आहे. ही data change नाही करत.
Classroom line
Only the SELECT query is a read query. It doesn't change the data.
कसं:
SELECT * FROM users;प्रत्येक row चे सगळे columns दाखवतो.SELECT name FROM users;फक्तnamecolumn दाखवतो.SELECT id, name FROM users;दोन columns दाखवतो.SELECT city, name FROM users;तुम्ही मागितलेल्या क्रमाने दाखवतो: आधी city.SELECT city FROM users;तेच city अनेकदा दाखवू शकतो, प्रत्येक row साठी एकदा.SELECT DISTINCT city FROM users;प्रत्येक city एकदाच दाखवतो.DISTINCTपुढच्या SQL chapter मध्ये नीट बघू.
Classroom line
Everyone thinks star means all records. That's wrong: star means the data of all columns.
Class मधलं वाक्य
"Saglyana vatta star mhanje all records. Chukicha ahe. Star mhanje saglya columns cha data."
सगळ्यांना वाटतं star म्हणजे all records. चुकीचं आहे. Star म्हणजे सगळ्या columns चा data.
Classroom line
Everyone thinks star means all records. That's wrong: star means the data of all columns.
Figure 8. Animation: SELECT * सगळे columns देतो, SELECT name, city फक्त ते columns देतो, आणि columns तुम्ही मागितलेल्या क्रमाने येतात.
Practice झाल्यावर exit; type करा आणि EC2 instance stop करा.
10. पूर्ण flow एका page वर
sudo yum install mariadb105-server -y,sudo service mariadb start.sudo mysql, मगALTER USER 'root'@'localhost' IDENTIFIED BY '...';,exit;, मगmysql -u root -p.- प्रत्येक statement
;ने संपवा.->म्हणजे "उरलेल्याची वाट"; Ctrl+C cancel..sockerror म्हणजे service बंद. SHOW DATABASES;,CREATE DATABASE instagram;,USE instagram;.- प्रत्येक column साठी type:
INT,VARCHAR(n),DATE,TIME,FLOAT,BOOLEAN; phone numbersVARCHARमध्ये. CREATE TABLE users (...);,SHOW TABLES;,DESC users;.- CRUD =
INSERT,SELECT,UPDATE,DELETE. INSERT INTO users VALUES (...);किंवाINSERT INTO users (cols) VALUES (...);; सोडलेले columnsNULL;(...), (...)ने अनेक rows.SELECT * FROM users;= सगळे columns;SELECT name, city FROM users;= निवडलेले columns.
11. Hands-on lab: तुमचा पहिला database, table आणि rows
हा lab का. हा lab रिकाम्या server पासून परत वाचता येणाऱ्या data असलेल्या table पर्यंत जातो, app ला लागतं त्याच क्रमाने: server, database, table, rows, query.
- MariaDB install आणि start करा
- Command:
sudo yum install mariadb105-server -y && sudo service mariadb start - काय दिसेल:
Complete!, मगRedirecting to /bin/systemctl start mariadb.service. - Check करा:
sudo service mariadb statusमध्येactive (running). - का: Database server Apache सारखाच program: install, मग चालू. तो बंद असेल तर
mysql.sockबद्दलच्या error ने login fail होतं.
- Command:
- Login करा
- Command:
sudo mysql - काय दिसेल:
MariaDB [(none)]>prompt. - Check करा: तुम्ही आधीच root password set केला असेल तर त्याऐवजी
mysql -u root -pवापरा. - का: Prompt मधलं
(none)म्हणजे अजून कोणताही database select नाही. इथून पुढे Linux commands नाही, SQL type करायचं.
- Command:
- Database बनवा आणि select करा
- Command:
CREATE DATABASE instagram; USE instagram; - काय दिसेल:
Query OK, 1 row affected, मगDatabase changed. - Check करा: Prompt
MariaDB [instagram]>होतो. - का: प्रत्येक statement
;ने संपतं.USEशिवाय पुढचाCREATE TABLENo database selectedने fail होतो.
- Command:
- Table बनवा
- Command:
CREATE TABLE users (id INT, name VARCHAR(50), city VARCHAR(50), age INT); - काय दिसेल:
Query OK, 0 rows affected - Check करा:
DESC users;चार fields दाखवतो:id int(11),name varchar(50),city varchar(50),age int(11). - का: प्रत्येक column ला type मिळतो, म्हणून database चुकीच्या values नाकारतो.
VARCHAR(50)50 अक्षरांपर्यंत text ठेवतो.
- Command:
- तीन rows insert करा
- Command:
INSERT INTO users VALUES (1, 'ravi', 'solapur', 30), (2, 'siya', 'pune', 27), (3, 'maya', 'mumbai', 25); - काय दिसेल:
Query OK, 3 rows affectedआणिRecords: 3 Duplicates: 0 Warnings: 0. - Check करा: Error नाही.
- का: Values table च्या क्रमाने जातात. Text ला quotes लागतात; numbers ना नाही. एक
INSERTअनेक rows टाकू शकतो.
- Command:
- Column नावं देऊन insert करा
- Command:
INSERT INTO users (name, id, city) VALUES ('zoya', 4, 'pune'); - काय दिसेल:
Query OK, 1 row affected - Check करा:
ageसोडलं तरी error नाही. - का: Columns ची नावं दिली की table चा क्रम लक्षात ठेवायची गरज राहत नाही. सोडलेला column
NULLहोतो.
- Command:
- सगळं वाचा
- Command:
SELECT * FROM users; - काय दिसेल: 4 rows चं table, आणि
4 rows in set. Zoya चं ageNULLदाखवतं. - Check करा: Rows तुम्ही insert केल्याशी जुळतात.
- का:
*म्हणजे प्रत्येक column, प्रत्येक row नाही. परत वाचणं म्हणजे inserts चालले हे सिद्ध करणं.
- Command:
- फक्त काही columns वाचा
- Command:
SELECT name, city FROM users; - काय दिसेल: दोन columns, 4 rows.
- Check करा:
ageआणिidदिसत नाहीत. - का: Apps screen वर दाखवायचं तेवढंच मागतात. कमी columns म्हणजे network वरून कमी data.
- Command:
- बाहेर पडा
- Command:
exit; - काय दिसेल:
Bye - Check करा: तुम्ही परत Linux prompt वर. पुढच्या SQL chapters साठी
instagramdatabase ठेवा, आणि instance stop करा. - का: Instance terminate करत नाही तोपर्यंत, बाहेर पडल्यावर आणि stop नंतरही data disk वर राहतो.
- Command:
12. Try at home
Try at home
Task 1: set up
- MariaDB install आणि start करा,
sudo mysqlने login करा, आणिALTER USERने root password सेट करा. exit;करूनmysql -u root -pने परत login करा.sudo service mariadb stopने service बंद करा, login करून बघा, आणि socket error वाचा. परत start करा.
Task 2: database आणि table
schooldatabase बनवा आणिUSEकरा.id INT,name VARCHAR(100),phone VARCHAR(15),marks FLOATआणिjoined DATEसहstudentstable बनवा.SHOW TABLES;आणिDESC students;ने तपासा.
Task 3: INSERT आणि SELECT
- एक student सगळ्या columns सह, आणि एक फक्त
idआणिnameसह insert करा. कोणत्या valuesNULLझाल्या? - एकाच statement मध्ये तीन students insert करा.
- Column-count error आणि wrong-order error मुद्दाम करा, आणि दोन्ही messages वाचा.
SELECT *, मगSELECT name, marks, मगSELECT marks, nameचालवा.
Recap
थोडक्यात
- Amazon Linux वर MariaDB:
mariadb105-server, servicemariadb; पहिलं loginsudo mysql, मगALTER USER 'root'@'localhost' IDENTIFIED BY '...';आणिmysql -u root -p. - Statements
;ने संपतात;->उरलेल्याची वाट बघतो; Ctrl+C cancel;.sockerror म्हणजे service बंद. - Keywords case-sensitive नाहीत; database आणि table names Linux वर case-sensitive.
- Database मध्ये tables; table मध्ये columns (fields) आणि rows (records).
SHOW DATABASES,CREATE DATABASE,USE,CREATE TABLE,SHOW TABLES,DESC.- Types:
INT(max 2,147,483,647;int(11)फक्त display width),VARCHAR(n),DATE,TIME,FLOAT,BOOLEAN; phone numbersVARCHARमध्ये. - CRUD =
INSERT,SELECT,UPDATE,DELETE. INSERTसगळे columns क्रमाने, किंवा नाव दिलेले columns कोणत्याही क्रमाने; सोडलेले columnsNULL; एका statement मध्ये अनेक rows.SELECT *= प्रत्येक column; हवे ते columns, हव्या त्या क्रमाने नावाने मागा.
सराव Tasks
Solapur Chaddar House हा सोलापूर मधला गृह वस्त्र व्यवसाय आहे. Vikas Kamble त्यांचं IT व cloud काम पाहतात. त्यांचे पैसे INR मध्ये मोजले जातात आणि AWS resources ap-south-1 Region मध्ये चालतात. खालच्या tasks मध्ये तुम्ही या lesson मध्ये शिकलेलं वापरून त्यांची खरी कामं करता. सगळी नावं, account IDs, IP addresses व numbers सरावासाठी काल्पनिक आहेत.
0 / 10
सोपं मोठ्या orders आधी
का: RDS setup नंतर database query करणं रोजचं काम.
काय करायचं: Order id व amount, मोठी amount आधी.
Tables: customers(id, name, city) व orders(id, customer_id, amount, odate).
- Task कोणत्या table बद्दल आहे ते पाहा (box वरची table list).
- SQL statement step by step लिहा: काय, कुठून, कोणते rows.
- Statement ; ने संपवा.
- Check answer दाबा. Query table च्या practice copy वर चालते.
सोपं City नुसार customers
का: RDS setup नंतर database query करणं रोजचं काम.
काय करायचं: Pune मधल्या customers ची नावं.
Tables: customers(id, name, city) व orders(id, customer_id, amount, odate).
- Task कोणत्या table बद्दल आहे ते पाहा (box वरची table list).
- SQL statement step by step लिहा: काय, कुठून, कोणते rows.
- Statement ; ने संपवा.
- Check answer दाबा. Query table च्या practice copy वर चालते.
सोपं MariaDB मध्ये login करा
का: mysql client ने database server वर SQL चालवता येतं.
काय करायचं: MariaDB client root user म्हणून उघडा व password विचारू द्या.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
मध्यम एकूण sales
का: RDS setup नंतर database query करणं रोजचं काम.
काय करायचं: सगळ्या order amounts ची बेरीज.
Tables: customers(id, name, city) व orders(id, customer_id, amount, odate).
- Task कोणत्या table बद्दल आहे ते पाहा (box वरची table list).
- SQL statement step by step लिहा: काय, कुठून, कोणते rows.
- Statement ; ने संपवा.
- Check answer दाबा. Query table च्या practice copy वर चालते.
मध्यम Customer नावांसह orders
का: RDS setup नंतर database query करणं रोजचं काम.
काय करायचं: प्रत्येक customer नाव व order amount.
Tables: customers(id, name, city) व orders(id, customer_id, amount, odate).
- Task कोणत्या table बद्दल आहे ते पाहा (box वरची table list).
- SQL statement step by step लिहा: काय, कुठून, कोणते rows.
- Statement ; ने संपवा.
- Check answer दाबा. Query table च्या practice copy वर चालते.
मध्यम लहान orders काढा
का: RDS setup नंतर database query करणं रोजचं काम.
काय करायचं: 200 पेक्षा कमी amount चे orders delete.
Tables: customers(id, name, city) व orders(id, customer_id, amount, odate).
- Task कोणत्या table बद्दल आहे ते पाहा (box वरची table list).
- SQL statement step by step लिहा: काय, कुठून, कोणते rows.
- Statement ; ने संपवा.
- Check answer दाबा. Query table च्या practice copy वर चालते.
मध्यम City दुरुस्त करा
का: RDS setup नंतर database query करणं रोजचं काम.
काय करायचं: Customer 5 Rome ला गेले. Record update करा.
Tables: customers(id, name, city) व orders(id, customer_id, amount, odate).
- Task कोणत्या table बद्दल आहे ते पाहा (box वरची table list).
- SQL statement step by step लिहा: काय, कुठून, कोणते rows.
- Statement ; ने संपवा.
- Check answer दाबा. Query table च्या practice copy वर चालते.
अवघड Customer नुसार sales
का: RDS setup नंतर database query करणं रोजचं काम.
काय करायचं: Customer नुसार total, फक्त 1000 पेक्षा जास्त.
Tables: customers(id, name, city) व orders(id, customer_id, amount, odate).
- Task कोणत्या table बद्दल आहे ते पाहा (box वरची table list).
- SQL statement step by step लिहा: काय, कुठून, कोणते rows.
- Statement ; ने संपवा.
- Check answer दाबा. Query table च्या practice copy वर चालते.
अवघड Orders नसलेले customers
का: RDS setup नंतर database query करणं रोजचं काम.
काय करायचं: कधीच order न केलेल्या customers ची नावं.
Tables: customers(id, name, city) व orders(id, customer_id, amount, odate).
- Task कोणत्या table बद्दल आहे ते पाहा (box वरची table list).
- SQL statement step by step लिहा: काय, कुठून, कोणते rows.
- Statement ; ने संपवा.
- Check answer दाबा. Query table च्या practice copy वर चालते.
अवघड Database चा file मध्ये backup घ्या
का: mysqldump पूर्ण database SQL म्हणून लिहितो. मोठ्या बदलांआधी save करा.
काय करायचं: solapurchaddar_wp database root user ने (password विचारून) solapurchaddar_wp.sql मध्ये dump करा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
उजळणी, तुलना आणि मुलाखत cards
हा lesson काही मिनिटांत revise करा. Cards phone वर save करा किंवा PNG download करा. प्रत्येक card वरचा QR हा lesson उघडतो.








अजून cards: Ravi Sir's Cards.