SQL Complete Tutorial: From Zero to Expert (No Prerequisites)
What is a Database?
A database is a way to store data in a format that makes it easily accessible. Imagine having 1000 people's information in separate files and being asked to find everyone whose address contains "Civil Lines." You'd have to write a custom program in Python, which wouldn't be easy. A database solves this by organizing data so you can answer such questions instantly with simple queries.
Analogy: Database ↔ Folder, Table ↔ File, Row ↔ Data
- A database is like a folder that contains data.
- Inside a database, you have tables (like files in a folder).
- Inside a table, you have rows which store the actual information.
- Another analogy: A database is like an Excel workbook. The workbook contains multiple sheets (tables), and each sheet contains rows of data.
What is a Query?
A query is like a question you ask to a database. It's a command given to the database management system (DBMS) following a specific syntax. SQL is all about writing efficient queries that solve a problem.
DBMS: Database Management System
When we interact with a database, we don't interact directly. We interact through a DBMS (Database Management System). You give your SQL query (a command) to the DBMS, and the DBMS applies it to the database. MySQL is a very popular DBMS. Other examples include PostgreSQL and MS SQL.
Relational vs. Non-Relational Databases
Relational Databases (RDBMS)
- Have a set schema (like an Excel table with defined columns: Name, Address, Phone, Email).
- Data is structured in tables with rows and columns.
- Tables can be linked using Foreign Keys.
- Rules are strict; you must follow the schema to insert data.
- Examples: MySQL, PostgreSQL, Oracle, MS SQL. For more depth on one major system, see A Comprehensive Guide to PostgreSQL: Basics, Features, and Advanced Concepts.
Non-Relational Databases (NoSQL)
- Data is flexible; no set schema is followed.
- You don't always need SQL.
- Used when you have many read operations or want to optimize for reading.
- Examples: MongoDB, Cassandra, Redis, Neo4j.
Installing MySQL
Windows
- Go to Google and search "MySQL Install."
- Click the first link and download the Windows MSI Installer.
- Choose "Full" setup, click "Next" and "Execute."
- After installation, set a root password and finish the setup. The MySQL Workbench will be installed.
Linux (Ubuntu)
- Open terminal and run
sudo apt update. - Run
sudo apt install mysql-server. - After installation, run
sudo mysql_secure_installationto secure the installation. - Access MySQL with
sudo mysql. - Create a user and grant privileges:
CREATE USER 'harry'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON *.* TO 'harry'@'localhost'; FLUSH PRIVILEGES; - Install MySQL Workbench Community via the App Center. Connect using the username and password you created.
Mac
- Download MySQL Community Server and MySQL Workbench from the official site.
- Install the server (choose a root password), then install the Workbench by dragging it to Applications.
- Open MySQL Workbench, connect with username
rootand your password.
Creating Your First Database and Table
1. Create a Database
CREATE DATABASE starter_sql;
- Click the lightning bolt icon to execute.
- To use this database, either right-click and "Set as Default Schema" or run:
USE starter_sql;
2. Create a Table
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
email VARCHAR(100) UNIQUE NOT NULL,
gender ENUM('Male', 'Female', 'Other'),
date_of_birth DATE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
- Data Types:
INT(integer),VARCHAR(n)(variable-length string, max n characters),ENUM(...)(choose from a list),DATE,TIMESTAMP,BOOLEAN. - Constraints:
AUTO_INCREMENT: Automatically generates a unique number (1, 2, 3...).PRIMARY KEY: Uniquely identifies each row; cannot be NULL or duplicate.NOT NULL: Ensures a value cannot be empty.UNIQUE: Ensures all values in a column are different.DEFAULT: Sets a default value if none is provided.
3. View the Table
SELECT * FROM users;
SELECT *selects all columns. You can also select specific columns:SELECT id, email FROM users;
CRUD Operations: The Four Pillars of Databases
CRUD stands for Create, Read, Update, Delete. These operations form the foundation of all database work, and are explored in detail in Master SQL: Comprehensive Guide to Advanced Data Analytics and Optimization.
| Operation | Action |
| :--- | :--- |
| Create | INSERT new records |
| Read | SELECT records |
| Update | UPDATE existing records |
| Delete | DELETE records |
Altering and Renaming Tables
Rename a Table
RENAME TABLE users TO programmers;
Add a Column
ALTER TABLE users ADD COLUMN is_active BOOLEAN DEFAULT TRUE;
Drop a Column
ALTER TABLE users DROP COLUMN is_active;
Modify a Column's Data Type
ALTER TABLE users MODIFY COLUMN name VARCHAR(150);
Change Column Order (Example: Move email after id)
ALTER TABLE users MODIFY COLUMN email VARCHAR(100) AFTER id;
Pro Tip: Use SQL Scripts and a Handbook
- Save your queries as
.sqlfiles (File → Save Script As). This is like writing a program in any language. - Download the accompanying handbook for all commands, definitions, and notes. Print it out and keep it at your workspace for quick reference. This is crucial for serious learning.
What's Next?
This tutorial sets a rock-solid foundation. From here, you'll learn to insert data, write advanced SELECT queries with WHERE, JOIN, and GROUP BY, understand Foreign Keys, and explore AI-assisted SQL. To build on what you've learned, check out Comprehensive SQL Course: From Basics to Advanced Database Design for a structured path covering everything from fundamentals to complex queries. For targeted interview preparation, see Complete SQL Interview Prep: 15 Must-Know Queries & Concepts. Enroll in the complete Data Science course linked in the description to become a job-ready data scientist.
यह सीक्वल ट्यूटोरियल एकदम अलग होने वाला है क्योंकि इस वीडियो में मैं आप लोगों के हाथ पकड़ के आप लोगों को सीक्वल
स्टार्टिंग से लेकर एंड तक सिखाऊंगा विद एन एजम्पशन कि आप लोगों को सिर्फ कंप्यूटर टर्न ऑन करना आता है। व्हिच मींस कि इस
कोर्स के कोई प्रेरिक्विजिट नहीं है। सिर्फ आपका टाइम आप लेकर आओगे और मैं आपको सब कुछ सिखाऊंगा। दिस वीडियो विल
ट्रांसफॉर्म यू इनू अ सीक्वल एक्सपर्ट। यह एक बहुत बड़ा स्टेटमेंट है। बट आई विल लिव अप टू दी एक्सपेक्टेशंस। आज की तारीख में
डेटा से रिलेटेड स्किल्स, डेटा साइंस, डेटा एनालिटिक्स बहुत ज्यादा डिमांड में है और आने वाले टाइम में एi ब्रेक थ्रू की
वजह से ये स्किल्स और भी ज्यादा डिमांड में आने वाली है। ये ट्यूटोरियल आप लोगों को हेल्प करेगा अगर आप लोग सीख रहे हैं
सीक्वल फॉर डेटा एनालिटिक्स या फिर सीक्वल फॉर डेटा साइंस या फिर सीक्वल फॉर वेब डेवलपमेंट। ये ट्यूटोरियल आप लोगों को
अच्छे से सीक्वल सिखा देगा। आगे बढ़ने से पहले मैं आप लोगों को बताना चाहता हूं कि मैंने एक डेटा साइंस का कोर्स बनाया है।
जिसको आप लोग डिस्क्रिप्शन में दिए हुए लिंक से भी एक्सेस कर सकते हो। यह अल्टीमेट जॉब रेडी डेटा साइंस कोर्स आप
लोगों को स्टार्टिंग से लेके एंडिंग तक डेटा साइंस सिखाएगा। इसमें हम लोग पाइथन सीखेंगे, हम लोग सीक्वल सीखेंगे, हम लोग
पडा सीखेंगे, हम लोग नम पाई सीखेंगे। मशीन लर्निंग, डेटा साइंस से रिलेटेड प्रोजेक्ट्स, डेटा विजुअलाइजेशन, डेटा
कलेक्शन टेक्निक्स एंड मच मोर आप लोगों को सिखाया जाएगा। तो डिस्क्रिप्शन में दिए हुए लिंक से आप लोग इसमें एनरोल कर सकते
हैं। और अगर आप लोग इस वीडियो के थ्रू एनरोल करते हो, डिस्क्रिप्शन में दिए हुए लिंक से तो आप लोगों को 50% ऑफ मिलेगा इस
कोर्स में। तो डिस्क्रिप्शन में दिए हुए लिंक पर जाकर आप लोग इस कोर्स को चेक आउट कर सकते हो। यह एकदम आप लोगों को
स्टार्टिंग से लेके एंडिंग तक जॉब रेडी डाटा साइंटिस्ट बना देगा। बट इस वीडियो में हम लोग सीक्वल सीखेंगे और मैं आप
लोगों को नोट्स दूंगा अपने जिससे कि आप लोगों का रिवीजन भी अच्छे से हो जाए। डाटा साइंस कोर्स की खासियत यह है कि आप लोगों
को वीडियो के साथ-साथ नीचे ही नोट्स देखने को मिलते हैं। आप लोगों को पीडीएफ में सारे सेक्शंस के नोट्स डाउनलोड करने को
मिलते हैं। प्लस सीक्वल की जहां पर बात आती है आप लोग कुछ इस तरह से क्लिक करके कमांड्स को कॉपी कर सकते हैं और मैंने
इनको मिनिमल रखा है क्योंकि वीडियो में मैंने बहुत अच्छे से एक्सप्लेन किया है। बट इवन अगर आप लोग इस वीडियो को YouTube
पर देख रहे हैं तो मैं आप लोगों को डाउनलोडेबल नोट्स देने वाला हूं। तो आपको बिल्कुल भी टेंशन लेने की जरूरत नहीं है।
अब मैं आप लोगों को बताना चाहता हूं कि इस वीडियो के साथ-साथ मैं आप लोगों को इस ब्लॉग का लिंक दूंगा जो कि इस वीडियो पर
ही आधारित है और यहां पर फायदा आपको क्या होगा कि आप एक तो रिवीजन कर सकते हैं और ये पीडीएफ से अलग ऐसे है कि आप लोग यहां
क्लिक करके कोड को कॉपी पेस्ट कर सकते हैं। तो यहां से आपने कोड को कॉपी किया या फिर किसी भी क्वेरी को कॉपी किया और आप
लोग डायरेक्टली अपने Mysquel वर्क बेंच पर पेस्ट कर सकते हैं। जैसे कि मान लो मुझे यह क्रिएट टेबल की क्वेरी कॉपी करनी है।
मैं यहां से कॉपी करूंगा। यहां पर पेस्ट करूंगा और इसको रन कर लूंगा। तो ये ब्लॉग का लिंक आप लोगों को डिस्क्रिप्शन में मिल
जाएगा। बहुत चीजें सीक्वल के बारे में मैं आप लोगों को बताऊंगा। एआई की बात करेंगे, टिप्स एंड ट्रिक्स की बात करेंगे और एक
ट्रिक आप लोगों को ऐसी बताऊंगा सीक्वल में व्हिच फील्स इललीगल टू नो। आप लोगों को ही मजा आ जाएगा। उसी के साथ-साथ अगर आप लोग
जॉब लेना चाहते हैं डेटा साइंस में, सीक्वल से रिलेटेड जॉब लेना चाहते हैं तो उसके बारे में भी हम लोग डिस्कशन करेंगे।
ज्यादा टाइम को वेस्ट नहीं करना चाहता। चलते हैं और देखते हैं व्हाट इज अ डेटाबेस। डेटाबेस इज अ वे टू स्टोर डेटा
इन अ फॉर्मेट व्हिच मेक्स इट इज़ली एक्सेसिबल। क्या मतलब हुआ इस बात का? इस बात का मतलब ये हुआ कि हम डेटा को स्टोर
करना चाहते हैं। कुछ इस तरह से स्टोर करना चाहते हैं कि उसको आसानी से एक्सेस किया जा सके। लेकिन क्या अगर मैं किसी और फॉर्म
में स्टोर करूंगा तो आसानी से एक्सेसिबल नहीं होगा मेरा डेटा। द आंसर इज़ कि जब बड़े डेटा की बात की जाती है तो नहीं
होगा। अगर मैंने फाइल्स में डेटा को रखा तो वो इजीली एक्सेसबल नहीं होगा। फॉर एग्जांपल मान लो कि आप लोगों के पास 1000
लोगों की इंफॉर्मेशन अलग-अलग फाइल्स में लिखी हुई है और मैं आपसे बोलता हूं कि यार आप उन लोगों को सेलेक्ट करके दिखाओ जिनके
एड्रेस में सिविल लाइंस आता है। आप लोग एक प्रोग्राम तो लिख दोगे पाइथon में लेकिन ईजीली नहीं हो पाएगा यह काम। आप लोगों को
प्रोग्राम लिखना पड़ेगा कस्टम। अगर मैंने आपको कोई दूसरी रिक्वायरमेंट दे दी तो आप लोगों के लिए और प्रॉब्लम होगी। आपको एक
दूसरा प्रोग्राम लिखना पड़ेगा। इस प्रॉब्लम को सॉल्व करता है डेटाबेस। यानी कि डेटाबेस क्या करता है कि डेटा को इस
फॉर्मेट पे रखता है कि इस तरह के सवालों का जवाब एकदम मिल जाए तुरंत। फॉर एग्जांपल अगर मैं कहूं कि यार बहुत सारे स्टूडेंट्स
की इंफॉर्मेशन को रखना है और बाद में मुझे ऐसे स्टूडेंट्स रिट्रीव करना है जिनके नाम में कुमार आता हो तो मैं ईजीली कर पाऊंगा
या फिर जिनके नाम में अग्रवाल आता हो उनको मैं ईजीली रिट्रीव कर पाऊंगा या फिर जो क्लास सेवंथ में पढ़ते हो उनको मैं
रिट्रीव कर पाऊं वो इजीली मैं रिट्रीव कर पाऊंगा या फिर जो महाराष्ट्र से बिलोंग करते हैं उनको मैं रिट्रीव करना चाहता हूं
मैं ईजीली कर पाऊंगा। आप जरा सोचो कि पुराने जमाने में जो सरकारी कागजात होते थे उनको सबको फाइल्स में रखा जाता था। अब
जरा सोचो कि आप जाते हो एक ऑफिस में और आप लोग उनसे कहते हो कि यार 1992 में हमारे घर की रजिस्ट्री हुई थी। आप यह बताओ कि
कितने रुपए में हुई थी रजिस्ट्री? हमारी यह इंफॉर्मेशन हमें निकालनी है। क्या आपको लगता है कि फाइल में देखकर एक इंसान निकाल
सकता है? नहीं। लेकिन इलेक्ट्रॉनिक रिकॉर्ड्स में खासकर डेटाबेस में अगर इस डेटा को रखा जाएगा तो ईजीली रिट्रीव किया
जा सकता है क्वेरीज की सहायता से। 1 मिनट। मैंने क्वेरी का नाम लिया। यह क्वेरी क्या होता है? व्हाट एक्सैक्टली इज अ क्वेरी?
क्वेरी इज लाइक अ क्वेश्चन यू आस्क टू अ डेटाबेस। आपने एक डेटाबेस से एक सवाल पूछा कि यार मुझे ऐसे रिकॉर्ड्स रिट्रीव करके
दो। उन लोगों के रिकॉर्ड्स रिट्रीव करके दो जिनमें स्टेट इज इक्वल टू महाराष्ट्र या स्टेट इज इक्वल टू बिहार या फिर स्टेट
इज इक्वल टू कर्नाटका। तो क्वेरी इज नथिंग बट अ कमांड टू द डेटाबेस जो कि हम लोग देते हैं सिंटेक्स को फॉलो करते हुए। कुछ
रूल्स होते हैं उनको फॉलो करते हुए हम कमांड देते हैं। एंड सीक्वल इज ऑल अबाउट राइटिंग एफिशिएंट क्वेरीज एंड राइटिंग
क्वेरीज दैट सॉल्व्स अ प्रॉब्लम। फॉर एग्जांपल अगर मैं आपसे कहूं कि यार दो टेबल्स हैं। उन दोनों टेबल्स में जो जो
डेटा कॉमन है उनको प्रिंट कर दो। तो आपको वो कमांड आना चाहिए जो कि आप टाइप करके उस डेटा को फैच कर पाओ। एंड ये स्किल बहुत
ज्यादाेंट है क्योंकि आज की तारीख में बिग डेटा को डेटाबेस में ही रखा जाता है। बड़ी-बड़ी कंपनीज़ जैसे कि Google,
Facebook, Instagram, Lindin ये सारे के सारे सोशल प्लेटफॉर्म्स अपने डेटा को डेटाबेस में रखते हैं। इवन प्लेटफॉर्म्स
लाइक चैट, GPT यूज़ सम फॉर्म ऑफ़ डेटाबेस टू स्टोर द डेटा। और इस डाटा को रिट्रीव करना पड़ता है उनको। जब भी आप चैट खोलते हो
अपनी तो वह डाटा उनको रिट्रीव करना पड़ता है। और बिहाइंड द सीन्स सीक्वल क्वेरीज रन होती हैं। इस तरह की सीक्वल क्वेरीज को
डिजाइन करने के लिए हमें डेटा इंजीनियर्स की जरूरत पड़ती है। डेटा साइंटिस्ट की जरूरत पड़ती है और इस काम को हमें सिर्फ
करना नहीं होता है। हमें एफिशिएंटली करना होता है ताकि कम से कम टाइम में और कम से कम रिसोर्सेज का इस्तेमाल करते हुए हमारा
डेटा फैच हो पाए या हमारा डेटा अपडेट हो पाए या हमारा डेटा डिलीट हो पाए। डेटाबेस इकोसिस्टम में एक वर्ड होता है करड सीआर
यू डी व्हिच स्टैंड्स फॉर क्रिएट रीड अपडेट डिलीट ये चार प्राइमरी ऑपरेशंस होते हैं किसी भी डेटाबेस में आप लोग जो
परफॉर्म करना चाहेंगे या तो आप एक नया रिकॉर्ड क्रिएट करना चाहेंगे या आप रीड करना चाहेंगे या अपडेट करना चाहेंगे या
डिलीट करना चाहेंगे तो कुल मिला के हम लोग डेटाबेस क्यों यूज़ करेंगे? हम डेटाबेस यूज़ करेंगे ताकि हम लोग एफिशिएंटली रिकॉर्ड्स
को क्रिएट रीड अपडेट डिलीट कर पाएं। अब आप में से कई लोग सोचोगे यार फाइल्स को क्यों नहीं यूज़ कर सकते? भाई मैं टेक्स्ट फाइल्स
यूज़ करना चाहता हूं। मैं फोल्डर बना के रख लूंगा डेटा अपना बट आप बनाकर तो रख लोगे। रिट्रीव कैसे करोगे? फास्ट अपडेट कैसे
करोगे? फाइंड कैसे करोगे? जब डेटा बहुत ज्यादा ग्रो हो जाएगा। तो ये बात समझ में आती है कि हम फाइल्स में नहीं रख सकते।
डेटाबेस की जरूरत हमें पड़ती है। बट बहुत सारे लोग आर्ग्यू करते हैं और क्रॉस क्वेश्चन करते हैं कि यार एक्सेल में कर
लो ना। डेटाबेस की क्या जरूरत है? एक्सेल को रीड कर लेते हैं ना। प्रॉब्लम क्या है? जी हां, आप लोग एक्सेल में सारे काम कर
सकते हैं। बट अगेन एक्सेल बहुत ज्यादा लिमिटेड होती है। नंबर ऑफ रोज़ के मामले में, कंप्यूटेशन टाइम के मामले में। एंड
उसी के साथ-साथ स्पीड के मामले में भी एक्सेल बहुत ज्यादा लिमिटेड होती है। हमें एक एफिशिएंट सिस्टम चाहिए जो कि मिलियंस
ऑफ डेटा पॉइंट्स को ईजीली हैंडल कर सके। एंड इसीलिए हम लोग डेटाबेस का इस्तेमाल करते हैं। अब बात करते हैं डीबीएमएस की।
डीबीएमएस क्या होता है? डीबीएमएस स्टैंड्स फॉर डेटाबेस मैनेजमेंट सिस्टम। जब भी हम लोग डेटाबेस से इंटरेक्ट करते हैं, हम
डायरेक्टली डेटाबेस से इंटैक्ट नहीं करते हैं। हम डेटाबेस से इंटरेक्शन करते हैं थ्रू डीबीएमएस व्हिच स्टैंड्स फॉर डेटाबेस
मैनेजमेंट सिस्टम। आप लोग अपनी सीक्वल क्वेरी जो कि एक कमांड होता है जो कि हम डेटाबेस को देते हैं वह आप डीबीएमएस को
देते हैं डेटाबेस मैनेजमेंट सिस्टम को और डेटाबेस मैनेजमेंट सिस्टम उसको फर्दर डेटाबेस पे अप्लाई करके आप लोगों के लिए
उचित काम करता है। यह क्रिएट हो सकता है, रीड हो सकता है, अपडेट हो सकता है और डिलीट भी हो सकता है। My सीक्वल एक बहुत
पॉपुलर डेटाबेस मैनेजमेंट सिस्टम है। कुछ और डेटाबेस मैनेजमेंट सिस्टम्स के एग्जांपल्स हैं पोस्ट ग्रे सीक्वल, माय
सीक्वल और MS सीक्वल। लेकिन इस वीडियो में मुख्य रूप में हम लोग देखेंगे माय सीक्वल को। इससे पहले कि हम लोग My सीक्वल को
इंस्टॉल करें और अपनी पहली क्वेरी रन करें और सेटअप करें अपने कंप्यूटर में। मैं आप लोगों को रिलेशनल वर्सेस नॉन रिलेशनल
डेटाबेस मैनेजमेंट सिस्टम्स के बारे में बताना चाहता हूं। आई नो वी आर डूइंग इनफ ऑफ़ थ्योरी लेकिन ये सब जानना बहुत जरूरी
है। बहुत ही इंट्यूटिवली आप लोगों को समझाता हूं। रिलेशनल डेटाबेस मैनेजमेंट सिस्टम्स का एक सेट स्कीमा होता है। जैसे
कि आप लोग एक्सेल में एक टेबल लिखते हैं। आपके पास सीरियल नंबर है। आपके पास एक कॉलम का नाम है। जैसे कि नेम हो गया,
एड्रेस हो गया, फोन नंबर हो गया, ईमेल हो गया। फिर आप जब भी एक नया रिकॉर्ड ऐड करोगे तो आपको यह कॉलम्स को फिल करना
पड़ेगा। तो यह होता है रिलेशनल डेटाबेस मैनेजमेंट सिस्टम। रिलेशनल डेटाबेस मैनेजमेंट सिस्टम के एग्जांपल्स हैं माय
सीक्वल, पोस्ट क्रेकल और एमएस सीक्वल। हमारे पास टेबल होती है। टेबल के अंदर रोज़ होते हैं और कॉलम्स होते हैं और एक सेट
स्कीमा के आधार पर चीजें चलती हैं। डेटा स्ट्रक्चरर्ड होता है। हम लोग टेबल्स को लिंक कर सकते हैं यूजिंग समथिंग कॉल्ड
फॉरेन की। जिसके बारे में हम लोग देखेंगे इस ट्यूटोरियल में। तो टेंशन बिल्कुल मत लेना अभी। और जो रूल्स होते हैं वो बहुत
ज्यादा स्ट्रिक्ट होते हैं क्योंकि आपको अपना डेटा एक सेट स्कीमा के हिसाब से डालना पड़ता है। और अगर यह स्कीमा फॉलो
नहीं किया गया तो आप डेटा नहीं डाल सकते। फॉर एग्जांपल अगर आपको एड्रेस के नंबर ऑफ कररेक्टर्स को 1000 से कम रखना है तो 1000
से कम रखना पड़ेगा। उससे ज्यादा आप लोग नहीं डाल सकते। नॉन रिलेशनल डेटाबेस मैनेजमेंट सिस्टम के अंदर आप लोग किसी भी
स्कीमा पे डॉक्यूमेंट्स को डाल सकते हो। एक सेट स्कीमा फॉलो नहीं होता है। और एक बहुत ही पॉपुलर एग्जांपल नॉन रिलेशनल
डेटाबेस मैनेजमेंट सिस्टम का है मोंगो डीबी। तो नॉन रिलेशनल डेटाबेस मैनेजमेंट सिस्टम्स में डाटा फ्लैक्सिबल होता है। एक
सेट स्कीमा फॉलो नहीं किया जाता है। आपको हमेशा सीक्वल यूज़ करने की जरूरत नहीं है। और यह खासकर तब यूज किया जाता है जब आपके
पास रीड ऑपरेशंस ज्यादा होते हैं या फिर आप लोग रीड ऑपरेशंस को ऑप्टिमाइज करना चाहते हैं। कुछ पॉपुलर नॉन रिलेशनल
डेटाबेस मैनेजमेंट सिस्टम्स हैं Mongo टीवी, कैसेंड्रा, Reds और Neo 4G। अब हम लोग चलेंगे कंप्यूटर स्क्रीन में और
सीक्वल को इंस्टॉल करेंगे, समझेंगे कि कैसे हम लोग अपना सेटअप करेंगे ताकि हम लोग क्वेरीज वगैरह एग्जीक्यूट कर पाए। उसी
के साथ-साथ इस पूरे ट्यूटोरियल को मैं कुछ इस तरह से ऑर्गेनाइज करने वाला हूं कि आप लोगों की लर्निंग इतनी ऑप्टिमल हो कि इस
वीडियो के बाद आप लोगों को कम से कम सीक्वल में तो कभी जिंदगी में प्रॉब्लम आए ही ना। वीडियो के एंड तक हम लोग एआई की
बात भी करेंगे कि यार एआई असिस्टेड कैसे काम किए जा सकते हैं। लेकिन सबसे पहले हम अपने फाउंडेशन को स्ट्रांग बनाएंगे। उसी
के साथ-साथ अगर आप लोगों को कंप्लीट डेटा साइंस सीखना है तो आप लोग मेरे इस कोर्स में एनरोल कर सकते हैं जिसका लिंक मैं आप
लोगों को डिस्क्रिप्शन में डाल दूंगा। एंड यह कोर्स इस वादे के साथ आता है कि यू आर गोइंग टू बिकम अ जॉब रेडी डेटा साइंटिस्ट।
अब हम लोग माय सीक्वल को इंस्टॉल करेंगे। माय सीक्वल को इंस्टॉल करने के लिए हम लोग सबसे पहले Google पर जाएंगे और यहां पर
लिखेंगे माय सीक्वल इंस्टॉल। तो मैं यहां पर माय सीक्वल इंस्टॉल लिख दूंगा। अब यहां देख सकते हैं मैं पहले जो यह लिंक आ रहा
है इस पर क्लिक कर रहा हूं और कुछ इस तरह का पेज मुझे देखने को मिल रहा है। इसके बाद मैं सिंपली यहां पर ये जो Windows का
MSI इंस्टॉलर है इसको क्लिक करके Mys Cकl को इंस्टॉल कर लूंगा। आप चाहें तो यह वाला भी इंस्टॉलर यूज़ कर सकते हैं। यह बेसिकली
प्री डाउनलोडेड है और यह इंस्टॉलर सब कुछ ऑन द गो डाउनलोड करेगा। तो मैं यह वाला डाउनलोड करता हूं। मैं यहां पर डाउनलोड पर
क्लिक करूंगा। अब यह मुझसे यहां पर लॉग इन साइन अप मांग रहा है। बट मैं यहां क्लिक करके नो थैंक्स जस्ट स्टार्ट माय डाउनलोड
पर क्लिक करूंगा और यह डाउनलोड स्टार्ट हो जाएगा। अब मैं इस डाउनलोड के फिनिश होने का वेट करूंगा और वापस आऊंगा। अब जैसे कि
आप देख सकते हो कि यह मेरा डाउनलोड हो चुका है। My सीक्वल इंस्टॉलर कम्युनिटी। मैं इस पर क्लिक करूंगा और इसको रन
करूंगा। अब जैसे ही आप इस सेटअप को खोलेंगे, आपको कुछ इस तरह की स्क्रीन देखने को मिलेगी। हम यहां पर फुल पर क्लिक
करेंगे। नेक्स्ट पर क्लिक करेंगे और इसके बाद फिर से नेक्स्ट पर क्लिक करेंगे और इसके बाद एग्जीक्यूट पर क्लिक करेंगे।
जैसे कि आप देख सकते हैं यह एक-एक करके सारे प्रोडक्ट्स मेरे लिए इंस्टॉल कर देगा। मैं इसके इंस्टॉल होने का वेट कर
रहा हूं और फिर मैं वापस आता हूं। तो कुछ समय के बाद यह कंप्लीट हो चुका है। मैं नेक्स्ट पर क्लिक करूंगा और नेक्स्ट पर
क्लिक करने के बाद मैं दोबारा नेक्स्ट पर क्लिक करूंगा। इसको मैं ऐसे ही छोड़ दूंगा। नेक्स्ट पर क्लिक करूंगा। इसके बाद
यहां पर मैं दोबारा नेक्स्ट पर क्लिक करूंगा। मैं यहां पर इसको एक करंट रूट पासवर्ड दूंगा जो कि मैं पासवर्ड ही दे
रहा हूं। फिर मैं यहां पर चेक पर क्लिक करूंगा और इसके बाद मैं नेक्स्ट पर क्लिक करूंगा। फिर से नेक्स्ट पर क्लिक करूंगा।
एग्जीक्यूट पर क्लिक करूंगा एंड थोड़ा वेट करूंगा। और इसके बाद मैं फिनिश पर क्लिक कर दूंगा। और यहां पर नेक्स्ट पर क्लिक
करूंगा। दोबारा नेक्स्ट पर क्लिक करूंगा। और यहां पर यह जो पासवर्ड था जो कि पासवर्ड ही था वो मैं डाल दूंगा। फिर मैं
इसके बाद दोबारा नेक्स्ट पर क्लिक करूंगा। एग्जीक्यूट पर क्लिक करूंगा एंड फिनिश पर क्लिक कर दूंगा। फाइनली मैं दोबारा
नेक्स्ट पर क्लिक करके एक बार और फिनिश पर क्लिक कर दूंगा। तो काफी लंबा इंस्टॉलेशन प्रोसेस है बट वेरी स्ट्रेट फॉरवर्ड। और
यह इंस्टॉल हो जाता है और आपको कुछ इस तरह का My सीकल वर्क बेंच देखने को मिलता है। अब हम लोग देखेंगे कि कैसे आप लोग Linux
में इंस्टॉल कर सकते हैं Mys सीक्वल को। तो यहां पर आप लोगों को क्या करना है कि सबसे पहले अपने उबू टर्मिनल को खोल लेना
है और उसके बाद आपको यहां पर लिखना है सडo एपीटी अपडेट और जैसे ही आप सडो एपीटी अपडेट लिखेंगे ये अपडेट होना शुरू हो
जाएगा। इसके बाद मैं लिखूंगा सडo एपीटी इंस्टॉल माय सीक्वल सर्वर और मैं जैसे ही सडo एपीटी इंस्टॉल माय सीक्वल सर्वर
लिखूंगा यह बाय एंटर क्लिक करूंगा और यह करने के बाद आप यहां पर देख सकते हैं कि मेरा जो सीक्वल सर्वर है वो इंस्टॉल होना
शुरू हो चुका है। तो मैं इसके इंस्टॉल होने का वेट करूंगा और यहां पर आप देख सकते हैं ये इंस्टॉल हो चुका है। अब मैं
हैंडब से एक कमांड कॉपी करके सडo माय सीक्वल सिक्योर इंस्टॉलेशन चला दूंगा। यह हमारे इंस्टॉल को सिक्योर करने के लिए
हेल्पफुल है। यहां पर नो लिखूंगा। यहां पर वाई एंटर करूंगा। फिर इसके बाद यहां पर वाई एंटर करूंगा। फिर यहां पर भी मैं वाई
एंटर करूंगा। और यहां पर मैं व एंटर करके मेरा जो माय सीक्वल इंस्टॉलर है उसको चेक करूंगा। और ये करने के लिए मुझे सडो माय
सीक्वल लिखना पड़ेगा। तो मैं सडो माय सीक्वल लिखूंगा और मैं जैसे ही सडो माय सीक्वल लिखूंगा मेरा माय सीक्वल आप देखो
इंस्टॉल हो चुका है। अब मुझे सिंपली क्या करना है कि एक यूजर बनाना है और उस यूजर को बनाकर सारे प्रिविलजेस देने हैं। तो
इसके लिए मुझे दो क्वेरीज चलानी पड़ेंगी यहां पर। तो आप देखो मैं वो दो क्वेरीज कैसे चलाऊंगा। जो पहली क्वेरी है जो मैंने
आप लोगों को हैंडब में भी दे रखी है। वो है नया यूजर ऐड करने की। आपको यहां पर क्रिएट यूजर वाली क्वेरी चलानी है। मेरे
यूजर का नाम हैरी है और पासवर्ड पासवर्ड है। यह आपको यूजरनेम और पासवर्ड याद रखना है। और यहां पर मैंने यह क्वरी चला दी है।
इसके बाद मैं क्या करूंगा? इस यूजर को सारे प्रिविलेजेस ग्रांट कर दूंगा। और आप देखो मैं इसको सारे प्रिविलजेस ग्रांट कर
रहा हूं। तो मैं यह क्वेरी चला दूंगा। मेक श्योर कि आपका जो यूजर है वो ऊपर वाली और नीचे वाली दोनों क्वेरीज में सेम हो। और
इसके बाद हम यह फ्लश प्रिविलजेस करके जो कमांड है वो चला देंगे। और अब हम आएंगे अपने एप सेंटर में। और ऐप सेंटर में आने
के बाद मैं सर्च करूंगा माय सीक्वल वर्क बेंच। My सीक्वल वर्क बेंच कम्युनिटी नाम का मुझे यह पैकेज मिलेगा जिसको मैं
इंस्टॉल कर लूंगा अपना उबू का पासवर्ड डालकर और यहां पर आप देख सकते हैं यह इंस्टॉल हो रहा है। इसके इंस्टॉल होने का
वेट करूंगा और जैसे ही यह इंस्टॉल हो जाएगा इसको मैं ओपन करूंगा। अब देखो मैंने इसको ओपन कर दिया है और ओपन करने के बाद
मैं यहां पर प्लस पर क्लिक करूंगा और अपना जो कनेक्शन का नाम है वह कुछ भी दे दूंगा। फिर इसके बाद मैं यूजरनेम और पासवर्ड
डालूंगा। मेरे केस में मैंने हैरी और पासवर्ड चुना है। आपने कुछ और चुना है तो आप वह डाल सकते हैं। बट मैं हैरी यहां पर
लिखूंगा और पासवर्ड मैं यहां क्लिक करके पासवर्ड डाल दूंगा अपना और ओके पर क्लिक कर दूंगा और ओके पर क्लिक कर दूंगा और
इसके बाद इस पर डबल क्लिक करूंगा और यहां पर मैं यूसेस और जितनी भी मेरी क्वेरीज हैं सीक्वल की बेसिकली चला सकता हूं। तो
मेरा जो Mys सीक्वल है और वर्क बेंच है दोनों इंस्टॉल हो चुके हैं Linux में। अब हम लोग देखेंगे कि Mac में कैसे हम लोग
Myscuel को इंस्टॉल कर सकते हैं। प्रोसेस एकदम स्ट्रेट फॉरवर्ड है। आप लोग डाउनलोड करेंगे Myscuel को Mac के लिए। ये दो
चीजें हम लोग इंस्टॉल करेंगे। एक तो माय सीक्वल कम्युनिटी सर्वर दूसरा माय सीक्वल वर्क बेंच। तो जैसे कि आप देख सकते हैं
मैं Google पर आ चुका हूं। मैं यहां पर लिखूंगा इंस्टॉल माय सीक्वल और जैसे ही मैं इंस्टॉल माय सीक्वल लिखूंगा आप यह
लिंक देख रहे हैं डाउनलोड माय सीक्वल इंस्टॉलर का मैं यहां पर आ जाऊंगा। यहां मुझे मैक के लिए इंस्टॉलर नहीं मिला इसलिए
मैं बैक करूंगा। कम्युनिटी सर्वर पर क्लिक करूंगा। और यहां पर यह जो मेरा पहला वाला लिंक है इस पर क्लिक करके नो थैंक्स जस्ट
स्टार्ट माय डाउनलोड पर क्लिक कर दूंगा। इसके बाद मैं यहां पर ओके पर क्लिक करूंगा और इसके डाउनलोड होने का वेट करूंगा। जैसे
ही यह डीएमजी फाइल डाउनलोड हो जाएगी इसको मैं इंस्टॉल कर लूंगा अपनी मैक में। तो जैसे कि आप देख सकते हैं dmg डाउनलोड हो
चुकी है। अब मैं यहां पर क्लिक करूंगा इसको खोलूंगा और इस पर डबल क्लिक करके इस डीएमजी को चला लूंगा। आप देख सकते हैं कि
यह इंस्टॉलर खुल चुका है और मैं अलऊ करूंगा। अलऊ करने के बाद कंटिन्यू करूंगा। कंटिन्यू करने के बाद दोबारा कंटिन्यू
करूंगा। अग्री करूंगा। कंटिन्यू करूंगा। इंस्टॉल करूंगा। अपने मैक का पासवर्ड डाल दूंगा। तो, यहां पर जो भी आपके मैक का
पासवर्ड है, वह आप डालो। और इसके बाद इंस्टॉल सॉफ्टवेयर पर क्लिक करोगे, तो यह इंस्टॉल होना शुरू हो जाएगा। थोड़ा सा
टाइम लेगा और इसके बाद आप कंटिन्यू करना और यहां पर अपना पासवर्ड एक चूज़ कर लो रूट यूजर के लिए। यहां पर नोट कि आपका जो
यूजरनेम है वो रूट है। अब इसके बाद मैक का पासवर्ड आप लोग डाल दो। ओके पर क्लिक करो। और इसके बाद आप यहां पर वेट करो और फिर
इसके बाद आप कंटिन्यू पर क्लिक करना। आपके माय सीक्वल का जो यूजरनेम है वो रूट है और पासवर्ड वो है जो भी आपने डाला है। मैंने
पासवर्ड डाला है पासवर्ड को। इसके बाद इसको मूव टू बिन कर दूंगा और यहां पर आप देख सकते हो अब हम इंस्टॉल करेंगे माय
सीक्वल वर्क बेंच। Google पर लिखा माय सीक्वल वर्क बेंच। और डाउनलोड पर क्लिक कर दिया Mac OS के लिए पहला लिंक मैं
चुनूंगा। नो थैंक्स यू स्टार्ट माय डाउनलोड और इसके बाद डाउनलोड का वेट करूंगा और यह जैसे ही डाउनलोड हो जाएगा
इसको मैं ओपन कर लूंगा और ओपन करने के बाद इस डीएमजी को मैं इंस्टॉल कर लूंगा। तो यहां पर मैं सिंपली ड्रैग करूंगा इसको
Myscuel Work को एप्लीकेशनेशंस में और यह कॉपी होना शुरू हो जाएगा और यह जैसे ही कॉपी हो जाएगा Mys सीक्वल वर्क बेंच मेरी
एप्लीकेशनेशंस में दिखने लगेगा और मैं उसको खोल सकता हूं अपनी एप्लीकेशन से तो वेट करते हैं इसका और जैसे ही यह कॉपी हो
जाएगा हम एप्लीकेशनेशंस पर जाकर Myscule वर्क बेंच को खोलेंगे एंड नोट दैट हमारे Myscuel का यूजरनेम रूट है तो वो डालेंगे
और पासवर्ड पासवर्ड है तो हम वो डालकर कनेक्ट हो जाएंगे। तो ये यहां पर हम एप्लीकेशनेशंस में जाएंगे। Myscuel वर्क
बेंच में जाएंगे। आप Myscql सर्च कर सकते हैं। वर्क बेंच आपका जैसे ही खुल जाएगा और ओपन करें इसको और इसके बाद इसको मैं क्लोज
कर देता हूं और जैसे कि आप देख सकते हैं मेरा bicy सीकल वर्क बेंच खुल चुका है। मैं यहां पर जो लोकल इंस्टेंस है उस पर
क्लिक करूंगा। यूजरनेम रूट है। पासवर्ड अपना पासवर्ड मैंने चुना था तो वो डाल दूंगा। इसके बाद कंटिन्यू एनीवे पर आप
क्लिक करके अपना जो माय सीक्वल वर्क बेंच है वो यूज़ करना स्टार्ट कर सकते हैं। अभी आप लोग यहां पर क्वेरीज इशू कर सकते हैं
और अपने काम कर सकते हैं वो इजीली आप कर पाएंगे। आपका डेटाबेस टेबल्स वो सब यहां पर आपको शो हो जाएंगे। तो आप अपनी क्वेरीज
चलाएं और आप देखेंगे कि सारी क्वेरीज आपकी चल रही हैं। एंड दैट्स हाउ यू इंस्टॉल माय सीक्वल एंड माय सीक्वल वर्क बेंच ऑन अ
मैक। अब मैंने पहले भी Mys सीक्वल अपने सिस्टम पे इंस्टॉल किया हुआ है टू बी ऑनेस्ट। तो ये मुझे ऐसे दिखा रहा है। बट
लेट्स अस्यूम कि आपको नहीं दिख रहा है। तो आप यहां प्लस पर क्लिक करोगे और प्लस पर क्लिक करने के बाद आप कनेक्शन का नाम दे
दोगे। मैं इसका नाम हैरी माय सीक्वल ट्यूटोरियल दे देता हूं। और इस कनेक्शन को आप यहां पर ओके पर क्लिक करके ऐड कर सकते
हो। फिर इस पर क्लिक करो। पासवर्ड डालो। मेरा पासवर्ड पासवर्ड ही है। आप सेव कर सकते हो पासवर्ड और ओके पर क्लिक कर सकते
हो। होगा। यहां पर देखो कुछ इस तरह की स्क्रीन आपको देखने को मिलती है। इसका मतलब यह है कि आपका कनेक्शन इस्टैब्लिश हो
चुका है। तो यह था Mys सीक्वल को Windows पे इंस्टॉल करने का तरीका। अब यहां मैं आप लोगों को बताना चाहता हूं कि मैंने आप
लोगों के लिए हैंडबुक रेडी करी हुई है ताकि आप लोगों को ईजीली सब कुछ मिल जाए। जितना भी कोड है, जितनी भी इंफॉर्मेशनेशन
है और यह हैंडब कुछ इस तरह से दिखती है। अब व्हाट इज डेटाबेस? ऑलरेडी हम लोगों ने देख लिया। यह कंटेनर होता है जो कि डेटा
को स्टोर करता है। सो दैट आप लोग रिट्रीव कर पाएं, स्टोर कर पाएं, अपडेट कर पाएं इन अ वेरी एफिशिएंट मैनर। ठीक है? तो इस चीज
को मैं आपको एक एनालॉजी के साथ समझाना चाहता हूं। डेटाबेस एक फोल्डर की तरह होता है। एक फोल्डर के अंदर जिस तरह से फाइल्स
होती हैं, उसी तरह डेटाबेस के अंदर टेबल्स होती हैं। और जिस तरह से फाइल्स के अंदर डेटा होता है, उस तरह से टेबल के अंदर रोज़
होती हैं जो कि इंफॉर्मेशन को स्टोर करती हैं। तो डेटाबेस के अंदर टेबल, टेबल के अंदर रोज़, जस्ट लाइक फोल्डर के अंदर फाइल,
फाइल के अंदर डेटा। और एक और एनालॉजी मैं देना चाहता हूं जो कि एक्सेल की एनालॉजी है। डेटाबेस एक्सेल वर्कबुक की तरह है।
अगर आप लोगों को नहीं पता एक्सेल फाइल को एक एक्सेल वर्क बुक भी कहते हैं। और इस एक्सेल वर्कब के अंदर बहुत सारी शीट्स
होती हैं। मैं आप लोगों को एग्जांपल दिखाता हूं। तो जैसे कि आप देख सकते हैं मैंने एक नई एक्सेल वर्क बुक बना ली है
यहां पर। और यहां पर मैं क्या करूंगा? जैसे मान लो मैं इसको कहता हूं टेबल वन। ये मेरी पहली टेबल है। ये मेरी दूसरी टेबल
है। मैं यहां पर इसका नाम रख देता हूं टेबल टू। और मान लो कि मैं इस फाइल का नाम इस ओवरऑल फाइल का नाम रख देता हूं जो कि
अभी book 1xl है। मैं इसका नाम रख देता हूं लेट अस से डेटाबेस। ठीक है? और ये मेरा स्टूडेंट डेटाबेस है लेट अस से जो कि
मेरे स्टूडेंट की इनेशन को स्टोर करता है। तो इस फाइल का नाम है डेटाबेस डॉट एक्सlsx और टेबल वन टेबल टू और इसी तरह से टेबल
थ्री मैं यहां पर बना सकता हूं। तो एक पर्टिकुलर एक्सेल वर्कब के अंदर बहुत सारी शीट्स हैं और शीट के अंदर बहुत सारी रोज़
हैं। कुछ इस तरह की। उसी तरह से हमारे पास डेटाबेस के अंदर टेबल्स होती हैं। टेबल के अंदर रोज़ होती हैं। देखेंगे इस चीज को।
बहुत ही अच्छे से देखेंगे। बट फॉर नाउ आप लोगों को ये इंट्यूटिव अंडरस्टैंडिंग जरूर होनी चाहिए। तो आ जाओ जल्दी से हम अपना
डेटाबेस क्रिएट करते हैं। हमारा डेटाबेस का क्रिएशन एक बहुत ही क्रूशियल स्टेप होने वाला है और फर्स्ट स्टेप होने वाला
है। तो किसी भी एक डेटाबेस को क्रिएट करने के लिए हम एक क्वेरी रन करते हैं। इनफैक्ट सीक्वल में कोई भी काम करने के लिए हम एक
क्वेरी का इस्तेमाल करते हैं। यह क्वेरी क्या होती है? यह क्वेरी एक कमांड की तरह होती है। जिस तरह से आप अपने टर्मिनल में
कमांड्स डालते हो और उसके बाद बेस्ड ऑन दोज़ कमांड्स कुछ होता है। आप जिस तरह से एक ऐप में जाकर लेट्स से Amazon ऐप में
जाकर आप एक ऑर्डर प्लेस करते हो और किसी भी फ़ूड डिलीवरी ऐप के अंदर जाकर आप खाने का ऑर्डर प्लेस करते हो और वो ऑर्डर फिर
फुलफिल हो जाता है। आप एक तरह से क्या कर रहे हो? एक एक्शन ले रहे हो। आप कह रहे हो कि यार मेरे लिए ये कर दो। तो वो चीज करने
के लिए डेटाबेस के अंदर हम क्वेरीज देते हैं। और इस तरह की क्वेरीज इशू करके हम डेटाबेस मैनेजमेंट सिस्टम को ये बता सकते
हैं कि हमें चाहिए क्या? फॉर एग्जांपल यहां आप देखो क्रिएट डेटाबेस स्टार्टर सीक्वल। इसका क्या मतलब हुआ? इसका मतलब यह
हुआ कि मैं स्टार्टर सीक्वल नाम का एक डेटाबेस बनाना चाहता हूं। मैं हैरी नाम का भी एक डेटाबेस बना सकता हूं। मैं विनोद
नाम का भी एक डेटाबेस बना सकता हूं। आकाश नाम का बना सकता हूं। रोहन नाम का बना सकता हूं। दिव्या नाम का बना सकता हूं।
शिवानी नाम का बना सकता हूं। किसी भी नाम का बना सकता हूं। बट अभी हम स्टार्टर सीक्वल के नाम का ही बनाएंगे। आप लोग ये
वाली स्क्रीन तो देख ही रहे हो ना? इस स्क्रीन के अंदर आप क्वेरीज लिख सकते हो। तो मैं यहां पर क्या लिखूंगा? लिखूंगा
क्रिएट डेटाबेस और इसका नाम मैं रखूंगा स्टार्टर सीक्वल और एक सेमी कॉललन लगा दूंगा। तो ये आप देख रहे हो क्रिएट
डेटाबेस स्टार्टर सीक्वल। ये एक क्वेरी मैंने लिखी है। और इस कोड की सहायता से मैं एक नया डेटाबेस बना सकता हूं। अब यहां
पर देखो क्योंकि मैं ऑलरेडी यूज़ करता हूं माय सीक्वल। यहां पर बहुत सारे डेटाबसेस बने हुए हैं। आप देखो यहां पर क्या-क्या
बना हुआ है। अब इसको मैं रन कैसे करूंगा इस क्वेरी को? इस क्वेरी को रन करने के लिए मैं यहां क्लिक करूंगा। आप ये देख रहे
हो एग्जीक्यूट द सेक्टेड पोर्शन ऑफ़ द स्क्रिप्ट एवरीवेयर इफ देयर इज़ नो सिलेक्शन। ठीक है? एवरीथिंग मतलब पूरा
एग्जीक्यूट हो जाएगा अगर कोई सिलेक्शन नहीं है तो। तो यहां पर हम क्लिक करेंगे और जैसे ही आप क्लिक करोगे आप देखो यहां
पर लिखकर आ रहा है वन रो अफेक्टेड। इसका मतलब यह हुआ कि आपका जो स्टार्टर सीक्वल नाम का डेटाबेस है ना वो बन चुका है। तो
आपको सिंपली यहां रिफ्रेश पर क्लिक करना है। ये आइकॉन दिख रहा है रिफ्रेश का आपको। इस पर क्लिक करना है और देखो आपको एक नया
डेटाबेस मिलेगा स्टार्टर सीक्वल। अब आपको किसी भी तरह से ये बताना है अपने माय सीक्वल वर्क बेंच को कि भाई साहब देखो मैं
जो भी काम करूंगा वो मैं चाहता हूं कि इस स्टार्टर सीक्वल नामक डेटाबेस में हो। और इसको करने का तरीका है अब या तो यहां पर
राइट क्लिक करें और यहां क्लिक कर दें। सेट एज डिफॉल्ट स्कीमा। ये दिख रहा है आपको ऑप्शन। यहां क्लिक कर दें तो ये आपका
डिफॉल्ट स्कीमा की तौर पे सेलेक्ट हो चुका है। और आप अब कोई भी क्वेरी इशू करोगे वो इस स्टार्ट सीक्वल डेटाबेस के लिए होगा।
बट इस चीज को आप कोड में भी कर सकते हो। आप कुछ इस तरह से लिख सकते हो यूज़ स्टार्ट सीक्वल। और इस कोड का मतलब ये होता है कि
भाई देखो मैंने ये डेटाबेस तो बना दिया है। अब मैं चाहता हूं कि कुछ भी मैं क्वेरी रन करूं तो इस डेटाबेस पर हो। मैं
चाहूं तो बीच में डेटाबेस से स्विच भी कर सकता हूं अपनी सीक्वल क्वेरीज़ के अंदर। लेकिन ऐसा हम लोग आइडियली नहीं करते हैं।
एक डेटाबेस हमने सेलेक्ट किया है। उसी पे काम करते हैं। तो मैं यहां पर बताना चाहता हूं अपनी माय सीक्वल वर्क बेंच को कि मेरी
माय सीक्वल वर्क बेंच यूज़ करो स्टार्टर सीक्वल। बहुत ही सिंपल सा कमांड है। इस क्वेरी को मैं रन करूंगा और यहां पर देखो
ज़ीरो रोज़ अफेक्टेड यानी कि इसने कोई डेटा अपडेट, डिलीट, क्रिएट या रीड नहीं किया। बट बट इसने मेरे स्टार्टस सीक्वल नामक
डेटाबेस को एज अ डिफॉल्ट डेटाबेस सेलेक्ट कर लिया है। अब इसके बाद हम देखेंगे कि टेबल कैसे हम लोग बना सकते हैं एक डेटाबेस
के अंदर। अब मैं आपको बताता हूं कि टेबल्स कैसे क्रिएट कर सकते हैं। जिस तरह से हमने डेटाबेस बनाया, कौन सा डेटाबेस यूज़ करना
है, इसको सेलेक्ट किया। उसी तरह से हम लोग टेबल्स भी बना सकते हैं। और वो तरीका क्या है? वो है एक क्वेरी इशू करना। व्हेन आई
से क्वेरी इशू करना उसका मतलब है कि मैं क्वेरी को यहां पर टाइप करूंगा। जिस तरह से यहां पर यूज़ स्टार्ट सीक्वल लिखा हुआ
है उसी तरह से मैं यहां पर क्वेरी को टाइप करूंगा और उसके बाद यहां क्लिक करके इस क्वेरी को रन करूंगा और यह एग्जीक्यूट हो
जाएगी। तो जब भी मैं इस कोर्स में आपसे कहूं कि मैं क्वेरी इशू करूंगा आप समझ जाना कि मैं यहां पर सिंटेक्स लिखकर यहां
क्लिक करने की बात कर रहा हूं। तो आ जाते हैं वापस से हम इस हैंडब में और यहां मैं आप लोगों को इस क्वेरी को एक्सप्लेन करता
हूं। थोड़ा सा स्टेप बैक करेंगे, समझेंगे चीजें क्या होती हैं। हमने देखा डेटाबेस क्या होता है। हमने यह समझा था कि डेटाबेस
के अंदर टेबल्स होती हैं। अब उस टेबल को बनाना है। डेटाबेस बन गया। हमने माय सीक्वल को बताया कि यार हम स्टार्टर
सीक्वल नाम का डेटाबेस यूज़ करना चाहते हैं। अब टाइम है माय सीक्वल को ये बताने का कि मैं इस स्टार्टर सीक्वल डेटाबेस के
अंदर एक टेबल बनाना चाहता हूं। अब ये सिंटेक्स बहुत डरावना सा लग रहा है। बट ये बहुत ही सिंपल एंड स्ट्रेट फॉरवर्ड
सिंटेक्स है। यहां पर हम कह रहे हैं क्रिएट करो टेबल को जिसका नाम यूज़र्स है। और उसके बाद हम उस टेबल का स्ट्रक्चर दे
रहे हैं। अब एक टेबल को कैसे बनाना है? किस कॉलम में क्या आ सकता है और किस तरह से हमारी पूरी टेबल के अंदर डेटा स्प्रेड
होगा। ये सारी इनेशन है ये। कौन सा डेटा आ सकता है और कौन सा नहीं आ सकता ये इंफॉर्मेशनेशन भी है। कितनी लेंथ का डेटा
आ सकता है ये इंफॉर्मेशनेशन भी है। तो आओ समझते हैं ये सेक्टेड वाले पार्ट को। तो क्रिएटेबल यूज़र्स तो आप लोग आई होप समझ गए
होंगे कि एक टेबल बनाओ जिसका नाम यूज़र्स है। अब यहां पर आप देख सकते हो कि हमने कहा एक कॉलम उसमें होगा आईडी जिसका टाइप
होगा इंटिजर वो ऑटो इंक्रिमेंट करेगा और वो एक प्राइमरी की होगा। लेट मी एक्सप्लेन यहां पर यह जो इंट है यह डेटा टाइप है।
नेम का वयर 100 है यह डेटा टाइप है। ईमेल का वयर 100 डेटा टाइप है। जेंडर का इनाम डेटा टाइप है। डेट ऑफ़ बर्थ का डेट डेटा
टाइप है। अब डेटा टाइप के बाद आप कंस्ट्रेंट्स लिख सकते हैं। कुछ इस तरह से और कितने भी कंस्ट्रेंट्स आप लोग लिख सकते
हैं। मैं आप लोगों को डेटा टाइप और कंस्ट्रेंट्स के बारे में समझाऊंगा। बट अभी आप बस इस क्वेरी को समझने की कोशिश
करो। क्रिएट टेबल यूज़र्स। यूज़र्स नाम की टेबल बनाओ। आईडी इंटजर होगी वह ऑटो इंक्रिमेंट करेगी और प्राइमरी की होगी।
मैं इसके बारे में आपको बताऊंगा क्या होते हैं दोनों। नेम वारkय 100 यानी कि कोई भी रैंडम कररेक्टर्स और मैक्सिमम लेंथ 100 और
वो नल नहीं हो सकता। नॉट नल एक कंस्ट्रेंट है। ईमेल वारkयर 100 यूनिक होगा और नॉट नल होगा। यानी कि रिपीट नहीं कर सकते आप टेबल
में ईमेल्स को। और यह आइडियल भी है। अगर आप एक ऑथेंटिकेशन सिस्टम बना रहे हैं तो आप लोग एक ईमेल को एक अकाउंट से ज्यादा
बार मैप नहीं करना चाहेंगे। एक बार हैरी एट cod.com का अकाउंट बन गया तो बन गया। कोई दूसरा इंसान आकर दोबारा नहीं बना
सकता। तो ये हम यूनिक नाम के कंस्ट्रेंट से इनफोर्स करते हैं। नॉट नल का मतलब ये कि कोई खाली नहीं छोड़ के चले जाए ईमेल
को। फिर इसके बाद हमने कहा जेंडर, मेल, फीमेल और अदर हो सकता है। ये होता है इनम। इसके बारे में मैं आपको समझाऊंगा। बट आप
अभी ये समझ लो कि कॉलम का नाम और उसका डेटा टाइप लिखा जाता है और उसके बाद जितने भी कंस्ट्रेंट्स आप बाद में लिखना चाहते
हैं लिख सकते हैं। जैसे हमने यहां लिखे हैं। आईडी कॉलम का नाम इंट उसका डेटा टाइप ऑटो इंक्रिमेंट पहला कंस्ट्रेंट प्राइमरी
की दूसरा कंस्ट्रेंट नेम कॉलम का नाम वारc 100 उसका डेटा टाइप नॉट नल एक कंस्ट्रेंट ईमेल का डेटा टाइप है वारkय 100 यूनिक एक
कंस्ट्रेंट है नॉट नल एक कंस्ट्रेंट है। जेंडर का इन मेल फ़मेल अदर यह पूरा डेटा टाइप है। डेट ऑफ़ बर्थ का डेट डेटा टाइप
है। क्रिएटेड एट का टाइम स्टेम डेटा टाइप है। और उसके बाद हमने कहा कि इसकी डिफ़ॉल्ट वैल्यू को करंट टाइम स्टेम कर दो। तो ये
भी एक कंस्ट्रेंट है। तो चलो इस क्वेरी को कॉपी करते हैं और इसको रन करते हैं। क्या आपको क्वेरी याद करनी है? मैं कहूंगा यस
एंड नो। यस मैंने क्यों बोला? क्योंकि आप लोग जब सीक्वल के साथ काम करते हैं तो आपसे एक्सपेक्ट किया जाता है कि आप एक हद
तक क्वेरीज़ को याद करेंगे। फॉर एग्जांपल आपको एक टेबल क्रिएट करने की क्वेरी याद होनी चाहिए। कम से कम आपको इतना पता होना
चाहिए कि क्रिएट टेबल और टेबल का नाम और ब्रैकेट के अंदर कुछ इस तरह से आप लिखेंगे तो आपकी टेबल बनेगी। ये बहुत ज्यादा
क्रूशियल इसलिए है क्योंकि अगर आप लोग सीक्वल के साथ डेली काम करते हैं तो आपको बार-बार हैंडब को देखना शायद आपके लिए
इतना आइडियल ना हो। बट लेट मी टेल यू वन फैक्ट। एक बार आप लोग 1 महीना या 2 महीना लगातार सीक्वल में डेली काम करेंगे। ये
क्वेरीज आपको याद हो जाएंगी। आप चाहकर भी इनको नहीं भूल पाएंगे। तो याद करने पर बिल्कुल भी कभी फोकस मत करना। मैं हमेशा
ये बोलता हूं। सिर्फ इस सीक्वल ट्यूटोरियल में मैं ये बात नहीं बोल रहा हूं आपको। मैं ये हमेशा आप लोगों को बोलता हूं कि
यार आप किसी भी एक पर्टिकुलर टेक्नोलॉजी में काम करते हो तो उसकी सिंटेक्स आपको ऑटोमेटिकली याद हो जाती है। आपके
सबकॉन्शियस माइंड में बैठ जाती है। विथ दैट्स इट लेट्स एग्जीक्यूट दिस क्वेरी। अभी आप लोग यहां पर देखें स्टार्टर सीक्वल
के अंदर कुछ नहीं है। बट मैं इसको जैसे ही रन करूंगा मेरे स्टार्टर सीक्वल के अंदर एक टेबल बन गई है। इसने बोला जीरो रोज़
अफेक्टेड और ये बात सच भी है क्योंकि कोई रोज़ अफेक्ट नहीं हुई है। सिर्फ एक टेबल बनी है। बहुत बढ़िया। मुझे कैसे पता चलेगा
कि ये टेबल बन गई है। मैं कहूंगा सेलेक्ट स्टार और मैं कहूंगा फ्रॉम यूज़र्स। ये क्वेरी होती है जो कि कह रही है कि
सेलेक्ट करो सारे कॉलम्स यूजर टेबल से। चलो इसको रन करते हैं और यहां पर आप देखो यह सारे कॉलम्स मुझे देखने को मिल रहे
हैं। इसका मतलब यह टेबल एक्सिस्ट करती है। तो ऑसम दैट्स अमेजिंग। तो ये था हमारे पास एक बहुत ही सिंपल सा तरीका टेबल को बनाने
का और कैसे चेक करना है कि कौन-कौन से कॉलम्स हैं? कौन-कौन सा डेटा है टेबल में वो सेलेक्ट स्टार फ्रॉम यूजर जो कि हम
बहुत ज्यादा यूज़ करेंगे। और मैं आपको एक बात और बताना चाहता हूं कि सेलेक्ट स्टार वाली क्वेरी आप बार-बार लिखेंगे। हर बार
लिखेंगे। जबजब आप सीक्वल के साथ काम कर रहे हैं। तो इसको तो अपने दिमाग में बैठा ही लो। मैं सेलेक्ट स्टार के साथ-साथ यहां
पर कॉलम का नाम भी लिख सकता हूं। मैं लिखूंगा सेलेक्ट आईडी और मैं लिखूंगा यहां पर कॉमा लगाकर ईमेल और मैं इसको रन
करूंगा। तो आप देखो यहां पर आईडी और ईमेल सेलेक्ट हो गया। बट अगेन हम इसके बारे में आगे बात करेंगे। अभी के लिए मैं इसको
सेलेक्ट स्टार फ्रॉम यूज़र्स कर देता हूं। कुछ इस तरह से। ठीक है? ऑसम। अमेजिंग। अब इसके बाद हम डेटाबेस को ड्रॉप भी कर
सकते हैं। अब ड्रॉप करने का क्या मतलब हुआ? एक डेटाबेस के अंदर सब कुछ अगर मैं डिलीट करना चाहता हूं तो मैं ड्रॉप
डेटाबेस चला सकता हूं। तो मैं यह कमांड कॉपी करूंगा। इनफैक्ट इसको क्वेरी कहते हैं। तो मैं एक क्वेरी कॉपी करूंगा और
इसको मैं रन करूंगा यहां क्लिक करके और आप देखो यहां पर वन रो अफेक्टेड यानी कि इसने क्या किया? डेटाबेस के अंदर पूरा डेटाबेस
डिलीट कर दिया। तो अब आप यहां पर रिफ्रेश पर क्लिक करेंगे तो यहां पर आप देख सकते हैं आपका डेटाबेस जो स्टार्टर सीक्वल के
नाम से था वो डिलीट हो चुका है। व्हिच कंफर्म्स कि जो हमारी क्वेरी है उसने हमारे डेटाबेस को डिलीट कर दिया। अमेजिंग।
तो क्या इसका मतलब ये हुआ कि वो डेटाबेस और उसकी सारी टेबल्स डिलीट हो जाएंगी। यस दैट्स ट्रू। बट मैंने तो अपनी टेबल डिलीट
कर दी ना। कोई बात नहीं। हम शुरू से सब कुछ बनाएंगे। बट क्या मैं ये बार-बार करूंगा? एक बार मैंने डिलीट कर दिया अपना
डेटाबेस। मैं ये सारी क्वेरीज चलाता रहूं बार-बार। आप एक स्क्रिप्ट लिख सकते हैं। एंड लेट मी एक्सप्लेन वेरी प्रॉपर्ली। हम
एक सीक्वल स्क्रिप्ट लिख सकते हैं जिसमें हम मल्टीपल क्वेरीज लगा सकते हैं। यहां पर देखो मैं एक स्क्रिप्ट बना रहा हूं। मैंने
एक स्क्रिप्ट बनाई। अब देखो इसके अंदर दो लाइंस हैं। जिस तरह से हम लोग प्रोग्रामिंग लिखते हैं। जावास्क्रिप्ट
पython किसी भी प्रोग्रामिंग लैंग्वेज का कोड लिखते हैं। उसी तरह से आप सीक्वल का कोड भी लिख सकते हैं। अब आप देखो ये बड़ा
बेसिक सा सिंपल कोड दिख रहा है। मैं बेसिकली कह रहा हूं कि भाई एक डेटाबेस बनाओ। स्टार्टर सीक्वल यूज करो उस डेटाबेस
को और उसके बाद उसके अंदर एक टेबल बनाओ। दैट्स इट। उसके बाद मुझे सेलेक्ट भी करके दे दो। वो भी अच्छा लगेगा मुझे। तो मैं
यहां पर लिख दूंगा सेलेक्ट स्टार फ्रॉम और मैं लिखूंगा यूज़र्स। ठीक है? और मैं चाहता हूं मैं किसी तरह से इसको एज अ प्रोग्राम
सेव कर लूं। आप कर सकते हैं। कैसे करेंगे? आप लोग फाइल पे जाएंगे। सेव स्क्रिप्ट पर क्लिक करेंगे और इसका
नाम आप लोग रख देंगे। स्टार्टर या फिर मैं लिखता हूं फर्स्ट स्क्रिप्ट फर्स्ट सीक्वल स्क्रिप्ट और मैं
यहां पर माय भी लिख देता हूं। माय फर्स्ट सीक्वल स्क्रिप्ट। ठीक है? मेरी पहली जिंदगी की सीक्वल स्क्रिप्ट कुछ इस तरह
से। ठीक है? अब आप देखो ये जो प्रोग्राम है वो सेव हो चुका है और इसको आप कभी भी एग्जीक्यूट कर सकते हैं। लेट अस से मैंने
इसको मिटा दिया। मैंने इसको भी बंद कर दिया। मैंने कहा यार नहीं अब नहीं कर रहे। ये सीक्वल की टैब मैंने बंद कर दी। ठीक
है? और मैं यहां पर मान लो कुछ और लिख देता हूं। मैं इसको क्लोज ही कर देता हूं। सेव नहीं करूंगा मैं इसको। क्लोज कर दिया
मैंने। मैं फ़ाइल पे आकर एक सीक्वल स्क्रिप्ट रन कर सकता हूं। मैं ओपन सीक्वल स्क्रिप्ट पर क्लिक करूंगा और यहां पर
लोकेट कर लूंगा अपनी सीक्वल स्क्रिप्ट। जैसे कि आप देख सकते हो यहां पर माय फर्स्ट सीक्वल स्क्रिप्ट डॉट सीक्वल पर
क्लिक करूंगा। और ये जो मेरी सीक्वल स्क्रिप्ट है ये आ गई। और मैं इसको रन कर सकता हूं। अब देखो मैं यहां पर क्लिक
करूंगा। ये रन हो जाएगी। और यहां पर देखो सारे काम हो चुके हैं। और ये सेलेक्ट वाली क्वेरी भी रन हो गई लास्ट में। और सब कुछ
मुझे देखने को मिल गया। तो जबजब आप बहुत सारे लाइंस ऑफ कोड लिखते हैं मतलब कि बहुत सारी क्वेरीज लिखकर एक सीक्वल स्क्रिप्ट
बनाते हैं तो आप लोग उसको सेव कर सकते हैं। अगर आपको डर है कि यार मेरी प्रोग्रेस खो ना जाए। मैंने इतनी मेहनत से
अपनी क्वेरीज बनाई है। मैं सेव कहां करूं? आप फाइल पे जाकर अपनी क्वेरी को सेव कर सकते हैं। अगर आप ऑलरेडी किसी एकिस्टिंग
स्क्रिप्ट में काम कर रहे हैं। एक नई स्क्रिप्ट सेव करना चाहते हैं तो आप यहां क्लिक करेंगे सेव स्क्रिप्ट एज। सेव
स्क्रिप्ट करेंगे तो ये इसी नाम से इसी में अपडेट हो जाएगी ये स्क्रिप्ट। बट अगर आप चाहते हैं माय फर्स्ट सीक्वल स्क्रिप्ट
वाली फाइल को अपडेट करके माय सेकंड सीक्वल स्क्रिप्ट नाम की फाइल को सेव करना और आप चाहते हैं कि यह एकिस्टिंग फाइल भी रहे तो
आप माय सेकंड सीक्वल स्क्रिप्ट को फाइल पे क्लिक करके और सेव स्क्रिप्ट एज पर क्लिक करके सेव कर सकते हैं।
अब हम लोग बात करेंगे डेटा टाइप्स क्या होते हैं? कंस्ट्रेंट्स क्या होते हैं और किन-किन तरह के होते हैं। मैंने आप लोग को
ऑलरेडी क्रिएट टेबल के सिंटेक्स में बताया था कि आप किसी भी एक कॉलम को बनाने के लिए उस कॉलम के बाद उसका डेटा टाइप लिख सकते
हैं। तो यहां पर आप देख सकते हैं ये क्रिएट टेबल का सिंटेक्स है। इसमें मैंने यहां पर आईडी के बाद इंट लिखा है जिसका
मतलब कि आईडी एक इंटिजर है। हमारे पास इंटिजर इंटिजर टाइप को स्टोर करने के लिए यूज़ होता है। ये होल नंबर्स को भी स्टोर
करने के लिए यूज़ किया जा सकता है। इसके बाद वयर कैरयर वेरिएबल लेंथ स्ट्रिंग अप टू 100 कररेक्टर्स। अगर आपने यहां पर 100
लिखा। अगर आपने यहां पर 70 लिखा तो अप टू 70 कररेक्टर्स। अगर आपने यहां पर सेवन लिखा तो मैक्सिमम लेंथ जो होगी वो नंबर ऑफ़
कररेक्टर्स की सात होगी। तो अगर आप चाहते हैं कि एक यूजरनेम सिर्फ 10 कररेक्टर्स का हो मैक्सिमम तो आप वेलकैर के ब्रैकेट में
10 लिख सकते हैं। तो वो 10 या 10 से कम नंबर ऑफ़ कररेक्टर्स एक्सेप्ट करेगा। और अगर आपने उससे ज्यादा कैरेक्टर्स इंसर्ट
करने की कोशिश करी तो वो आपको एरर दे देगा। इसके बाद इनम कैरेक्टर होता है जो कि कुछ सेट ऑफ वैल्यू्यूज में से चूज़ करने
के लिए बनाया जाता है। अगर आप चाहते हैं कि जेंडर मेल, फीमेल या अदर में से ही चूज़ किया जा सके। कोई जेंडर में डेली ना लिख
दे या फिर कोई जेंडर में मार्स ना लिख दे तो आपको इनम टाइप यूज़ करना चाहिए। ये एक स्ट्रिंग ऑब्जेक्ट है विद द वैल्यू चोज़न
फ्रॉम अ लिस्ट ऑफ़ परमिटेड वैल्यूज़। जैसे कि इस केस में परमिटेड वैल्यूज़ आर मेल, फीमेल या अदर। इसके अलावा कोई दूसरी
वैल्यू आप इंसर्ट नहीं कर पाएंगे। एंड दैट्स अ वेरी गुड थिंग। क्योंकि हम चाहते हैं कि हमारे डेटाबेस के अंदर सिर्फ वो
डेटा जाए जो कि हम चाहते हैं। ऑलराइट। अब हम बात करेंगे डेट की। यह डेट वैल्यू स्टोर करने के लिए यूज़फुल होता है। जैसे
कि डेट ऑफ़ बर्थ। यहां पर आप देखो डेट ऑफ़ बर्थ के बाद हमने डेट लिखा। यानी कि डेट ऑफ़ बर्थ का डेटा टाइप डेट है। इसके बाद
टाइम स्टेप की बात करते हैं। ये डेट और टाइम स्टोर करने में यूज़फुल होता है। ऑटोमेटिकली सेट टू द करंट टाइम स्टैंप
व्हेन अ रो इज़ क्रिएटेड। ठीक है? तो, आप यहां पर टाइम स्टेम जो है वह एक डेटा टाइप के तौर पर यूज़ कर सकते हैं। जैसे कि यहां
पर मैंने लिखा है क्रिएटेड एट टाइम स्टेम और इसके बाद मैंने कंस्ट्रेंट लिखे हैं जिनके बारे में हम बात करेंगे। इसके बाद
हमारे पास बुलियन डेटा टाइप होता है जो कि हम लोगों को ट्रू या फॉल्स में से कोई भी एक वैल्यू चूज़ करने में हेल्प करता है। तो
आप कुछ इस तरह से बुलियन डेटा टाइप बना सकते हैं। अब हम कंस्ट्रेंट्स के बारे में बात करते हैं। ऑटो इंक्रिमेंट कंस्ट्रेंट
लगाने से क्या होता है कि ऑटोमेटिकली एक यूनिक नंबर वो जनरेट करता है। फॉर एग्जांपल अगर आपने आईडी को ऑटो इंक्रिमेंट
करा हुआ है। तो जबजब आप डेटा इंसर्ट करेंगे जैसे मान लो आपने पहला डेटा इंसर्ट किया। पहली रो इंसर्ट की तो उसमें आपको
आईडी की वैल्यू वन मिलेगी। अगली वैल्यू आपको टू मिलेगी। उसकी अगली वैल्यू आपको थ्री मिलेगी एंड सो ऑन। वह ऑटोमेटिकली
इंक्रिमेंट करता जाएगा। और इसके बाद दूसरा कंस्ट्रेंट प्राइमरी की। यह यूनिकली आइडेंटिफाई करता है हर रो को एक टेबल में।
अब प्राइमरी की का क्या मतलब है? प्राइमरी की का बेसिकली मतलब यह है कि प्राइमरी की डुप्लीकेट नहीं हो सकती। और यह यूनिकली
आइडेंटिफाई कर रही है एक रिकॉर्ड को टेबल के अंदर। फॉर एग्जांपल हमने कहा कि जो आईडी है वो यूनिक है और आईडी आइडेंटिफाई
करेगी एक पर्टिकुलर यूनिक रिकॉर्ड को। फॉर एग्जांपल एक इंसान का रोल नंबर अगर वन है तो दूसरे इंसान का रोल नंबर वन नहीं होगा।
तो जो रोल नंबर है वो प्राइमरी की के तौर पर यूज़ किया जा सकता है। अगर आपका आधार नंबर है वो एक प्राइमरी की के तौर पर यूज़
किया जा सकता है। क्योंकि दो लोगों के सेम आधार नंबर नहीं हो सकते। यूएस में सोशल सिक्योरिटी नंबर दो लोगों के सेम नहीं हो
सकते। एंड सो ऑन। ठीक है? तो यहां पर आप लोगों ने देखा कि प्राइमरी की क्या होता है। अब बात करते हैं नॉट नल कंस्ट्रेंट
क्या करता है? ये इंश्योर करता है कि किसी कॉलम में कहीं नल वैल्यू आप ना डाल दें। आप किसी कॉलम को अगर खाली छोड़ने की कोशिश
करेंगे तो आप लोग को एरर दिया जाएगा। कहा जाएगा कि आप नहीं कर सकते। ऐसा माय सीक्वल आप लोगों को एरर थ्रो करके देगा। व्हिच इज़
फेयर। यही आप चाहते हैं कि उल्टा सीधा डेटा आपके डेटाबेस में कोई इंसर्ट ना कर पाए। और इसीलिए आपने ये कंस्ट्रेंट लगाया
है कि यार कोई भी इंसान अगर अकाउंट बना रहा है तो आप चाहेंगे कि भाई ईमेल को खाली मत छोड़ो क्योंकि खाली ईमेल वाले अकाउंट्स
हमें नहीं चाहिए। वो स्पैमिंग है हमारे डेटाबेस में। हम अपने डेटाबेस में स्पैमिंग नहीं चाहते हैं। अमेजिंग। इसके
बाद यूनिक कंस्ट्रेंट। यह इंश्योर करता है कि सारी वैल्यू्यूज यूनिक हैं। फॉर एग्जांपल किसी एक इंसान ने एक अकाउंट
बनाया। उसने मान लो एक यूजरनेम चुन लिया हैरी। अब एक दूसरा इंसान आता है नोइंगली अननोइंगली वह भी हैरी यूजरनेम चाहता है तो
वह जैसे ही हैरी यूजर नेम डालेगा ना उसको एरर देखने को मिलेगा क्योंकि हमने यूनिक कंस्ट्रेंट लगाया हुआ है। आप यहां पर देख
सकते हैं कि हमने ईमेल में यूनिक कंस्ट्रेंट लगाया हुआ है। कोई भी इंसान एक बार ईमेल उसने यूज़ कर लिया दोबारा ईमेल
यूज़ करने की कोशिश करेगा सेम तो वो दो अकाउंट एक ईमेल से नहीं बना सकता। और यही होता है यूनिक कंस्ट्रेंट का काम। इसके
बाद बात करते हैं डिफ़ॉल्ट की। यह सेट करता है डिफॉल्ट वैल्यू फॉर अ कॉलम इफ नो वैल्यू इज प्रोवाइडेड। तो जो डिफॉल्ट
कंस्ट्रेंट है वो एक डिफॉल्ट वैल्यू सेट करने के काम आता है। फॉर एग्जांपल अगर आप चाहते हैं कि क्रिएटेड एट में जो डिफ़ॉल्ट
वैल्यू है वो करंट टाइम स्टैंप हो जाए तो आप इस तरह से लिख सकते हैं। मैंने इसको यूज़ किया है। अब देखो यहां पर मैंने कहा
है क्रिएटेड एट का डेटा टाइप है टाइम स्टैंप और उसकी डिफ़ॉल्ट वैल्यू करंट टाइम स्टैंप हो जाए। तो ये एक पूरा कंस्ट्रेंट
है जो कि कह रहा है डिफॉल्ट वैल्यू करंट टाइम स्टैंप हो जाए। आप यहां पर देख सकते हो डिफॉल्ट स्पेस करंट टाइम स्टेप मैंने
लिखा है। ये एक कंस्ट्रेंट है जो कि कह रहा है कि डिफ़ॉल्ट वैल्यू करंट टाइम स्टेम सेट कर दो। बहुत बढ़िया। इसके बाद इज़
एक्टिव बुलियन डिफॉल्ट ट्रू का मतलब ये है कि इज़ एक्टिव एक बुलियन डेटा टाइप है और उसकी डिफ़ॉल्ट वैल्यू ट्रू है।
अब बात करते हैं कि किस तरह से हम लोग टेबल से डेटा को सेलेक्ट कर सकते हैं। सेलेक्शन इज़ रियली वेरीेंट। एक क्वेरी जो
कि मैंने आप लोगों को बताई थी वो थी सेलेक्ट स्टार फ्रॉम टेबल नेम। और हम सब ने वो देखी भी थी। तो आ जाओ इसको हम लोग
रन करके देखते हैं। सेलेक्ट स्टार्ट फ्रॉम यूज़र्स। इसको जैसे ही मैं रन करूंगा आप देख सकते हो मुझे सारे कॉलम्स देखने को
मिल रहे हैं। बट द फैक्ट ऑफ द मैटर इज़ कि अभी हमारे टेबल के अंदर कोई डेटा नहीं है। और क्योंकि हमारी टेबल के अंदर कोई डेटा
नहीं है इसलिए हमको कुछ भी दिखाई नहीं दे रहा है। यहां पर आप देख सकते हैं मेयर कॉलम के नाम सिर्फ दिखाई दे रहे हैं। आपको
डेटा नहीं दिखाई दे रहा क्योंकि डेटा हमने कभी डाला ही नहीं। आई विल गेट बैक टू दैट लेटर। बट अभी हम लोग कुछ चीजें समझेंगे।
मान लो आप चाहते हो कि सारे कॉलम सेलेक्ट ना हो। स्पेसिफिक कॉलम्स स्पेसिफिक ऑर्डर में सेलेक्ट हो। तो आप यहां पर कुछ इस तरह
से सेलेक्शन कर सकते हो। आप कह सकते हो कि यार मुझे सिर्फ ईमेल और जेंडर ही चाहिए। तो आप लोगों को कुछ इस तरह से टेबल देखने
को मिलेगी और डेटा पॉपुलेटेड दिखेगा। अभी नहीं दिख रहा है बट दिखेगा जब हम इसमें डेटा डालेंगे। बट अभी के लिए अस्यूम करो
कि इसके अंदर डाटा है। ओके? ऑलराइट। तो यहां पर आप देख सकते हो कि हम कुछ इस तरह से स्पेसिफिक कॉलम्स को सेलेक्ट कर सकते
हैं। मान लो मैंने अपनी टेबल का नाम रखा यूज़र्स बट ये मेरे यूज़र्स नहीं है। ये एक्चुअली मेरे कस्टमर्स हैं और मैं चाहता
हूं कि इनको मैं कस्टमर्स के नाम से ही पुकारूं या लेट अस से ये कुछ प्रोग्रामर्स हैं और मैं इनको यूज़र्स कह रहा हूं। बट
मुझे प्रोग्रामर्स के नाम से पुकारना है। तो मैं क्या कहूंगा? मैं यहां पर बहुत ही सिंपल क्वेरी लिखूंगा। मैं लिखूंगा रिनेम
और मैं लिखूंगा टेबल और मैं टेबल का नाम लिखूंगा यूज़र्स और टू मैं यहां पर लिख दूंगा प्रोग्रामर्स और सेमी कॉललन बस
दैट्स ऑल। और जैसे ही मैं इसको चलाऊंगा आप देख सकते हैं कि मेरी जो टेबल है उसका नाम प्रोग्रामर्स हो चुका है। और मैं इसको अगर
दोबारा रन करने की कोशिश करूंगा, तो यह कह रहा है कि ऑलरेडी प्रोग्रामर्स नाम की टेबल एग्ज़िस्ट कर रही है। यूज़र्स नाम की
टेबल है ही नहीं। तो यहां पर अब मैं अगर सेलेक्ट और मैं लिखूं स्टार फ्रॉम प्रोग्रामर्स
तो आप लोग देखोगे कि इसका नाम अब प्रोग्रामर्स हो चुका है और ये बिल्कुल सही-सही काम कर रही है। मेरी टेबल का नाम
क्योंकि यूज़र्स हटकर प्रोग्रामर्स हो चुका है। दैट्स ऑसम। हमने वो अचीव कर लिया जो हम अचीव करना चाहते थे। अगर आप दोबारा
इसको रिनेम करना चाहते हैं तो आप सेम सिंटेक्स का यूज़ कर सकते हैं। आ जाओ कर ही लेते हैं यार। दैट्स बेटर।
तो मैं कहूंगा रिनेम टेबल। प्रोग्रामर्स टू यूज़र्स और मैं इसको रन करूंगा। तो अब मेरी टेबल का नाम वापस से यूज़र्स हो चुका
है व्हिच आई वांट इट। अमेजिंग। तो इस तरह से आप जो है रिनेम कर सकते हैं। एक टेबल को ऑल्टर करने के लिए आप ऑल्टर
टेबल कमांड का यूज़ कर सकते हैं। मान लो मुझे इसमें एक इज़ एक्टिव नाम का बुलियन डेटा टाइप डालना है। एक नया कॉलम इंसर्ट
करना है। आप देखो अभी यहां पर मेरे पास जो कॉलम्स हैं वो कुछ इस तरह से दिखते हैं। मैं यहां पर एक काम करता हूं। मैं लिखता
हूं सेलेक्ट स्टार फ्रॉम यूज़र्स और मैं इस क्वेरी को चला देता हूं। और जैसे मैं इस क्वेरी को चलाऊंगा देखो आईडी नेम, ईमेल,
जेंडर, डेट ऑफ़ बर्थ और क्रिएटेड एट मुझे देखने को मिल रहा है। बट आई आल्सो वांट एन इज़ एक्टिव कॉलम जो कि ये बताएगा कि क्या
ये यूजर एक्टिव भी है कि नहीं है। और उस इज़ एक्टिव कॉलम को ऐड करने के लिए मैं क्या करूंगा कि यहां पर मैं इसके टी को
कैपिटल कर देता हूं। इट्स ऑलवेज रेकमेंडेड कि आप ये वाले जो लाइंस हैं कैपिटल में लिखें। हालांकि आप स्मॉल में भी लिख सकते
हैं कि सेंसिटिव नहीं है इक्वल। तो आप अगर अपने कर्सर को यहां पर लाएंगे स्टार्टिंग में और आप अपने कीबोर्ड पर कंट्रोल
दबाएंगे और आपकी जो राइट वाली शिफ्ट है उसके लेफ्ट में एक फॉरवर्ड स्लैश बटन है उस पर आप क्लिक करेंगे तो ये जो है कमेंट
आउट हो जाएगा। किसी भी लाइन के साइड में आप लोग डबल डैश लगाते हैं तो वो लाइन कमेंट आउट हो जाती है। अब कमेंट आउट का
क्या मतलब है? एक लाइन को कमेंट कर दिया। इस बात का क्या मतलब है? इस बात का मतलब ये है कि अब ये जो लाइन है ना वो लाइन इस
पर्टिकुलर स्क्रिप्ट का पार्ट नहीं है। इसको इग्नोर किया जाएगा सीक्वल के द्वारा। यह जस्ट वहां पर है। मतलब कि आप अपने
नोट्स भी यहां पर छोड़ देते हैं। मैं यहां पर लिख सकता हूं दिस इज द बेस्ट स्क्रिप्ट। मैं ही लिख सकता हूं क्योंकि
इस लाइन को एनीवे इग्नोर किया जाएगा जब मैं इसको रन करूंगा तो स्क्रिप्ट को। बट मैं इसको अभी हटा देता हूं। और अब मैं
आपको बताता हूं कि किस तरह से आप लोग इंसर्ट कर सकते हैं कॉलम अपनी एकिस्टिंग टेबल के अंदर। तो आप यहां पर लिखोगे ऑल्टर
टेबल और लिखोगे यूज़र्स। फिर आप लिखोगे ऐड। ठीक है? कुछ इस तरह से। और आप लिखोगे कॉलम। और मैं मान लो इज़ एक्टिव नाम का एक
कॉलम डालना चाहता हूं जो कि बुलियन होगा। ठीक है? और मैं इसकी डिफॉल्ट वैल्यू को ट्रू करना चाहता हूं। तो मैं कहूंगा भाई
डिफॉल्ट एफ ए यू एल टी होता है। और मैं कहता हूं कि इसकी डिफ़ॉल्ट वैल्यू ट्रू है। और इसके बाद मान लो मैं चलाना चाहता हूं
सेलेक्ट स्टार फ्रॉम यूज़र्स। तो लेट्स डू इट। मैं ये चलाऊंगा पहले। फिर सेलेक्ट स्टार फ्रॉम यूज़र्स चलाऊंगा। मेरी
स्क्रिप्ट कुछ इस तरह से दिख रही है। इन केस यू डोंट नो। मैं इसको बंद कर देता हूं यहां पर। और आप देखो पूरी स्क्रिप्ट कुछ
इस तरह से दिख रही है। और अब मैं यहां पर इस क्वेरी को जैसे ही चलाऊंगा ना आप देखो यहां पर क्या हुआ कि एक इज़ एक्टिव कॉलम भी
ऐड हो चुका है। वाओ दैट्स हाउ यू कैन ऐड अनदर कॉलम टू योर एकिस्टिंग टेबल। तो आई होप कि आप समझ गए। एंड यस यू कैन ऐड मोर
कंस्ट्रेंट्स अगर आप चाहते हो तो। ठीक है? वो चीज़ आप बिल्कुल क्रिएट वाले सिंटेक्स की तरह कर सकते हो। अमेजिंग। अब मान लो कि
मुझे किसी ने बताया यार तुमने इज़ एक्टिव कॉलम क्यों ऐड कर दिया? क्या प्रॉब्लम है तुम्हारी? इज एक्टिव कॉलम हमें इस टेबल
में नहीं चाहिए था। तो मैं बोलूंगा अपने बॉस को बॉस रिलैक्स हम ऑल्टर टेबल का इस्तेमाल करके इसको हटा भी सकते हैं। अब
बॉस को सीक्वल आती नहीं है तो बॉस घबरा रहे थे। बट आप ये क्वेरी चलाकर ऑल्टर टेबल यूज़र्स ड्रॉप कॉलम इज़ एक्टिव लिखोगे तो
गायब हो जाएगा। ठीक है? क्या गायब हो जाएगा? बॉस गायब नहीं होगा। ये जो कॉलम है वो गायब हो जाएगा। ठीक है? बॉस वहीं के
वहीं रहेगा। अब यहां पर हम रन करेंगे इसको जैसे ही आप देखो हमने ऑल्टर कर दिया टेबल को और सेलेक्ट स्टार्ट फ्रॉम यूज़र्स किया।
तो देखो वो कॉलम गायब हो गया। तो ये वाली जो लाइन है वो क्या करती है? ऑल्टर टेबल यूज़र्स ड्रॉप कॉलम इज़ एक्टिव। ये लाइन
क्या करती है? आपके इस कॉलम को ड्रॉप करा देती है यूज़र्स टेबल से। एंड इट्स ऑल अबाउट सिंटेक्स टू बी ऑनेस्ट। इसमें कुछ
नहीं है। सिंटेक्स है बस। ठीक है? लॉजिकल जहां पर अंडरस्टैंडिंग होगी वो मैं आपको दूंगा। बट यहां पर सिर्फ सिंटेक्स है। इन
अ वेरी सिमिलर वे आप एक पर्टिकुलर कॉलम को मॉडिफाई कर सकते हो। मान लो आप चाहते हो कि यार varcar 100 वाला जो कॉलम है उसको
मैं varc 150 बना दूं तो वो आप बना सकते हो। ठीक है? है तो ये काम आप कर सकते हो। कैसे करोगे इस सिंटेक्स का इस्तेमाल करके
आप कह सकते हो ऑल्टर टेबल यूज़र्स मॉडिफाई कॉलम नेम इसको वारkय 100 ना करके varc 150 कर दो और जैसे ही आप ये चलाओगे तो ये वारk
150 हो जाएगा और ये क्वरी आपकी जो है सक्सेसफुली एग्जीक्यूट हो जाएगी। तो ये भी सिंटेक्स का खेल है बिल्कुल। ठीक है?
इसमें कोई बहुत ज्यादा अंडरस्टैंडिंग वाली चीज नहीं है। सिंटेक्स क्या याद करना है? ऑनेस्ट आंसर इज़ नो। इट्स अ नो। मैं आपको
हैंडबुक इसीलिए दे रहा हूं कि आप इस हैंडब को प्रिंट करवाओगे, प्रिंट करवाओगे पेपर पे। डिजिटली मैं नहीं मानता। मैं मैं
पर्सनली डिजिटली बहुत ज्यादा लोगों को नहीं कहता हूं कि आप इसको डिजिटली रखो। आप प्रिंट करके रखोगे तो यू आर सीरियस। अगर
आप प्रिंट निकाल के स्टैपल करके रखते हो ना अपने सामने तो यू आर सीरियस। फिर जब आप काम कर रहे हो ना तो आप उसको पलट के देख
सकते हो और ये सब क्वेरीज देखकर टाइप कर सकते हो। पुलिंग आउट अ पीडीएफ डिजिटली इज़ लिटिल बिट डिफिकल्ट। चाहे आपको लगे वो
आसान बट इट्स अ बिट डिफिकल्ट। हो जाती है। आप अपने वर्क प्लेस पर रखो। जहां पर भी आप काम कर रहे हो। अगर आप सीक्वल के साथ काम
कर रहे हो। अपनी सीक्वल की हैंडबुक निकालो। काम करो। ठीक है? उसी हैंडब में अपने भी नोट्स मार्क कर लो। कुछ भी एडिशनल
आपको अगर लगता है कि आप लिख सकते हो। बट कमिंग बैक टू सीक्वल आप एक पर्टिकुलर कॉलम को मॉडिफाई कर सकते हो। कुछ इस तरह से आप
कह सकते हो ऑल्टर टेबल यूज़र्स और इसके कॉलम को मॉडिफाई कर दो। वी हैव ऑलरेडी सीन दिस। अब यहां पर अगर मैं आप लोगों को अपनी
Mysquel वर्क बेंच पर लेकर आऊं और मैं सारी क्वेरीज़ को अभी यहां पर कमेंट आउट कर दूं। एक स्क्रिप्ट में कमेंट आउट करना
बहुत ज्यादा जरूरी होता है क्योंकि अगर आप एक क्वेरी को हटा दोगे तो बाद में आप यूज़ नहीं कर पाओगे। तो इसलिए आप यहां पर
स्टार्टिंग पर क्लिक करके कंट्रोल फॉरवर्ड स्लैश दबा दो और ये क्वेरी कमेंट आउट हो जाएगी। यहां डबल डैशेस खुद ऐड कर सकते हो
आप। कोई प्रॉब्लम की बात नहीं है। अब यहां पर आप देखो मैं सेलेक्ट स्टार्ट फ्रॉम यूज़र्स चला रहा हूं सर। क्योंकि ये तीन
लाइंस तो कमेंटेड है। मैं जैसे ही चलाऊंगा आप यहां पर देखो आईडी, नेम, ईमेल, जेंडर, डेट ऑफ़ बर्थ और क्रिएटेड एट। मैं चाहता
हूं यार आईडी के बाद ईमेल आए। बट क्यों चाहते हो ऐसा? बस मैं चाहता हूं मुझे अच्छा नहीं लग रहा। आप कहोगे क्यों अच्छा
नहीं लग रहा? बस बस मेरे जो रिकॉर्ड्स हैं कंपनी के उसमें हमेशा से मैंने आईडी के बाद ईमेल देखा है और यहां मुझे अनइजी फील
हो रहा है। चलो ठीक है करते हैं इसका कुछ। तो क्या हम ईमेल को पहले नेम को बाद में ला सकते हैं? दी आंसर इज़ यस। यू कैन डू
दैट। यू कैन डू दैट। लेट मी शो यू हाउ। कैसे आप कर सकते हो? आप लिखोगे ऑल्टर टेबल यूज़र्स। यूज़र्स टेबल को ऑल्टर कर रहे हैं।
तो ये चीज़ तो आप लोग लिखोगे ही। और आप लिखोगे मॉडिफाई कॉलम। मॉडिफाई कॉलम। और आप किस कॉलम को मॉडिफाई करना
चाहते हो? आप मॉडिफाई करना चाहते हो ईमेल को और उसको आईडी के बाद डालना चाहते हो। तो आप कहोगे ईमेल और आप कहोगे कि मैं इसको
आफ्टर आईडी डालना चाहता हूं। ठीक है? लेकिन जब आप इस कॉलम को आफ्टर आईडी डालोगे तो आपको इसके डेटा टाइप को भी बताना
पड़ेगा। तो जो मेरा ईमेल है वो है varc 100। ठीक है? तो मैं कुछ इस तरह से varc 100 लिख दूंगा। और मैं आपको क्वरी दिखाता
हूं पूरी कैसी दिख रही है। अभी ये दिख रही है मेरी क्वेरी देखो। और मैं इसको जैसे ही चलाऊंगा तो पहले पहली क्वेरी रन होगी। फिर
दूसरी क्वेरी रन होगी। अब देखो आईडी के बाद ईमेल आ गया। फिर नेम आ गया। जेंडर डेट ऑफ़ बर्थ क्रिएटेड एट। अगर आप चाहते हो कि
जो डेट ऑफ़ बर्थ है वो सबसे पहले आए फॉर सम रीज़न तो आप क्या कर सकते हो? कुछ इस तरह की क्वेरी लिख सकते हो। आप कह सकते हो मैं
एग्जैक्टली जो ऊपर वाली क्वेरी है उसे कॉपी कर रहा हूं। आप देखो ऑल्टर टेबल यूज़र्स मॉडिफाई कॉलम और लेट्स से मैं डेट
ऑफ़ बर्थ को पहले करना चाहता हूं। तो मैं लिख दूंगा डेट ऑफ़ बर्थ और उसके बाद मैं लिख दूंगा फर्स्ट। तो मैं लिखूंगा डेट ऑफ़
बर्थ, डेट ऑफ बर्थ और इसके बाद मैं लिख दूंगा फर्स्ट। लेकिन मुझे इसके डेटा टाइप को भी
लिखना पड़ेगा। तो मैं यहां पर लिखूंगा डेटा टाइप इसका डेट टाइम। ठीक है? डेट टाइम। और अगर आप लोग चाहते हो कि डिफॉल्ट
वैल्यूज़ भी यहां पर फिट बैठे हैं तो वो भी आप लिख दो। यहां पर कंस्ट्रेंट वगैरह लगाना चाहते हो लगा लो डेट ऑफ़ डेट टाइम के
बाद। मतलब आपने यहां पर इस कॉलम का नाम लिखा। इसका टाइप लिखा। इसके बाद आप कंस्ट्रेंट लगा लो जो भी आपको लगाने हैं।
और जैसे ही मैं इसको चलाऊंगा आप देखो कि मेरा जो डेट ऑफ़ बर्थ है वो सबसे पहले आ गया। आईडी से भी पहले आ गया। क्योंकि
मैंने यहां पर ये सिंटेक्स लिख दिया। अब एक क्वेश्चन जो कि मुझे बहुत ज्यादा पूछा जाता है वो ये है कि क्या हमें इसको याद
करना है? क्या हम इसको याद करें कि यार जो डेट ऑफ़ बर्थ है उसको पहले करना है तो ऑल्टर टेबल यूज़र्स लिखो। पहले फिर मॉडिफाई
लिखो। फिर कॉलम लिखो। कॉलम मॉडिफाई मत लिखो। दी आंसर इज़ कि यू शुड हैव दी हैंडबुक। प्लस एक और बात जो मैंने आपको
बताई थी। किसी भी चीज को आप 21 22 50 दिन तक करोगे ना डेली आपको याद हो जाएगा। यू कैन नॉट हेल्प योरसेल्फ। आप खुद बोलोगे
भाई मुझे तो यह रट गया। मैं तो खुद नहीं भूल पा रहा हूं। अब ये कहोगे उसके बाद अभी तो आप ये कह रहे हो मैं याद नहीं रख पा
रहा हूं। फिर आप कहोगे मैं तो भूल ही नहीं पा रहा हूं। तो दैट्स रियल। वो आपको फील करना पड़ेगा। काम करोगे चीजों पे।
एप्लीकेशनेशंस बनाओगे। आप अगर मल्टीपल टेक्नोलॉजी के साथ काम कर रहे हो। हैंडब आपकी काम आएगी बहुत ज्यादा। तो आई होप दैट
हेल्प्स। बट या दैट वाज़ अबाउट टेबल ऑपरेशंस इन माय सीक्वल। ऑलराइट गाइस अब बताऊंगा आप लोगों को किस
तरह से आप लोग डाटा इंसर्ट कर सकते हैं। याद है हम लोगों ने करड की बात की थी जो कि स्टैंड करता था क्रिएट, रीड, अपडेट और
डिलीट से। यहां पर मैं आप लोगों को क्रिएट के बारे में सबसे पहले बताऊंगा। फिर उसके बाद हम लोग रीड देखेंगे। फिर उसके बाद हम
अपडेट देखेंगे और फिर डिलीट देखेंगे। तो आ जाओ इस चीज को स्टार्ट करते हैं। तो यहां पर मैंने अपना Mysql वर्क बेंच खोला हुआ
है। अगर आप लोगों ने दोबारा से बंद करके खोला है इन केस तो मैं आपको बताना चाहता हूं। आप यहां पर डबल क्लिक करके दोबारा से
इस कनेक्शन को खोल सकते हैं। यह वो स्क्रिप्ट है जो कि मैंने बनाई थी। बट आप इस स्क्रिप्ट को क्लोज भी कर सकते हैं। और
ये आपसे पूछेगा सेव करना चाहते हैं कि नहीं। आप डोंट सेव करेंगे तो कोई दिक्कत आपको नहीं आएगी। ठीक है? तो आप यहां पर
न्यू क्वेरी टैब करके अपनी क्वेरी लिख सकते हैं। अब मैं आपको बताता हूं कि कैसे आप लोग एक पर्टिकुलर डेटाबेस के अंदर एक
टेबल बनाकर चीजें इंसर्ट कर सकते हैं। यहां पर मैं अस्यूम कर रहा हूं कि आपने ऑलरेडी एक डेटाबेस बनाया जिसका नाम है
स्टार्टर सीक्वल। तो मैं इसको सेट एज़ डिफॉल्ट स्कीमा करूंगा। बाय द वे आप लोग यहां पर यूज़ स्टार्टर सीक्वल भी कर सकते
हैं यहां पर लिखकर कुछ इस तरह से यूज़ और स्टार्टर स्टार्टर सीक्वल कुछ इस तरह से आप लिख सकते हैं। और ये लाइन बेसिकली ये
कह रही है कि भाई जो भी काम अब हम आगे करने वाले हैं वो स्टार्टर सीक्वल नाम के डेटाबेस में करने वाले हैं। तो ये चीज़
लिखना जरूरी है या फिर आप राइट क्लिक करके सेट एज़ डिफ़ॉल्ट स्कीमा कर दें। एक ही बात है। ठीक है? दोनों एक ही बात है। चलो जी
बढ़िया। ये तो बहुत अच्छी बात थी। इंसर्ट कैसे करें डेटा? अगर आप लोग इंसर्ट करना चाहते हैं डेटा को तो कुछ इस तरह से कर
सकते हैं। आप लिखिए इंसर्ट यहां पर कुछ इस तरह से और लिखें इंटू यूज़र्स क्योंकि मेरी टेबल का नाम यूज़र्स है और आप लिखें
वैल्यूज़ वैल्यूज़ कुछ इस तरह से और आप कह सकते हैं कि भाई मुझे ये वैल्यूज़ इंसर्ट करनी है। तो यहां
पर मैं वन इंसर्ट करूंगा। मैं एलिस इंसर्ट करूंगा कुछ इस तरह से। एंड लेट्स से मैं एट कोड विद haरी.com यहां इस तरह से लिख
देता हूं। फिर इसके बाद मैं यहां पर मेल लिख देता हूं। फिर इसके बाद मैं यहां पर वाई वाई वाई वाई और इसके बाद डैश लगाकर
लेट्स से मैं सेवन लिखता हूं और मैं यहां पर 13 लिखता हूं। एक रैंडम डेट मैंने यहां पर डाल दी है। और इसके बाद मैं यहां पर
क्या करूंगा? जो भी हमारी वैल्यू्यूज थी वो लिखूंगा। अगर मैं आप लोगों को ये दिखाऊं कि हमारी जो टेबल है वो किस तरह से
दिख रही है तो मैं सबसे पहले क्या करूंगा? सेलेक्ट स्टार फ्रॉम यूज़र्स लिखूंगा। इससे क्या होगा कि मुझे इजी पड़ेगा ये समझना कि
कि क्या था हमारे स्कीमा के अंदर। तो मैं इस वाली लाइन को अभी कमेंट आउट कर रहा हूं। और ये काम मैं यहां पर डैशेस लगाकर
कर सकता हूं। ठीक है? अब मैं अगर इस क्वेरी को रन करूं तो अभी हमने सिर्फ सेलेक्ट स्टार्ट फ्रॉम यूज़र्स किया है। तो
सबसे पहले डेट ऑफ़ बर्थ है, फिर आईडी है, फिर ईमेल है, फिर नेम है, जेंडर है और क्रिएटेड एट है। ठीक है? तो मैं यहां पर
क्या करूंगा? मुझे सबसे पहले डेट ऑफ़ बर्थ डालनी पड़ेगी। तो, मैं ये कट करके यहां पर डालूंगा। कंट्रोल X करूंगा, यहां पर
डालूंगा। ठीक है? फॉर सम रीज़न, मैंने डेट ऑफ़ बर्थ को पहले कर दिया था। अगर आपको याद हो, तो फिर आईडी आ गई। फिर उसके बाद ईमेल
आएगा। फिर इसके बाद नेम आएगा। तो, यहां पर ईमेल आएगा। मैं इसको भी कट करता हूं। और ईमेल के बाद मैं यहां पर नेम डालूंगा। नेम
के बाद आएगा जेंडर। जेंडर के बाद आएगा क्रिएटेड ऐड। और क्रिएटेड ऐड की जगह मैं डिफॉल्ट लिख दूंगा कुछ इस तरह से। ठीक है?
तो इसको मैं करता हूं अभी बंद और इन दोनों लाइंस को मैं करता हूं अनकमेंट। ठीक है? जो मैंने डैश डैश लगाए थे इनको मैं
अनकमेंट करता हूं ताकि ये एग्जीक्यूट हो। तो अभी मेरी जो इंसर्ट क्वरी है वो कुछ इस तरह से दिख रही है। एंड ऑब्वियसली मुझे
यहां पर इस तरह से सेमी कॉलन लगाकर इसको बंद करना पड़ेगा। और यहां पर कुछ इस तरह से मुझे ऐसे करना पड़ेगा। तो सिंटेक्स आप
लोग देख सकते हो। कुछ इस तरह का सिंटेक्स है। जैसे ही मैं रन करूंगा आप देखो यहां पर इंसर्शन हो चुका है। तो इंसर्शन के बाद
अगर मैं दोबारा से सेलेक्ट स्टार्ट फ्रॉम यूज़र्स चलाऊं तो आप लोगों को देखने को मिलेगा। मैं इसको सबसे पहले कमेंट आउट कर
देता हूं। कुछ इस तरह से सेलेक्ट करके कंट्रोल फॉरवर्ड स्लैश। अब मैं दोबारा से चलाऊं तो आपको दिखेगा कि यहां पर डेट ऑफ़
बर्थ, आईडी ईमेल और यहां पर एलेस ये जो नेम है और जेंडर है, क्रिएटेड डाटा ये सब इंसर्ट हो चुका है ऑटोमेटिकली। ठीक है? तो
ये चीज़ आप लोगों ने अभी यहां पर देखी। तो ये था एक बेसिक इंसर्ट स्टेटमेंट जो कि मैंने डायरेक्टली यहां पर लिख दिया। ठीक
है? तो इंसर्ट इंटू करके आप लोग इंसर्शन कर सकते हैं। अगर आप चाहते हैं कि स्पेसिफिक कॉलम्स में इंसर्शन हो तो आप
कुछ इस तरह का काम कर सकते हैं। तो मैं एक काम करता हूं। ये जो हम सेलेक्ट स्टार कर रहे हैं इसको बाद में करता हूं। पहले
इंसर्ट हो और उसके बाद हमको टेबल दिख भी जाएगी क्या-क्या उसमें है। ठीक है? तो ये चीज़ यहां पर जरूरी है। तो अगर मैं इस इस
पूरी स्क्रिप्ट को चलाऊंगा तो सबसे पहले क्या होगा कि इंसर्शन होगा। इंसर्शन के बाद मुझे सेलेक्ट स्टार फ्रॉम यूज़र्स वाली
क्वेरी से ये भी पता चलेगा कि क्या चीज हुई है। मतलब बेसिकली मेरी टेबल कैसी दिखती है। ठीक है? तो ये भी बहुत जरूरी
है। तो अब हम यहां पर क्या करेंगे? इंसर्ट इंटू वैल्यूज़ तो हमने किया। अ इंसर्ट इंटू यूज़र्स वैल्यूज़ तो हमने किया। लेकिन हम
यहां पर क्या करेंगे? ये बताएंगे भाई क्या-क्या हम डाल लें। मान लो मैं अ नेम, ईमेल, जेंडर,
डेट ऑफ़ बर्थ, डेट ऑफ़ बर्थ और बस ये डालना चाहता हूं। ठीक है? और इसमें वैल्यूज़ डालना चाहता हूं। नेम में मान लो मैं
डालना चाहता हूं हैरी ठीक है तो हैरी और फिर इसके बाद ईमेल तो मैं यहां पर इसको चेंज करूंगा मान लो मैं हैरी डालना चाहता
हूं इस बार मैंने ईमेल मान लो हैरी 2@ cod haरीcom लिख दिया इसके बाद मान लो जेंडर मैंने यहां पर मेल लिख दिया दोबारा से और
इसके बाद डेट ऑफ़ बर्थ यहां पर मैं कट करके कोई भी एक रैंडम डेट ऑफ़ बर्थ मैं डाल देता हूं और मैं यहां पर लिखूंगा 2012 121 ठीक
है और यहां पर आपने देखा कि जो डेट ऑफ़ बर्थ थी वो मैंने यहां पर डाल दी है और बाकी चीजें मैं नहीं बताना चाहता क्योंकि
मुझे पता है कि जो क्रिएटेड एट है वह तो बाय डिफ़ॉल्ट जो है जो भी होगा वो आ जाएगा। ठीक है? तो मैं इसको रन करूंगा जैसे ही तो
आपको देखने को मिलेगा कि इंसर्शन हो चुका है और यहां पर क्रिएटेड एट जो है करंट टाइम स्टैंप आ गया है। जेंडर में जो मैंने
डाला था वो आ गया। नेम में देखो हैरी आ गया। ईमेल में देखो जो ईमेल मैंने यहां पर यूज़ किया था वो आ गया। तो इस तरह से आप
लोग चीज़ कर सकते हो। लेट मी टेल यू कि आप लोग मल्टीपल वैल्यूज़ भी इंसर्ट कर सकते हो। मान लो मैं हैरी 3 एट code wi.com
यहां पर करूं और उसी के साथ-साथ लेट्स से मैं और भी कुछ वैल्यू्यूज मैं इंसर्ट करना चाहता हूं। लेट्स से मैं इस तरह की और
वैल्यूज़ इंसर्ट करना चाहता हूं। तो मैं कुछ इस तरह के काम कर सकता हूं। ऐसे कुछ इस तरह से मैं इंसर्शंस कर सकता हूं
मल्टीपल वैल्यूज़ के। तो मुझे यहां पर कॉमा सेपरेटेड इसको इस तरह से रखना पड़ेगा। एंड में सेमी कॉललन लगाना पड़ेगा। ठीक है? तो
मान लो मैं कहता हूं कि भाई एक हैरी टू नाम का बंदा है। एक हैरी 3 नाम का बंदा है। उसकी ये ईमेल आईडी है। और इसकी ईमेल
आईडी इसको हैरी फोर कर देते हैं। इसको हैरी थ्री कर देते हैं। इसको हैरी वन 3 कर देते हैं। ठीक है? तो मतलब जो भी मैं
डालूंगा बेसिकली यू गॉट द पॉइंट। इस एक को मैं फीमेल कर रहा हूं। ठीक है? अब मुझे पता है लोग कमेंट करेंगे बैठ के। लेकिन
मैं बस कर रहा हूं। ठीक है? आपको दिखाने के लिए कि फीमेल भी कर सकते हैं। ठीक है? कमेंट मुझे पता है आएंगे। कोई बात नहीं।
15 मैं कर दूंगा यहां पर और यहां पर मैं 18 कर दूंगा और मैं जैसे इसको रन करूंगा आप लोग देखो क्या होगा जैसे मैंने इसको रन
किया देखो डेटा हमारा इंसर्ट हो चुका है ठीक है ये वाला वन 2 वाला फीमेल हो गया देखो और हैरी 3@ ऑफ़ कोड witcom ठीक है और
ये इस तरह से आप लोग एक क्वरी में मल्टीपल डेटा डाल सकते हो ठीक है टेबल के अंदर अब मैं आपको बताता हूं कि कभी भी आपको
पॉपुलेट करना है अपनी टेबल्स को डू नॉट डू इट इंडिविजुअली मैंने आपको बताया था कि एक-एक करके भी आप क्वेरीज चला सकते हैं हम
ये भी कर सकते थे कि यार हम लिखते इंसर्ट इंटू यूज़र्स और यहां पर नेम, ईमेल, जेंडर, डेट ऑफ़ बर्थ, वैल्यूज़ ये कर दिया। फिर एक
दूसरी क्वरी बना ली। उसको रन कर दिया। फिर एक दूसरी क्वेरी बना ली। इंसर्ट इंटू करके। ऐसे करते-करते हमने 50 क्वेरीज़ बना
ली। नहीं वो एफिशिएंट नहीं है। अब एक ही क्वेरी में कुछ इस तरह से मल्टीपल रोज़ इंसर्ट करो। वो ज्यादा एफिशिएंट है। अब आप
कहोगे यार हो तो जाता है। क्या दिक्कत है? ऐसे नहीं सोचना है। अगर 1 मिलीसे भी सेव कर रहे हो ना आप। अगर आप प्रोग्रामिंग कर
रहे हो। अगर आप कंप्यूटर की दुनिया में घुसे हो तो 1 मिलीसे भी बहुत होता है। ठीक है? हां मैं मिली सेकंड की बात कर रहा
हूं। एक छोटा सा सेकंड तो बहुत बड़ा होता है। बहुत बड़ा होता है प्रोग्रामिंग की दुनिया में। वो ऐड अप हो जाता है। ठीक है?
तो अगर आपकी एपीआई की एक सेकंड में रिटर्न हो रही है ना बहुत बड़ी प्रॉब्लम है। मिली सेकंड्स में रिटर्न होनी चाहिए। मैं इन
जनरल बात कर रहा हूं। इट डिपेंड्स ऑन द यूज़ केस। तीन-ती चार-चार सेकंड में भी जो क्वेरीज हैं वो रिटर्न करती हैं। जब डेटा
बढ़ जाता है और चीजें आउट ऑफ कंट्रोल होती हैं। बट मैं एक जनरल बात बता रहा हूं कि जो स्पीड होती है ना वो बहुत ज्यादाेंट
होती है। इसीलिए हम लोग इंसशन जो करते हैं वो एक क्वेरी में करने की कोशिश करेंगे। ज्यादा से ज्यादा डेटा। अब नाउ लेट मी टेल
यू समथिंग कि जितना भी मैं आप लोगों को यहां पर सिखा रहा हूं ना वो सब मैंने आपको दे रखा है ऑलरेडी एक हैंडब के फॉर्म में।
तो आपको दिक्कत बिल्कुल भी नहीं होगी। मैंने यहां पर आप लोगों को ये वाला करके दिखाया कि किस तरह से यूज़र्स आप इंसर्ट कर
सकते हैं। मैंने आप लोगों को ये बताया कि किस तरह से आप लोग यूज़र्स इंसर्ट कर सकते हैं। मैंने आप लोगों को ये भी बताया कि
स्पेसिफिक कॉलम के नाम लिख के कैसे आप लोग इंसर्ट कर सकते हैं। मैंने आपको ये भी बताया कि मल्टीपल रोज़ को कैसे इंसर्ट कर
सकते हैं। अब रिमेनिंग कॉलम्स जो है वो ऑटोमेटिकली पॉपुलेट हो जाते हैं। अगर आपने उनके कोई डिफ़ॉल्ट वैल्यू दी है या फिर
उनमें ऑटो इंक्रिमेंट दे रखा है जो कि क्या करता है? 1 2 3 4 5 6 वाली सीक्वेंस को लेकर चलता है। जैसे कि अगर आप लोग यहां
पर देखें my सीक्यूल वर्क बेंच में भी तो आप लोगों को दिखेगा आईडी देखो 1 2 3 4 5 ऑटोमेटिकली वन से स्टार्ट होती हुई चल रही
है नीचे को तो ये ऑटोमेटिकली हैंडल हो जाता है। जैसे आईडी है क्रिएटेड एट है या वो कॉलम्स हैं जिनमें आपने डिफ़ॉल्ट वैल्यू
दे रखी है। ठीक है? तो मैंने आपको बताया था इंसर्ट करो मल्टीपल रोज़ एट वंस बिकॉज़ दिस इज़ मोर एफिशिएंट देन इंसर्टिंग रोज़ वन
बाय वन। ठीक है? इट इज़ वेरी वेरीेंट। क्योंकि आप अगर इस तरह के काम नहीं कर रहे हो ना अगर आप ये सोच रहे हो कि यार चलो
ठीक है 2 सेकंड लग जाएंगे क्या करना है मुझे 1 सेकंड बचा के ये गलत थिंकिंग है चाहे आपके पर्टिकुलर यूज़ केस में वो 1
सेकंड उतना महत्वपूर्ण ना भी हो बट आपको जब सीक्वल के साथ खासकर आप काम कर रहे हो ना टाइम को लेकर बहुत ज्यादा आप लोगों को
सेंसिटिव होना है और आपको कहां पर टाइम पता चलेगा देखो यहां पर पता चल रहा है टाइम ड्यूरेशन परफेक्ट आपको पता चल रहा है
यहां पर तो इन सब चीजों को भी आप लोगों को देखना है बट एज अ बिगिनर ज्यादा टेंशन मत लो सिंपली फॉलो लॉन्ग करते रहो मैं आप
लोगों का हाथ पकड़ के पूरी सीक्वल आप लोगों को सिखाने के लिए डेडिकेटेड हूं। तो चलो यार अब फर्दर मूव करते हैं। ऑलराइट
गाइस अब मैं आप लोगों को दिखाऊंगा कि किस तरह से हम लोग एक स्टार्टर सीक्वल का उपयोग करेंगे और मैं ये जो स्टार्टर
सीक्वल वाला जो मेरा एकिस्टिंग डेटाबेस था ना इसको मैं मार रहा हूं डिलीट। अब आप कहोगे भाई डिलीट क्यों मार रहे हो? मैं
इसको डिलीट इसलिए मार रहा हूं क्योंकि मैं आप लोगों को सबसे पहले तो एक स्टार्टर सीक्वल दूंगा जो कि आप यूज़ कर पाओगे।
दूसरी बात ये ये जितना भी मैंने किया है ना अभी ये सब मैंने आप लोगों को हैंडब के अंदर डाल कर दिया हुआ है। तो आपको कोड को
लेकर तो प्रॉब्लम कभी नहीं आने वाली और अगर आप लोग डेटा साइंस कोर्स में एनरोल्ड हैं तो वहां पर आप लोग कॉपी पेस्ट भी कर
सकते हैं कोड को। तो मैं यहां पर राइट क्लिक करूंगा और ड्रॉप्स क्लिक करूंगा और ड्रॉप नाउ पर क्लिक करूंगा और ये करने से
क्या होगा कि जो मेरा स्टार्ट सीक्वल वाला डेटाबेस है वो डिलीट हो जाएगा। अब आप में से कई लोग ये सोचोगे कि भाई क्यों कर रहे
हो ऐसा? व्हाई? द रीज़न इज़ कि मैं आप लोगों को एक बहुत ही क्लीन तरीका दिखाना चाहता हूं। अगर आप लोग यहां पर फाइल पर क्लिक
करोगे और ओपन सीक्वल स्क्रिप्ट पर क्लिक करोगे तो मैंने एक 01 अंडरs क्रिएट यूजर टेबल डॉट सीक्वल नाम की फाइल बना रखी है
जो कि मैं आप लोगों को सप्लाई करूंगा विद दिस कोर्स डिस्क्रिप्शन में आपको ज़िप फाइल मिल जाएगी। वहां पर ये फाइल आपको मिल
जाएगी। इसके अंदर क्या है ना कि मैंने एक क्वेरी लिखी हुई है। सीक्वल क्वेरी लिखी हुई है। जैसे मैंने बोला है कि भाई क्रिएट
करो डेटाबेस। सबसे पहले तो स्टार्टर सीक्वल नाम का अगर वो एग्ज़िस्ट नहीं करता है। फिर उसको यूज़ करो। फिर एक टेबल बनाओ
जिसमें आप डालोगे आईडी, नेम, ईमेल, जेंडर, डेट ऑफ़ बर्थ, सैलरी, क्रिएटेड एट। यह आप स्क्रिप्ट एक बार रन कर लो। ठीक है? कैसे
करोगे? यहां क्लिक करके रन कर लोगे। आपका रिफ्रेश पर बटन पर क्लिक करने के बाद स्टार्ट सीक्वल दिखने लगेगा। ठीक है? इतना
आ गया आपको। इसको कर दो बंद। दोबारा जाओ फाइल में और आप जाओ यहां पर अ ओपन सीक्वल स्क्रिप्ट में और जो दूसरी स्क्रिप्ट है
उसको लोड कर लो। अब आप डाउनलोड करोगे तो कहीं और होगी। मेरी डॉक्यूमेंट्स में पड़ी हुई है। आपकी कहीं और होगी। ठीक है? तो
जहां पर भी है आपकी ज़ीरो टू अंडरस् डेट डॉट सीक्वल उसको लोकेट करके डबल क्लिक करके खोल लो। ये खुल जाएगी। इसमें मैंने
क्या किया हुआ है? कुछ डेटा डाला हुआ है। ठीक है? और मैं इसको जैसे ही रन करूंगा आप लोग देखो कि मेरा डेटा इंसर्ट हो जाएगा।
ये डेटा इंसर्ट हो चुका है। बस इसको बंद कर दो आप। ठीक है? अब आप जैसे ही सेलेक्ट स्टार्ट फ्रॉम यूज़र्स करोगे यूज़ स्टार्ट
सीक्वल करने के बाद। इसको रन करोगे तो आप देखो आपको कोई सैंपल डेटा मिलेगा। और ये सैंपल डेटा जरूरी इसलिए है क्योंकि मैं
नहीं चाहता कि आप एक-एक करके इनको इंसर्ट करो या फिर मैं टाइम वेस्ट करूं आपका इंसर्ट करके। मैंने आपको एक स्टार्टर
सीक्वल दे दी। कभी भी हमें कुछ करना होगा। हम चेंजज़ स्टार्टर सीक्वल में करेंगे या फिर हमको डेटा लोड करना होगा तो हम
स्टार्टर सीक्वल चला लेंगे। बढ़िया बहुत अच्छी बात है। चलो जी ये चीज़ तो हो गई। हमारे पास अभी बहुत अच्छा डेटा आ चुका है।
आरव, अनन्या, राज, स्नेहा, इनके ईमेल्स, इनका जेंडर, इनकी डेट ऑफ़ बर्थ, इनकी सैलरी, कब इनको हमने बनाया था ये सब मतलब
रिकॉर्ड बनाया था। ये सब हमको पता चल रहा है। ऑसम। तो ये हमने डेटा ऑलरेडी इंसर्ट कर लिया।
अब हम लोग मूव करेंगे कि कैसे हम लोगों को डेटा को क्वेरी करना है इस पार्ट पर। तो यहां पर आप देखो कि मैंने सेलेक्ट स्टार्ट
फ्रॉम यूज़र्स लिखा हुआ है। दिस इज़ द क्लासिकल एग्जांपल ऑफ क्वेरिंग डेटा फ्रॉम द डेटाबेस। क्योंकि ये हम कह रहे हैं कि
सारा का सारे जो रिकॉर्ड्स हैं वो यूज़र्स टेबल से निकालो। मैं स्पेसिफिक कॉलम्स के नाम भी लिख सकता हूं। जैसे कि मान लो मुझे
ये सारे नेम, ईमेल, जेंडर, डेट ऑफ़ बर्थ नहीं चाहिए। तो मैं कह सकता हूं कि सेलेक्ट नेम और जेंडर फ्रॉम यूज़र्स। जैसे
ही मैं इस क्वेरी को रन करूंगा सिर्फ नेम और जेंडर ही मुझे देखने को मिलेगा। ऑर्डर भी मैं इसका चेंज कर सकता हूं। जैसे कि
मान लो मैं चाहता हूं कि जेंडर पहले आए। नेम बाद में आए तो मैं कुछ इस तरह से कर सकता हूं। इसको मैं रन करूंगा। आप देखो
जेंडर यहां पर आ गया। नेम यहां पर आ गया। बहुत बढ़िया। अब इस तरह से हम लोग जो है कॉलम बाय कॉलम काम कर सकते हैं। बट हमारे
पास क्वेरी करने के लिए एक वेयर क्लॉज़ होता है। जहां पर हम कह सकते हैं कि यार मुझे सिर्फ ईमेल्स चाहिए। तो मैं यहां पर
लिख सकता हूं कि वेयर जेंडर = फीमेल। तो अगर मुझे सिर्फ वो डेटा देखना है जहां पर जेंडर = फीमेल है तो मैं कुछ इस तरह से
लिख सकता हूं। ठीक है? मैंने यहां पर सेलेक्ट स्टार कर दिया सो दैट इट मेक्स सम सेंस। और इसके बाद हम क्या करेंगे? इसको
जैसे ही क्वेरी को रन करेंगे आप लोग देखोगे हमको सिर्फ वो डेटा मिल गया जहां पर जेंडर इज़ फीमेल। आप इसको मेल भी कर
सकते हैं। और मेल करने के बाद आप जैसे ही इसको रन करेंगे आपको सारे मेल्स मिल जाएंगे और उनका डेटा मिल जाएगा। मैं कुछ
इस तरह से और भी क्वेरीज लिख सकता हूं। और मैं यहां पर कह सकता हूं कि यार वेयर जेंडर इज नॉट इक्वल टू मेल। और नॉट इक्वल
को आप कुछ इस तरह से लिख सकते हैं। और इसको जैसे ही आप चलाएंगे आपको फीमेल्स मिल जाएंगी सारी। और अगर आप लोग नॉट इक्वल टू
ऐसे करेंगे तो तो भी आपको फीमेल्स मिल जाएंगी सारी। ठीक है? तो मैं इसको रन करूंगा अगर तो आप देखो फीमेल्स सारी यहां
पर आ चुकी हैं। अब मैं कह सकता हूं कि भाई मुझे चाहिए सिर्फ वो लोग जिनकी डेट ऑफ़ बर्थ इज़ लेस दैन। तो मैं यहां पर लिखूंगा
डेट ऑफ़ बर्थ इज़ लेस दैन। और मैं यहां पर लिखूंगा 1995909। ठीक है? मान लो मैं ये लिखता हूं और अगर
इनमें से कोई भी ऐसी डेट होगी जो कि इससे पहले आ रही है सिर्फ वो मुझे देखने को मिलेंगे। तो देखो जितने भी लोग 99 1995 से
पहले पैदा हुए हैं वही मुझे देखने को मिलेंगे। बहुत बढ़िया। अब हम क्या करेंगे कि हम कहेंगे कि मुझे सिर्फ वो लोग चाहिए
जिनकी आईडी इज़ ग्रेटर दैन 12। तो मैं यहां पर वेयर में लिख सकता हूं। मैं इनफैक्ट एक काम करता हूं कि ना इसको कमेंट करता जाता
हूं। वैसे मैंने ये सारी चीजें आप लोगों को दे रखी हैंडब में। तो टेंशन लेने वाली कोई बात है नहीं। बट अगेन मैं इसे कॉपी
करूंगा और मैं इस बार ये कहूंगा कि जहां पर आईडी इज़ ग्रेटर दैन मान लो 10 ठीक है? आईडी इज़ ग्रेटर दैन 10 और जैसे ही मैं
इसको रन करूंगा मुझे सिर्फ वो रिकॉर्ड्स मिल जाएंगे जहां पर आईडी ग्रेटर दैन 10 है। मैं आईडी लेस दैन इक्वल टू 10 भी कर
सकता हूं। ठीक है? लेस दैन इक्वल टू भी कर सकता हूं मैं इस तरह से। और मैं जैसे इसको रन करूंगा आप लोग देखो यहां पर जहां पर भी
आईडी लेस दैन इक्वल टू 10 है वो मुझे देखने को मिल रहा है। बहुत बढ़िया। अब हम यहां पर ये भी देख सकते हैं कि कोई भी एक
पर्टिकुलर एंट्री नल है तो वो आ जाए। वैसे तो यहां पर कहीं पे भी आईडी नल हो नहीं सकती। डेट ऑफ बर्थ भी शायद नल हो नहीं
सकती। बट मुझे अपनी क्रिएट टेबल वाला स्टेटमेंट देखना पड़ेगा। आ जाओ देखते हैं ना क्या दिक्कत है। ओपन सीक्वल स्क्रिप्ट
करके हमने जो इंसर्ट डेटा और क्रिएट टेबल ओपन सीक्वल स्क्रिप्ट क्रिएट टेबल वाली स्क्रिप्ट में होगा। मुझे देखना है कि
क्या चीज क्या मैंने डेट ऑफ़ बर्थ को नल नॉट नल बनाया था? नहीं। मैंने डेट ऑफ़ बर्थ को नॉट नल नहीं बनाया था। तो डेट ऑफ़ बर्थ
नल हो सकती है। ठीक है? तो अगर मैं इंसर्ट करूं मान लो कुछ ऐसी एंट्री जहां पर डेट ऑफ़ बर्थ नल हो तो वो मुझे देखने को मिल
जाएगी। तो आप यहां पर सिंपली कुछ इस तरह से कर सकते हो कि सेलेक्ट स्टार्ट फ्रॉम यूज़र्स व्हेयर डेट ऑफ़ बर्थ
इज़ नल। कुछ इस तरह से आप लोग लिखोगे तो आपको सिर्फ वो एंट्रीज मिल जाएंगी या डेट ऑफ़ बर्थ नल है। बट हमारे पास कुछ भी ऐसा
नहीं है जहां पर डेट ऑफ़ बर्थ नल है। तो कोई भी एंट्री मुझे देखने को नहीं मिली। आप इज़ नॉट नल भी कर सकते हो। तो आपको सारी
की सारी एंट्रीज देखने को मिलेंगी। आप देख सकते हो यहां पर। तो इज नल इज नॉट नल। इसके बाद बिटवीन का इस्तेमाल आप लोग कर
सकते हो। जैसे मान लो आप चाहते हो डेट ऑफ बर्थ बिटवीन हो अ जनवरी 2000 से लेकर लेट्स से अ जनवरी 2001। ठीक है? देखिए मैं
यहां पर एक काम करता हूं। मैं यहां पर लिखता हूं डेट ऑफ़ बर्थ बिटवीन और मैं यहां पर लिख दूंगा 1990। क्या लिखूं? 0909 लिख
देता हूं। और मैं लिख दूंगा एंड और मैं यहां पर लिख दूंगा 1999 और 0909 तो इनके बीच में और डैश लगाना
पड़ेगा यहां पर। ठीक है? तो इन दोनों डेट्स के बीच में अगर कोई भी ऐसा यूजर होगा जिसकी डेट ऑफ़ बर्थ आ रही है तो वो
मुझे मिल जाएगा। तो मैं रन करूंगा तो ये वो सारे यूज़र्स आ गए जिनकी डेट ऑफ़ बर्थ इन दो डेट रेंजेस के बीच में आ रही है। ठीक
है? तो यह बिटवीन का इस्तेमाल हो गया। इसके बाद इन का इस्तेमाल इन का इस्तेमाल करते हैं। मान लो मैं चाहता हूं कि मुझे
सिर्फ वह यूज़र्स मिले जिनकी सैलरी या तो लेट्स से 57,000 है। ठीक है? तो मैं यहां पर लिखूंगा वेयर सैलरी और मैं लिख दूंगा
सैलरी और मैं लिख दूंगा यहां पर या फिर मैं एक काम करता हूं। मैं ये चीज़ जेंडर से समझाता हूं। वेयर जेंडर इन जेंडर इन और
मैं यहां पर वैल्यू्यूज दे दूंगा। मैं कहूंगा या तो भाई मेल हो या फीमेल हो। फीमेल हो। ठीक है? कुछ इस तरह से। और अगर
मैं आप लोगों को अपना स्कीमा दिखाऊं तो आप यहां पर देख सकते हो कि जो जेंडर है वो मेल, फीमेल अदर तीनों हो सकता है। ठीक है?
और यहां पर आप देखो जैसे ही मैं इसको रन करूंगा तो मुझे वो सारे यूज़र्स मिल जाएंगे जिनका जेंडर या तो मेल है या फीमेल है।
ठीक है? और भी आप ये और वैल्यूज़ के लिए भी ट्राई कर सकते हो। मतलब और कॉलम्स के लिए कि भाई अगर आपके पास कोई ऐसा कॉलम है
जिनमें वैल्यूज़ हैं। तो आप ये कह सकते हो कि भाई इन वैल्यू्यूज में से अगर है वो वैल्यू तो मुझे शो कर दो। इसका एक बहुत
अच्छा एग्जांपल मैं आप लोगों को देता हूं। मान लो आप अपने प्लेटफार्म पे यूज़र्स को बैन कर रहे हो। अब आप उनको बैन कर रहे हो।
लेट अस से फॉर डिफरेंट रीज़ंस। मान लो कोई स्पैमिंग कर रहा है। उसको स्पैम बैन दे रहे हो आप। ठीक है? तो आप एक रीज़न कॉलम रख
सकते हो कि वो एक्सेस क्यों नहीं कर सकता? एक्सेस अंडरस्कोर नॉट अंडरस्कोर रीज़न मान लो आपने कॉलम बना रखा है। उसमें आपने मान
लो किसी को 2 दिन के लिए बैन किया है। किसी को आपने बैन किया है। स्पैम रीज़ंस की वजह से। किसी को आपने बैन इसलिए किया है
क्योंकि लेट्स से उसका पेमेंट ओवरड्यू है या फिर आपने किसी को बैन इसलिए किया है क्योंकि उसने मल्टीपल अकाउंट्स बनाकर
स्पैमिंग करी है। बहुत सारे रीज़ंस हो सकते हैं। ठीक है? तो वो सारे रीज़ंस में से कुछ रीज़ंस आप सेलेक्ट करके कुछ इस तरह से
इनमरेट कर सकते हो। और आप कह सकते हो मुझे वो यूज़र्स चाहिए जो कि बैन हुए हैं इन रीज़ंस से। तो वो जो आपके गिवन रीज़ंस हैं
उनकी वजह से बैन हुए हुए यूज़र्स आपको दिख जाएंगे। यू गॉट द पॉइंट। ठीक है? तो बेसिकली ये क्वेरी क्या कर रही है? ये कह
रही है कि भाई वो सारे यूज़र्स ले लो जहां पर जेंडर की वैल्यू या तो मेल है या फीमेल है। ठीक है? तो अगर आपके पसंद की वैल्यूज़
में से है वो वैल्यू तो वो यहां पर शो करेगी। यहां पर अगर वो नहीं है इनमें से वैल्यू तो वो शो नहीं करेगी। यानी कि वो
पूरा रो शो नहीं होगा। अब इसके बाद हम एंड और को देखते हैं। ठीक है? एंड का मतलब होता है ये और ये मतलब हिंदी वाला और और
का मतलब होता है यहां। ठीक है? तो ये तो आपको पता ही होगा। एंड और तो पता ही होगा क्या होता है। तो मैं यहां पर एक क्वेरी
लिख रहा हूं बड़ी सिंपल सी और मैं यहां पर कहूंगा सेलेक्ट और मैं लिखूंगा स्टार फ्रॉम और मैं लिखूंगा यूज़र्स और मैं यहां
पर लिखूंगा वेयर और मैं लिखूंगा देखो भाई जेंडर तो हो फीमेल ठीक है जेंडर हो फीमेल एंड सैलरी कितनी हो सैलरी हो भाई ग्रेटर
देन कितनी रखें कितनी रखें 70 रखते हैं चलो तो मैं चाहता हूं मुझे सिर्फ वो वाली फीमेल्स चाहिए जिनकी सैलरी 70000 से
ज्यादा है तो मैं इतना करूंगा तो मैं कहूंगा जेंडर फीमेल हो सैलरी ग्रेटर दैन 70,000 हो और जैसे ही इसको चलाऊंगा ना आप
देखो वो सारी लड़कियां आ जाएंगी जिनकी सैलरी 70 से ज्यादा है। अब मान लो मैं कहता हूं कि भाई मुझे वो सारे मेल्स चाहिए
जिनकी सैलरी 70 से ज्यादा है। आप देखो वो सारे लड़के आ गए। चौंकने की बात ये है दो ही लड़के हैं सिर्फ। ठीक है? बट अगर मैं
लेस दैन कर दूं इसको तो शायद थोड़े ज्यादा लड़के हमें देखने को मिलेंगे। तो देखो कम पैसा कमाने वाले बहुत सारे लड़के हैं।
ज्यादा पैसा कमाने वाले कम लड़के हैं। इसलिए पैसे कमाओ दोस्तों। ठीक है? तो यहां पर हम क्या करेंगे कि एंड के साथ-साथ और
को भी अब देखेंगे। तो मैं इसको सबसे पहले कमेंट आउट कर देता हूं। और कमेंट आउट करने के बाद
मैं क्या करूंगा? लिखूंगा सेलेक्ट स्टार फ्रॉम यूज़र्स वेयर जेंडर इज़ मेल। और मैं यहां पर कहूंगा और या तो भाई मेल हो या तो
वो मेल हो। बहुत ही अटपटी सी बात है यार। बट या तो मेल हो या सैलरी 60 से ज्यादा हो। ठीक है? 60,000 से ज्यादा हो। अब बहुत
अजीब सी बात है। यह मुझे पता है। बट अगेन अब देखो यह सेलेक्ट हुआ है क्योंकि यह मेल है। मेल है। यह फीमेल है। सेलेक्ट हो गई
क्योंकि इसकी सैलरी 60 से ज्यादा है। इसको 65 कर देता हूं। चीजों को रोमांचक बनाने के लिए इसको 65 कर देता हूं। अब आप देखो
65,000 से ज्यादा कमाने वाली फीमेल्स ही दिखेंगी। बाकी मेल्स इसलिए सेलेक्ट हुए क्योंकि यह वाली कंडीशन को सेटिस्फाई कर
रहे हैं। मतलब यह 100 बात की एक बात यहां पर यह है कि आपको ये क्वेरी वो रोज़ रिटर्न करके देगी जहां पर आइदर जेंडर इज़ मेल और
सैलरी इज़ ग्रेटर दैन 65,000। तो इन दोनों में से कोई भी एक कंडीशन अगर सेटिस्फाई हो रही है, तो आपको यहां पर रो देखने को
मिलेगी। वरना आपको यहां पर रो देखने को नहीं मिलेगी। एज़ सिंपल एज़ दैट। सो, दिस वाज़ एंड एंड ऑर। अब हम क्या कर सकते हैं।
अब देखो यहां पर यह आईडी के हिसाब से ऑर्डर्ड है। मैं इनको डेट ऑफ़ बर्थ के हिसाब से ऑर्डर कर सकता हूं। तो अगर मैं
यहां पर लिख दूं अपनी क्वेरी के बाद ऑर्डर बाय और मैं लिख दूं डेट ऑफ़ बर्थ और मैं लिख दूं एएससी और मैं इसको रन करूं तो आप
देखो यहां पर असेंडिंग ऑर्डर में डेट ऑफ़ बर्थ से ये लोग लग गए। अगर मैं यहां पर लिख दूं डीईएस तो ये डिसेंडिंग ऑर्डर में
लग जाएंगे। डेट ऑफ़ बर्थ डीएससी मैंने लिखा। तो देखो सबसे यंग जो बंदा ईशान है वो यहां पर आ गया सबसे ऊपर और सबसे बड़ा
बड़ी जो है वो लता है। तो लता सबसे नीचे आ गई हैं। ठीक है? तो इस तरह से आप लोग ऑर्डर बाय का इस्तेमाल कर सकते हैं। अब
बात करते हैं लिमिट की। लिमिट क्या करता है? मैं चाहता हूं सर मुझे टॉप पांच रोज़ चाहिए। तो मैं लिख दूंगा यहां पर लिमिट
फाइव। लिमिट फाइव लिख दूंगा और मुझे पांच रोज़ मिलेंगी। लिमिट 15 लिखूंगा तो 15 रोज़ मिलेंगी। ठीक है? तो टॉप फाइव रोज़ मुझे
देखने को मिल गई। इसी के साथ-साथ मैं यहां पर लिमिट 10 कर सकता हूं। मैं यहां से ये ऑर्डर बाय हटा सकता हूं। जरूरी नहीं है
मुझे ऑर्डर बाय डी एस लिखना है तभी लिमिट काम करेगा। नहीं लिमिट ऐसे भी काम करेगा। तो मैं इसको ऐसे चलाऊंगा तो भी काम करेगा
लिमिट। ठीक है? बट मैं ऑर्डर बाय भी अगर यहां पर लगा दूं तो भी कोई दिक्कत नहीं है। आई होप आई होप कि आपको समझ में आया कि
किस तरह से क्वेरी करनी है। एंड इफ यू आर ओवरवेलम्ड, इफ यू आर ओवरवेलम्ड। लेट मी टेल यू कि आप लोग रिवाइज कर सकते हो। कुछ
इस तरह से। यहां पर मैंने आप लोगों के लिए एक पीडीएफ बना रखी है। उसको यूज़ करके आप लोग रिवाइज कर सकते हो। और यह जो लर्निंग
एक्सपीरियंस मैं आप लोगों के लिए लेकर आता हूं दैट दैट्स द यूएसपी ऑफ़ दिस एंटायर वीडियो ओवर कोर्स एंड सेम थिंग इज़
इंप्लीमेंटेड इन द डेटा साइंस कोर्स एज़ वेल। अगर आप लोग डेटा साइंस कोर्स में एनरोल करते हो ना तो वही चीज़ आप लोगों को
देखने को मिलेगी। इसमें भी सीक्वल का सेक्शन है। बट मैंने बाकी चीजें भी आप लोगों को जॉब रेडी डेटा साइंटिस्ट बनाने
के लिए बताई हुई है। तो मैं आप लोगों को बस ये बताना चाहता हूं कि अगर आप लोग जॉब रेडी डेटा साइंटिस्ट बनना चाहते हैं तो
मैंने अपनी हर्ट एंड सोल लगा के कोर्स बनाया है। डिस्क्रिप्शन में दिए हुए लिंक से आप लोग एनरोल कर सकते हो। कमिंग बैक टू
सीक्वल। मैंने आपके लिए कुछ क्विक क्विज क्वेश्चंस रखे हुए हैं। तो आपको बताना है कि ये क्वेरी क्या करेगी? ठीक है? आप
लोगों को बताना है। एंड मुझे अच्छा लगेगा अगर आप लोग कमेंट सेक्शन में बताओगे 1 2 3 करके। टाइम स्टैंप लगा देना वीडियो का वन
टू थ्री करके मुझे बताओ। ये क्वेरी क्या करेगी? ये क्वेरी क्या करेगी? और ये क्वेरी क्या करेगी? मुझे बताओ। ठीक है? और
इन तीनों में से क्या कोई क्वेरी गलत है? अगर कोई क्वेरी गलत है तो भी बताओ कि भाई ये वाली क्वेरी गलत है या कुछ नहीं करेगी।
ये हमें कंफ्यूज किया जा रहा है या फिर यह क्वेरी यह करेगी और पीडीएफ वगैरह आप लोग को मिल जाएंगी। आप उसकी टेंशन बिल्कुल मत
लेना। सो गाइज़ अब एक स्टेप बैक लेते हैं और ये देखते हैं कि हमारा डेटा अभी किस तरह से
दिखाई दे रहा है। तो मैं क्या करूंगा? अपनी स्टार्टर सीक्वल के अंदर यहां सिंपली लिखूंगा
सेलेक्ट स्टार फ्रॉम और लिख दूंगा यूज़र्स। ठीक है? और मैं इसको रन करूंगा। और जैसे ही मैं इसको रन करूंगा आप लोग देखो यहां
पर मेरा डेटा कुछ इस तरह से दिख रहा है। मुझे करना है अपने डेटा को अपडेट। तो मैं क्या करूंगा? इसको अपडेट करने के लिए कुछ
इस तरह का सिंटेक्स इस्तेमाल करूंगा। तो सिंटेक्स होता है अपडेट टेबल का जो भी नेम है वो और उसके बाद आप सेट कर सकते हो किसी
भी एक पर्टिकुलर कॉलम की एक पर्टिकुलर वैल्यू। अब यहां पर अगर मैं लिख देता हूं जेंडर। अब मैं जेंडर चेंज नहीं करना
चाहता। मैं एक काम करता हूं। यहां पर सैलरी चेंज करता हूं। मैं लिखता हूं सैलरी इज़ इक्वल टू लेट अस से 45,000। अगर मैंने
क्वेरी चला दी ना तो सबकी सैलरी 45,000 हो जाएगी व्हिच आई आइडियली डोंट वांट। क्योंकि इस तरह की क्वरी चलाने का मतलब
पूरे डेटा को मैस करना। इसीलिए हम वेयर कंडीशन के साथ इसको चलाते हैं। तो आप यहां पे लिखोगे वेयर और आप यहां पर एक
पर्टिकुलर नेम या एक पर्टिकुलर सीरियल नंबर को टारगेट करोगे। तो मैं कुछ इस तरह से कर दूंगा। मैं आईडी = 1 तो मैं आरव की
सैलरी। मुझे लगता है आरव को कुछ ज्यादा ही पैसे मिल रहे हैं। ₹65,000 मिल रहे हैं। मुझे लगता है ₹45,000 मिलने चाहिए। तो मैं
आरव की सैलरी को कम कर दूंगा। ठीक है? ठीक है? तो मैं इसको जैसे ही रन करूंगा। आप देखो आरव की सैलरी अभी 65,000 यहां पर है।
बट मैं यहां पर इसको जैसे ही क्वेरी को रन करूंगा आप देखो आरव की सैलरी 45,000 हो गई। ठीक है? ऊप्स मैंने क्या किया? मुझे
आईडी के हिसाब से सॉर्ट करना है। और इसके बाद आप देखो आरव की सैलरी 45,000 आपको देखने को मिल रही है। तो ऐसा क्यों हुआ?
क्योंकि मैंने अपडेट स्टेटमेंट चलाया। क्या यही सिंटेक्स है अपडेट का जो कि हम यूज़ कर सकते हैं। तो इसका आंसर है यस
देयर आर मोर वेरिएशंस जिसके बारे में हम लोग बात करेंगे और वो वेरिएशंस ये है कि आप सिर्फ एक पर्टिकुलर वैल्यू नहीं
मल्टीपल वैल्यूज़ को चेंज कर सकते हो। जैसे मान लो मैं जो ईमेल है आरव का मान लो आरव ने एक अपना डोमेन खरीद लिया rv@ rv.com अब
वो कहता है कि भाई मेरी जो ईमेल है ना उसको rv rav.com कर दो क्योंकि अब मैं एग्जांपल.com डोमेन से बाहर आ चुका हूं और
मैंने एक अपना rv.com डोमेन खरीद लिया। तो मैं ये वाला जो अपडेट स्टेटमेंट है वो चला दूंगा। ये जो मैंने अभी सेलेक्ट किया है।
और जैसे ही मैं इस क्वेरी को चलाऊंगा मुझे स्क्रिप्ट कहना चाहिए। क्वेरी नहीं क्योंकि ये मल्टीपल क्वेरीज़ हैं। एक
स्क्रिप्ट में तीन लाइंस हैं जो कि एग्जीक्यूट हो रही हैं। आप यहां देख सकते हो। और आपको यह भी पता चलेगा कि कितनी रोज़
अफेक्ट हो रही हैं। तो, यह जो अपडेट वाली क्वेरी हमारी चली है, आप नीचे देखो। यहां पर लिखकर आ रहा है वन रोज़ अफेक्टेड। तो,
इसने सिर्फ एक रो को चेंज किया। बट आपकी क्वेरीज़ मल्टीपल रोज़ को भी चेंज कर सकती हैं। तो, इस बात का भी आप लोगों को ध्यान
देना है। अब मैं आपको एक बात बताना चाहता हूं कि आप बिना वेयर क्लॉज़ के भी इसको चला सकते हो। आई डू नॉट रिकमेंड दैट। आप बिना
वेयर क्लॉज़ के अगर चलाओगे तो सब वैल्यूज़ चेंज हो जाएंगी। आपके डेटा पूरा आपका मैस अप हो जाएगा। मैं नहीं चाहता ऐसा हो। अभी
जो भी बात मैंने आप लोगों को बताई वो मैंने एक हैंडब के अंदर आप लोगों को दे रखी है। तो वो आप लोगों को मिल जाएगी
डिस्क्रिप्शन में। उसकी चिंता आपको बिल्कुल नहीं करनी है। अब यहां पर आप देखो मैंने कुछ क्वेश्चंस आप लोगों को दिए हैं।
आपको आईडी = 5 वाले यूजर की सैलरी को 70,000 करना है। आ जाओ कैसे करोगे? आप यहां पर सैलरी 70,000 कर दोगे और आप कहोगे
मेरा आईडी = 5। ठीक है? और ईमेल आप चेंज नहीं करना चाहते तो आप यहां पर लिख दोगे आईडी = 5 और यह ईजीली आपकी आईडी = 5 जो कि
फरहान है उसकी सैलरी को 70,000 कर देगा। एज सिंपल एज दैट बिल्कुल सिंपल एंड स्ट्रेट फॉरवर्ड चीज है। इसके बाद मैंने
कुछ और प्रैक्टिस प्रॉब्लम्स आप लोगों को दिए हुए हैं। उनको भी आप सॉल्व करने का ट्राई करो। जहां पर आशा example.com ईमेल
है। वहां पर आप लोगों को नाम को आयशा खान करना है। तो कैसे करोगे? आओ मैं आपको बताता हूं। तो मैं इसको सबसे पहले तो कॉपी
करता हूं और कमेंट भी कर देता हूं। हूं क्योंकि मैं एक नई क्वेरी लिखता हूं यहां पर और मैं लिखूंगा वेयर ईमेल इज़ इक्वल टू
और मैं लिखूंगा आयशा ए वाई ई एस एच एट example.com ए वाई है या एआई है ए आई है तो मैं यहां पर ए आई एसए करूंगा आयशा एट
एग्जांपल और हमें करना क्या है आयशा के साथ हमें उसकी नाम को आयशा खान करना है ठीक है तो यहां पर हम लिखेंगे नेम इक्वल
टू आयशा खान कुछ इस तरह से नेम इक्वल टू आयशा खान तो जहां पर नाम उसका पहले आयशा था अब आयशा खान उसका नाम हो चुका है ठीक
है तो मैं इसको जैसे जैसे ही रन करूंगा आप लोग देखो यहां पर आयशा खान कहां गई आयशा आयशा कहां गई ये देखो ये आ गया आयशा खान
ठीक है तो जहां पर आयशा एट examplecom था ईमेल वहां आयशा खान हो चुका है अच्छा अगर मल्टीपल जगह पर आयशा एट examplecom हुआ
ईमेल तो क्या करेंगे तो उसका जवाब मेरे पास आप लोगों के लिए यहां पर है क्रिएट यूजर टेबल में मैंने यहां पर ये लाइन लिखी
हुई है कंस्ट्रेंट यहां पर आपको लिखा हुआ दिख रहा होगा यूनिक नॉट नल यानी कि दो रोज़ का सेम ईमेल हो ही नहीं सकता जब मैंने
ऑलरेडी वो चीज स्कीमा में इनफोर्स कर दी है। तो यह तो पॉसिबिलिटी खत्म हो जाती है ना कि दो लोगों का ईमेल सेम हो। और यहां
पर आप लोगों को यह भी पता चल गया कि इस तरह के कंस्ट्रेंट लगा के किस तरह की टेंशनंस अवॉयड हो जाती हैं बाद में। और यह
आप लोगों ने देख लिया। अगला क्वेश्चन हमारा कहता है इनक्रीस सैलरी बाय 10,000 फॉर ऑल यूज़र्स हुस सैलरी इज़ लेस देन
60,000। तो यह यहां पर एक बहुत इंटरेस्टिंग क्वेश्चन है और मैं आप लोगों को बोलूंगा कि आप खुद से ट्राई करने की
कोशिश करो इसको और फिर उसके बाद हम सॉल्व करेंगे। आप चाहो तो पॉज कर सकते हो और इस क्वेश्चन को खुद से ट्राई कर सकते हो। मैं
इसका आंसर छुपा लेता हूं इस तरह से। इनक्रीस सैलरी बाय 10,000 जिनकी भी सैलरी लेस देन क्या है? 60,000 है। तो मैं यहां
पर सबसे पहले तो कंडीशन में सैलरी लेस दैन 6,000 डाल दूंगा। तो ये तो आपको पता है और इसके बाद हम लोग यहां पर लिखेंगे सेट
सैलरी इक्वल टू सैलरी + 10 और यहां पर आप देखो जैसे ही मैं इस क्वेरी को रन करूंगा हम यहां पर 10 वाले की देखेंगे ईशान की
सैलरी देखेंगे हो जानी चाहिए 55000 ठीक है तो रन करते हैं इसको और जैसे ही मैं इसको रन करूंगा आप देखो यहां पर ईशान की सैलरी
हो गई है 55000 ठीक है और यहां पर देखो इसने यह भी मुझे बताया है कि भाई कितने आपकी रोज़ अफेक्ट हुई है तो 10 रोज़
अफेक्टेड मतलब कि 10 ऐसे लोग थे जिनकी सैलरी 60,000 से कम थी और इस वजह से उनकी सैलरी 10,000 से बढ़ा दी गई है। तो काफी
बढ़िया हुआ यह। ठीक है? हमने इस क्वेश्चन को सॉल्व कर लिया। तो ए सिंपल एज इट। आप इस तरह से कर सकते हो। सेट सैलरी इक्वल टू
सैलरी प्लस 10,000 और ये इजीली आप लोग कर लोगे। अब यहां पर अगर आप जेंडर ऑफ यूजर ईशान टू अदर ये आप कुछ इस तरह से कर सकते
हो। ठीक है? रिसेट सैलरी ऑफ़ ऑल यूज़र्स टू 50,000 और एक बात मैं बता दूं ये क्वेरी मैं रन नहीं करूंगा क्योंकि ये सारी रोज़
को अफेक्ट करेगा। अगर आपने बिना वेयर के कोई भी क्वेरी चला दी तो अपडेट्स पूरे के पूरे टेबल में हो जाएंगे और ऐसा आप शायद
कभी नहीं चाहेंगे। तो इसलिए बिना वेयर के चलाओ ही मत। मत चलाओ बिना वेयर के क्वेरीज। प्रोडक्शन में शायद ही आपको कभी
बिना वेयर के चलानी पड़े। मैं यह नहीं कह रहा हूं कभी नहीं चलानी पड़ेगी। मैं बस यह कह रहा हूं कि शायद ही आपको चलानी पड़े
बिना वेयर के अपनी क्वेरीज। सो आई होप कि आप लोग एंजॉय कर रहे हैं सो फार और आप लोगों को मजा आ रहा है सीक्वल सीखने में।
अब हम लोग बात करेंगे डिलीशन की कि कैसे आप लोग सीक्वल में डिलीट कर सकते हैं। मैं आप लोगों को एक बात बोलना चाहूंगा और वो
यह है कि जिस तरह से अपडेट करते हैं उसी तरह से डिलीट करते हैं। अब आप बोलोगे ये क्या बात हुई? ये बात बिल्कुल एग्जैक्टली
आपको समझ में आने वाली है सिंटेक्स को देखकर। तो जिस तरह से हमने अपडेट किया है और मैं यहां पर अपडेट के सिंटेक्स को एकदम
इंटैक्ट रखूंगा। कमेंट आउट करूंगा सिर्फ और ये जो हमारा सेलेक्ट स्टार वाला सिंटेक्स है इसको तो हमें रखना ही है।
इससे पहले मैं क्या करूंगा? डिलीट करूंगा। तो सिंटेक्स एकदम स्ट्रेट फॉरवर्ड है और आपको सिंपली करना क्या है? आपको कहना है
भाई डिलीट फ्रॉम यूज़र्स मतलब जो भी टेबल का नाम है और आप इसके बाद लिखेंगे वेयर और अपनी कंडीशन को लिख दें। जैसे कि मान लो
मैं चाहता हूं कि उन सारे लोगों को डिलीट करो जिनकी सैलरी इज लेस देन 55,000। ठीक है? और मैं बता रहा हूं कि काफी
डिस्ट्रक्शन होने वाला है डेटाबेस में। मतलब कि काफी चीजें डिलीट होने वाली है। और मैं एक काम करता हूं इसको 59 कर देता
हूं। या लेट्स डू इट 65। मुझे पता है काफी हमारी रोज़ डिलीट होने वाली हैं। तो हमको नहीं देखने को मिलेगी स्नेहा। हमें नहीं
देखने को मिलेगा कौन? और कौन नहीं देखने को मिलेगा हमें? हमें ईशान देखने को नहीं मिलेगा। तो स्नेहा और ईशान हमें देखने को
नहीं मिलेंगे। जैसे ये क्वेरी चलेगी। लेट्स गो। और यहां पर आप देख सकते हो स्नेहा भी गायब ईशान भी गायब क्योंकि उनकी
सैलरी वाज़ लेस देन 65,000। तो कुछ इस तरह से आप लोग डिलीट कर सकते हो। आप यहां पर एक पर्टिकुलर आईडी देकर डिलीट कर सकते हो।
जैसे मान लो मैं चाहता हूं राज को डिलीट करो। तो मैं कहूंगा वेयर आईडी = 3 तो आईडी = 3 करने से राज डिलीट हो जाएगा और जैसे
ही मैं इसको रन करूंगा राज गायब हो चुका है जैसे कि आप देख सकते हो और यहां पर अगर मैं सिर्फ डिलीट फ्रॉम यूज़र्स चला दूं ना
तो पूरी की पूरी यूजर टेबल खाली हो जाएगी। नॉट एट ऑल रेकमेंडेड नॉट एट ऑल रेकमेंडेड। आपको हमेशा बिल्कुल फोकस करके डिलीट करना
है। व्हेन आई मैंने से फोकस करके डिलीट करना है। आपको स्पेसिफिक वेयर कंडीशन लगानी है और उसके बाद जो वेयर कंडीशन से
मैच होने वाली रोज़ हैं वो ऑटोमेटिकली डिलीट होंगी आपकी क्वेरी से। तो आप ये मत सोचना कि यार मेरी टेबल में तो सारे के
सारे जो मेल्स हैं उनकी सैलरी लेस दैन 60 है। नहीं आप दोनों कंडीशंस लिखो। और आप दोनों कंडीशंस लिखोगे तब जाके आपका जो
डिलीशन है वो सही से होगा। एंड अगेन आप लोग यहां पर वो सारे ऑपरेटर्स इस्तेमाल कर सकते हो जो कि मैंने आपको क्वेरिंग में
बताए थे। तो उनको आप लोग ट्राई करके देखना। मैं फॉर द सेक ऑफ टाइम नहीं कर रहा हूं उन सब चीजों को बार-बार। जैसे कि
मैंने आप लोगों को बताया था कि आप लॉजिकल ऑपरेटर्स यूज़ कर सकते हो एंड और यूज़ कर सकते हो। तो वो सारे यूज़ करके देखो आप लोग
यहां पर। ठीक है? तो डिलीट इज़ एग्जैक्टली सिमिलर टू अपडेट। ठीक है? और मैं इसमें डिलीट में बहुत ज्यादा टाइम लेना नहीं
चाहता। टू बी ऑनेस्ट। तो मैं आप लोगों को अभी यह बताता हूं कि अगर आपको टेबल ही ड्रॉप करनी है तो कैसे करोगे। तो आप यहां
पर लिख दोगे ड्रॉप और फिर उसके बाद आप लिखोगे टेबल और आप लोग लिख दोगे टेबल का नाम जो कि यूज़र्स है। ठीक है? और मैं इसको
जैसे ही रन करूंगा और मैं इसको जैसे ही रन करूंगा हमारी टेबल ही गायब हो जाएगी। और आप देखो यहां पर ये कह रहा है कि भाई ये
टेबल है ही नहीं। तो आप क्या चाहते हो? ठीक है? तो इस तरह से आप डिलीट कर सकते हो अपनी सीक्वल टेबल्स के अंदर से या फिर आप
अपनी सीक्वल टेबल को ही ऑल टुगेदर ड्रॉप कर सकते हो। अब मैं आप लोगों को दिखाना चाहता हूं कि मैंने आप लोगों के लिए जो
हैंडबक बनाई है जो कि आपको मिलने वाली है उसमें मैंने सब कुछ लिखा हुआ है और मैंने आप लोगों के लिए एक क्विक क्विज भी दे रखी
है। अब यहां पर मैंने कुछ बेस्ट प्रैक्टिससेस की बात की है। पहली बेस्ट प्रैक्टिस जिसकी बात मैंने की है वो है
ऑलवेज यूज़ वेयर अनलेस यू आर इंटेंशनली अपडेटिंग डिलीटिंग एवरीथिंग। तो अगर आप इंटेंशनली टेबल खाली नहीं कर रहे हो जो कि
आपको करनी भी नहीं चाहिए तो आप वेयर कंडीशन का इस्तेमाल करो। प्रोडक्शन में ऐसे बहुत कम आप लोगों को अपॉर्चुनिटीज
मिलेंगी। और जहां आपको लगता है कि यार हां मुझे पूरी टेबल खाली करनी चाहिए। ठीक है? बट अगेन यू कैन डू इट बट यू शुड नॉट डू
इट। अगर आपको पूरी टेबल खाली करनी है तभी आप करोगे बिना वेयर के डिलीट क्वरी का इस्तेमाल। कंसीडर रनिंग अ सेलेक्ट विद द
सेम वेयर क्लॉज़ फर्स्ट टू कंफर्म व्हाट विल बी अफेक्टेड। और यह है कोड विद हेरी स्पेशल टिप। अब मैं आप लोगों को बताता
हूं। यह मेरे साथ हो चुका है कई बार कि मैंने क्वेरी चलाई। डिलीशन क्वेरी चलाई और उसके बाद मैंने देखा ओ माय गॉड मैंने क्या
डिलीट कर दिया। तो कभी भी मैं डेटाबेस के साथ काम करता हूं तो मैं सबसे पहले तो लेता हूं पूरा बैकअप। पूरे डेटाबेस का
बैकअप ले लो। एंड व्हेन आई से पूरे डेटाबेस का बैकअप एकदम पूरे डेटाबेस की सारी टेबल्स का बैकअप। पोस्ट ग्रेस में वो
अलग से होता है। आपके माय सीक्वल में उसका तरीका अलग होता है। ये सब तरीके अलग-अलग होते हैं। आपके सिस्टम में हो। जैसे कि
अगर आप Python से कनेक्ट कर रहे हो My सीकल को तो उसके तरीके अलग होते हैं। ये चीज और उससे भी पहली स्टेप ज़ीरो मैं
कहूंगा कि आप एक ऐसा टाइम चूज़ करो जहां पर आपके यूज़र्स बिल्कुल भी एक्टिव नहीं है। मेरे लिए वो चीज होती है रात के 2:00 बजे।
तो हां मैं टाइम निकालता हूं। रात के 2:00 बजे जगता हूं। मुझे कुछ अगर क्रिटिकल काम करना है, मुझे कोई ऐसा काम करना है कि हां
भाई इसके कॉन्सिक्वेंसेस थोड़े खतरनाक हो सकते हैं। तो मैं सबसे पहले तो कोशिश ये करूंगा कि कुछ भी गलत ना हो। रात के 2:00
बजे बैठूंगा। क्वेरीज को सबसे पहले एनालाइज़ करूंगा, देखूंगा, समझूंगा। सबसे पहले मैं क्या करूंगा कि सेलेक्ट क्वेरी
चलाऊंगा। डिलीट नहीं चलाऊंगा, सेलेक्ट चलाऊंगा। फिर मुझे वह सारे के सारे डिलीट होने वाले रिकॉर्ड्स दिख जाएंगे कि हां यह
वह रिकॉर्ड्स हैं जो कि डिलीट होने वाले हैं। और एक बार मुझे वह रिकॉर्ड्स दिख गए उसके बाद ही मैं डिलीट चलाऊंगा। और इससे
क्या होगा कि मैं एक्सीडेंटली कुछ ऐसी चीज डिलीट नहीं करूंगा जो कि मैं डिलीट नहीं करना चाहता था। आई होप कि आप समझ रहे हैं
मैं किस बारे में बात कर रहा हूं। ऐसा क्यों करना है और ये आप लोग जब इंप्लीमेंट करोगे ना तब आपको पता चलेगा इस ट्रिक की
वैल्यू। ठीक है? और ये वाली बात भी मैंने लिखी है इसीलिए लिखी। ऑलवेज बैक अपॉर्टेंट डेटा फॉर परफॉर्मिंग डिस्ट्रक्टिव
ऑपरेशंस। एक पूरे डेटाबेस का ही ले लो ना बैकअप। लेट मी टेल यू बड़ी से बड़ी एप्लीकेशनेशंस के भी जो डेटाबेस का साइज
होता है वो 250 MB 1GB मैक्सिमम 1 GB इज़ अ लॉट ऑफ़ डेटा। लॉट ऑफ डेटा अंटिल अनलेस आप ब्लब्स वगैरह नहीं डाल रहे हो। व्हिच इज़ द
फाइल जो कि डालना भी नहीं चाहिए आपको। अगर सिर्फ टेक्स्चुअल डेटा है 1GB इज़ अ लॉट ऑफ़ डेटा। हार्डली 100 200 300 MB का डेटा
आपको देखने को मिलेगा। अब हां मुझे पता है एप्लीकेशन पे डिपेंड करता है कितनी बड़ी एप्लीकेशन है क्या आपका स्केल है उस पे
डिपेंड करता है डेटा का साइज बट मैं आपको एक आईडिया दे रहा हूं ठीक है अब यहां पर एक क्विक क्विज कि आप इन क्वेरीज को रन
करेंगे तो क्या होगा बताओ डिलीट फ्रॉम यूज़र्स वेयर सैलरी इज़ लेस दैन 50000 और डिलीट फ्रॉम यूज़र्स वेयर सैलरी इज़ नल आपको
नीचे कमेंट करके बताना है टाइम स्टैंप के साथ तो आपके पास टाइम स्टैंप है आप लोग मुझे नीचे कमेंट सेक्शन करके कमेंट सेक्शन
में लिख कर बताओ ठीक है आई होप कि नलीशन आप लोगों को अच्छे से समझ में आ गया ऑलराइट गाइस, अब हम बात करेंगे डिटेल में
माय सीक्वल कंस्ट्रेंट की। मैंने आप लोगों को ऑलरेडी कंस्ट्रेंट्स के बारे में बताया था और मैंने आपको यह बताया था कि
कंस्ट्रेंट्स जो होते हैं, वो कुछ रूल्स अप्लाई करने में यूज़फुल होते हैं। फॉर एग्जांपल आपको एक पर्टिकुलर कॉलम को नल
नहीं करना है कभी भी। एट एनी कॉस्ट। आप नहीं चाहते कि वो कॉलम नल हो। तो, आप वहां पर एक नॉट नल कंस्ट्रेंट लगा सकते हो। इस
तरह के बहुत सारे कंस्ट्रेंट्स होते हैं जो कि एक्यूरेसी, वैलिडिटी और इंटीग्रिटी डेटा की मेंटेन करने में यूज़फुल होते
हैं। सबसे पहले बात करते हैं यूनिक कंस्ट्रेंट की। यह इंश्योर करता है कि जो सारी वैल्यू्यूज हैं, वह यूनिक हो। अगर
आपने लिखा क्रिएट टेबल यूज़र्स, आपने लिखा आईडी इंट यानी कि आपने आईडी नाम का एक कॉलम बनाया। आपने कहा इंटीजर उसका डेटा
टाइप है। फिर आपने कहा कि ये एक प्राइमरी की है। यानी कि ये यूनिकली डिफाइन करती है एक रिकॉर्ड को। इसके बाद आपने कहा कि भाई
मेरा जो ईमेल है वो varc 100 है और इसमें मैं यूनिक कंस्ट्रेंट लगाना चाहता हूं। आप अपने डेटाबेस की टेबल के अंदर मल्टीपल रोज़
सेम ईमेल से नहीं बना सकते। इस बात का सिर्फ इतना सा मतलब है। यानी कि एक बार आपने एक ईमेल डाल दिया। आपने किसी एक
पर्टिकुलर रिकॉर्ड को इंसर्ट कर दिया। आपने कह दिया haरी.com ईमेल में आप दोबारा से ईमेल में haरी.com
नहीं डाल सकते। तो आ जाओ चलो देखते हैं इनको इन एक्शन और एक-एक करके समझते हैं। तो यहां पर मैंने ड्रॉप कर दी थी टेबल
अपनी। तो मैं इस टेबल को दोबारा से बनाऊंगा और मैं आपको यहां पर दिखाता हूं कि ये टेबल मैं बना रहा हूं इस क्वेरी को
रन करके और आप देखो मेरी जो टेबल है वो बन चुकी है और इसके बाद मैं क्या करूंगा कि ये वाला जो मेरी क्वेरी है वो चलाऊंगा
मतलब ये इंसर्ट क्वेरी है जो कि बहुत सारा डेटा इंसर्ट करेगी और अब अगर मैं यहां पर सेलेक्ट स्टार फ्रॉम यूज़र्स चलाकर आपको
दिखाऊं तो देखो ये सारा डेटा मुझे देखने को मिल रहा है। ठीक है? ये दोनों फाइल्स आपको मिल जाएंगी डिस्क्रिप्शन में कहीं ना
कहीं ज़िप करके मैं दे दूंगा आपको। तो इनको डाउनलोड करके आप चला लेना। कैसे चलाना है ये मैंने अभी थोड़ी देर पहले आपको बता
दिया है। ठीक है? अब आपने यहां पर देखा कि जो मैंने अपनी टेबल बनाई उसमें मैंने ईमेल को यूनिक किया हुआ है। मैंने कहा कि भाई
ईमेल यूनिक होनी चाहिए और नल भी नहीं होना चाहिए। तो ये दो कंस्ट्रेंट मैंने लगा रखे हैं इसमें। तो आ जाओ देखते हैं इंसर्ट
करके डेटा को। तो मैं मान लो इसको दोबारा से इंसर्ट करता हूं। मैं कह रहा हूं कि भाई मैं आरf को दोबारा इंसर्ट करूंगा।
मैंने कहा इंसर्ट इंटू यूज़र्स और मैंने वैल्यूज़ ये कर दी और मैंने कह दिया भाई मैं ये RV RV एट example.com ये दोबारा से
इंसर्ट करना चाहता हूं। आप यहां पर देखना जैसे ही मैं इस क्वेरी को रन करूंगा नीचे आप देखो यहां पर क्या लिखकर आ रहा है यहां
पर लिखकर आ रहा है इंसर्ट इंटू यूज़र्स ये वाली क्वेरी में एरर कोड आया 1062 डुप्लीकेट एंट्री rate example.com फॉर की
यूज़र्स ईमेल इस बात का मतलब यह हुआ कि आपने जब टेबल बनाई थी तब आपने कहा था कि एक ईमेल एक बार ही यूज़ होगा। ईमेल यूनिक
होगा टेबल के अंदर। अब आप ही एक और यूजर बना रहे हैं सेम ईमेल से। यह बर्दाश्त नहीं करेगा। माय सीक्वल माय सीक्वल कहेगा
मैं नहीं सहता यह मैं इसको इंसर्ट नहीं करूंगा तो कुछ इस तरह से माय सीक्वल आप लोगों को एरर देता है तो ये करने से फायदा
क्या हुआ ये करने से आपकी आंख अचानक खुलेगी आप कहोगे ओह rf examplecom यूज़ हो चुका है डुप्लीकेट एंट्री है क्या
क्योंकि हम इंसान है हम गलती कर सकते हैं इसलिए पहले से पहले इस तरह के कंस्ट्रेंट्स आप एनफोर्स करेंगे तो आप खुद
बचेंगे गलतियों से समझ रहे हैं अब मैं क्या कह रहा हूं तो ये चीज आप लोगों को जो है पता होनी चाहिए अब इसके बाद मैं आपको
यह बताना चाहता हूं कि आप एक पर्टिकुलर कॉलम को कर सकते हो यूनिक। जैसे मान लो मैं चाहता हूं कि भाई नाम भी यूनिक हो या
मैं चाहता हूं कि सैलरी यूनिक हो। सबको अलग-अलग सैलरी मिले। तो आप ऑल्टर कर सकते हैं एक कॉलम को। तो मैं एक काम करता हूं
यहां पे डेट ऑफ़ बर्थ को यूनिक बना देता हूं। हालांकि इसका कोई पॉइंट नहीं है। डेट ऑफ़ बर्थ यूनिक होने का कोई पॉइंट है नहीं।
बट मैं जस्ट आप लोगों को बता रहा हूं कि कैसे आप डेट ऑफ़ बर्थ को यूनिक बना सकते हो। तो अगर आप डेट ऑफ बर्थ को यूनिक बनाना
चाहते हो तो आप यहां पर सिंपली एक क्वेरी चलाओगे और आप यहां पर लिखोगे ऑल्टर टेबल ऑल्टर टेबल और इसके बाद आप टेबल का नाम
लिखोगे यूज़र्स और इसके बाद आप लिखोगे ऐड ऐड कंस्ट्रेंट और आप लिखोगे कि भाई मैं जो ईमेल है जो हमारा ईमेल है मैं उसको यूनिक
अगर वो यूनिक नहीं है तो आप उसको यूनिक बना सकते हो। ठीक है? तो आप यहां पर कहोगे कि मैं एक कंस्टेंट ऐड करना चाहता हूं। आप
इस कंस्टेंट को एक नाम दे सकते हो। जैसे मान लो मैं इस कंस्ट्रेंट को नाम देता हूं यूनिक अंडरस्कोर ईमेल। ठीक है? और मैं
यूनिक अंडरस् ईमेल करके मैं ये कंस्ट्रेंट कुछ इस तरह से दे सकता हूं और ब्रैकेट में लिख सकता हूं उस फील्ड का नाम जिसे मैं
यूनिक बनाना चाहता हूं। मैं नहीं चाहता कि मेरे डेटा में जो डेट ऑफ़ बर्थ है वो यूनिक हो या फिर सैलरी यूनिक हो। क्योंकि उस बात
का कोई पॉइंट नहीं है। सैलरी को यूनिक क्यों करेंगे? सैलरी तो सेम मिल सकती है ना अलग-अलग लोगों को। तो मैं अभी सिर्फ
यही आपको दिखाता हूं। मान लो कि हमारा जो ईमेल था वो यूनिक नहीं होता तो मैं इसको जैसे ही चलाऊंगा ये फिर यूनिक हो जाएगा।
ठीक है? तो ये वाली तो क्वरी हमारी एरर दे रही है तो इसको हमें हटाना पड़ेगा क्योंकि इंसर्शन आप नहीं कर सकते। अब आप देखो यहां
पर अ डुप्लीकेट इंडेक्स यूनिक ईमेल डिफाइन ऑन द टेबल क्योंकि ऑलरेडी हमने यूनिक कर रखा है। ठीक है? ऑलरेडी हमने यूनिक कर रखा
है। इसको तो आप दोबारा से चलाओगे इस क्वेरी को तो ये आपको एरर देगा। भाई ये कंस्ट्रेंट एक्सिस्ट करता है। ठीक है? तो
यहां पर डुप्लीकेट की नेम यूनिक ईमेल आ गया है क्योंकि हमने जो कंस्ट्रेंट है वो ऑलरेडी ये लगा रखा है। अगर मैं यहां पर
यूनिक आईडी कर दूं या फिर मैं कुछ और फील्ड यूनिक करना चाहूं। मेरे यूज़ केस में अभी आ नहीं रहा है। कोई ऐसी फील्ड है नहीं
जिसको मैं यूनिक करना चाहूं। मैं नेम को भी यूनिक नहीं कर सकता। जेंडर को भी यूनिक नहीं कर सकता। डेट ऑफ़ बर्थ को भी नहीं कर
सकता। सैलरी को भी नहीं कर सकता। तो मैं यहां पर यूनिक अगर करना चाहता हूं किसी भी फील्ड को तो इस तरह से मैं ऑल्टर कर सकता
हूं टेबल को। ये कुल मिला के मेरा पॉइंट है। ठीक है? तो आई होप कि आप समझ गए किस तरह से आपको ऐड करना है किसी भी तरह के
कंस्ट्रेंट को। आप कोई भी कंस्ट्रेंट ऐड कर सकते हैं। ठीक है? अब मैं आपको बताता हूं कि कैसे नॉट नल कंस्ट्रेंट काम करता
है। अब यहां पर अगर मैं आप लोगों को दिखाऊं तो हमारा जो ईमेल है वो नल नहीं हो सकता। नेम नल नहीं हो सकता। मान लो मान लो
मैं यहां पर इसको RF2 एट example.com कर दूं। बट मैं जो नाम है उसको नल कर दूं। इस तरह से खाली छोड़ दूं और रन करूं। तो आप
देखो और मैं यहां पर ये ऑल्टर टेबल हटाता हूं। इनफैक्ट यह तो नल नहीं है। यह मैं इसको नल करता हूं। एन यू डबल एल और यहां
पर मैं आरf 23 करता हूं। यहां मैं 32 मैं इसको अगर चलाऊं अभी तो आप देखो यहां पर कॉलम नेम कैन नॉट बी नल एरर देखने को मिल
रहा है। एंड द रीज़न फॉर दिस एरर इज़ कि आपने नेम को नल बना दिया। जो कि आपने टेबल बनाते वक्त बोला था नल हो नहीं सकता। तो
आपने कैसे नल बना दिया? तो इस वजह से आपको ये एरर देखने को मिल रहा है। तो ये होता है हमारा नॉट नल कंस्ट्रेंट।
आप एग्जिस्टिंग कॉलम को नॉट नल बना सकते हो बाय यूजिंग सेंटेक्स लाइक दिस। आप लिखोगे यहां पर ऑल्टर टेबल यूज़र्स मॉडिफाई
कॉलम और अगर आप नेम को बनाना चाहते हो नॉटल तो आप लिखोगे नेम और उसके बाद आप लोग लिखोगे वय कैर 100 जो भी है आप उसका डेटा
टाइप देना चाहते हो और फिर नॉटन नल। मैं ये सिंटेक्स आप लोगों को दिखाना चाहता हूं। तो ये सिंटेक्स कुछ इस तरह से दिखता
है। जैसे कि आप देख सकते हो आप यहां पर अगर ऑल्टर करना चाहते हो एग्जिस्टिंग टेबल के एक पर्टिकुलर कॉलम को आपको उस कॉलम का
नाम लिखना है कुछ इस तरह से। उसके बाद आपको डेटा टाइप भी लिखना है दोबारा से और फिर उसके बाद आप नॉट नल लिखोगे। तो ये
आपको करना ही करना है। अब इसके बाद बात करते हैं चेक कंस्ट्रेंट की। ये बहुत इंपॉर्टेंट है। अगर मैं यहां पर मान लो कि
डेट ऑफ़ बर्थ में एक कंस्ट्रेंट लगा दूं और मैं कहूं कि यार मैं चाहता हूं कि डेट ऑफ़ बर्थ शुड ऑलवेज बी ग्रेटर दैन 11 2000। तो
मैं ये कर सकता हूं। तो मैं आप लोगों को दिखाता हूं जल्दी से ये चीज कैसे की जाती है। तो आप यहां पर देखो मैं सब कुछ अभी
हटाता हूं और मैं इस वाली लाइन को कमेंट आउट करूंगा क्योंकि मैं इंसर्ट भी करूंगा और मैं सबसे पहले क्या करूंगा कि एक
कंस्ट्रेंट यहां पर बनाऊंगा। मैं कहूंगा कि भाई देखो मैं चेक कंस्ट्रेंट लगाना चाहता हूं डेट ऑफ़ बर्थ में। मैं चाहता हूं
कि जो डेट ऑफ़ बर्थ है हमारी वो 112 के बाद वाली डेट्स ही एक्सेप्टेबल हो। तो मैं यहां पर सिंपली लिखूंगा ऑल्टर। फिर मैं
लिखूंगा टेबल। फिर मैं लिखूंगा यूज़र्स। फिर मैं लिखूंगा ऐड कंस्ट्रेंट और फिर मैं इस कंस्ट्रेंट का नाम लिख दूंगा चेक
डीओबी। तो मैंने यहां पर चेक डीओबी नाम का कंस्ट्रेंट एक बनाया और मैं यहां पर
लिखूंगा चेक और मैं लिखूंगा डेट ऑफ बर्थ इज़ ग्रेटर देन और मैं लिखूंगा
2000-0101 ठीक है कुछ इस तरह से और मैं जैसे ही कुछ इस तरह से लिख के सेमी कॉललन लगाऊंगा आप
देखो इसको चलाता हूं क्वेरी को और आपको देखने को मिलेगा कि हमारा जो ऑल्टर टेबल एट कंस्ट्रेंट डीओबी इज़ वलेटेड ये मैं
देखता हूं यहां पर क्या प्रॉब्लम प्रॉब्लम आ रही है। ये कह रहा है कि आप ना यह नहीं कर सकते। ये ये आप नहीं लगा सकते क्योंकि
ऑलरेडी आपका वायलेट हो रहा है। डेटा एकिस्टिंग जो है आपके डेटाबेस में वो वायलेट हो जाएगा। तो आप ये नहीं लगा सकते।
तो मैं एक काम करता हूं ग्रेटर दैन कर देता हूं 1920। ठीक है? 1920 से तो सारे ग्रेटर दैन ही होंगे। और ये कंस्ट्रेंट लग
जाएगा। अब देखो ये लग गया कंस्ट्रेंट और यहां पर 26 रोज़ अफेक्ट भी हो गए। अब अगर मैं इंसर्ट करने की कोशिश करूंगा। आप
देखना ध्यान से। अब अगर मैं इंसर्ट करने की कोशिश करूंगा। मान लो मैं 1905 में कोई बोर्न हुआ है। उसको इंसर्ट करने की कोशिश
करता हूं। इसका एग्जांपल टू कर देता हूं डॉट ताकि ईमेल हमारा जो यूनिक वाला है उसकी प्रॉब्लम ना आए। और यहां पर ये क्या
दिक्कत आ रही है? इंसर्ट इंटू यूज़र्स वैल्यूस ये नल मैं देखता हूं यहां पर ये इज़ नॉट वैलिड एट दिस पोजीशन। ओके। तो यहां
पर मैंने गलती से इसको कमेंट आउट करते वक्त गलती करी है। यहां पर मैं डबल डैश लगाऊंगा। और अब ये ठीक हो गया। देखो अब
मैं इसको चलाऊंगा। जैसे ही आप देखो कि मैं इंसर्ट नहीं कर सकता। ये कह रहा है कि भाई आपका जो नेम है वो कैन नॉट बी नल। चलो
इसको भी अगर मैं कर दूं आरव तो भी मैं इंसर्ट नहीं कर सकता। मैं आपको दिखाता हूं इसको रन करके। आप देखो यहां पर ये कह रहा
है चेक डीओबी इज़ वलेटेड। तो आपका जो चेक डीओबी नाम का कंस्ट्रेंट है वह वायलेट हो चुका है। इसके बाद मैंने आप लोगों को
ऑलरेडी बताया था डिफॉल्ट कंस्ट्रेंट के बारे में कि ये एक डिफ़ॉल्ट वैल्यू को सेट करता है। तो अगर आप कुछ इस तरह से लिख
देते हैं डिफ़ॉल्ट और उसके बाद कोई भी वैल्यू लिख देते हैं तो कभी भी आप इंसर्शन करते हैं और आपने मान लो क्रिएटेड एट
फील्ड को इंसर्ट नहीं किया तो ऑटोमेटिकली उसकी डिफ़ॉल्ट वैल्यू वहां पर आ जाएगी। फॉर एग्जांपल अगर मैं इंसर्ट डेटा में आप देखो
यहां पर हमने ना ही आईडी इंसर्ट करी है ना ही क्रिएटेड एट इंसर्ट किया है। लेकिन हमारी क्रिएटेड एट की वैल्यू बाय डिफॉल्ट
करंट टाइम स्टैंप आ गई। यानी जब भी आपने इंसर्ट किया वो टाइम स्टैंप आ जाएगा। तो आई होप कि ये चीज़ आप लोगों को क्लियर हो
गई। तो इस तरह से आप डिफ़ॉल्ट कंस्ट्रेंट जो है वो यूज़ कर सकते हैं। प्राइमरी की कंस्ट्रेंट क्या होता है? इट यूनिकली
आइडेंटिफाई ईच रो। मतलब कि आपके टेबल के अंदर यूनिकली आइडेंटिफाई अगर आप किसी चीज़ से करना चाहते हैं तो प्राइमरी की से
करेंगे। ये नॉट नल होना चाहिए। यूनिक होना चाहिए और यह बाय डिफ़ॉल्ट होती है। ठीक है? मतलब आपको अलग से नॉट नल और यूनिक नहीं
लगाना। ये बाय डिफ़ॉल्ट होती है। तो ये चीज़ आप लोग कर सकते हैं और आप ऑटो इंक्रिमेंट का इस्तेमाल कर सकते हैं। यानी कि अगर
आपने यहां पर इस तरह से ऑटो इंक्रिमेंट लिख दिया तो जो आपकी ये जो आईडी वाली फीड है वो ऑटोमेटिकली अगर पहली वाली आईडी एक
है तो अगली वाली दो होगी। फिर तीन चार पांच ऑटोमेटिकली चलती रहेंगी। तो आप देखो हमने जब डेटा इंसर्ट किया तो हमने आईडी
नहीं डाली यहां पर क्योंकि आईडी ऑटोमेटिकली ऑटो इंक्रिमेंट हो रही है। तो ऑटो इंक्रिमेंट कंस्ट्रेंट कुछ इस तरह से
काम करता है। अब एक बात मैं आप लोगों को बताना चाहता हूं और वो बात ये है कि आप लोग अलग से इन कंस्ट्रेंट को ऐड कर सकते
हैं बाय यूजिंग ऑल्टर कमांड। तो मैं चाहता हूं ये आप ट्राई करें और अपनी दूसरी टेबल्स में ऑल्टर चलाकर इन कंस्ट्रेंट्स
को ऐड करके देखें और डेफिनेटली आप लोगों को काफी इजी लगेंगी फिर चीजें जब आप खुद करोगे। मैंने एक समरी टेबल भी आप लोगों के
लिए बना रखी है। आई होप कि आप लोगों को सब कुछ समझ में आया। अब हम बात करेंगे फंक्शनंस की। फंक्शनंस
क्या होते हैं माय सीक्वल के अंदर? फंक्शनंस कंप्यूटेशन करने के लिए यूज़फुल होते हैं। सीक्वल फंक्शनंस हेल्प यू
एनालाइज़, ट्रांसफॉर्म और समराइज़ डेटा इन योर टेबल्स। क्या मतलब हुआ इस बात का? इस बात का सिंपल मतलब ये हुआ कि आप लोग यूज़
कर सकते हो फंक्शनंस को कैलकुलेशंस करने के लिए, एक नई फील्ड देने के लिए। अगर आप अपने आउटपुट में एक नई फील्ड देखना चाहते
हो तो वो आप लोग देख सकते हो। कैसे? मैं आप लोगों को दिखाऊंगा। तो यहां पर हमारे पास यूज़र्स टेबल में आईडी है, नेम है,
ईमेल है, जेंडर है, डेट ऑफ़ बर्थ है, सैलरी है, क्रिएटेड डेट है। मैंने आप लोगों को ऑलरेडी ये क्रिएट यूज़र्स टेबल और ये
इंसर्ट डेटा की सीक्वल दे रखी है। तो इस सीक्वल के अंदर अगर आप लोग झांक कर देखो, तो आप लोगों को पता चलेगा कि हमारे पास ये
सारे कॉलम्स हैं। क्या हम इन पे कंप्यूटेशन कर सकते हैं? एंड दैट इज़ अ पॉइंट ऑफ़ फंक्शनंस। वही मैं आप लोगों को
यहां पर बताने वाला हूं। तो जवाब है हां हम इसमें बिल्कुल कंप्यूटेशंस कर सकते हैं। अगर मैं यहां पर टोटल नंबर ऑफ यूज़र्स
काउंट करना चाहूं तो मैं कैसे करूंगा? तो आप कहोगे कि यार सिंपल क्वेरी को रन करने का और यहां से गिन लेने का 1 2 3 4 5 आप
कहोगे यार 28 है। लेकिन मैं कहूंगा नहीं 28 नहीं है क्योंकि हमने बीच से बहुत सारे डिलीट भी कर दिए। तो आप लोग बिल्कुल भी
टेंशन मत लो। आपको सिंपली यहां पर क्या करना है? यह क्वेरी चलानी है। आप सिंपली यहां पर लिखो सेलेक्ट और फिर इसके बाद
लिखो काउंट और इसके बाद आप लोग लिख दो यहां पर स्टार और इसके बाद लिख दो फ्रॉम और यूज़र्स। और जैसे ही आप यह करोगे और
इसको रन करोगे तो आपको यहां पर काउंट मिल जाएगा 26। यह वाली क्वेरी भी रन हुई है। मैं आपको बता दूं एक चीज़ कि यह क्वेरी भी
रन हुई है। यह क्वेरी भी रन हुई है। यह जो क्वेरी है उसका रिजल्ट आपको यहां एक टैब में देखने को मिल रहा है। और यह जो क्वेरी
है उसका रिजल्ट आपको यहां मिल रहा है। तो कभी भी आप मल्टीपल सेलेक्ट स्टेटमेंट्स रन करते हैं माय सीक्वल वर्क बेंच के अंदर तो
आपको यहां पर कुछ इस तरह से टैब्स देखने को मिल जाती हैं। बहुत सारे लोग इनको देख नहीं पाते हैं इन टैब्स को। तो मैं आपको
बता रहा हूं और आप कोई भी टैब क्लोज कर सकते हो यहां पर कांटे पे क्लिक करके। ठीक है? सिंपल एज दैट। तो यहां पर हम काउंट
स्टार फ्रॉम यूज़र्स को अगर रन करेंगे तो आप देखो ये 26 मुझे काउंट बता रहा है सिंपल एंड स्ट्रेट फॉरवर्ड। अब आप यहां पर
वेयर क्लॉज़ का भी इस्तेमाल कर सकते हैं। अगर मैं आपसे पूछूं कि बताओ कितने मेल्स हैं? तो आप लिख दोगे वेयर जेंडर इज इक्वल
टू मेल। और यहां पर आप कुछ इस तरह से जेंडर इक्वल टू मेल करके यहां पर इसका जो काउंट है वो 13 प्राप्त कर सकते हो। अब
अगर मैं आपसे कहूं कि फीमेल्स कितनी है? तो आप यहां पर जेंडर = फीमेल करके यहां पर 13 मेल्स और 13 फीमेल्स हमारे पास हैं। तो
ये चीज आप लोग देख सकते हो। अब आप मेन और मैक्स फंक्शन का इस्तेमाल कर सकते हो और मैं आप लोगों को एज के बारे में बताऊंगा
एज क्या होता है? तो अगर मान लो मुझे चाहिए मिनिमम सैलरी। तो मैं यहां पर लिखूंगा कि
भाई सबसे कम पैसे कौन ले रहा है? वो कौन है जो सबसे कम पैसे ले रहा है? और मैं यहां पर लिख दूंगा एज मेन अंडरस्कोर
सैलरी। और मान लो मुझे यह भी पता करना है कि सबसे ज्यादा सैलरी कौन ले रहा है? कंपनी के अंदर और यहां पर मैक्स अंडरs
सैलरी। तो मैं कुछ इस तरह से कह सकता हूं कि मिन सैलरी क्या है? मैक्स सैलरी क्या है? और मैं कहां से लेना चाहता हूं इसको
यूज़र्स से? तो यहां पर फ्रॉम यूज़र्स लिखना तो मस्ट है। और मैं जैसे ही इसको रन करूंगा तीन टैब्स यहां पर बनेंगी। और यहां
पर देखो मैंने एक एक्स्ट्रा मिन सैलरी नाम का कॉलम और मैक्स सैलरी नाम का कॉलम यहां पर ले लिया। तो मैंने बेसिकली ये कहा कि
भाई मुझे मिन सैलरी चाहिए। मुझे मैक्स सैलरी चाहिए। अब अगर आपको और भी चीजें चाहिए तो आप वो भी ले सकते हो। ठीक है? तो
यहां पर मिन सैलरी मैक्स सैलरी मुझे चाहिए थी और मैंने ये वाला व्यू जो है जनरेट कर लिया। सो आई होप कि क्लियर है और समझ में
आ गया आप लोगों को। अब हम लोग बात करेंगे सम की। तो मैं एक काम करता हूं ये सारी क्वेरीज को मैं कमेंट आउट कर देता हूं। और
आप लोग ये मत बोलना कि यार कोड नहीं देते हो। कोड मैं आप लोगों को दे रहा हूं इन द फॉर्म ऑफ़ हैंडबुक। तो मैं इसको मिटा सकता
हूं। ठीक है? तो आप बिल्कुल भी टेंशन मत लेना। और ये दोनों भी फाइल्स आपको मिलने वाली हैं। तो उसकी तो टेंशन लेना ही नहीं
है आपको। देखो आप यहां पर आ रहे हो पढ़ने के लिए तो आपको टेंशन इन सब चीजों की नहीं लेनी है। तो यहां पर हमने मीन मैक्स की
बात कर ली। अब हम सम की बात करेंगे। तो मैं कहूंगा कि भाई मुझे सैलरी का सम चाहिए। तो सम सैलरी एज और मान लो मैं यहां
पर टोटल करता हूं और मैं कहता हूं फ्रॉम यूज़र्स। तो मैंने इस कॉलम का नाम खुद टोटल रखा है। मैं इसका नाम टोटल हैरी भी रख
सकता हूं। या मैं टोटल सी डब्ल्यूएच भी रख सकता हूं। मैं जस्ट आपको ये नाम रख के इसलिए बता रहा हूं कि ये कोई ऐसा नहीं है
कि टोटल ही लिखना है। मैं जेनेरिक कॉलम के नेम्स यूज़ करूंगा। आपको लगेगा टोटल ही लिखना है बट ऐसा नहीं है। ठीक है? आप यहां
पर टोटल CWH भी लिख सकते हो और यहां पर अपना नाम भी लिख सकते हो। CWH के बाद आप यहां पर कुछ भी लिख सकते हो। ठीक है? बट
हां अच्छी चीज़ है ये लिखना। अब हम क्या करेंगे? एवरेज देखेंगे कैसे आप निकाल सकते हो। जैसे हमने सम निकाला सैलरीज़ का हम ये
देखेंगे। एवरेज सैलरी कितनी निकल रही है हमारी कंपनी से। तो एबीजी फंक्शन का इस्तेमाल करके आप यहां पर एबीजी अंडरस्कोर
सैलरी लिख देते हैं। थोड़े अच्छे हम डिस्क्रिप्टिव नेम्स देंगे तो अच्छा लगेगा। तो यह करते हैं और यह करने के बाद
इसको हम लोग करेंगे रन और आप देखो यह एवरेज सैलरी 63807 है। बढ़िया बहुत ही बढ़िया। अब हम यहां पर
क्या कर सकते हैं? ग्रुप बाय का इस्तेमाल कर सकते हैं। और हम कह सकते हैं कि भाई देखो मुझे चाहिए जेंडर। मैं कह सकता हूं
मैं मुझे चाहिए जेंडर। मुझे चाहिए एवरेज सैलरी एज एवीजी अंडरस्कोर सैलरी और मैं ग्रुप बाय करना चाहता हूं यूज़र्स। ठीक है?
जेंडर सॉरी ग्रुप बाय और मैं यहां पर लिख दूंगा जेंडर। और आप देखना कि ये क्या करेगा। जैसे ही मैं ये क्वेरी रन करूंगा
आप लोग देखो मेल की एवरेज सैलरी कितनी है और फीमेल की एवरेज सैलरी कितनी है ये मुझे पता चल जाएगा। मैं और भी फील्ड से ग्रुप
बाय कर सकता हूं। बट अगेन उसका कोई पॉइंट नहीं होगा। जैसे मैं अगर ग्रुप बाय आईडी करूं तो उसका कोई पॉइंट नहीं होगा। मुझे
सारा डेटा मिल जाएगा। इसका कोई मैंने यहां पर सेलेक्ट जेंडर किया है। मैं आईडी जेंडर और ये कर देता हूं। क्या-क्या मुझे
सेलेक्ट करना है। इसका कोई पॉइंट नहीं होगा क्योंकि मुझे सारी आईडीज़ मिल जाएंगी। कुछ इस तरह से। बट हां अगर आप कुछ ग्रुप
बाय जेंडर ऐसे करोगे और आप और भी कॉलम्स सेलेक्ट करना चाहते हो तो आप वो कर सकते हो। ठीक है? और मैंने यहां पर जेंडर कर
दिया। अब मैं यहां से आईडी हटाऊंगा और आईडी हटाकर इसको रन करूंगा और आप देखो यहां पर मेल और फीमेल की एवरेज सैलरी मुझे
देखने को मिल जाएगी। मैं सम भी कर सकता हूं। मैं ये भी कह सकता हूं कि भाई मैं टोटल मेल्स को कितने पैसे दे रहा हूं और
मैं टोटल फीमेल्स को कितने पैसे दे रहा हूं? मैं मेल्स को ज्यादा पैसे दे रहा हूं। 83000 दे रहा हूं। 83000 है ना? ये
नहीं 83 8,32000 है। ठीक है? तो मैं मेल्स को ज्यादा पैसे दे रहा हूं। लड़कियों को कम पैसे दे रहा हूं मैं। ठीक है? तो ये
चीज निकल के आई है यहां पर। और इसके बाद कुछ स्ट्रिंग फंक्शनंस होते हैं हमारे पास। जैसे कि मैं कह सकता हूं कुछ इस तरह
से मैं कह सकता हूं सेलेक्ट नेम और मैं कह सकता हूं लेंथ ऑफ नेम और उसी के साथ-साथ एज नेम अंडरस्कोर एलई एन कर देता हूं इसका
नाम मैं फ्रॉम यूज़र्स। और आई होप कि अब आपको भी इंट्यूटिव लग रहा होगा। अब आपको भी इंट्यूटिव लग रहा होगा। आप भी समझ रहे
होंगे क्या है। तो देखो नेम की लेंथ भी हमें यहां पर देखने को मिल गई। और चीजें भी आप कर सकते हो। आप कहते हो कि यार मुझे
आईडी जेंडर ये सब चाहिए मुझे तो आप कुछ इस तरह से कर सकते हो और आप अपनी पसंद का व्यू प्राप्त कर सकते हो। इसके बाद आप कह
सकते हो कि भाई मुझे जो नेम चाहिए वो लोअर फॉर्म में चाहिए। ठीक है? तो आप ऐसे कर सकते हो कि भाई मुझे नेम नहीं चाहिए। मुझे
लोअर नेम चाहिए और वो चाहिए मुझे एज लोअर। ठीक है? मतलब एक लोअर नाम का कॉलम बने और जो नेम है वो लोअर केस में आ जाए। तो आप
देखो जो नेम्स हैं वो लोअर केस में आ जाएंगे। ठीक है? तो ये चीज आप कर सकते हो। अब मैं चाहता हूं कि मैं एक यूजरनेम नाम
की फील्ड बनाऊं। तो मैं यहां पर क्या कर सकता हूं? मैं कहूंगा कि भाई क्या करो? सबसे पहले करो लोअर ऑफ नेम
और क्या करो? कॉनकैट कर दो। क्या कॉन्कट कर दो? उसमें कॉनकैट कर दो एक रैंडम स्ट्रिंग। मान लो 5 6 7 ठीक है? मान लो हम
ये करते हैं और एक कॉनकैट फंक्शन का यूज़ करते हैं। मैं थोड़ी सी कॉम्प्लेक्स क्वेरी लिख रहा हूं बट मैं आपको समझाऊंगा
और आपको समझ में भी आएगी। तो मैं कह रहा हूं कॉनकैट लोअर नेम और 5 6 77 ये पर्टिकुलर जो मैंने सेक्शन किया है वो
क्या करेगा वो नेम को पहले लोअर केस में कन्वर्ट करेगा और उसमें 5 6 77 जोड़ देगा फिर मैं कह दूंगा एज यूजर नेम ठीक है तो
देखो मैं इस क्वेरी को चलाऊंगा तो क्या होगा जैसे ही मैंने इस क्वेरी को चलाया एक यूजरनेम नाम का कॉलम बन गया जो कि क्या कर
रहा है कॉनकट कर रहा है मेरे यूजर नेम मेरे नेम के लोअर वर्जन को और 5 67 को और कॉन्कट करने के बाद उसको एक यूजरनेम कॉलम
में डाल दे रहा है तो यह देखो मैंने यूजरनेम बना दिया कुछ इस तरह से तो आप यह चीज़ भी कर सकते हो। अब यहां पर मैं क्या
कर सकता था? यहां पर मैं इसको एक रैंडम स्ट्रिंग बना सकता था। बट अगेन मैं जस्ट आप लोगों को कांटेक्ट कॉनकैट फंक्शन बता
रहा था। अब हम यहां पर ये भी पता कर सकते हैं कि अभी टाइम क्या हो रहा है। ठीक है? तो हम यहां पर कह देंगे
नाउ एज़ टाइम। और जैसे मैं नाउ एस टाइम करूंगा तो आप देखो यहां पर एक टाइम का कॉलम बन गया। और यह नाउ यहां पर लिखकर आ
गया। जिस टाइम पर यह क्वेरी एग्जीक्यूट हुई है। तो आप कुछ इस तरह से कर सकते हो। नाउ के साथ-साथ आप ईयर, मंथ, डे भी डाल
सकते हो। तो, अगर मैं यहां पर नाउ की जगह ईयर डालूं, तो मुझे देखने को मिलेगा ईयर। तो मैं यहां पर देखता हूं क्या दिक्कत आ
रही है। एक्चुअली मुझे ईयर के अंदर डेट देनी पड़ेगी। तो या तो मैं ईयर नाउ कर लूं या फिर मैं ईयर डेट ऑफ़ बर्थ कर लूं। ठीक
है? तो यहां पर ईयर नाउ करा तो 2025 आ गया। अगर मैं यहां पर ईयर डेट ऑफ़ बर्थ करूंगा जो कि मुझे लगता है ज्यादा सेंस
बनाएगा। डेट ऑफ़ बर्थ और मैं इसको रन करूंगा। तो आप देखो इनकी डेट ऑफ़ बर्थ का ईयर आ जाएगा। और मैं इसको ऐज़ बायो भी कर
देता हूं। मतलब ईयर ऑफ़ बर्थ। ठीक है? तो ये थोड़ा ज्यादा इंट्यूटिव लगेगा। कुछ इस तरह से आएगा। और आप डे भी कर सकते हैं।
अगर आप यहां पर डे करेंगे तो डे ऑफ़ बर्थ आ जाएगा। मतलब ये सिर्फ सिंटेक्स का खेल है। मैं यहां पर आप लोगों को कर करके दिखाता
रहूंगा। बट अगेन इट्स ऑल अबाउट सिंटेक्स। तो आप यहां पर पर्टिकुलर डे, पर्टिकुलर ईयर और पर्टिकुलर मंथ भी ले सकते हो। यहां
पर मंथ भी आप यूज़ कर सकते हो कुछ इस तरह से और आप मंथ यूज़ करोगे तो आप लोगों को यहां पर वन से लेके 12 तक मंथ मिल जाएगा।
जैसे कि आप देख सकते हो। तो ये चीजें आप लोग जो है सीक्वल के अंदर यूज़ कर सकते हो। अब मैं आप लोगों को बताना चाहता हूं डेट
डिफ के बारे में। आप ये यहां पर पता लगा सकते हो कि कितने दिन कोई भी इंसान जो है वो रहा। ठीक है? मतलब कि उसने अपनी जिंदगी
के कितने दिन जो है स्पेंड कर दिए। अब आप देखो मैं क्या करता हूं यहां पर। मैं यहां पर लिखूंगा सेलेक्ट नेम और मैं यहां पर
डेट डिफ का इस्तेमाल करूंगा। अब आप कहोगे डेट डिफ क्या है? तो आप सबसे पहले तो करंट डेट ले लो। ठीक है? करंट डेट आप ले लो जो
कि आपको करंट डेट फंक्शन से मिलती है। अब आप कहोगे यार कैसे पता चलेगा ये सारे फंक्शनंस? याद करूं क्या मैं? द आंसर इज़
नो। इंट्यूटिवली आपको पता चलते रहेंगे। बाकी आप Google सर्च करोगे एआई से पूछोगे और आपको जो भी फंक्शनंस चाहिए वो पता
चलेंगे। आप एआई से जाके पूछ सकते हो कि क्या यह करने का फंक्शन है सीक्वल में? क्या रिलेटेड कुछ है? वो आपको बता देगा।
तो इस तरह की चीजें करते-करते आप एक्सपर्ट बन जाओगे और मैं यहां पर कहूंगा डेट ऑफ बर्थ और मैं यहां पर लिख दूंगा एज डज़। ठीक
है? और मैं लिख दूंगा फ्रॉम यूज़र्स। ये तो हमें लिखना ही लिखना है। तो मैं इसको जैसे ही चलाऊंगा आप देखो यहां पर मुझे नेम और
जितने दिन ये इंसान रह चुका है वो लिखकर मुझे मिल गया है। ठीक है? तो आप यहां पर ये चीज़ जो है ईज़ली कर सकते हो। फिर उसके
बाद मैथमेटिकल फंक्शनंस होते हैं कुछ। और मैं एक-एक फंक्शन नहीं चाहता कि मैं आपको ट्राई करके दिखाऊं। बट लेट मी शो यू कि
हमारे पास मैथमेटिकल फंक्शनंस कौन-कौन से होते हैं। मैथमेटिकल फंक्शनंस हमारे पास एक राउंड होता है, एक फ्लोर होता है, एक
सील होता है और आप राउंड से क्या करेंगे कि आपको राउंड हो के मिल जाएगी सैलरी। फ्लोर से क्या होगा कि आपको फ्लोर्ड सैलरी
मिल जाएगी। तो मैं अगर इसको कॉपी करूं यहां पर और मैं आप लोगों को दिखाऊं यहां पर माय सीक्वल खोल कर और मैं ये पर्टिकुलर
क्वेरी आपको रन करके दिखाऊं तो आप लोग को देखने को मिलेगा कि राउंडेड में हमारी जो सैलरी है वो राउंड हो के आ गई है। और
फ्लोर से क्या होता है? अगर जैसे मान लो अह 7 है सैलरी मान लो ठीक है 7 तो फ्लोर से क्या होगा कि कम हो जाएगी ठीक है और
सील से क्या होगा ज्यादा हो जाएगी तो ये चीज़ आप जो है खुद से ट्राई कर सकते हो उन वैल्यूज़ पर जहां पर आप लोगों को डेसिमल के
बाद कुछ देखने को मिल रहा है ठीक है तो फ्लोर और सील मैथमेटिकल फंक्शनंस होते हैं आप लोग खुद से इसको एक्सप्लोर कर सकते हो
फिर इसके बाद मोड मोड क्या होता है मोड जो होता है वो मॉड्यूल फंक्शन होता है जो कि रिमेंडर आप लोगों को देता है किसी भी नंबर
से डिवाइड किया जैसे कि इस केस में आईडी को टू से डिवाइड करेंगे तो क्या रिमाइंडर आएगा वो आपको पता चल जाएगा। तो ये मोड
फंक्शन है। फिर हमारे पास कंडीशनल फंक्शनंस होते हैं। आप देखो यहां पर इफ का इस्तेमाल आप लोग कर सकते हो। सेलेक्ट नेम
जेंडर इफ जेंडर इक्वल टू फीमेल यस वरना नो एज इज़ फीमेल। तो एक इस फीमेल नाम का कॉलम बन जाएगा और आप जो है इफ यूज़ कर सकते हो।
तो ये हमारे पास एक समरी टेबल है सारे फंक्शनंस की। आई नो दिस वाज़ अ बिट कॉम्प्रिहेंसिव। और शायद आप लोगों को थोड़ा
बोरिंग लगे। बट मैंने काफी मेहनत करके आप लोगों के लिए क्यूरेट किए हैं ये सारे फंक्शनंस। एक जगह पर लिखे हैं। तो मैं आशा
करता हूं कि आप लोगों को जो मेरी मेहनत है अच्छी लगी होगी और आपके काम आई होगी। वैसे अगर आप डॉक्यूमेंटेशन देखेंगे तो यू विल
बी ओवरवेलड्ड। आपको लगेगा इतने फंक्शनंस मैंने छांट छांट के आप लोगों के लिए बेस्ट फंक्शनंस यहां पर सेलेक्ट किए हैं और मुझे
लगता है कि इन फंक्शनंस को अगर आपने एक बार सीख लिया तो बाकी के फंक्शनंस आप लोगों के लिए बहुत ईजी हो जाएंगे। मैं ये
नहीं कहूंगा कि इसके अलावा दूसरे फंक्शनंस आप यूज़ नहीं करोगे। हां, लेकिन ये जरूर कहूंगा कि 70 टू 80% ऑफ़ द टाइम्स आप यही
फंक्शनंस यूज़ करोगे। बट हां, देयर विल बी ओकेशंस जहां पर 30% ऑफ़ द टाइम्स आप दूसरे फंक्शनंस का इस्तेमाल करोगे। और उसके लिए
मैं आपको बता रहा हूं। Google सर्च करो, चैट GPT को पूछो। ये सारे काम आपको लाइफ लॉन्ग करने पड़ेंगे। मैं यह नहीं कह रहा
हूं कि यह कोर्स आप कर लो। ये हैंडब आप देख लो। तो आपका काम जिंदगी भर के लिए हो जाएगा। नहीं आपको मेहनत भी करनी है। आपको
प्रैक्टिस भी करनी है। आपको हैंडबुक तो रेफर करनी ही करनी है। लेकिन हैंडबुक के बाहर भी आप लोगों को ऑप्शन को ओपन रखना
है। तो हमेशा की तरह मैं आपको सच ही बोलूंगा। अब हम लोग एक्सप्लोर करेंगे अपना नेक्स्ट टॉपिक जो कि होने वाला है ऑटो
कमिट और ट्रांजैक्शंस। माय सीक्वल में अब हम देखेंगे ऑटो कमिट क्या होता है और ट्रांजैक्शंस क्या होते
हैं। अब आप कहोगे व्हाई डू वी इवन केयर अबाउट ऑल दिस। तो ऑटो कमिट और ट्रांजैक्शन हम लोगों के लिए हेल्पफुल होते हैं। अगर
हम चाहते हैं कि एक्सीडेंटली चेंज किया हुआ डाटा रिवर्ट हो जाए। व्हाट डू आई मीन बाय दैट? मान लो कि आपने एक डिलीशन क्वेरी
चलाई और आप एक बार फील लेना चाहते हैं उसकी। जरा सोचो आपके पास अनडू का ऑप्शन है। अगर आपके पास अनडू का ऑप्शन ही नहीं
है तो ऑब्वियसली यू विल नॉट बी एज हैप्पी एज जब आपके पास अनडू का ऑप्शन है। मैं आप लोग को एक सिनेरियो देता हूं। मान लो आपके
पास यूज़र्स की टेबल है और कुछ यूज़र्स को डिलीट करना है क्योंकि वो यूज़र्स आपके सिस्टम में नहीं रहना चाहते। उन्होंने
रिक्वेस्ट किया है कि भाई मेरा अकाउंट डिलीट चाहिए मेरे को और आपने उन यूज़र्स की आईडी ली लेट अस से आईडी से है आईडी एट है
और आईडी 20 है तो आप चाहते हो कि उन यूज़र्स को डिलीट कर दो बट एट द सेम टाइम आपके जो बाकी यूज़र्स हैं उन्होंने भी आपके
प्लेटफार्म पे आकर पेमेंट कर रखा है एंड यू डोंट वांट कि गलती से आप उन यूज़र्स को हटा दो। आपको कॉन्फिडेंस तो है कि यार मैं
डिलीशन क्वेरी सही से चला लूंगा। बट अगेन एक डर रहता है दिल में कि यार अगर गलती से मैंने किसी और को डिलीट कर दिया तो इट विल
बी अ डिजास्टर एंड ऑब्वियसली यू डोंट वांट दैट। तो मैं आप लोगों को बताता हूं कि कैसे आप माय सीक्वल के अंदर ऑटो कमिट को
ऑफ करके जब तक आप कमिट ना करो। यानी जब तक आप यह ना कहो कि यार अब तक के सारे चेंजेस परमानेंट कर दो तब तक वो ना हो। तो बाय
डिफ़ॉल्ट क्या होता है कि जो माय सीक्वल है वो ऑपरेट होता है ऑटो कमिट मोड में। इसका मतलब ये होता है कि हर सीक्वल स्टेटमेंट
एक ट्रांजैक्शन की तरह ट्रीट होता है एंड इट्स कमिटेड ऑटोमेटिकली। मैं आप लोग को इसका एक एग्जांपल देता हूं। आपने कहा कि
डिलीट कर दो ये वाली रो। डिलीट हो जाएगी। एंड ऑफ स्टोरी। इसके बाद कुछ नहीं है। आप वापस नहीं ला सकते उस रो को। हाउएवर अगर
आप और कंट्रोल चाहते हैं तो आप ऑटो कमिट को ऑफ कर सकते हैं। आप माय सीक्वल को कुछ इस प्रकार से बना सकते हैं कि मैं सर्टेन
काम करूंगा। चाहे वो अपडेट्स हो, चाहे वो डिलीट्स हो। और जब तक मैं कमिट ना लिख दूं तब तक आप उन चेंजेस को परमानेंट ना करो।
एक तरह से आप ऐसा समझ लो कंफर्म माय क्वेरीज टाइप का बटन। समझ रहे हो? आप कमिट लिखोगे जब तक तब तक आपके चेंजेस अनडूएबल
रहेंगे। ये मैं जब तक आपको करके नहीं दिखाऊंगा आपको समझ में नहीं आएगा। तो मैं अपने Myscql वर्कबेंच में आकर लॉग इन करता
हूं। और सबसे पहले तो हम क्या करेंगे? सेलेक्ट स्टार्ट फ्रॉम यूज़र्स करेंगे। लेट्स स्टार्ट फ्रॉम यूज़र्स
और मैं इस क्वेरी को जैसे ही चलाऊंगा आप लोग को दिखेगा यहां पर सारे यूज़र्स हमारे आ गए। मान लो मैं चाहता हूं फरहान को
डिलीट करना। बट मुझे डर लग रहा है यार प्रियंका डिलीट ना हो जाए या स्नेहा डिलीट ना हो जाए या राज डिलीट ना हो जाए क्योंकि
इन लोगों ने तो कभी अपने डेटा का डिलीशन रिक्वेस्ट ही नहीं किया। तो मैं क्या करूंगा? ऑटो कमिट को ज़ीरो सेट करूंगा। तो
बाय डिफ़ॉल्ट क्या होता है? ऑटो कमिट इज़ सेट टू ट्रू। मैं इसको इज़ इक्वल टू ज़ीरो कर दूंगा। ये बाय डिफ़ॉल्ट वन होता है।
इसको मैं ज़ीरो कर दूंगा। तो मैं सेट ऑटो कमिट इज़ = 0 करूंगा और मैं रन करूंगा इसको। क्या होगा? यहां पर सेट ऑटो कमिट =
0 में ज़ीरो रोज़ अफेक्टेड आ गया। मतलब कि कोई रो तो इफ़ेक्ट नहीं हुई। हां, लेकिन आपकी जो माय सीक्वल की ऑटो कमिट की सेटिंग
थी वो चेंज हो गई। ऑसम। बहुत बढ़िया। अब मैंने सेलेक्ट स्टार्ट फ्रॉम यूज़र्स किया। मुझे मेरे यूज़र्स दिख रहे हैं। सो फार सो
गुड। मैं क्या करूंगा? मैं कहूंगा कमिट। क्या कहूंगा मैं? कमिट। अब कमिट कहने से क्या होगा? कमिट कहने से अब तक के जो
चेंजज़ मैंने करे वो फाइनल कर दो। इसका मतलब यह होता है। मैंने तो लेकिन कोई चेंजज़ नहीं किए। स्टिल सेफ साइड रहने के
लिए मैं कमिट कर देता हूं। मैंने कहा कमिट। ठीक है? कमिट हो गया। यह कमिट हो गया। मतलब कि अब तक के जितने भी चेंजज़ थे
वो फाइनल हो गए। अब मैं यहां पर क्या करूंगा? मैं प्रियंका को डिलीट फरहान को डिलीट करने वाला था। फरहान को डिलीट करने
वाला था। तो मैं यहां पर लिखूंगा डिलीट फ्रॉम यूज़र्स। यूज़र्स वेयर आईडी इज़ इक्वल टू। और फरान की आईडी क्या
है? सिक्स है। क्या क्या है? फरहान की आईडी सिक्स है। और इस क्वेरी को अब चला देते हैं। ठीक है? चलो इस क्वेरी को चला
देते हैं। फरहान चला गया। ओह माय गॉड। मैंने ये क्या कर दिया? फरहान की आईडी तो फाइव थी। यह क्या किया मैंने? मैंने
प्रियंका को डिलीट कर दिया। यानी कि प्रियंका का अकाउंट चला गया है और फरहान का नहीं गया है। यह तो एक बहुत बड़ा
ब्लंडर हो चुका है। नहीं ऐसा नहीं हुआ है। मैंने ये जानबूझकर किया और मैं जस्ट आप लोगों को फील दिलाना चाहता था कि गलतियां
हो सकती हैं। और ये जो ऑटोकम इक्वल टू 0 वाली सेटिंग है वो इस तरह के सिनेरियोस में कैसे यूज़फुल होती है। आओ दिखाता हूं
मैं अब इसको ठीक कैसे करेंगे। आपको सिंपली क्या करना है? आपको लिखना है रोलबैक। रोल बैक का मतलब होता है कि भाई मुझे वहीं पर
ले जाओ जहां पर पिछले कमिट तक मतलब जब मैंने कमिट लिखा था वहां तक जो चेंजेस थे वहां तक ले जाओ मुझे रोल बैक रोल बैक मैं
करूंगा तो क्या होगा आप देखो रोल बैक किया मैंने और मैं इसको दोबारा से रन करूंगा मैं इसको जरा कमेंट आउट कर देता हूं
सेलेक्ट स्टार्ट फ्रॉम यूज़र्स को दोबारा से रन करूंगा प्रियंका आ गई आप देख सकते हो तो बेसिकली जब ऑटो कमिट ज़ीरो होता है
तो आप कितने भी चेंजेस करते जाओ जब तक आप कमिट नहीं लिखोगे ना वो चेंजज़ फाइनल नहीं होंगे। तो आपने अगर कोई गलती कर दी तो आप
रोल बैक लिख दो और आप वहां पहुंच जाओगे जहां आपने पहली बार कमिट किया था। तो अब मैं बड़े ध्यान से इस काम को करूंगा। मैं
कहूंगा यार अब मैं इस काम को बहुत ध्यान से करना चाहता हूं। अब मैं ब्लंडर नहीं कर सकता और मैं डिलीट यूज़र्स आईडी = 5
करूंगा। फरहान की आईडी फाइव है। इस बार मैं गलती नहीं करूंगा और मैं रन कर दूंगा इसको। ठीक है? जैसे ही मैं इसको रन
करूंगा। अब देखो मैंने इसको जैसे ही रन किया फरहान जा चुका है। लेकिन क्या मेरे चेंजेस फाइनल है? नहीं। क्योंकि ऑटो कमिट
ऑफ है। ऑटो कमिट को मैंने ऑफ कर रखा है। ठीक है? मैं एक बार ऑफ करूंगा चलेगा। तो मैं इसको भी कमेंट आउट कर सकता हूं। मैंने
ऑटो कमिट को ऑफ कर दिया है। तो अब या तो मैं कमिट कर सकता हूं या रोल बैक कर सकता हूं। तो मैं अपने मैनेजर को चेक कराऊंगा।
मेरे मैनेजर को मुझ पर भरोसा नहीं है। वो कहता है कि यार तुम तो किसी का भी अकाउंट डिलीट कर देते हो। भाई क्या हो तुम? मैं
देखता हूं एक बार मैनेजर ने देखा। ओके। तुमने फरान का ही डिलीट किया है। स्नेहा के बाद था फरान और उसके बाद प्रियंका थी।
ओके। चलो ठीक है। कमिट कर दो। मैनेजर की परमिशन मिल गई। अब हम कर देंगे कमिट। मैं यह हटा देता हूं। अब हम कर देंगे कमिट।
ठीक है? तो हम बस इतना लिखेंगे एमएम आईटी कमिट और मैं इसको रन करूंगा। अब चेंजेस फाइनल हो गए। अब चेंजेस फाइनल हो गए। ठीक
है? तो ये होता है रोल बैक और कमिट और हमारा जो ऑटो कमिट सेटिंग है वो। तो तीन चीजें हैं। एक तो सेट ऑटो कमिट इज़ इक्वल
टू ज़ीरो। ठीक है? अगर आप ज़ीरो कर दोगे ऑटो कमिट को तो इसका मतलब कि ऑटोमेटिकली हर क्वेरी कमिट नहीं होगी जब तक आप खुद से
कमिट ना लिख दो। अगर आपने कोई ब्लंडर करा तो आप रोल बैक लिख सकते हो। और वो आपको वहां ले जाएगा। कहां पर ले जाएगा? जहां पर
आपने लास्ट टाइम कमिट लिखा था। तो अभी मैंने कमिट लिखा तो मेरा जो डेटाबेस का स्टेट है वो कुछ इस तरह से दिखता है। अगर
मैं कुछ भी चेंजेस करूं अभी और उसके बाद मुझे लगता है वो गलती से कर दिए तो मैं रोल बैक लिखकर वापस जा सकता हूं। तो आ जाओ
अब थ्योरेटिकली इस चीज को समझ लेते हैं। तो हमने सबसे पहले क्या किया? ऑटो कमिट को डिसेबल किया। क्या आपको डिसेबल रखना
चाहिए? ऑटो कमिट नहीं। बाय डिफ़ॉल्ट आपको ऑटो कमिट को इनेबल ही रखना चाहिए। तो मैं अपनी जो पुरानी सेटिंग है ना उसको रिवर्ट
कर दूंगा। मैं यहां पर ऑटो कमिट को वन कर दूंगा दोबारा से। क्योंकि मैं इस तरह की चीज नहीं चाहता। मैं चाहता हूं मैंने एक
बार क्वेरी लिखी तो वो फाइनल हो जाए। ठीक है? हां, जब मैं कोई डिलीट ऑपरेशन कर रहा हूं या मैं कोई ऐसा ऑपरेशन कर रहा हूं जिस
मुझे डर लग रहा है कि भाई कुछ हो ना जाए कहीं कहीं कुछ ऐसा ना कर बैठूं मैं जिससे कि मेरा डेटाबेस ही खाली हो जाए या मेरा
कोई ऐसा यूजर डिलीट हो जाए जो कि मैं इंटेंड नहीं करता हूं डिलीट करने का। मैं इसको रन करूंगा और मैंने सेट ऑटो कमिट वन
कर दिया। यानी कि मेरी जो पुरानी सेटिंग थी वो आ चुकी है। तो चलो आ जाओ अब थ्योरेटिकली देख लेते हैं चीजों को। बाय
डिफॉल्ट हमारा ऑटो कमिट ऑन था। हमने ऑटो कमिट को यह क्वेरी रन करके ऑफ किया और अब जब तक आप कमिट एग्जीक्यूट नहीं करोगे आपके
चेंजेस परमानेंट नहीं है। कमिट क्या करता है? चेंजेस सेव करता है। यानी कि माय सीक्वल को ये बताता है कि भाई जो चेंज
मैंने किया है वो फाइनल है। ठीक है? और कमिट लिखकर आप एक ट्रांजैक्शन को कमिट कर सकते हो। दिस सेव्स ऑल द चेंजेस मेड सिंस
द लास्ट कमिट और रोल बैक। आफ्टर दिस पॉइंट, द चेंजेस आर परमानेंट। ठीक है? रोल बैक से क्या होता है? रिवर्ड चेंजेस टू
लास्ट सेफ पॉइंट। यानी कि लास्ट टाइम जब आपने कमिट लिखा था वो आपका लास्ट सेव पॉइंट कहलाता है। ठीक है? जैसे कि मान लो
मैंने 10 यूज़र्स डिलीट किए कमिट लिखा तो वो जो स्टेट है डेटाबेस की वो लास्ट सेव पॉइंट है। अब मैं कुछ भी करूंगा
जब तक मैं कमिट नहीं लिखता तब तक वो फाइनल नहीं है। रोल बैक लिख दिया तो मैं कहां पहुंच जाऊंगा? लास्ट सेव पॉइंट में। लेकिन
याद रखना ये सब चीजें तब होंगी जब आपका ऑटो कमिट ऑफ है। यानी कि आपने सेट ऑटो कमिट = 0 रन कर रखा है। अब यहां पर मैंने
सेट ऑटो कमिट वन कर दिया सारा काम करके। तो मैं जो क्वेरी चलाऊंगा वो फाइनल होगी। ठीक है? आई होप कि आप ये चीज समझ रहे हैं।
तो कमिट हमने देखा। रोल बैक हमने देखा। रोल बैक क्या करता है? अनडू कर देता है सारे चेंजेस को सिंस द लास्ट कमिट। ठीक
है? सिंस द लास्ट कमिट। अब एक सिंपल वर्क फ्लो मैंने यहां पर दिखाया हुआ है। जब आप रिवीजन कर रहे हैं आपके काम आएगा यह बहुत
ज्यादा। तो, आप इसको देखना। अब दोबारा से ऑटो कमिट को जैसे कि आपने देखा मैंने किया। आप दोबारा से इसको इनेबल कर सकते
हो। अब कुछ बेस्ट प्रैक्टिससेस की बात मैंने की है कि आप कमिट यूज करो व्हेन यू वांट टू मेक चेंजेस परमानेंट। रोल बैक टू
डिस्कार द चेंजेस। कंसीडर डिसेबलिंग ऑटो कमिट व्हेन परफॉर्मिंग कॉम्प्लेक्स अपडेट्स टू अवॉइड सेविंग पार्शियल और
इनकरेक्ट डेटा। ठीक है? ये चीज़ मैंने आप लोगों को ऑलरेडी बताई। तो मैं पर्सनली क्या करता हूं? जब अपने डेटाबेस में काम
करता हूं तो मैं वैसे तो ऑटो कमिट को वन रखता हूं। ठीक है? बट मुझे कभी भी कोई ऐसी चीज करनी है कि यार क्रिटिकल है। गलती ना
हो जाए। कहीं कोई ऐसा काम मैं ना कर बैठूं जिससे कि प्रॉब्लम हो या मेरे यूजर के उड़ने का खतरा हो मतलब डिलीट होने का खतरा
हो गलत यूजर के जो मैं चाहता हूं उससे थोड़ा सा कुछ हटके होने का खतरा हो तो मैं क्या करूंगा मैं ऑटो कमिट को ज़ीरो कर
लूंगा अपना काम करूंगा कमिट करूंगा ऑटो कमिट को दोबारा से वन कर दूंगा तो यह मैं करता हूं अब आपका वर्क फ्लो क्या डिमांड
करता है यह आपके जो पर्टिकुलर यूज़ केस है उस पर डिपेंड करेगा और आपकी प्रेफरेंसेस पे भी डिपेंड करेगा क्योंकि एक बार आप
थोड़े बहुत एक्सपीरियंस हो जाते हैं तो फिर आप खुद से डिसीजन लेना शुरू कर देंगे। सो आई होप कि ये चीज आप लोगों को समझ में
आई। जो हैंडब है वो आप लोगों को मिल जाएगी और मैं जो भी सीक्वल क्वेरीज लिख रहा हूं वो भी आप लोगों को मिल जाएंगी। तो टेंशन
तो बिल्कुल भी मत लेना इन चीजों की और समझने पर फोकस करना। हैंडब इज अवेलेबल फॉर डाउनलोड।
और अब हम बात करेंगे प्राइमरी की की। वैसे मैंने प्राइमरी की के बारे में ऑलरेडी आप लोगों को काफी कुछ बताया था। बट अब हम लोग
डिस्कस करेंगे कि प्राइमरी की एग्जैक्टली डिफरेंट कैसे है यूनिक कंस्ट्रेंट से और क्यों प्राइमरी की बनानी चाहिए? क्या
मल्टीपल प्राइमरी की हो सकती हैं एक टेबल में? शॉर्ट आंसर इज़ नो बट वी विल डिस्कस ऑल दिस। तो प्राइमरी की क्या है? ये
कंस्ट्रेंट ही है सीक्वल में। जिस तरह से हमारे पास नॉट नल कंस्ट्रेंट होता है। प्राइमरी की भी एक कंस्ट्रेंट है जो कि
यूनिकली आइडेंटिफाई करता है हर रो को एक टेबल में। फॉर एग्जांपल अगर मुझे किसी भी एक पर्टिकुलर रो को डिलीट करना है। मैं
आपसे क्या मांगूंगा? हमारे इस केस में आप आ जाओ जहां पर हमने सेलेक्ट स्टार्ट फ्रॉम यूज़र्स किया था। मैं आपसे क्या मांगूंगा?
अगर मुझे किसी को डिलीट करना है तो मैं आपसे आईडी मांगूंगा। तो हमें एक ऐसा कॉलम रखना होता है जिससे कि हम आइडेंटिफाई कर
सकें एक बहुत बड़ी टेबल में रिकॉर्ड्स को। इट्स ऑलवेज रेकमेंडेड। अगर आपके पास बहुत सारे यूज़र्स हैं तो आप क्या शेयर करोगे इन
सब चीजों में से? जेंडर नहीं। डेट ऑफ़ बर्थ नहीं। नहीं डेट ऑफ़ बर्थ दो लोगों की सेम हो सकती हैं। सैलरी भी सेम हो सकती है।
ईमेल सेम नहीं हो सकता। बट अगेन हम एक और रिकॉर्ड अगर रखें ऐसा जिससे कि हम यूनिकली आइडेंटिफाई कर पाएं एक पर्टिकुलर रिकॉर्ड
को एक टेबल में तो इट्स वेरी वेरीरी यूज़फुल। और प्राइमरी की वही पर्पस सर्व करती है। प्राइमरी की यूनिक होनी चाहिए।
ये तो आपको पता ही है। नल नहीं हो सकती। ईमेल नल हो सकता है। मतलब आप उसको कॉन्फ़िगर कर सकते हैं। हो सकता है। वैसे
हमारी टेबल में हमने ऑलरेडी ईमेल को नॉट नल बोला हुआ है। कंस्ट्रेंट लगाया हुआ है। बट अगेन हम प्राइमरी की को अलग से इसलिए
डिफाइन कर रहे हैं क्योंकि अगर हमें ईमेल को नल करना पड़ गया कभी तो फ्यूचर में करना पड़ गया कभी तो। मान लो हम फोन नंबर
ऐड करते हैं और हम कहते हैं यार आप या तो अपना ईमेल बता दो या फोन नंबर बता दो। तो ऐसे में हम ईमेल को एज अ यूनिक
आइडेंटिफायर यूज़ नहीं कर सकते। ओके? इज यूज्ड टू आइडेंटिफाई रोज इन अ टेबल। जैसे कि मैंने आपको ऑलरेडी बताया। एक ऐसी चीज
जो कि मैं आपसे मांगूंगा। अगर मुझे अपडेट करना होगा। अगर मुझे आपका अकाउंट डिलीट करना होगा या मुझे आपके अकाउंट को फैच भी
करना होगा तो भी मैं आपसे आईडी मांगूंगा कि आप अपनी अकाउंट आईडी दे दो। कैन बी अ सिंगल कॉलम और अ कॉम्बिनेशन ऑफ़ कॉलम्स।
ठीक है? अब ये मैं आप लोगों को बताना चाहता हूं कि एक सिंगल कॉलम भी हो सकता है और ये कॉम्बिनेशन ऑफ़ कॉलम्स भी हो सकता है
जिसको कंपोजिट की कहते हैं। बट अगेन अभी के लिए आप प्राइमरी की को एज अ सिंगल कॉलम ही समझो। ईच टेबल कैन ओनली हैव वन
प्राइमरी की। दिस इज वेरीेंट। आप ऐसा नहीं कर सकते कि आपने आईडी को भी प्राइमरी की बना दिया और आपने कुछ और डाल दिया यहां
पर। उसको भी आपने प्राइमरी की बना दिया। फॉर एग्जांपल आपने मान लो यूजरनेम को भी प्राइमरी की बना दिया। नहीं ये आप नहीं कर
सकते। ठीक है? आप सिर्फ एक कॉलम को प्राइमरी की चुनोगे। अब वो आपकी प्राइमरी की होगी। बढ़िया। अब यहां पर आप किस तरह से
किसी भी एकिस्टिंग टेबल को प्राइमरी की दे सकते हो। आप सिंपली क्रिएट टेबल यूज़र्स करो। आईडी एंट ऑटो इंक्रिपेंट प्राइमरी
की। यूजुअली होता क्या है ना कि जब भी हम एक इंटीजर आईडी लेते हैं तो प्राइमरी की के साथ-साथ हम ऑटो इनकमेंट भी लगाते हैं।
क्योंकि हम चाहते हैं कि अगर वो एक से शुरू हो रहा है यानी कि पहला रिकॉर्ड की आईडी वन है तो दूसरे की हम चाहेंगे टू हो
तीसरे की चाहेंगे थ्री हो एंड सो ऑन। ठीक है? और यहां पर प्राइमरी की किस तरह से डिफरेंट है यूनिक कंस्टेंट से। ये समझना
बहुत जरूरी है और इसका डिस्कशन मैंने आप लोगों से अलग से इसलिए किया क्योंकि ये समझना बहुत जरूरी है। प्राइमरी की और
यूनिक जो है माइट सीम सिमिलर क्योंकि भाई दोनों डुप्लीकेट ही प्रिवेंट कर रहे हैं। लेकिन कुछ इंपॉर्टेंट डिफरेंसेस हैं।
प्राइमरी की मस्ट बी यूनिक और यूनिक कंस्ट्रेंट भी यूनिक। प्राइमरी की क्या अलाउ करेगा? नल वैल्यूज़ नहीं। यूनिक आपको
नल वैल्यू अलाउ करता है। कितनी अलाउड है प्राइमरी कीज़? सिर्फ एक टेबल में एक प्राइमरी की होगी। और यूनिक आप किसी भी
कॉलम को यूनिक बना सकते हो। आप पांच कॉलम को यूनिक बना लो। आप 10 कॉलम को यूनिक बना लो। यह आपकी मर्जी है। क्या एक टेबल में
प्राइमरी की रिक्वायर्ड होती है? आइडियली यस। क्योंकि वरना आप कैसे आइडेंटिफाई करोगे रिकॉर्ड को? और यूनिक कंस्ट्रेंट
ऑप्शनल होता है या फिर आप बाद में हटा सकते हो। ये आपकी मर्जी है। ड्रॉपिंग ये ड्रॉप नहीं की जा सकती ईज़ली। यूनिक
कंस्ट्रेंट को आप कभी भी ड्रॉप कर सकते हो। तो ये कुछ की डिफरेंसेस थे और मैंने यहां पर एग्जांपल क्वेरीज़ आप लोगों के लिए
लिख दी हैं। क्योंकि शायद अभी तो आप लोगों के टॉप ऑफ द हेड होंगी। बट जब आप रिवीज़ करोगे ना तब आपको लगेगा कि यार मैं
सिंटेक्स भूल रहा हूं। तो मैं इसीलिए जगह-जगह आप लोगों के लिए सिंटेक्स लिख देता हूं। इस एग्जांपल में आईडी एक यूनिक
आइडेंटिफायर है जो कि मैंने ऑटो इंक्रिमेंट प्राइमरी की कंस्ट्रेंट लगाया हुआ है। ईमेल मस्ट बी यूनिक जो कि आप बाद
में हटा भी सकते हो। बट ये प्राइमरी की नहीं है। ठीक है? प्राइमरी की नहीं है। ये यूनिकली आइडेंटिफाई करने की जिम्मेदारी
नहीं ले रही है रिकॉर्ड को टेबल में। गॉट इट? बढ़िया। कैन आई ड्रॉप अ प्राइमरी की? यह एक बहुत इंपॉर्टेंट सवाल है। क्योंकि
अगर इंटरव्यू में आपसे किसी ने पूछ लिया कि ड्रॉप कर सकते हो प्राइमरी की? यस। बट इट इज़ मोर रिस्ट्रिक्टेड देन ड्रपिंग अ
यूनिक कंस्ट्रेंट। आप कर तो सकते हो ड्रॉप प्राइमरी की को बट आपके प्राइमरी की के ड्रॉप होना फेल्स हो सकता है अगर आप उसको
कहीं और यूज़ कर रहे हो लाइक इन अ फॉरेन की जिसके बारे में हम बात करेंगे। ठीक है? हम इसके बारे में आगे बात करेंगे। फॉरेन की
क्या होती है? बहुत जल्दी बात करेंगे। बट यू गॉट द पॉइंट। अब ऑटो इंक्रिमेंट के बारे में एक बात बताना चाहता हूं। आपकी
आईडी जो है वो वन से स्टार्ट होगी। 2 3 4 5 6 इस तरह से जाएगी। और यही ऑटो इंक्रिमेंट होता है। ठीक है? इन माय
सीक्वल अ प्राइमरी की इज़ ऑफेन यूज्ड विथ दी ऑटो इनकमेंट एट्रिब्यूट टू ऑटोमेटिकली जनरेट यूनिक वैल्यूज़ फॉर न्यू रोज़। दिस
मीन्स दैट एव्री टाइम यू इंसर्ट अ न्यू रो माय सीक्वल विल ऑटोमेटिकली असाइन अ यूनिक वैल्यू टू द आईडी कॉलम। यू कैन चेंज अ
स्टार्टिंग वैल्यू ऑफ़ ऑटो इंक्रिमेंट। बहुत जरूरी इनफार्मेशन। अगर आपको ऑटो इंक्रिमेंट को चेंज करना है। मान लो कि आप
एक दो तीन चार करके 100 तक पहुंच गए। अब अचानक आप चाहते हो कि यार मैं अब 1000 से शुरू करूं। फॉर सम रीज़न आप चाहते हो कि
1000 से शुरू करूं। मान लो 100 से लेके और 999 तक कुछ यूज़र्स ने ऑफलाइन एनरोल कर दिया। अब आप चाहते हो कि क्योंकि उनको
ऑलरेडी ऑफलाइन आपने आईडी दे दी है। आप अब 1000 से स्टार्ट करना चाहते हो तो आप ऑटो इंक्रिमेंट को चेंज कर सकते हो। कुछ इस
तरह से आप कह सकते हो ऑल्टर टेबल यूज़र्स ऑटो इंक्रिमेंट इज़ इक्वल टू 1000। और ऐसा करने से आपका जो ऑटो इंक्रिमेंट है वो
चेंज हो जाएगा। आई होप यू गॉट द पॉइंट। तो प्राइमरी की मेन आइडेंटिफायर के लिए आप यूज़ करो। यूनिक फॉर इनफोर्सिंग नॉन
डुप्लीकेट वैल्यूज़। यू कैन हैव ओनली वन प्राइमरी की बट यू कैन हैव मल्टीपल यूनिक कंस्ट्रेंट्स। ये सबसे बड़ा डिफरेंस होता
है। तो कभी इंटरव्यू में पूछा जाए आप लोगों से ये सबसे बड़ा डिफरेंस होता है। आई होप कि आप लोगों को प्राइमरी की अच्छे से
समझ में आ गई। अब बात करेंगे फॉरेन कीस की जो कि बहुत सारे स्टूडेंट्स को परेशान करती है। यह एक
ऐसा टॉपिक है जो कि ऑलमोस्ट सारे स्टूडेंट्स को परेशान करके रख देता है। लेकिन अच्छी खबर यह है कि इस वीडियो के
बाद आप लोगों को यह टॉपिक कभी परेशान नहीं करेगा। तो सबसे पहले फॉरेन की बनाते क्यों हैं? क्या है ये? जरा सोचो कि मेरे पास ये
डेटा है। ठीक है? मैं अभी सिंपल इस क्वेरी को चलाता हूं। सेलेक्ट स्टार्ट फ्रॉम यूज़र्स। मेरे पास यूजर का डेटा है। ये
सारा डेटा है। अब मैं चाहता हूं कि मैं इन यूज़र्स के एड्रेसेस को भी स्टोर करूं। मेरे पास दो ऑप्शंस हैं। या तो मैं यहां
पर एक कॉलम बना दूं और उसके अंदर मैं एड्रेसेस को डालना शुरू कर दूं और इसके नंबर ऑफ कॉलम्स बढ़ा दूं। ये मैं कर सकता
हूं। तो यहां पर प्रॉब्लम ये होगी कि अगर मैं इसमें कॉलम्स ऐड करता जाऊंगा तो एक टाइम पर इस टेबल के अंदर बहुत सारे कॉलम्स
हो जाएंगे और क्वेरीज इनफिशिएंट होने लग जाएंगी। इसलिए हम डेटा को सेपरेट करते हैं। और इस केस में हम क्या करेंगे? एक नई
एड्रेसेस की टेबल बनाएंगे और उस एड्रेस टेबल के अंदर एक कॉलम बनाएंगे जो कि यह बताएगा यह किस यूजर आईडी का एड्रेस है और
यही फॉरेन की होता है। यही होता है। इससे ज्यादा कुछ नहीं होता है। मैं एक नई एड्रेसेस नाम की टेबल बनाऊंगा। उस टेबल के
अंदर मैं सिंपली क्या कहूंगा कि भाई देखो यह एड्रेस यूजर आईडी नंबर वन का है यानी कि आरव का है। यह एड्रेस यूजर आईडी नंबर
11 का है। तनवी का है। तो वहां पर मेरे पास दूसरी टेबल में एक कॉलम होगा यूजर अंडरस्कोर आईडी और वहां पर यह वाली आईडी
होगी। यानी कि उस कॉलम के अंदर इस टेबल की प्राइमरी की होगी जो कि आईडी है। ठीक है? आई होप आप समझ गए और मैं आपको अभी जो करके
दिखाने वाला हूं ना उससे आप लोग और भी समझने वाले हैं। तो मैं यहां पर क्या करूंगा? फाइल पर क्लिक करूंगा और न्यू
क्वेरी टैब पर क्लिक करूंगा। यहां पर मैं एक नई क्वेरी बनाने वाला हूं। और मैं आप लोगों को एक क्वेरी लिख कर दिखाऊंगा। तो
यहां पर सबसे पहले मैं लिखूंगा ड्रॉप टेबल इफ एग्ज़िस्ट। मैं कहूंगा कि भाई देखो अगर मेरी एड्रेसेस टेबल एग्ज़िस्ट करती है तो
उसको कर दो क्या? ड्रॉप। तो एड्रेसेस नाम की मैंने एक टेबल बना ली। फिर मैं कहूंगा कि क्या करो? क्रिएट करो टेबल एड्रेसेस।
ठीक है? अब आप देखो ये सिंटेक्स मैंने ऑलरेडी आप लोगों को बता रखा है। तो ज्यादा परेशान तो आप होंगे नहीं मुझे पता है। बट
यहां पर कुछ चीजें मैं आप लोगों को बताऊंगा जो कि आप लोग को और मजेदार लगेंगी। ठीक है? तो मैं यहां पर लिखूंगा
आईडी। सबसे पहले एक आईडी देते हैं इसको। ये आईडी इसकी आईडी है। अपनी एड्रेस इसकी आईडी है। और मैं यहां पर लिखूंगा ऑटो
इंक्रिमेंट। तो ऑटो अंडरस्कोर इंक्रीमेंट और प्राइमरी की कंस्ट्रेंट लगा देता हूं। ठीक है? बढ़िया कॉमा आएगा यहां पर। इसके
बाद मैं बोलूंगा कि देखो भाई एक हमें चाहिए यूजर आईडी जो कि क्या होगी जो कि इंट होगी। इसके बाद मैं बोलूंगा मुझे एक
स्ट्रीट नाम का कॉलम चाहिए जो कि क्या होगा? होता है ना स्ट्रीट होता है, सिटी होता है, स्टेट होता है, पिन कोड होता है।
तो वो स्ट्रीट आ जाएगी यहां पर। स्ट्रीट के अंदर मैं क्या करूंगा? लिखूंगा varc इसको दे देते हैं 255। ठीक है? 255 दे
देते हैं। और इसके अलावा मैं क्या करूंगा कि यहां पर लिखूंगा सिटी। ठीक है? तो मैं कहूंगा एक सिटी आ जाएगी और ये varc 100 कर
देता हूं अभी के वैसे आपके यूज़ केस पर डिपेंड करता है कितने कररेक्टर्स आप स्टोर करना चाहते हैं। ठीक है? इसके बाद आपका आ
जाएगा स्टेट। स्टेट को वार मैं अभी के लिए 100 दे रहा हूं। ठीक है? और पिन कोड को मैं थोड़ा
छोटा बना दूंगा। ठीक है? वैसे तो छह डिजिट का होता है बट मैं 10 बना दूंगा। ठीक है? पिन कोड और यहां पर हम इसको बना देंगे वार
और बना देंगे 10। ठीक है? बढ़िया। इसके बाद हम यहां पर कंस्ट्रेंट और यहां पर इस कंस्ट्रेंट का नाम जो कि मैं एफ के
अंडरस्कोर यूजर रखने वाला हूं। फिर फॉरेन की लिखेंगे यहां पर। अब देखो यहां पर सिंटेक्स का खेल मैं यहां पर कहूंगा यूजर
अंडरस्कोर आईडी मेरी फॉरेन की है। तो मैंने अभी तक क्या कहा? मैंने कहा ये जो यूजर अंडरस्कोर आईडी कॉलम है ना मेरी इस
टेबल में इसके अंदर की जो वैल्यूज़ हैं वो मेरी यूजर टेबल की आईडी से मैप होगी। दोबारा सुनो। मैंने बोला कि यह जो यूजर
अंडरस्कोर आईडी मैंने एड्रेससेस में बनाया ना, यह कॉलम यह बताएगा कि यह किसका एड्रेस है। कैसे बताएगा? मैं यहां पर इस
पर्टिकुलर कॉलम के अंदर ये वाला जो यूजर है ना, इसकी आईडी डालूंगा जो कि मैंने आप लोगों को यहां पर दिखाई। ये वाली आईडी जो
है जैसे आरव का एड्रेस है तो यूजर अंडरस्कोर आईडी हो जाएगा वन। स्नेहा का एड्रेस है तो यूजर अंडरस्कोर आईडी हो
जाएगा फोर। ईशान का एड्रेस है तो यूजर अंडरस्कोर आईडी हो जाएगा 10। तो यहां पर मैं वो डालूंगा। तो मैं ये बता रहा हूं
यहां पर। और मैं कह रहा हूं कि भाई देखो सिस्टम कुछ ऐसा है। फिर इसके बाद मैं लिखूंगा रेफरेंसेस और मैं लिखूंगा यूज़र्स।
और मैं यहां पर क्या बता रहा हूं? मैं बेसिकली यहां पर ये बता रहा हूं कि भाई देखो ये यूज़र्स की आईडी को रेफरेंस करता
है। तो मैंने यहां पर बोला कि भाई देखो मेरी इस टेबल का यूजर अंडरस्कोर आईडी एक फॉरेन की है जो कि रेफरेंस करता है मेरी
यूज़र्स टेबल की आईडी को यानी कि इस टेबल की आईडी को यानी कि ये वाले कॉलम को। तो मैंने क्या किया? एक तरह से इन दोनों
टेबल्स के बीच में एक रिलेशनशिप बना दी। मैंने कहा कि भाई देखो मेरी यूज़र्स टेबल थी लेकिन एड्रेसेस टेबल के अंदर मैंने एक
लिंक दे दिया यूजर टेबल का। एक तरह से आप ऐसा समझ लो कि जो यूजर अंडरस्कोर आईडी है वो आईडी से मैप्ड है। तो ये तो हो गया
फॉरेन की कंस्ट्रेंट। हमने यहां पर अपना काम पूरा कर दिया है। लेकिन अगर किसी ने अगर किसी ने यहां पर डिलीट कर दिया। जैसे
मान लो आरfव का एड्रेस वहां पर स्टर्ड है। किसी ने आरf को ही डिलीट कर दिया। तो क्या होगा? अगर यूजर अंडरस् आईडी में वन स्टर्ड
है तो वो तो है ही नहीं। नहीं अब क्योंकि आरएफ तो डिलीट हो चुका है। तो ऐसे में क्या करना चाहिए? तो उसके लिए हम क्या
करते हैं? ऑन डिलीट देते हैं यहां पर। तो अभी के लिए आप यहां पर लिखो ऑन डिलीट कैस्केट जिसका मतलब है कि अगर कोई भी
पेरेंट के रो को डिलीट करेगा तो यहां पर जो एड्रेस है वो भी डिलीट हो जाएगा। दोबारा सुनो। अगर किसी ने जिसका एड्रेस है
यानी कि जिस यूजर का एड्रेस है उस यूजर की रो को डिलीट मार दिया तो यहां पर एड्रेस भी डिलीट हो जाएगा। यह मैं ऑन डिलीट
कैस्केड लिखकर बता रहा हूं। ठीक है? ऑन डिलीट कैस्केट करके मैं यह बता रहा हूं। आप चाहो तो यह भी कफ़िगर कर सकते हो कि कुछ
ना हो। ठीक है? और ऐसा करने के लिए आप लोग क्या करोगे? ऐसा करने के लिए आप ऑन डिलीट को कर दोगे सेट नल। ऑन डिलीट सेट नल का
मतलब यह होगा कि आपकी जो फॉरेन की है वो नल हो जाएगी। यानी कि यहां पर आपके जो रिकॉर्ड्स हैं वो नल हो जाएंगे। यानी कि
अगर आपने आरव को डिलीट किया तो आरव का जो भी एड्रेस स्टोर कर रहा है वहां पर नल हो जाएगी यूजर अंडरस्कोर आईडी। ठीक है? तो आप
यहां पर ऑन डिलीट कैस्केट कर सकते हो। आप ऑन डिलीट सेट नल कर सकते हो। आप ऑन डिलीट रेस्ट्रिक्ट भी कर सकते हो। ये सब मैंने
आपको हैंडब में दिखाया हुआ है और इस पर आएंगे। बट अभी के लिए ऑन डिलीट कैस्केट लिख दो। चलो इस क्वेरी को चलाते हैं। ठीक
है? आ जाओ इस क्वेरी को चलाते हैं। और यहां पर आप लोग देखो जीरो रोज़ अफेक्टेड मेरी टेबल बन चुकी है। तो अगर आप यहां पर
स्टार्ट सीक्वल के अंदर आओगे ना और टेबल्स में आओगे तो यूज़र्स तो हमारी बन ही गई है। रिफ्रेश करते हैं। एड्रेसेस भी बन चुकी
है। अच्छा एक काम और कर लेना यहां पर ऊपर ना यूज़ लगा लेना। क्या लगाओगे? यूज़ स्टार्टर सीक्वल। जस्ट टू इंश्योर कि
हमारा ये जो काम हो रहा है सारा ये स्टार्टर सीक्वल डेटाबेस में हो रहा है। कहीं गलती से आप किसी और डेटाबेस में काम
कर रहे हैं। मेरी ये वाली क्वेरी चला दो और फिर मुझे बुरा भला बोलो। लोगों में जी चाहता। ठीक है? बढ़िया। अब इसके बाद हमें
क्या करना है? कुछ वैल्यू्यूज इंसर्ट करनी है। तो इंसर्ट करने के लिए आप कुछ इस तरह से लिख सकते हो कि भाई इंसर्ट इंटू
एड्रेसेस और यहां पर यूजर अंडरस्कोर आईडी, स्ट्रीट, सिटी, स्टेट और पिन कोड। ठीक है? ये हम इंसर्ट करेंगे। क्या इंसर्ट करोगे
यहां पर? एंड ऑब्वियसली हम लोग इन वैल्यूज़ को एक क्वेरी से इंसर्ट करेंगे। तो मैं यहां पर क्या करूंगा? लिखूंगा वैल्यूज़
वैल्यूज़ और यहां पर वैल्यूज़ लिखना शुरू कर दूंगा। ठीक है? तो मैंने आपका टाइम बचाने के लिए वैल्यूज़ यहां पर डाल दी हैं। ये
कुछ वैल्यूज़ हैं जो कि मैंने यहां पर डाली है और ये हमारा डेटा इंसर्ट हो जाएगा। और अभी मैं क्या करूंगा कि ये जो सारा कोड है
इसको मैं जरा कमेंट आउट करके ये वैल्यूज़ इंसर्ट कर दूंगा। तो मैं इस क्वेरी को चला देता हूं। और यहां पर दिक्कत आ गई। तो
यहां पर बेसिकली एरर ये आ रहा है कि यहां पर कुछ जो यूजर आईडीज़ हैं वो यहां पर एक्सिस्ट नहीं करती क्योंकि हमने इस टेबल
के साथ काफी खेल किया था। तो मैं क्या करता हूं अभी जल्दी से मैं यहां पर खाली करता हूं इसको स्टार्ट अ सीक्वल को मैं
यहां पर इसको क्या करता हूं डिलीट करता हूं मैं ड्रॉप स्केप करता हूं इसको ड्रॉप नाउ कर देता हूं और मैं ये वाली जो सीक्वल
फाइल है ना मैं इसको सेव कर लेता हूं ठीक है मैं आपको दिखाता हूं मैं क्या कर रहा हूं और आप समझो मैं क्या कर रहा हूं ठीक
है जैसे मैंने ज़ीरो वन बनाई थी क्रिएट यूजर टेबल ज़ीरो टू बनाई थी इंसर्ट डेटा अब मैं ज़ीरो थ्री बनाऊंगा क्या मैं बनाऊंगा
फॉरेन की के नाम से ठीक है और मैं इसका नाम रख दूंगा फॉरेन की 03 अंडरस्कोर फॉरेन की डॉट सीक्वल। ठीक है? मैंने सेव
कर लिया इसको। तो मैं यहां पर अपनी वन वाली चला दूंगा। और यहां पर आप देख सकते हो कि यह यूजर टेबल बन गई। और इसके बाद
मैं टू वाली चला दूंगा। टू वाली चलाऊंगा तो ये डाटा इंसर्ट हो जाएगा। फिर थ्री वाली चला दूंगा। और आप देखो यहां पर थ्री
वाली भी हमारी सक्सेसफुल हो जानी चाहिए। अ इंसर्ट इंटू एड्रेसेस भी हो जाना चाहिए। तो मैं इसको चलाऊंगा। तो आप देखो ये 20
रोज़ अफेक्टेड आ गया। अब आप आ जाओ यहां पर। अब मैंने सेलेक्ट स्टार फ्रॉम यूज़र्स किया और मैं उसी के साथ-साथ करूंगा सेलेक्ट
स्टार फ्रॉम एड्रेसेस। ठीक है? और मैं इसको रन करूंगा और मैं ना कैपिटल रखना इनको पसंद करता हूं क्योंकि अच्छा दिखता
है। मैं इसको जैसे ही रन करूंगा आप देखो यह आ गया हमारा यूज़र्स और ये आ गए हमारे एड्रेसेस। ठीक है? ये सारे एड्रेसेस आ गए।
ये सारे यूज़र्स आ गए। यहां पर यूजर आईडी 22 का क्या मतलब है? ये किसका एड्रेस है? यह है एड्रेस तुषार का। ठीक है? यहां पर
यूजर आईडी एट का क्या मतलब है? इसका मतलब है यह एड्रेस किसका है? यह एड्रेस है यहां पर आदित्य का। और ये आईडी इस एड्रेस की
खुद की आईडी है। यानी कि इस एड्रेस टेबल की खुद की आईडी है। तो आप कंफ्यूज मत होना। ये मत समझना कि आईडी और यूजर आईडी
सेम है। नहीं। मैंने यहां पर इसलिए चेंज करके दिया है। देखो यहां पर अगर मैं कहूं आईडी = 2 एड्रेस टेबल की एड्रेस टेबल की
आईडी = 2 किसका एड्रेस स्टोर कर रही है? वो तुषार का एड्रेस स्टोर कर रही है। ठीक है? तो ये चीज़ आप लोगों को क्लियर होनी
चाहिए। तो मैंने यहां पर एक तो यहां पर टेबल बनाई है। एक यहां टेबल बनाई है। अब मैं आपको एक जादू दिखाता हूं। इनफैक्ट
जादू नहीं बहुत ही सिंपल सी बात है। अगर मैं डिलीट करूंगा डिलीट फ्रॉम एड्रेसेस और मैं लिखूंगा वेयर
आईडी इज़ इक्वल टू मैं आईडी = 2 करके तुषार का एड्रेस डिलीट कर दूंगा। अगर मैं तुषार का एड्रेस डिलीट करूंगा तो क्या होगा?
क्या तुषार डिलीट हो जाएगा? नहीं। अगर मैं तुषार को डिलीट करूंगा यानी कि मैं कह दूं आईडी = 22 तो तुषार का एड्रेस डिलीट हो
जाएगा। द आंसर इज़ यस। अगर तुषार ही नहीं रहा तो जो तुषार को रेफरेंस कर रहा है यानी कि एड्रेसेस टेबल में तुषार को
एड्रेस कर रहा है वह भी डिलीट हो जाएगा क्योंकि हमने ऑन डिलीट कैस्केट लिखा हुआ है और ये मैं आप लोगों को दिखाता हूं। तो
जैसे ही मैं इसको चलाऊंगा ना यहां पर तो आप देखो कि हमने तुषार को तो डिलीट कर दिया यहां से। ठीक है? 22 को तो डिलीट कर
दिया। देखो 21 के बाद सीधा 23 है। लेकिन आप यहां पर आओगे तो देखो यहां पर जो आईडी नंबर टू वाला एड्रेस था जो कि तुषार का
एड्रेस स्टोर कर रहा था वो भी डिलीट हो चुका है। सो दिस इज़ समथिंग दैट यू नीड टू अंडरस्टैंड। तो फॉरेन की बहुत ही सिंपल सी
चीज है। अगर मैं आऊं वापस आप लोगों को दिखाऊं जो हैंडबुक मैंने आप लोगों के लिए बनाई है तो यू विल अंडरस्टैंड कि इट्स
सुपर डुपर सिंपल। ठीक है? यहां पर अगर आप लोग देखोगे तो आपको पता चलेगा कि फॉरेन की बहुत सिंपल है। मैंने यहां पर आप लोगों को
एक नई टेबल बनाने का सिंटेक्स दिया। यूजर आईडी है वो एक फॉरेन की है। जो यूजर आईडी है वो यूज़र्स की आईडी को रेफरेंस करता है
एज अ फॉरेन की। यह मैंने आप लोगों को अभी समझाया। ठीक है? आप चाहो तो बाद में भी फॉरेन की ऐड कर सकते हो यूजिंग ऑल्टर टेबल
सिंटेक्स। मान लो आप लोगों ने एड्रेसेस टेबल बनाई और आप लोगों ने कंस्ट्रेंट जो है वो नहीं बनाया फॉरेन की का तो आप कुछ
इस तरह से बना सकते हो। अच्छा ये जो कंस्ट्रेंट एफ के अंडरस्कोर यूजर लिखा है इसका क्या मतलब है? हमने इस कंस्ट्रेंट को
एक नाम दिया है। अगर आप नाम नहीं दोगे तो माय सीक्वल ऑटोमेटिकली आपकी फॉरेन की कंस्ट्रेंट को एक नाम दे देगा। बट इट्स
नॉट रेकमेंडेड कि आप नाम ना दो। आप नाम दो। आप नाम दो। आप फॉरेन की कंस्ट्रेंट को नाम दो। यह रेकमेंडेड है। अब यहां पर हमने
ऑन डिलीट एक्शन भी जो है समझा। हम ऑन डिलीट कैस्केट कर सकते हैं। हम ऑन डिलीट सेट नल भी कर सकते हैं। यह क्या करेगा? यह
सेट करेगा फॉरेन की टू नल इन द चाइल्ड टेबल। हम ऑन डिलीट रेस्ट्रिक्ट भी कर सकते हैं। और ऐसा करने से प्रिवेंशन हो जाएगा
पेरेंट के डिलीट होने का इफ चाइल्ड एग्ज़िस्ट। ठीक है? तो तुषार को डिलीट ही नहीं करने देगा। वो बोलेगा भाई देखो तुषार
का एड्रेस रखा हुआ है दूसरी टेबल में। तुषार डिलीट नहीं हो सकता। तो कुछ इस तरह से आप समझ लो इस चीज़ को। तो अगर मैं
समराइज करूं चीजों को तो फॉरेन की जो होते हैं वो कनेक्ट करते हैं दो टेबल को और वैलिड रेफरेंसेस इनफोर्स करने में हेल्प
करते हैं ताकि हमारी एक ही टेबल के अंदर कॉलम्स बहुत ज्यादा ना हो जाए। जैसे कि मैं अगर एड्रेस का जो कॉलम है इनफैक्ट
एड्रेसेस के जो कॉलम्स हैं ये कौन-कौन से कॉलम्स हैं एड्रेसेस के स्ट्रीट है, सिटी है, स्टेट है, पिन कोड है। अगर मैं ये
जितने भी मैंने कॉलम्स यहां पर डाले हैं, ये यहीं पर अपेंड कर देता तो मेरी टेबल काफी चौड़ी हो जाती। लेकिन मुझे क्या करना
था? इसको सेपरेट करना था। और कभी-कभी हम लोगों को सेपरेट करने से काफी फायदे होते हैं। जैसे कि हमें फास्ट फैचेस मिलते हैं।
जैसे मान लो कि कुछ ट्रांजैक्शंस हैं और किन यूजर ने ट्रांजैक्शन किए हैं ये वहां पर लिखा हुआ है। तो मैं नहीं चाहूंगा कि
मैं सारे यूज़र्स के लिए डेटा चेंज करूं। मान लो सिर्फ पांच लोग मेरे पेइंग यूज़र्स हैं और मेरे 5 मिलियन ऐसे यूज़र्स हैं जो
फ्री में स्क्रॉल करते हैं मेरी वेबसाइट। तो अगर लोग मेरी वेबसाइट को फ्री में ब्राउज़ कर रहे हैं और सिर्फ पांच
ट्रांजैक्शंस हैं तो मैं ट्रांजैक्शन को एक दूसरी टेबल में डालूंगा। दैट मेक्स मोर सेंस। ठीक है? बढ़िया। अब यहां पर आप ड्रॉप
कर सकते हो कंस्ट्रेंट को बाय नेम। ठीक है? कैसे करोगे आप ड्रॉप? कंस्ट्रेंट को बाय नेम। आपको सिंपली लिखना है ऑल्टर टेबल
एड्रेसेस ड्रॉप फॉरेन की FK अंडरस्कोर यूजर। लेकिन आपका जो फॉरेन की का नाम है वो आपने कुछ इस तरह से दिया हो तब ये काम
करेगा। अच्छा अगर आप लोगों ने ये कंस्ट्रेंट FK अंडरस्कोर यूजर नहीं लिखा तो क्या होगा? तो Myscqल ऑटोमेटिकली आपके
फॉरेन की को एक नया नाम दे देगा। तो देखो यहां पर आपको कैसे पता चलेगा कि आपकी फॉरेन की का क्या नाम है? आप यहां पर
देखोगे तो यहां पर फॉरेन कीज़ में जाओगे तो देखो FK अंडरस् यूजर है। यहां पर आपको कुछ और नाम देखने को मिलेगा अगर आपने FK
अंडरस्कोर यूजर नाम का नाम नहीं दिया है तो। ठीक है? तो ये चीज़ आप लोगों को जो है पता होनी चाहिए। यहां पर देखो यूज़र्स में
कोई फॉरेन की नहीं है। इसलिए ये खाली है। और यहां पर देखो FK अंडरस्कोर यूजर आप लोगों को देखने को मिल रहा है। आई होप कि
क्लियर है चीजें आप लोगों को। एंड आई होप कि यह हैंडबुक आपकी बहुत ज्यादा मदद करने वाली है आने वाले टाइम में। ऑन डिलीट का
जो काम है वह मैंने आप लोगों को ऑलरेडी समझा दिया। आई होप कि आप लोगों को समझ में आ रही है चीजें। अब नेक्स्ट टॉपिक पर मूव
ऑन करते हैं। अब हम लोग देखेंगे कि सीक्वल में जॉइंस क्या होते हैं? जब हमारे पास दो टेबल्स
होती हैं और हम एक ऐसा व्यू देखना चाहते हैं जो कि दोनों टेबल के कॉम्बिनेशन से आए। उसको हम लोग जॉइन कहते हैं। अब आप
लोगों को शायद ये इतने अच्छे से समझ में ऐसे नहीं आएगा। तो हम लोग चलते हैं यहां पर। मैंने आप लोगों के लिए एक हैंडब भी
प्रिपेयर कर रखी है जिसमें मैंने आपको अच्छे से समझाया कि जॉइंट्स क्या होते हैं। तो अभी सिचुएशन क्या है? सबसे पहले
मैं आप लोगों को ये दिखाना चाहता हूं। अगर मैं आप लोगों को दिखाऊं कि मेरे जो यूज़र्स और एड्रेसेस हैं वो कुछ इस तरह से दिख रहे
हैं। तो मैं इसको रन करूं तो आप देखो ये मेरे यूज़र्स हैं और ये मेरे एड्रेसेस हैं। ठीक है? अब मैं ये चाहता हूं कि यार देखो
मेरे ये वाले जो डिटेल्स हैं इस यूज़र्स टेबल के अंदर जो भी डिटेल्स हैं वो अलोंग विद एड्रेसेस यहां पर मुझे एक साथ देखने
को मिल जाए। इस तरह का काम करने के लिए हम लोग जॉइन का इस्तेमाल करते हैं। तो जॉइ करने के लिए हम क्या कहेंगे? हम कहेंगे कि
भाई इस टेबल को इस टेबल में जॉइ कर दो। अब जॉइन अलग-अलग तरह से हो सकता है। लेकिन मैं आप लोगों को सबसे पहले एक जॉइन करके
दिखाऊंगा और उसके बाद हम लोग देखेंगे किस-किस तरह के जॉइंस सीक्वल में हमारे पास होते हैं। तो एक सबसे बेसिक जॉइन क्या
होगा कि यार मैं यह कहूं कि भाई जो यूजर आईडी है यूजर आईडी है यहां पर उसको आईडी से जॉइन कर दो। यानी कि यहां पर आईडी
जिन-जिन यहां पर यूजर आईडी से मैच हो रही है वहां वहां मैं क्या चाहता हूं कि ये सारा डेटा जो है मुझे एक बार में देखने को
मिल जाए। सिंपल है। बट ये सिंपल तब है जब हमारे पास जितनी भी आईडीज यहां पर हैं और जितनी भी यूजर आईडीज यहां पर हैं वो दोनों
बराबर हो। अगर कुछ आईडीज एड्रेसेस में हैं और कुछ आईडीज यूज़र्स में हैं तो एक मिसमैच आ जाता है। तो उसी मिसमैच की वजह से हमारे
पास अलग-अलग तरह के जॉइंस होते हैं। इस चीज को समझाने के लिए मैं आप लोगों को कुछ बेसिक टेबल्स दिखाना चाहता हूं जिसमें
मैंने सिर्फ आईडी और नेम ले रखा है। अब देखो यहां पर हमारे पास दो टेबल्स हैं। एक यूज़र्स एक एड्रेसेस। हालांकि हमारी जो
अपनी यूज़र्स टेबल है और हमारी जो अपनी एड्रेसेस टेबल है वो थोड़ी सी बड़ी है। मैंने यहां पर सिर्फ दो कॉलम्स लिए हैं।
यहां पर आईडी लिया है, नेम लिया है। यहां पर आईडी, यूजर आईडी और सिटी लिया है। मैं कह रहा हूं कि यार यूज़र्स को एड्रेसेस में
जॉइ कर दो। अब यूजर आईडी एक फॉरेन की है जो कि यूज़र्स की आईडी को रेफरेंस कर रही है। हमने पिछले वीडियो में देखा। सबसे
पहला प्रकार हमारे पास होता है इनर जॉइन। इनर जॉइन क्या करता है? इनर जॉइन कहता है कि भाई यहां पर आईडीज को अगर यूजर आईडीज
के साथ जॉइ किया जा रहा है तो जो जो उपलब्ध है यानी कि जो ओवरलैपिंग है सिर्फ उनको ले लो। यहां पर वन ओवरलैपिंग है।
यहां भी वन है। यहां भी वन है। चलो ये आ जाएगा एक रिकॉर्ड। यहां टू है। यहां भी टू है। ये आ जाएगा एक रिकॉर्ड। यहां थ्री है
लेकिन यहां थ्री नहीं है। नोट दैट यहां थ्री नहीं है। तो इसको हम स्किप कर देंगे। सिमिलरली यहां चार है। यहां चार नहीं है।
इसलिए इसको हम स्किप कर देंगे। सो एक बेसिक तरह का जो जॉइन होता है वो इनर जॉइन होता है। ये सिर्फ मैचिंग रोज़ को रिटर्न
करता है और इसका सिंटेक्स कुछ इस तरह से दिखता है। सेलेक्ट यूज़र्स के नेम एड्रेसेस की सिटी फ्रॉम यूज़र्स इनर जॉइ करो
एड्रेसेस को ऑन यूजर डॉट आईडी = एड्रेसेस डॉट यूजर आईडी। अब इसको समझो आप लोग किस तरह से ये काम कर रहा है। तो यहां पर ये
क्वेरी क्या कह रही है? आप ये समझो। हम कह रहे हैं कि मुझे यूजर टेबल में से तो नेम चाहिए। एड्रेसेस टेबल में से स्टडी चाहिए
और मुझे फ्रॉम यूज़र्स इनर जॉइ करना है एड्रेसेस। मतलब मैं यूजर को इनर जॉइन कर रहा हूं एड्रेसेस पे। तो हम लोग कहते हैं
फ्रॉम यूज़र्स इनर जॉइन एड्रेसेस। यानी कि हम यूजर को एड्रेस पे जॉइन कर रहे हैं। और हम यूजर वाली टेबल में से नेम ले रहे हैं।
एड्रेसेस वाली टेबल में से सिटी ले रहे हैं। और हम क्या कर रहे हैं? जॉइन कुछ इस प्रकार से कर रहे हैं कि यूजर की आईडी और
एड्रेसेस की यूजर आईडी को मिलाओ। मतलब इस वाले आईडी कॉलम को मिला लो और इस वाले यूजर आईडी कॉलम को मिला लो। तो यहां पर जो
जो मैचिंग आएंगे वो आपको मिल जाएंगे। तो मैं इस क्वेरी को रन करूंगा तो आप लोग देखो मेरे पास रिजल्ट आ जाएगा। आरव मुंबई
और यहां पर राज बेंगलुरु यश चेन्नई फरहान लखनऊ और ये सारे के सारे डेटा पॉइंट्स मेरे पास आ गए हैं। अब मान लो कि मैं
चाहता हूं कि स्टेट भी आए तो मैं एड्रेसेस डॉट स्टेट भी लगा दूंगा। मैं कुछ इस तरह से एड्रेसेस डॉट स्टेट भी
लगा दूंगा और मैं इसको रन करूंगा। आप देखो सिटी के साथ-साथ मुझे स्टेट भी देखने को मिल रहा है। बहुत बढ़िया। अब और क्या मैं
कर सकता हूं? मैं यहां पर और कॉलम्स यहां से ले सकता हूं। मैं यहां से भी और कॉलम्स ले सकता हूं। मान लो मैं चाहता हूं कि
यूज़र्स का जेंडर भी मिल जाए। मैं चाहता हूं जेंडर भी देखना। तो मुझे जेंडर भी देखने को मिलेगा। तो यहां पर नेम आ गया,
जेंडर आ गया, सिटी आ गया, स्टेट आ गया। अब मैं चाहता हूं एड्रेस की आईडी मुझे देखने को मिले। तो मैं कहूंगा एड्रेसेस डॉट
आईडी। और मैं यहां पर इसको रन करूंगा तो आपको एड्रेसेस की आईडी भी देखने को मिल जाएगी। लेकिन ये थोड़ा सा ए्बिगुअस है। ये
आईडी किसकी है? एड्रेसेस की है या यूज़र्स की है। हां क्वेरी देख के तो पता चल रहा है एड्रेसेस की है। बट आप इसको लिख सकते
हो एज एड्रेसेस अंडरस्कोर आईडी। यानी कि आपने एक तरह से इस कॉलम का नाम चेंज कर दिया। तो ये एड्रेसेस आईडी नाम से आ जाएगा
कॉलम। तो इस तरह की क्रिएटिव चीजें आप प्रैक्टिस से खुद करते जाओगे। जो जो क्वेरीज़ मैंने आपको हैंडबुक में दी है वो
तो आप चलाओगे ही। और जो जो मैं आप लोगों को यहां पर करा रहा हूं वो आप समझोगे भी। लेकिन उसके बाद आपका अपना दिमाग काम करने
लगेगा। आप कहोगे हां यार मैं इस कॉलम का नाम भी तो चेंज कर सकता हूं। तो इनर जॉइन आपको समझ में आ गया। एक टेबल थी हमारे
पास। दूसरी टेबल हमने कहा कि आईडी कॉलम को एड्रेसेस की यूजर आईडी से जॉइ करना है। तो जो जो ओवरलैपिंग होंगे इनर जॉइन उन उन
रिकॉर्ड्स को ले लेगा। सिंपल है। अच्छा चलो ये तो बहुत बढ़िया। अब यहां पर लेफ्ट जॉइन क्या होता है? मेरे हिसाब से आपने
गेस कर लिया होगा। मेरे हिसाब से आपने गेस कर लिया होगा। ये क्या करता है? जो लेफ्ट वाली टेबल होती है। यहां पर लेफ्ट वाली
टेबल कौन सी है? यहां पर लेफ्ट वाली टेबल वो होती है जिसको सबसे पहले लिखा जाता है। यानी कि इस केस में हमारी लेफ्ट वाली टेबल
है यूज़र्स। तो अगर यहां पर मैं आप लोगों को रिजल्ट दिखाऊं तो यहां पर कितने रिजल्ट्स आए मेरे पास? अगर आप लोग इनको
गिनो लगभग लगभग 1 2 3 4 5 6 7 8 9 10 11 12 13 14 और इनफैक्ट यहां पर 19 रोज़ रिटर्न हमें दिखा रहा है। हमें गिनने की
जरूरत भी नहीं है। ठीक है? यहां पर हमें दिखा रहा है ये 19 रोज़ रिटर्न। और मैं ये दोनों हटा देता हूं। मुझे ये दोनों नहीं
चलाने। 19 रोज़ हमारे रिटर्न कर रहा है। तो अगर मैं यहां पर इनर जॉइन ना करके लेफ्ट जॉइन करूं। तो लेफ्ट जॉइन का मतलब ये होगा
कि मुझे यूज़र्स के सारे के सारे रिकॉर्ड्स चाहिए। फिर हां अगर मैचिंग रिकॉर्ड्स एड्रेसेस में नहीं मिल रहे तो क्या होगा?
तो वो नल हो जाएंगे। तो मैं आपको इसको चला कर दिखाता हूं। अब देखो इसको मैं जैसे ही चलाऊंगा यहां पर देखो आपको नल्ल देखने को
मिलेंगे। नल क्यों देखने को मिल रहे हैं? यार देखो नल इसलिए देखने को मिल रहे हैं जो रिकॉर्ड एड्रेसेस में है ही नहीं। उसकी
जगह क्या ही वैल्यू दिखाई जाएगी। फॉर एग्जांपल मैं आप लोगों को छोटी टेबल पर लेकर चलता हूं और मैं आप लोगों को दिखाता
हूं। यहां पर आप देखो हमारे पास ये बेसिक यूज़र्स टेबल है। एक बेसिक एड्रेसेस टेबल है। इसलिए मैंने बेसिक छोटी टेबल्स बनाई
हैं। ठीक है? यही रीज़न है। अब देखो हमने लेफ्ट जॉइन किया। यानी कि हमने कहा कि यूज़र्स के सारे रिकॉर्ड चाहिए तो थ्री भी
आएगा और फोर स्किप हो जाएगा। मतलब यहां पर फोर जो यूजर आईडी है वो स्किप हो जाएगी। क्योंकि वो यहां पर नहीं है। और हम लेफ्ट
जॉइन कर रहे हैं। आप लेफ्ट जॉइन को कुछ इस तरह से देख सकते हो कि लेफ्ट वाली जो मेरी टेबल है वो प्रायोरिटी है। उसके मुझे सारे
रिकॉर्ड्स चाहिए। राइट वाली टेबल से मिस हो जाए कोई दिक्कत नहीं है। लेफ्ट वाली टेबल मेरी प्रायोरिटी है। तो यहां पर आप
देखो जो लेफ्ट वाली टेबल में थ्री है वो मुझे आएगा। लेकिन राज का एड्रेस तो है ही नहीं। यहां पर तो है ही नहीं। यूजर आईडी
थ्री तो उसकी सिटी भी नल हो जाएगी और जो जो कॉलम्स हैं यहां पर एड्रेसेस टेबल में वो सब नल हो जाएंगे। क्योंकि मुझे नहीं
मालूम कि राज का एड्रेस क्या है? उसकी सिटी क्या है? आई होप दैट यू अंडरस्टुड।
अब यहां पर हमने लेफ्ट जॉइन देख लिया। लेफ्ट जॉइन में क्या होता है कि जो हमारे लेफ्ट वाली टेबल होती है उसके सारे
रिकॉर्ड्स आते हैं। जैसे कि इस केस में यूज़र्स के सारे रिकॉर्ड आते हैं। अच्छा राइट जॉइन भी कुछ होता है क्या? जी हां
राइट जॉइन भी होता है। अब आप देखो यहां पर लेफ्ट जॉइन मैंने किया तो 24 रोज़ रिटर्न हुए। 24 रोज़ इसलिए रिटर्न हुए क्योंकि
हमने यूज़र्स टेबल के सारे के सारे रोज़ लिए थे। अब मैं यहां पर आप लोगों को इसको रन करके दिखाऊं। तो आप देख सकते हो यहां पर।
बाय द वे मैंने वो जो हटाया था ना अभी सेलेक्ट स्टार
फ्रॉम यूज़र्स और सेलेक्ट स्टार फ्रॉम एड्रेस। मुझे नहीं हटाना चाहिए था पता है क्योंकि मुझे यूज़र्स और एड्रेसेस टेबल्स
दिख रही थी। वो मुझे देखना जरूरी है। तो यहां पर मेरे पास यूज़र्स टेबल आ गई। ये मेरे पास एड्रेसेस टेबल्स आ गई और ये मेरे
पास रिजल्ट टेबल आ गई। तो आप यहां पर देख सकते हो कि ये जो यूज़र्स टेबल है इसके अंदर हमारे पास जो जो रिकॉर्ड्स हैं वो
हमारे रिजल्ट में आए हैं। लेकिन अगर मैं राइट जॉइन कर दूंगा ना तो एड्रेसेस के हमारे पास सारे रिकॉर्ड्स रिजल्ट में
आएंगे। लेफ्ट जॉइन जब मैंने किया था तो यूज़र्स के सारे रिकॉर्ड्स आए थे। ठीक है? तो ये चीज़ आप लोगों को देखनी है। जब राइट
जॉइन करूंगा तो एड्रेसेस के सारे रिकॉर्ड्स आएंगे। तो यहां पर आप देख सकते हो कि हमारे पास जितने भी एड्रेसेस थे
उनके करेस्पोंडिंग यहां पर जो भी हमारे नेम ईमेल है अगर वो नहीं हुए तो नल हो जाएगा। बट यहां पर शायद
हमारे पास सब कुछ है इसलिए हमें सब कुछ देखने को मिल रहा है। कुछ भी हमें नल देखने को नहीं मिल रहा है। ठीक है? तो ये
होता है राइट जॉइन। और मैंने ये चीज़ आप लोगों को बहुत अच्छे से बताई है। इट रिटर्न्स ऑल रोज़ फ्रॉम द राइट टेबल एंड
मैचिंग रोज़ फ्रॉम द लेफ्ट टेबल। इफ नो मैच इज फाउंड नल्ल आर रिटर्न। फॉर एग्जांपल जब आप राइट टेबल के सारे रिकॉर्ड्स लोगे और
आप देखते हो कि यार लेफ्ट टेबल में से कुछ मिल ही नहीं रहा है। मतलब वो लेफ्ट टेबल में है ही नहीं। यहां पर यूजर आईडी है
वहां पर आईडी नहीं है। तो क्या होगा कि आपको जो फर्स्ट वाली टेबल है जो हमारी लेफ्ट वाली टेबल है उसमें सारे के सारे
कॉलम्स नल देखने को मिलेंगे। तो खुद से ट्राई करो आप लोग। अपनी नई टेबल्स बनाओ और आपको पता चलेगा इनर जॉइन क्या होता है?
लेफ्ट जॉइन क्या होता है? और राइट जॉइंट क्या होता है? आई होप दैट आप समझ गए इन तीनों टाइप्स ऑफ जॉइंट्स को और मैंने आप
लोगों को यहां पर विजुअल रिप्रेजेंटेशन भी दी है। यहां पर यूज़र्स हैं। यहां पर एड्रेसेस हैं। 1 2 यहां पर है। 1 2 4 यहां
पर है। तो यहां पर क्या होगा? सारे एड्रेसेस रिटर्न हो जाएंगे और मैच्ड यूज़र्स रिटर्न हो जाएंगे। और अगर वो नहीं
है तो नल रिटर्न होगा। तो यहां पर आप देख सकते हो कि हमारे पास आरव, स्नेहा और नल रिटर्न हो रहा है। क्योंकि हमें क्या करना
है? हमें राइट वाली टेबल के सारे के सारे रिकॉर्ड्स को लेना है। अब लेफ्ट वाली टेबल में अगर नेम नहीं है तो वो नल हो जाएगा।
आई होप इट्स वेरी सिंपल एंड स्ट्रेट फॉरवर्ड। तो अगर मैं विज़ुअल इंटरप्रिटेशन से आप लोगों को सिखाऊं तो आप देख सकते हो
लेफ्ट जॉइन कुछ इस तरह से काम करता है। लेफ्ट वाली टेबल के सारे रिकॉर्ड्स आ रहे हैं और जो मैचिंग रिकॉर्ड्स हैं राइट वाली
टेबल में वो भी आ रहे हैं। और राइट जॉइन में राइट वाली टेबल के सारे रिकॉर्ड्स आ रहे हैं और जो भी मैचिंग रिकॉर्ड्स हैं वो
आ रहे हैं। तो यहां पर आप देख सकते हो अगर मैं इसको डायग्राम से समझाऊं तो ये कुछ इस तरह से दिखता है। इनर जॉइन कुछ इस तरह से
काम करता है। आप यहां देख सकते हैं जो टेबल वन है और जो टेबल टू है उनके जो ओवरलैपिंग रिकॉर्ड्स हैं वही सब हमको
देखने को मिलते हैं। तो अगर कोई रिकॉर्ड दोनों टेबल में है वो इनर जॉइन में आएगा। वरना आप लोगों को वो रिकॉर्ड देखने को
नहीं मिलेगा रिजल्ट में। तो आई होप कि आप लोगों को समझ में आ गया कि इनर जॉइन क्या होता है? लेफ्ट जॉइन क्या होता है और राइट
जॉइन क्या होता है? अब हम लोग अगले टॉपिक पर मूव करेंगे और सीक्वल की अंडरस्टैंडिंग को और आगे बढ़ाएंगे।
अब हम लोग यूनियन और यूनियन ऑल के बारे में समझेंगे। क्या है यह और क्यों हमें इसको इस्तेमाल करना है? किस सिनेरियो में
हमें इसको इस्तेमाल करना है? कभी-कभी क्या होता है कि हमें दो टेबल्स के कंटेंट को जोड़ना पड़ता है। मान लो हमारे पास दो
टेबल्स हैं। एक यूज़र्स टेबल है, एक एडमिन टेबल है। मैं चाहता हूं कि सारे के सारे जो लोग हैं जो जुड़े हुए हैं ऑर्गेनाइजेशन
से चाहे वो हमारे एडमिनस हो या रेगुलर यूज़र्स हो। मैं उन सबका डाटा चाहता हूं और उन लोगों को एक थैंक्स गिविंग गिफ्ट भेजना
चाहता हूं। तो ऐसे में मुझे एक ऐसा व्यू चाहिए जिसमें कि सब लोग हो। तो मैं क्या करूंगा? यूज़र्स को एडमिन के साथ जॉइ
करूंगा। इन दोनों टेबल्स को मिलाऊंगा। लेकिन ये दोनों टेबल काफी सिमिलर हैं। तो मैं यूनियन का इस्तेमाल करूंगा। क्योंकि
ये दो एक जैसे दिखने वाले व्यूज हैं। और बेसिकली मुझे इनको कॉन्कटिनेट करना है। यानी कि एक टेबल को दूसरी टेबल से
एक्सटेंड करना है। तो यहां पर हम लोग यूनियन ऑपरेटर का प्राइमरली इस्तेमाल करते हैं। यूनियन ऑल क्या होता है? यह भी आपको
बताऊंगा। लेकिन यूनियन ऑपरेटर को सबसे पहले समझते हैं। यह हेल्प करता है कंबाइन करने में दो रिजल्ट सेट्स को। अब मान लो
हमारे पास कुछ यूज़र्स हैं और कुछ एडमिनस हैं। मान लो कुछ लोग ऐसे हैं जो कि हमारे वेबसाइट के एडमिनस हैं और वो लोग हमारी
वेबसाइट के कंटेंट को मैनेज करते हैं। तो हम यूज़र्स को और एडमिनस को सिमिलर काइंड ऑफ स्कीमा के साथ स्टोर कर रहे हैं और
फाइनली हमें चाहिए इन दोनों का एक कंसोलिडेटेड व्यू जिसमें यूज़र्स भी हो और एडमिनस भी हो। तो सबसे पहले मैं आप लोगों
को एडमिन टेबल बनाना सिखाऊंगा। लेकिन उससे भी पहले मैं यह जो सीक्वल है इसको सेव करके आप लोगों को दूंगा ताकि आप लोग जिस
तरह से मैंने आपको यह क्रिएट यूजर टेबल इंसर्ट डेटा और ये वाली सीक्वल्स दी हैं। मैं चाहता हूं कि मैं आप लोगों को 04
अंडरस्कोर करके ये भी सीक्वल्स दूं। तो मैं फाइल पर क्लिक करूंगा और यहां पर मैं एक न्यू क्वेरी टैब बनाऊंगा। और यहां पर
मैं सबसे पहले तो एक नई एडमिन टेबल बनाऊंगा जिसका नाम होगा एडमिन यूज़र्स। और इसमें मैंने एक आईडी दी है, एक नेम दिया
है, एक ईमेल दिया है, जेंडर दिया है। और डेट ऑफ बर्थ के साथ-साथ सैलरी भी दिया है। भाई एडमिन भी तो सैलरी लेंगे ना। और इसके
बाद हम कुछ डेटा इसके अंदर इंसर्ट करेंगे। और मैंने एक बड़ा सैंपल सा डेटा यहीं पर आप लोगों को दिया हुआ है। ठीक है? अब आप
लोग अपने पसंद का डेटा इंसर्ट कर सकते हैं इसके अंदर। बट बट मैं अभी के लिए इसको कुछ इस तरह से कर रहा हूं। ठीक है? तो यहां पर
आप देखिए इंसर्ट इंटू एडमिन। यूज़र्स आईडी, नेम, ईमेल, जेंडर, डेट ऑफ़ बर्थ, सैलरी ये वैल्यूज़। ठीक है? ये हमारे कुछ एडमिनस
हैं। अब मैं इस पर फाइल पर क्लिक करके इसको सेव स्क्रिप्ट एज करूंगा और इसका नाम मैं रख दूंगा 04 अंडरs
ऐड एडमिन डॉट सीक्वल। तो ये जो मेरी ऐड एडmin डॉट सीक्वल है ये एक सीक्वल फाइल है। इसको आप लोग इंपोर्ट करके रन कर सकते
हो। मैं इसको चला कर भी आपको दिखा देता हूं। और अगर अब मैं यहां पर आ जाऊं और मैं सेलेक्ट स्टार फ्रॉम अह एडमिन अंडरस्कोर
यूज़र्स करूं। एडमिन अंडरस्कोर यूज़र्स। तो मैं यहां पर लिखूंगा सेलेक्ट और मैं लिखूंगा स्टार फ्रॉम एडमिन अंडरस्कोर
यूज़र्स। तो मैं इसको रन करूंगा। तो आप देखो मेरे पास यूज़र्स, एड्रेसेस और एडमिन यूज़र्स के सारे कंटेंट आ जाएंगे। बहुत
बढ़िया। मैं चाहता हूं एक इस तरह का व्यू निकालना जिसके अंदर यूज़र्स और एडमिन यूज़र्स का कंसोलिडेटेड डेटा हो। यानी कि
ये नाम, ईमेल, जेंडर, डेट ऑफ़ बर्थ और ये नाम, ईमेल, जेंडर, डेट ऑफ़ बर्थ एक के नीचे एक आ जाए। तो इसको एक के नीचे एक करने के
लिए मैं क्या करूंगा? मैं इस्तेमाल करूंगा यूनियन का और यही यूनियन करता है, कॉनकटिनेट कर देता है। तो यहां पर मैं
सिंपली कहूंगा सेलेक्ट नेम फ्रॉम यूज़र्स और मैं कहूंगा सेलेक्ट नेम फ्रॉम एडमिन यूज़र्स। अब आप देखो यहां पर जादू कितना
स्ट्रेट फॉरवर्ड है और कैसे क्वेरी बनानी है। तो आप लिखो सेलेक्ट नेम फ्रॉम यूज़र्स। नेम फ्रॉम यूज़र्स। और आप इसके बाद लिखो
सेलेक्ट और लिखो यहां पर नेम फ्रॉम एडमिन अंडरस्कोर यूज़र्स। ठीक है? और मैं रीडेबिलिटी के लिए चाहता हूं कि मैं इसको
कैपिटल में ही लिखूं। अ इसके बाद आप यहां पर सिंपली यूनियन लिख दो और आपकी क्वेरी बन चुकी है। ये आपकी क्वेरी है। आप इसको
रन करोगे तो आप देखो यहां पर क्या होगा कि आपको नेम मिल जाएगा कंसोलिडेटेड स्टेबल से और स्टेबल से। समझ रहे हो? एक के नीचे एक।
टोटल नंबर ऑफ़ रिजल्ट्स कितने हैं? 28 रोज़ रिटर्न। ठीक है? तो ये चीज़ आप लोगों को जो है पता होनी चाहिए। अभी 28 क्यों है? 24
जो है ये वाली क्वेरी ने रिटर्न करी और इसके बाद चार ये वाली क्वरी ने रिटर्न करी। तो 24 और 4 28 हो गया। तो ये टोटल
इसने मुझे 28 रोज़ रिटर्न करी। तो मैंने यहां पर लिखा सेलेक्ट नेम फ्रॉम यूज़र्स यूनियन सेलेक्ट नेम फ्रॉम एडमिन यूज़र्स।
अच्छा यहां मैं और चीजें भी ऐड कर सकता हूं। दी आंसर इज़ यस मैं कर सकता हूं। अगर मैं यहां पर ईमेल कॉमा नेम करूं तो क्या
मैं ईमेल कॉमा नेम भी ले सकता हूं दोनों से? क्या मुझे दोनों कॉलम्स देखने को मिलेंगे? हां, मुझे दोनों कॉलम्स देखने को
मिलेंगे। जैसे आप देख सकते हो यहां पर। और इस तरह से मैं यूनियन कर सकता हूं। तो ये रिटर्न करता है सिंगल लिस्ट ऑफ यूनिक
नेम्स फ्रॉम बोथ टेबल्स। ठीक है? अब अगर हमारे पास डुप्लीकेट्स होते हैं। अगर हमारे पास डुप्लीकेट्स होते हैं। यानी कि
हमारे पास एक यूजर यहां भी है और यहां भी है। तब क्या होगा? तब क्या होगा? तब अगर आपके पास डुप्लीकेट्स हैं तब यूनियन ऑल का
आप इस्तेमाल कर सकते हो। अगर आप चाहते हो कि आपको डुप्लीकेटेड डेटा देखने को मिले। आप यूनियन ऑल करो। आपको वो लिटरली एक के
नीचे एक रख कर दे देगा टेबल। लेकिन अगर आप यूनियन करते हो तो अगर आरव फर्स्ट टेबल में है और आरव दूसरी टेबल में भी है तो
आरव सिर्फ एक बार आएगा। तो ये चीज आप लोग खुद से ट्राई करके देख सकते हो। अभी अगर मैं आप लोगों को अपना डाटा दिखाऊं जिसमें
मेरे एडमिन यूज़र्स हैं। आप देखो यहां पर अनिल कुमार है, पूजा शर्मा है, राकेश यादव है, फातिमा बेगम है। आप यहां पर देखो कि
नाम कोई भी ऐसा नहीं है जो कि सेम हो। ठीक है? और यहां पर अगर मैं आप लोगों को एडमिन यूज़र्स दिखाऊं तो अनिल, पूजा, राकेश,
फातिमा यहां पर है। और यहां पर हमारे पास अनिल नहीं है। देखो हमारे पास अनिल यहां पर नहीं है। ठीक है? तो अगर हमारे पास
यहां पर एक ऐसा डेटा पॉइंट होता जो कि दोनों में होता तो और आप चाहते कि आपको दोनों देखने हैं, रिपीटीशंस देखने हैं तब
आप यूनियन ऑल का इस्तेमाल करते और अगर आप चाहते हो कि आपके जो डुप्लीकेट्स हैं वो सिर्फ एक बार आए यानी कि जो नाम, ईमेल,
कॉम्बिनेशंस दोनों टेबल में मौजूद हैं वो सिर्फ एक बार आए तो यूनियन का इस्तेमाल कर लो। ठीक है? अब यहां पर आप लोग मल्टीपल
कॉलम्स में सेलेक्ट कर सकते हो। ये मैंने आपको अभी दिखा दिया। नेम और ईमेल दोनों सेलेक्ट करके।
अच्छा आप कुछ इस तरह से भी कर सकते हो कि यार आप चाहते हो कि यार मुझे एक नया कॉलम चाहिए और मैं चाहता हूं कि यह देखना कि
कौन सा वाला इसमें एडमिन है और कौन सा वाला रेगुलर यूजर है। मैं चाहता हूं टाइप ऑफ यूजर भी यहां पर दिखे। तो आप कह सकते
हो सेलेक्ट ईमेल नेम फ्रॉम यूज़र्स और आप यहां पर कुछ इस तरह से कर सकते हो। आप यहां पर लिखोगे यूजर यानी कि आपने
कांस्टेंट लिख दिया एज रोल। ठीक है? और यहां पर आप लिख दोगे एडमिन एज रोल। ठीक है? मतलब बेसिकली आप कह रहे हो कि जो जो
मैं इस यूज़र्स टेबल से निकाल रहा हूं उसमें रोल में यूज़र्स आ जाए और यहां पर एडमिन आ जाए। ठीक है? एडमिन
और मैं इसको जैसे ही रन करूंगा आप लोग देखो यहां पर मेरे पास एक रोल कॉलम आ जाएगा और यहां पर मैंने कुछ गड़बड़ कर दी।
मुझे नेम कुछ इस तरह से लिखना है और ये ऐसे लिखना है। तो मैं इसको रन करूंगा और आप लोग देखो यहां पर भी कॉमा आएगा। माय
बैड। मैं इसको रन करूंगा। और आप देखो यहां पर रोल में यहां यूजर आ गया। और जहां-जहां एडमिन था वहां पर एडमिन आ गया। ठीक है? तो
कुछ इस तरह से आप लोग अपनी क्वेरीज बना सकते हो। और यह मैंने आप लोगों के लिए बहुत अच्छी तरह से हैंडबुक में लिखा हुआ
है क्योंकि शायद आप लोग सिंटेक्स भूलोगे और खासकर आप लोग डेफिनेटली सिंटेक्स भूलोगे अगर काफी टाइम तक आप लोग सीक्वल
में काम नहीं कर रहे हो। तो ये हैंडबुक आपके बहुत काम आएगी। वन यह हैंडबुक मैंने बहुत अच्छी तरह से लिखी है। वह तो एक अलग
बात हो गई कि मेरी मेहनत इसमें डली हुई है। दूसरी चीज यह है कि आपने यह वीडियो देखा है। अब आपने यह वीडियो देखा है तो यह
हैंडबुक आपके दिमाग में बैठ चुकी है। तो यही हैंडबुक वो हैंड बबुक है जो कि आपकी इस वीडियो की यादों को ताजा करेगी। तो इस
बात को भी समझना आप लोग कि क्यों यही हैंडबुक आप एक्सेस करो और यही हैंडब यूज़ करो रिवीजन के लिए। मैं ये नहीं कह रहा
हूं कि मेरी ही हैंडबुक आप यूज़ करो। बट नाउ दैट यू आर वाचिंग दिस वीडियो। यू शुड रेफर टू दिस हैंडब। और आप हैंडब डाउनलोड
करोगे इसमें मेरा कोई फायदा नहीं है। मैं दिल से चाहता हूं कि आप लोग हैंडबुक को रेफर करो। ठीक है? अब यहां पर आप ऑर्डर
बाय भी यूज़ कर सकते हो। और अगर आप लोग ऑर्डर बाय यूज़ करते हो तो इंडिविजुअल क्वेरी में नहीं लिखोगे। ऑर्डर बाय एट द
एंड लिखोगे। तो मान लो मैं चाहता हूं कि ये ऑर्डर बाय हो जाए। मैं यहां पर लिख देता हूं ऑर्डर बाय और मैं लिख देता हूं
डेट ऑफ़ बर्थ। डेट ऑफ़ बर्थ से ये ऑर्डर हो जाए। फिर एक काम करते हैं। यहां पर डेट ऑफ बर्थ भी हम लोग यहां पर जो है सेलेक्ट कर
लेते हैं। और मैं ये देखना चाहता हूं कि एडमिन यूजर की डेट ऑफ़ बर्थ है कि नहीं। हां, है। और मैं यहां पर डेट ऑफ़ बर्थ कर
लेता हूं कुछ इस तरह से। और यहां कॉमा लगाता हूं। हां। अब मैं अगर इसको रन करूंगा क्वेरी को, तो आप देखो, डेट ऑफ़
बर्थ भी आ गई। और जो सबसे बड़ा है, जैसे लता सबसे बड़ी है, तो वह सबसे ऊपर आ गई। और सबसे छोटा ईशान है, तो ईशान सबसे नीचे आ
गया। तो, यह ऑर्डर बाय हो गया डेट ऑफ़ बर्थ। तो यूनियन के कुछ रूल्स हैं उनको देख लेते हैं एक बार और वो ये है कि नंबर
ऑफ कॉलम्स एंड द डेटा टाइप मस्ट मैच इन ऑल सेलेक्ट स्टेटमेंट। ये बहुत इंपॉर्टेंट है। ठीक है? कि जो नंबर ऑफ कॉलम्स हैं वो
मैच होने चाहिए और उनके डेटा टाइप्स भी मैच होने चाहिए। ये नहीं कि आप एक अलग तरह की टेबल को एक अलग ही तरह की टेबल में
यूनियन कर रहे हो और फिर एरर खा रहे हो और फिर आप कह रहे हो यार ये काम नहीं कर रहा। वो काम नहीं करेगा। अगर आप की टेबल्स जो
है अलग-अलग हैं तो। इसके बाद यूनियन रिमूव्स डुप्लीकेट्स बाय डिफ़ॉल्ट। ये आपको पता होना चाहिए और मैंने आपको बताया कि
यूनियन ऑल से आप लोग डुप्लीकेट्स देखोगे। अगर आपके डुप्लीकेट्स हैं टेबल में तो वो रिमूव हो जाएंगे। यानी कि एक रिकॉर्ड आपका
टेबल वन में भी है और टेबल टू में भी है तो आपको सिर्फ वो एक बार देखने को मिलेगा। और अगर आप चाहते हो कि वो आपको दो बार
देखने को मिले तो आप यूनियन ऑल का इस्तेमाल करोगे। चलो जी बढ़िया। यूनियन कब यूज़ करना है? व्हेन यू हैव टू सिमिलर
टेबल्स। और आप चाहते हो कि कुल टोटल डेटा देखना। व्हेन यू नीड टू कंबाइन फ़िल्टर्ड रिजल्ट्स। आपने एक पर्टिकुलर टेबल से कुछ
रिजल्ट्स निकाले। एक पर्टिकुलर टेबल से दूसरे रिजल्ट्स निकाले। आप चाहते हो कि उन दोनों को कंबाइन करो और वो आपको मालूम है
कि सिमिलर दिखते हैं। कंबाइन कर दो यूनियन से और क्रॉस कैटेगरी रिपोर्टिंग। अगर आप लोगों को क्रॉस कैटेगरी रिपोर्टिंग करनी
है तो आप लोग यूनियन का इस्तेमाल कर सकते हो। अब क्रॉस कैटेगरी रिपोर्टिंग क्या होता है? इसके बारे में आपको बताता हूं।
फॉर एग्जांपल आपने एड्स रन करे Facebook पर, Google पर एंड लेट्स से आपने Microsoft पे भी एड्स रन करें और आप चाहते
हो कि तीनों में से सबसे अच्छे रिजल्ट्स कैसे आए? तो आप सिमिलर मैट्रिक्स को आप तीन अलग-अलग टेबल्स में डालोगे। उन तीनों
को यूनियन करोगे और उसमें एक कॉलम बनाओगे कि ऐड फ्रॉम और उसमें लिखोगे Microsoft Microsoft के एड्स में, Google Google के
एड्स में, Facebook, Facebook के एड्स में और आप फिर क्रॉस कैटेगरी रिपोर्टिंग करोगे कि भाई देखो सबसे अच्छा Google एड्स
परफॉर्म कर रहा है या लेट अस से Microsoft एड्स परफॉर्म कर रहा है। तो इस तरह की चीजें करने के लिए आपको क्रॉस कैटेगरी
रिपोर्टिंग करनी पड़ेगी फॉर व्हिच यू विल हैव टू यूज़ यूनियन। ठीक है? तो यूनियन और यूनियन ऑल में डिफरेंस आपको समझ में आ
चुका है। यह डुप्लीकेट्स रखता है और यूनियन डुप्लीकेट्स नहीं रखता है। सो आई होप यूनियन एंड यूनियन ऑल क्लियर हो चुका
है। अब हम लोग और आगे बढ़ेंगे और अपनी अंडरस्टैंडिंग को और मजबूत करेंगे। सो गाइज़, अब बात करेंगे हम लोग सेल्फ
जॉइंस की। हमने जॉइंस के बारे में तो बात करी थी। हमने ये कहा था कि यार एक टेबल है एक दूसरी टेबल है। उन दोनों को अगर हम जॉइ
करें तो उसको हम लोग जॉइन कहते हैं। लेफ्ट के बारे में हमने बात की, राइट जॉइन के बारे में बात की। इनर जॉइन के बारे में
बात की जो कि दो टेबल्स के ओवरलैपिंग डेटा को हमारे सामने लाकर रखता है। अब ये सेल्फ जॉइन क्या होता है? सेल्फ जॉइन में दोनों
टेबल्स सेम होती हैं। अब आप कहोगे व्हाई वुड आई इवन डू दैट? मेरे पास एक टेबल है। मैं उसको उसी से क्यों जॉइ करूंगा? तो मैं
आप लोगों को एक सिनेरियो दिखाऊंगा और फिर आप लोगों को पता चलेगा कि क्यों आप लोग सेल्फ जॉइन का इस्तेमाल भी करना चाहेंगे।
तो सेल्फ जॉइन एक रेगुलर जॉइन की तरह ही है। ये कोई एक नई तरह का जॉइन नहीं है। हम सेल्फ जॉइन तब कहते हैं किसी भी जॉइन को
जब एक टेबल को उसी के साथ जॉइन किया जाता है। बट अभी सुनकर बड़ा अटपटा सा लग रहा होगा कि यार एक टेबल को उसी टेबल से जॉइन
क्यों करें? मैं आप लोगों को सब कुछ समझाऊंगा स्टेप बाय स्टेप। ये यूज़फुल होता है जब रोज़ इन द सेम टेबल आर रिलेटेड
टू ईच अदर। जैसे कि आपने एक यूज़र्स टेबल बनाई और उसमें एक कॉलम है रेफर्ड बाय आईडी। तो हम लोग एक काम करेंगे जल्दी से
ये ऑल्टर वाला कमांड चलाएंगे। मैंने आप लोगों को ऑलरेडी इस ऑल्टर नाम के कमांड के बारे में बताया था। अ मैं अभी आप लोगों को
ये दिखाता हूं कि जो हमारा यूज़र्स टेबल है वो किस तरह से दिख रही है। तो अगर मैं इस क्वेरी को चलाऊं तो देखो हमारे पास कुछ
यूज़र्स हैं। और इसमें मैं एक नया कॉलम अभी इंसर्ट कर रहा हूं। मैं कह रहा हूं कि भाई एक रेफर्ड बाय आईडी अ इंट डेटा टाइप का एक
कॉलम इंसर्ट किया जाए। ठीक है? चलो आ जाओ इसको इंसर्ट करते हैं और उसके बाद देखेंगे कि हमारी जो सेलेक्ट स्टार फ्रॉम यूज़र्स
क्वरी है वह क्या रिटर्न करती है। लेट्स रन दिस और आप देखो यहां पर रेफर्ड बाय आईडी नल हो गया। अब मैं क्या करूंगा कि
यहां पर डेटा इंसर्ट करूंगा। ठीक है? तो मैं यहां पर इसको कॉपी करता हूं और मैं आप लोगों को दिखाता हूं कि किस तरह से ये
अपडेट कर देगा मेरे टेबल को। तो मैं रेफर्ड बाय आईडी को पॉपुलेट कर रहा हूं। तो मैं यहां पर क्या करने वाला हूं? मैं
कहूंगा मैं इसको यहां पर जो मेरा अपडेट वाला स्टेटमेंट है उसको रखूंगा बस। तो मैं यहां
पर बेसिकली ये कह रहा हूं कि मैं इनको कमेंट्स को हटा देता हूं। अभी मैं यहां पर ये कह रहा हूं कि भाई देखो
अपडेट यूजर सेट रेफर्ड बाय आईडी इक्वल टू वन वेयर आईडी इन वन अह सॉरी टू थ्री और मैं यहां पर एक काम करता हूं। थोड़ी और
आईडीज़ डाल देता हूं। ठीक है? 13 14 15 16 18 और 20। ठीक है? मैं कह रहा हूं कि जहां-जहां आईडी ये है वहां-वहां रेफर्ड
बाय को वन कर दो और जहां पर फोर है वहां पर टू कर दो। बाकियों को नल कर दो। ठीक है? तो मैं इसको रन करता हूं अभी। तो अब
देखो ये पॉपुलेट कर दी मैंने रेफर्ड बाय आईडी। आप चाहो तो सबको पॉपुलेट कर सकते हो। ठीक है? सबको भी आप पॉपुलेट कर सकते
हो। बट अभी के लिए मैंने सिर्फ इतना पॉपुलेट किया है। तो अभी हमारा सेलेक्ट स्टार फ्रॉम यूज़र्स कुछ इस तरह से दिख
रहा है। जिसमें एक नया रेफर्ड बाय आईडी कॉलम मैंने ऐड किया। उसके अंदर कुछ डेटा ऐड किया। अब मैं क्या करूंगा कि इसी टेबल
को इसी टेबल से जॉइन करूंगा। मैं यहां पर क्या अचीव करना चाहता हूं यह समझना आप लोग। मैं यहां पर यह देखना चाहता हूं कि
आरव को किसने रेफर किया? आरव को किसी ने रेफर नहीं किया। लेकिन अनन्या को आरव ने रेफर किया क्योंकि यहां पर रेफर्ड बाय
आईडी वन है यानी कि आरव। अब समझो इस डेटा को ध्यान से। स्नेहा को किसने रेफर किया? टू ने रेफर किया। टू कौन है? अनन्या। अब
मैं यहां पर नीचे स्क्रॉल कर रहा हूं। यश को किसने रेफर किया? किसी ने नहीं किया। बट इमरान को किसने रेफर किया? वन ने रेफर
किया। वन कौन है? मैं भूल गया यार। कौन है? स्क्रॉल अप करूंगा देखूंगा। आरव है। ओके। आरव ने किया। कितना बढ़िया होता। अगर
यहां पर एक कॉलम बन जाता रेफर्ड बाय और नेम आ जाता उसका। बट मैंने स्टोर करने के लिए आईडी को स्टोर किया। यह एक स्मार्ट
मूव था मेरी तरफ से क्योंकि मैं अपनी स्टोरेज बचाना चाहता हूं। मैं सिर्फ आईडी स्टोर कर रहा हूं। कोई इसमें गलत बात नहीं
है। बट एक इंसान को देखने में आसानी तब होगी जब नाम लिखकर आएगा। आरव का। वन की जगह आरव का नाम लिखकर आ जाए तो कितना
बढ़िया होगा। और यहीं पर सेल्फ जॉइंट्स का इस्तेमाल होता है। मेरे पास एक टेबल है। मैं उसको उसी के साथ जॉइ कर रहा हूं सच
दैट कि मुझे ये जो रेफर्ड बाय आईडी वाला कॉलम है इसका यूज़ करके यहां पर आरव का नाम मिल जाए। तो सेल्फ जॉइन हम तभी करते हैं
जब हम लोगों को एक टेबल को उसी टेबल में जॉइन करना होता है। एंड दिस इज़ वन ऑफ़ द बेस्ट यूज़ केसेस जो कि मैंने अभी आपको
बताया। तो किस तरह से ये काम हम लोग करेंगे? हम सेल्फ जॉइन का सिंटेक्स कुछ इस तरह से लिखते हैं। हम कहते हैं सेलेक्ट और
लिखते हैं a डॉट आईडी और मैं कहूंगा a डॉट नेम एज यूजर अंडरस्कोर नेम। अब आप देखो मैं यहां पर कर क्या रहा हूं? ये समझने की
कोशिश करना। मैं यहां पर बेसिकली एक सेलेक्ट क्वेरी बना रहा हूं। मैं कह रहा हूं कि भाई देखो मेरी दो टेबल्स हैं A और
B। A भी यूज़र्स है, B भी यूज़र्स है। ठीक है? आप कुछ इस तरह से समझो। मैं A और B को जॉइन कर रहा हूं। और मैं यहां पर क्या
करूंगा? लिखूंगा बी डॉट नेम एज और लिखूंगा रेफर्ड बाय नेम। ठीक है? इसका नाम मैं रेफर्ड बाय नेम रख देता हूं। और मैं यहां
पर लिखूंगा फ्रॉम और मैं लिखूंगा यूज़र्स ए और मैं लगाऊंगा यहां पर इनर जॉइन। ठीक है? इनर जॉइन लगाऊंगा क्योंकि मैं चाहता हूं
कि वो सारी रोज़ आ जाए जो कि दोनों टेबल में हो। ठीक है? और ऑब्वियसली मैं इन दोनों टेबल्स यानी कि सेम टेबल्स को ही
जॉइन कर रहा हूं। तो इनर जॉइन बिल्कुल परफेक्टली सारी रोज़ को दिखा देगा। और मैं यहां पर क्या करूंगा? मैं लिखूंगा यूज़र्स
में ही मुझे करना है बी और मैं लिखूंगा ऑन A डॉट रेफर्ड बाय आईडी और इज़ = bidi अब आप इसको समझो मैंने ये सिंटेक्स तो लिख दिया
अब आप इसको समझने की कोशिश करना और मैं यहां पर कॉमा लगाऊंगा ठीक है अ देखो मैंने यहां पर क्या किया मैंने कहा सेलेक्ट करो
A की आईडी देखो सबसे पहले तो मैंने कहा दो टेबल्स हैं A और B मैं इसको बंद करता हूं पहले मैंने कहा दो टेबल्स हैं A और B
जिनको मैं जॉइन कर रहा हूं ए भी यूज़र्स हैं B यूज़र्स हैं इन दोनों को मैं जॉइन कर रहा हूं मैंने इसको A मान लिया। इसको B
मान लिया। अब मैं कह रहा हूं मुझे A की आईडी चाहिए। A का नेम चाहिए एज यूजर नेम। B का नेम चाहिए एज़ रेफर्ड बाय नेम। और मैं
कह रहा हूं कि ये सेलेक्ट करो फ्रॉम यूज़र्स A। इनर जॉइन करो उसको यूज़र्स B यानी कि दोनों टेबल्स को मैं जॉइन कर रहा
हूं जो कि सेम है। और मैं कह रहा हूं कि इस कॉलम पे जॉइन कर दो। A डॉट रेफ़र्ड बाय आईडी = B डॉट आईडी। और मैं इसको जैसे ही
रन करूंगा यहां पर सेमी कॉललन लगाकर। आप देखो और मैं ये सेलेक्ट स्टार्ट फ्रॉम यूज़र्स हटा देता हूं। इसको मैं जैसे ही रन
करूंगा आप लोग देखो यहां पर क्या हुआ यूजर नेम और रेफर्ड बाय नेम मुझे देखने को मिल गया। ठीक है? तो यहां पर क्या हो रहा है
कि यूजरनेम और रेफर्ड बाय नेम मुझे ये दोनों देखने को मिल गए। अब आप देखो यहां पर कि अगर मैं लेफ्ट जॉइन यहां पर करूं
अगर मैं यहां पर लेफ्ट जॉइन करूं तब मुझे नल वाले भी देखने को मिलेंगे। आप देखो इसको मैं रन करूंगा। नल वाले भी देखने को
मिल गए। जिनको किसी ने रेफर नहीं किया है। ठीक है? बट आप लोग किसी भी तरह का जॉइन यहां पर यूज़ कर सकते हो। आइडियली इनर जॉइन
यूज़ करते हैं क्योंकि जिनको किसी ने रेफर नहीं किया। शायद मैं उनको नहीं देखना चाहता। बट अगर आप लोग देखना चाहते हैं तो
आप लेफ्ट जॉइन यहां पर जो है यूज़ कर सकते हैं। ठीक है? और अगर आपके नल्स नहीं है यहां पर तो आपको सारे के सारे जो
रिकॉर्ड्स हैं वो देखने को मिलेंगे क्योंकि आप सेम टेबल को सेम टेबल से जॉइन कर रहे हो। तो ये चीज आप लोगों को पता
होनी चाहिए। आई होप कि सिंटेक्स आप लोगों को समझ में आया। बिल्कुल आप ऐसा समझ लो कि यूज़र्स और यूज़र्स दो अलग-अलग टेबल्स हैं।
एग्जैक्टली जॉइन ही है ये। जिस तरह के जॉइंट्स हमने पढ़े थे वही है ये। कुछ भी इसमें नया नहीं है। बस सेम टेबल को हम लोग
ज्वाइन कर रहे हैं और इसको नया नाम दिया जाता है और इसको सेल्फ जॉइन का नाम देकर डराया जाता है। ठीक है? इनफैक्ट डराता कोई
नहीं है। लोग खुद डरते हैं। बट लेट मी टेल यू कि आप लोगों को ईजीली समझ में आएगा अगर आप लोग इसको अलग-अलग टेबल मान के करोगे।
आपको यूज़र्स से एक टेबल है और यूज़र्स से एक दूसरी टेबल है। आप इनको दो अलग-अलग टेबल्स मानो और बिल्कुल एग्जैक्टली वैसे
ही करो जैसे आप लोग पहले जैसे जॉइन हमने किया था दो अलग-अलग टेबल्स को वैसे करते थे। बिल्कुल एग्जैक्टली आप वैसे ही करो।
आप लोगों को कोई प्रॉब्लम नहीं आएगी। देखो, ए रेफर्स टू द यूजर बी इंक्वायरी, बी रेफर्स टू द यूजर हु रेफर्ड देम। ठीक
है? तो हमने दो टेबल्स मान ली यहां पर। ए भी यूज़र्स है, बी भी यूज़र्स हैं। लेकिन मैं कह रहा हूं A ये वाली टेबल है, बी ये
वाली टेबल है। मैं कह रहा हूं इसको इसमें मैं जॉइन कर रहा हूं। ठीक? कहां जॉइन कर रहा हूं? इसकी रेफर्ड बाय आईडी को जॉइन कर
रहा हूं। कहां जॉइन कर रहा हूं? इसकी आईडी में। तो A की रेफर्ड बाय आईडी को जॉइन कर रहा हूं B की आईडी में। एंड दैट्स हाउ आई
एम गेटिंग दिस व्यू जो कि मैंने आप लोगों को ऑलरेडी यहां पर दिखाया। ठीक है? तो ये था हमारा सेल्फ जॉइन। अब यहां पर मैंने आप
लोगों के लिए सैंपल आउटपुट जो है दिखाया है मैंने यहां पर। अब यहां पर एक करेक्शन है कि ये लेफ्ट जॉइन आएगा क्योंकि मैंने
पहले इनर जॉइन किया था बट मैंने उसके बाद इसको लेफ्ट जॉइन में अपडेट कर दिया था ताकि नल्लस भी आप लोगों को देखने को मिले।
तो मैं जो पीडीएफ आपको मिलेगी हैंडबुक की उसमें इसको लेफ्ट जॉइन कर दूंगा क्योंकि मैंने यहां पर लिखा हुआ है लेफ्ट जॉइन इज़
यूज़्ड सो दैट यूज़र्स विद नल इन रेफर्ड बाय आईडी आर आल्सो इंक्लूडेड। तो मैं लेफ्ट जॉइन ही यहां पर इसको रखना चाहता हूं। बट
आप इनर जॉइन भी कर सकते हो। और अगर आप लोगों के पास दूसरे यूज़ केसेस हैं उसमें राइट जॉइन भी आप कर सकते हो। बट आप समझ गए
कैसे करना है। ठीक है? आप सेल्फ जॉइन यूज़ करो व्हेन यू नीड टू जॉइन अ टेबल विद इटसेल्फ इन रेफरल बेस्ड रिलेशनशिप्स स्टोर
द रेफरल्स आईडी इन द सेम टेबल। ठीक है? तो एक ही टेबल में अगर आप कोई ऐसा कॉलम इंसर्ट कर रहे हो जो कि उसी टेबल के
रिकॉर्ड को पॉइंट कर रहा है तो आपको सेल्फ जॉइंस की जरूरत पड़ेगी। एंड इट इज़ वेरी आइडियल। आप ऐसा कर सकते हो। यूजिंग एलएसएस
लाइक एंड बी टू डिफरेंशिएट द टू इंस्टेंसेस ऑफ़ द सेम टेबल। काफी आइडियल है। ठीक है? यह आप कर सकते हो। और आई होप
कि आप समझ गए किस तरह से सेल्फ जॉइन काम करता है। माय सीक्वल। मैंने इसको एक्सजेक्टली अलग से आप लोगों को बताया,
स्पेसिफिकली बताया, एक्सप्लसिटली बताया। क्योंकि मुझे लगता है कि इसको एक स्पेशल मेंशन की जरूरत है। ये एक थोड़ी सी
डिफरेंट चीज है। तो आई होप कि आप लोगों ने ग्रास्प कर लिया होगा इसको। अब हम आगे बढ़ेंगे और सीक्वल के और कांसेप्ट्स को
देखेंगे। आज हम बात करेंगे कि माय सीक्वल के अंदर व्यूज क्या होते हैं? और क्यों हमें व्यूज
को यूज़ भी करना चाहिए। व्यूज बेसिकली आप लोगों की कन्वीनियंस के लिए बने होते हैं। मैं आप लोगों को एक एग्जांपल देता हूं।
मान लो आप एक क्वेरी को बार-बार चला रहे हो। एक बहुत ही कॉम्प्लेक्स सी क्वेरी है। उसको बार-बार आपको चलाना पड़ रहा है जो कि
दो टेबल से इनर जॉइन करके एक फॉरेन की को यूज करके एक पर्टिकुलर तरह का डेटा आपको फैच करके दे रही है। आपकी पसंद का कॉलम,
आपके पसंद का डेटा आपको देखने को मिल रहा है उस कॉम्प्लेक्स क्वेरी के द्वारा। आप अपने आप को पाते हो कि बार-बार आप उस
क्वेरी को चला रहे हो। आप उस क्वेरी का व्यू बना सकते हो और एक बार आपने उस क्वेरी का व्यू बना दिया तो आप उस व्यू का
एक नाम रख सकते हो। जैसे कि मान लो आप फुल डेटा नाम का एक व्यू बनाते हो जिसमें आपको बहुत सारे कॉलम्स अलग-अलग टेबल से फैच
होकर मिल रहे हैं और आप उसका नाम रख सकते हो फुल डेटा और उस फुल डेटा नाम के व्यू को आप एक नॉर्मल सीक्वल टेबल की तरह यूज़
कर सकते हो। मुझे पता है काफी ओवरवेल्मिंग लगा सुनने में लेकिन मैं आपको अभी जैसे ही दिखाऊंगा ना आप कहोगे यार ये तो एकदम आसान
है और ये कितने मजे की चीज है। तो आ जाओ देखते हैं इसको। पहले समझते हैं व्यू क्या है? व्यू इन माय सीक्वल इज़ अ वर्चुअल
टेबल। ये एक एक्चुअल टेबल नहीं होती है। ये एक वर्चुअल टेबल होती है। मतलब ये टेबल नहीं भी है और टेबल की तरह प्रतीत भी हो
रही है। इसीलिए हम इसे वर्चुअल टेबल कहते हैं। बेस्ड ऑन अ रिजल्ट ऑफ अ सेलेक्ट क्वेरी। हमारे पास एक सेलेक्ट क्वेरी है।
बहुत ही कॉम्प्लेक्स सी हो सकती है। वो सिंपल सी सेलेक्ट क्वेरी हो सकती है। लेकिन टिपिकली वो कॉम्प्लेक्स सी ही
सीक्वल क्वेरी होती है जिसको हम एक व्यू में कन्वर्ट करते हैं ताकि ये खतरनाक क्वेरी हमें बार-बार ना चलानी पड़े। इट डज़
नॉट स्टोर डेटा इटसेल्फ। बहुतेंट। डज़ नॉट स्टोर डेटा इटसेल्फ। इट ऑलवेज रिफ्लेक्ट्स द करंट डेटा इन द बेस टेबल्स। ठीक है? ये
डेटा खुद से स्टोर नहीं करती है। लेकिन ये क्या करती है? रेफरेंस करती है। उस क्वेरी के हिसाब से आप लोगों को व्यू बनाकर देती
है। व्यूज आर यूज़फुल व्हेन यू वांट टू सिंपलीफाई कॉम्प्लेक्स क्वेरीज़। यू वांट टू रीयूज़ लॉजिक। यू वांट टू हाइड सर्टेन
कॉलम्स फ्रॉम यूज़र्स। यू वांट अ लाइव स्नैपशॉट ऑफ़ फिल्टर डेटा। अब ये बहुतेंट है। जो व्यू होता है। मान लो आपने एक या
फिर दो टेबल्स का यूज़ करके एक व्यू बनाया। आपने फिर उन टेबल्स को अपडेट कर दिया जाकर। आपका व्यू भी ऑटोमेटिकली अपडेट हो
जाएगा। तो ये आपको लाइव स्नैपशॉट देता है आपके फ़िल्टर्ड डेटा का। तो आ जाओ देखते हैं इसको समझते हैं कि कैसे आप लोग व्यू
बना सकते हो। तो व्यू बनाने का सिंटेक्स बड़ा सिंपल सा है। ठीक है? तो मैं यहां पर सीक्वल में आऊंगा और आप लोगों को दिखाऊंगा
कि आप क्या कर सकते हो? आप कह सकते हो क्रिएट व्यू। आप कहोगे क्रिएट व्यू और इस व्यू का नाम रखोगे आप। जैसे मान लो मैं
रखता हूं यूज़र्स और मैं फिर लिखूंगा एज। तो ये इसका सिंटेक्स होता है। फिर इसके बाद मैं लिखूंगा यूज़र्स वेयर मैं लिखूंगा
वेयर सैलरी। और मैं इसका नाम यहां पर रिच यूज़र्स कर देता हूं। इस व्यू का नाम मैं
रिच यूज़र्स कर देता हूं। यूज़र्स तो मेरी ऑलरेडी टेबल है। तो व्यू का नाम मैंने रिच यूज़र्स रख दिया। मैं कह रहा हूं एज यूज़र्स
वेयर सैलरी इज़ ग्रेटर दैन 70000। ठीक है? ये मैंने यहां पर एक व्यू बना दिया। और यहां पर मुझे सेलेक्ट लिखना पड़ेगा। तो
बेसिकली क्या है? ये एक नॉर्मल सीक्वल क्वरी होती है। तो व्यू बनाने का सिंटेक्स एकदम आसान है। आप लिखो क्रिएट व्यू। फिर
लिखो व्यू का नाम। फिर लिखो एज। फिर आप अपनी सेलेक्ट क्वेरी लिख दो। वो कितनी भी कॉम्प्लेक्स सेलेक्ट क्वेरी हो सकती है।
एंड टिपिकली वो कॉम्प्लेक्स सेलेक्ट क्वेरीज ही होती हैं जिनके व्यूज बनाए जाते हैं। तो यहां पर मैंने आपको एग्जांपल
दिया है एक सिंपल क्वेरी का। जहां पर हम यूज़र्स को सेलेक्ट कर रहे हैं। जहां उनकी सैलरी ग्रेटर दैन 70,000 है। अगर आप यहां
पर सेले स्टार्टर सीकल में देखोगे। यहां आप देखो स्टार्टर सीक्वल नाम के डेटाबेस में देखोगे। टेबल्स तो हमें दिख रही हैं।
तीन बनी हुई है। व्यूज में हमें कुछ नहीं दिख रहा है। व्यूज खाली है। मैं इसको रिफ्रेश भी करूं ना तो भी व्यूज खाली है।
आप देखो कुछ नहीं है व्यूज में। अब मैं क्या करूंगा कि इस वाली क्वेरी को मैं कमेंट आउट करता हूं। मैं इसको चलाऊंगा या
मैं इसको हटा ही देता हूं। मैं इसको चलाऊंगा। और मैं इस क्वेरी को ठीक कर देता हूं। सेलेक्ट स्टार फ्रॉम यूज़र्स मुझे
करना पड़ेगा। और यहां पर आप देखो मैंने जैसे ही सेलेक्ट स्टार फ्रॉम यूज़र्स योर सैलरी ग्रेटर दैन 70,000 किया। मतलब कि ये
मेरी नॉर्मल क्वेरी है। और यहां पर ऊपर जो है क्रिएट व्यू रिच यूज़र्स एज लिखा है मैंने। और यहां पर मेरी नॉर्मल सीक्वल
क्वरी है। और अब मैं इसको जैसे ही रन करूंगा आप लोग देखो कि यहां पर क्रिएट व्यू रिच यूज़र्स बन चुका है। और मैं जैसे
ही इसको रिफ्रेश करूंगा अभी यहां पर तो आप देखो व्यूज में मेरे पास एक व्यू बनकर आ चुका है। रिच अंडरस्कोर यूज़र्स के नाम से।
अब मैं आपको एक चीज़ दिखाता हूं। अब मैं रिच अंडरस्कोर यूज़र्स को एक नॉर्मल टेबल की तरह यूज़ कर सकता हूं। मैं कह सकता हूं
सेलेक्ट स्टार फ्रॉम रिच अंडरस्कोर यूज़र्स। क्या रिच अंडरस्कोर यूज़र्स एक टेबल है? नहीं। लेकिन मैं इसको एक नॉर्मल
टेबल की तरह यूज़ कर सकता हूं। मैंने इसका एक व्यू बना लिया। क्यों बना लिया व्यू मैंने? क्योंकि मैं बार-बार ये वेयर सैलरी
ग्रेटर दैन 70000 नहीं लिखना चाहता। मैं बार-बार ये नहीं लिखना चाहता। तो सेलेक्ट स्टार फ्रॉम यूज़र्स वेयर सैलरी ग्रेटर दैन
70000 ये लिखने से अच्छा मैं सीधा रिच अंडरस्कोर यूज़र्स को यूज़ करूंगा। अच्छा यहां पर देखो कि हमारे पास अनन्या है,
हमारे पास प्रियंका है, मीरा है, रोहन है, निकिता है। इन सब की सैलरी 70,000 से ज्यादा है। मान लो मैं चाहता हूं कि
अनन्या की सैलरी कम कर दूं मैं। मान लो मैं चाहता हूं अनन्या की सैलरी कम कर दूं। और मैं यहां पर क्या करूंगा? मैं लिखूंगा
अपडेट यूज़र्स और मैं यहां पर लिखूंगा सेट और मैं लिखूंगा सैलरी इज़ इक्वल टू 3,000 वेयर आईडी इज़ इक्वल टू टू। मैंने यहां पर
क्या किया? अनन्या की सैलरी को ओरिजिनल यूज़र्स टेबल में। मेरे व्यू को तो मैं ऐसे कुछ कर नहीं रहा हूं। ठीक है? मैं यहां पर
इसको कमेंट आउट कर देता हूं। मैं ओरिजिनल यूज़र्स टेबल में अनन्या की सैलरी को कम कर रहा हूं और मैं इसको रन कर रहा हूं और ये
हो गया। ठीक है? मैंने अनन्या की सैलरी को कम कर दिया। अब सवाल यह उठता है कि क्या यह व्यू ऑटोमेटिकली अपडेट हो जाएगा? या
हमें कुछ करना पड़ेगा। दी आंसर इज़ ऑटोमेटिकली अपडेट हो जाएगा। तो जैसे ही मैं इसको रन करूंगा आप लोग यहां पर देखो।
सेलेक्ट स्टार फ्रॉम रिच यूज़र्स ने अनन्या को इस बार फैच नहीं किया। और इसका रीजन क्या है कि अनन्या की सैलरी मैंने ओरिजिनल
यूज़र्स टेबल से कम कर दी। अब क्योंकि मैंने ओरिजिनल यूज़र्स टेबल से कम कर दी अनन्या की सैलरी अनन्या की सैलरी वाज़ नो
लगर ग्रेटर देन 70000 तो जो व्यू है वो रियल टाइम में अपडेट होता है। ऐसा नहीं है कि डेटा सेव हो के व्यू में सेव हो गया और
उसके बाद अपडेट ही नहीं हुआ कभी नहीं। बेसिकली आप क्या कर रहे हो? एक बड़ी क्वेरी को सेव कर रहे हो। अगर मैं एक बहुत
ही सिंपलीफाइड टर्म्स में आप लोगों को बताऊं। तो क्या है व्यू? व्यू बेसिकली स्नैपशॉट है। एक वर्चुअल टेबल है बेस्ड ऑन
द रिजल्ट ऑफ सेलेक्ट क्वरी। यहां समझे आप लोग कि मैंने ये बात क्यों लिखी है? बेस्ड ऑन द रिजल्ट ऑफ अ सेलेक्ट क्वरी। इस केस
में हमारी ये सेलेक्ट क्वेरी थी। तो ये सेलेक्ट क्वेरी जो भी रिटर्न करेगी व्यू रियल टाइम में अपने आप को अपडेट कर लेगा।
तो बाद में अगर आप सेलेक्ट स्टार्ट फ्रॉम रिच यूज़र्स करोगे तो आपको यूज़र्स टेबल का लेटेस्ट डेटा सच दैट सैलरी ग्रेटर दैन
70,000 वाले यूज़र्स ही देखने को मिलेंगे। ये होता है हमारे पास व्यूज। ठीक है? आप एक व्यू को क्वेरी कर सकते हो। जैसे मैंने
आपको दिखाया सेलेक्ट स्टार्ट फ्रॉम हाई सैलरी यूज़र्स। आप चाहो तो सेलेक्ट एक सर्टेन कॉलम सेलेक्ट कर सकते हो। ये तो आप
ऑटोमेटिकली खुद ही कर लोगे। जैसे मान लो मैं कहता हूं कि यार मुझे सिर्फ नेम और ईमेल ही चाहिए। रिच यूज़र्स के मुझे और कुछ
नहीं चाहिए। तो मैं इसको रन करूंगा। तो आप देखो यहां पर नेम और ईमेल प्रियंका प्रियंका example.com मीरा mera
example.com रोहन रोहन एट example.com ये देखने को मिल रहा है। ठीक है? बढ़िया। डेमोंस्ट्रेटिंग दैट अ व्यू इज ऑलवेज अप
टू डेट। मैंने आपको ऑलरेडी डेमोंस्ट्रेट करके दिखा दिया। बट मैंने इसको हैंडबुक में आप लोगों के लिए लिखा है कि भाई आप
यूज़र्स टेबल में जाके अपडेट कर दो व्यू बनाने के बाद और उसके बाद देखो व्यू का जो डेटा है वो क्या आ रहा है। आपको देखने को
मिलेगा कि आपको व्यू का जो डेटा है वो लाइव मिलेगा। आपको लाइव स्नैपशॉट देखने को मिलेगा। आपको वो रिकॉर्ड्स देखने को
मिलेंगे जो कि लाइव यूज़र्स टेबल से आ रहे हैं। ठीक है? तो ये चीज आप लोग कर सकते हो। एक व्यू को आप ड्रॉप भी कर सकते हो और
बहुत सारे व्यूज आप अननेसेसरी अगर बना रहे हो ना तो इट्स अ गुड आईडिया कि आप ड्रॉप व्यू वाला सिंटेक्स यूज करके व्यू को
ड्रॉप कर दो। जैसे कि रिच यूज़र्स नाम का व्यू बनाना मेरे लिए कुछ खास सेंस अभी बनाता नहीं है। ठीक है? मैंने जस्ट आपको
डेमोंस्ट्रेशन के लिए बताया। तो मैं यहां पर क्या लिखूंगा? मैं लिखूंगा ड्रॉप व्यू रिच अंडरस्कोर यूज़र्स। ठीक है? और ये मैं
यहां पर रन करूंगा। तो आप देखो मेरा व्यू गायब हो चुका है। अब और यहां पर आप देखो कि मेरा व्यू गायब हो चुका है। ज़ीरो रोज़
अफेक्टेड व्यू गायब। तो क्या मैं अब ये वाली सेलेक्ट क्वरी चला सकता हूं? द आंसर इज़ नो। द आंसर इज़ नो। क्योंकि मेरा जो रिच
अंडरस्कोर यूज़र्स वाला व्यू है वो जा चुका है। तो देखो यहां पर आपको एक एरर देखने को मिल रहा है कि आपका जो रिच अंडरस्कोर
यूज़र्स वाला व्यू है वो अब एग्ज़िस्ट नहीं करता है। सो दैट वाज़ अबाउट व्यूज। आई होप कि आपको समझ में आ गया। समराइज़ करूं तो यह
सेव्ड सेलेक्ट क्वेरी की तरह बिहेव करते हैं। मान लो आपको किसी ने एक सेलेक्ट क्वेरी बना कर दी। या आप खुद बनाते हो
सेलेक्ट क्वेरी और आप उसको बार-बार टाइप नहीं करना चाहते हो कि यार मुझे सिर्फ वो यूज़र्स चाहिए जिनका ईमेल कुछ इस तरह से
दिखता है जिनका जेंडर मेल है और जिनकी सैलरी इतने से इतने के बीच में लाई करती है और मुझे डेटा कुछ इस तरह से चाहिए कि
मुझे उनका एड्रेस भी देखना है कॉलम्स में एक बड़ी लंबी चौड़ी आपने सेलेक्ट क्वेरी बनाई अब वो लंबी चौड़ी सेलेक्ट क्वरी बन
गई आप कहते हो यार इसको बार-बार लिखने से अच्छा मेरे सीक्वल कोड में मैं एक व्यू क्यों ना बना लूं एक व्यू बना के रख लो और
फिर एक बड़ा सिंपल सिंपल सा सेंटक्स आप यूज़ करोगे सेलेक्ट स्टार फ्रॉम रिच यूज़र्स या फिर जो भी आप उसको नाम देना चाहते हो
अपने व्यू को और वो बिल्कुल एक टेबल की तरह काम करेगा। तो ये होता है बस व्यू। आई होप आप समझ गए व्यूज डुप्लीकेटेड डेटा
नहीं होता है। ये याद रखना आप लोग क्योंकि जो व्यू होता है वो रियल टाइम में आप लोगों के लिए जनरेट करता है डेटा फ्रॉम
ओरिजिनल टेबल्स। ठीक है? चेंजेस टू बेस टेबल्स आर रिफ्लेक्टेड ऑटोमेटिकली। जैसे कि हमने देखा एंड इट्स क्रिएट फॉर
सिंपलीफाइंग कॉम्प्लेक्स क्वेरीज़ और क्रिएटिंग फ़िल्टर्ड एक्सेस। यह हम लोगों ने ऑलरेडी देखा। तो टिपिकली क्या होता है
जो लंबी चौड़ी क्वेरीज होती हैं उनका व्यूज बनाया जाता है और व्यू भी तब बनाते हैं हम जब हम उन लंबी चौड़ी क्वेरीज को
बार-बार यूज कर रहे हैं। सो या दैट वाज़ अबाउट व्यूज। अब मैं आप लोगों को बताऊंगा इंडेक्स क्या
होती है माय सीक्वल के अंदर। आप लोगों ने किताबें पढ़ी होंगी और किताबें तो हमारी जिंदगी का हिस्सा है। किताबों के अंदर
इंडेक्स पेज होता है। वो आप लोगों को किस चीज के लिए हेल्प करता है? आप किसी भी चैप्टर को इजीली नेविगेट कर पाएं। चैप्टर
नंबर 13 कौन से पेज नंबर पे पड़ेगा? यह देखकर आप चैप्टर नंबर 13 ईजीली खोल पाएंगे। रादर देन आप खुद से एक-एक करके
चेक करो कौन सा चैप्टर नंबर चल रहा है। आप लोगों की लाइफ काफी मिज़रेबल हो जाएगी। अगर मैं आपको बिना इंडेक्स के किताब दे दूं और
आपको बीच-बीच से किताब पढ़नी है तो। उसी तरह माय सीक्वल के अंदर इंडेक्सेस बनाई जाती हैं ताकि एक पर्टिकुलर कॉलम से
सेलेक्ट क्वरी फास्ट हो जाए। अब यहां पर आप लोग देखो इंडेक्सेस क्या होती हैं। इंडेक्सेस इन माय सीक्वल आर यूज़्ड टू
स्पीड अप डेटा रिट्रीवल। दे वर्क लाइक द इंडेक्स ऑफ अ बुक हेल्पिंग द डेटाबेस इंजन फाइंड रोज़ फास्टर स्पेशली फॉर सर्चेस
फिल्टर्स एंड जॉइंट्स। अब मैं आप लोगों को एक बात बताना चाहता हूं। जब भी आप प्राइमरी की बनाते हैं ना तो उस प्राइमरी
की पर इंडेक्स ऑटोमेटिकली बन जाती है। इसीलिए हम लोग प्राइमरी की बनाते हैं कि यार हम अगर किसी भी एक पर्टिकुलर रो को
फेच करना चाहते हैं। एंड हम चाहते हैं कि वो फेच ऑपरेशन बहुत फास्ट हो। हमारी सेलेक्ट क्वरी बहुत फास्ट रन करे। तो हम
लोग इस्तेमाल करते हैं आईडी का जिसको हमने प्राइमरी की बना रखा है और इसीलिए हम लोग आईडी इंसर्ट भी करते हैं कि कभी भी किसी
एक पर्टिकुलर रिकॉर्ड को रेफरेंस करना है डायरेक्टली मैं जाकर उसकी इंडेक्स से कर लूंगा और मुझे रिट्रीवल बहुत फास्ट
मिलेगा। अगर आप लोग इंडेक्सेस देखना चाहते हैं तो आप सिंपली क्या करोगे? आप लिखोगे शो इंडेक्सेस। शो इंडेक्सेस और आप लिखोगे
फ्रॉम यूज़र्स। ठीक है? जो भी टेबल से आप देखना चाहते हो। और आप जैसे इसको रन करोगे आपको इंडेक्सेस देखने को मिल जाएंगी। आप
यहां पर देख सकते हो कि मेरे पास दो इंडेक्सेस बनी हुई हैं। एक ईमेल पर इंडेक्स बनी हुई है और एक प्राइमरी की जो
कि आईडी है उस पे बनी हुई है। तो यार यहां पर देखो कि इस कॉलम पे मैंने इंडेक्स बना रखी है। आईडी पे बना रखी है और ईमेल पे
बना रखी है। तो ये जो इंडेक्स है ये इंश्योर करती है कि जब भी मैं वेयर आईडी इज़ इक्वल टू समथिंग लिखूं तो मेरा
रिट्रीवल फास्ट हो। वेयर ईमेल इज़ इक्वल टू समथिंग लिखूं तो मेरा रिट्रीवल फास्ट हो। अगर आपके पास यूज़र्स टेबल कुछ इस तरह से
दिख रही है। सेलेक्ट स्टार फ्रॉम यूज़र्स और मैं इसको रन करूं तो आपकी यूजर टेबल कुछ इस तरह से दिख रही है। और आप चाहते हो
कि यार जब भी मैं किसी के ईमेल से फेच करूं यानी कि मैं लिखूं सेलेक्ट स्टार्ट फ्रॉम यूज़र्स वेयर ईमेल इज़ = iशान एट
example.com और आप चाहते हो कि मेरा यह ऑपरेशन भाई बहुत फास्ट होना चाहिए। तो आप इंडेक्स बना लो ईमेल पर। अननेसेसरी
इंडेक्स बनाना आप लोगों के लिए हमेशा हार्मफुल होगा। आपके डेटाबेस के लिए अच्छा नहीं है। लेकिन अगर आपका यूज़ केस यह कहता
है कि मुझे बार-बार और हर बार ईमेल से फच करना पड़ रहा है तो जो आपकी क्वेरी ज्यादा टाइम में रन किया करती थी वो अब कम टाइम
में रन करा करेगी। तो अगर आपके यूज़र्स बार-बार ऐसी क्वेरी इस्तेमाल कर रहे हैं आपके सिस्टम में जिसमें कि आप ईमेल से
रिट्रीव कर रहे हो तो आपको फास्टर फैचेस मिलेंगे अगर ईमेल कॉलम पर इंडेक्स बनी हुई है तो। और बस इतना ही मतलब होता है
इंडेक्स का। ठीक है? माय सीक्वल कुछ इंडेक्सेस ऑटोमेटिकली आप लोगों के लिए बनाता है। लेकिन कुछ आप लोग अपना दिमाग
लगाकर बना सकते हो। फॉर एग्जांपल अगर आपने एक नई रो इंसर्ट करी है और आप चाहते हो कि यार उस पर्टिकुलर रो से फास्टर फैचेस हो
तो आप इंडेक्स बना सकते हो। किसी भी इंडेक्स को एक टेबल में देखने के लिए शो इंडेक्सेस फ्रॉम यूज़र्स। आप लोग लिखोगे और
आप लोगों को सारी इंडेक्स देखने को मिल जाएंगी। उस टेबल में जोजो होंगी। दिस शोज़ ऑल द इंडेक्सेस करेंटली डिफाइंड ऑन द
यूज़र्स टेबल इंक्लूडिंग दी ऑटोमेटिकली क्रिएटेड प्राइमरी की इंडेक्स। अब यहां पर देखो ऑटोमेटिकली क्रिएट होती है प्राइमरी
की वाली इंडेक्स। एक सिंगल कॉलम इंडेक्स आप बना सकते हो। आप मल्टी कॉलम इंडेक्स भी बना सकते हो। मल्टी कॉलम इंडेक्स आप कब
बनाओगे? आप तब बनाओगे जब आप दो कॉलम से फैच कर रहे हो। दो कॉलम से कैसे फैच किया जाता है? कुछ इस तरह से। आप कह दो कि भाई
मैं ईमेल इज इक्वल टू कह रहा हूं कुछ इस तरह से आरव एट example.com
और उसी के साथ-साथ मैं यहां पर लिख रहा हूं एंड और मैं यहां पर लिख रहा हूं और मैं यहां पर वेयर भी लिखूंगा वेयर ईमेल =
r example.com एंड जेंडर = मेल। ठीक है? तो मैं इस तरह की क्वेरी अगर चला रहा हूं तो मैं ईमेल और जेंडर दोनों पे इंडेक्स
बना सकता हूं। ठीक है? और ऐसा करने से क्या होगा कि मेरे रिट्रीवल फास्ट होंगे। यह क्या करेगा? अगर आप एक इंडेक्स बनाना
चाहते हो क्रिएट इंडेक्स आईडीएक्स ईमेल ऑन यूज़र्स ईमेल तो ये सिंगल कॉलम इंडेक्स बनाएगा ईमेल पर। ठीक है? ऑलरेडी मैंने बना
रखी है ईमेल पर इंडेक्स। बट लेट अस से कि आप एक इंडेक्स बनाना चाहते हो। मैं अभी के लिए इसको कमेंट आउट कर रहा हूं। अभी के
लिए मैं इसको कमेंट आउट कर रहा हूं। और मैं यहां पर यूज़र्स ईमेल ना लिख के यूज़र्स जेंडर पे इंडेक्स बना देता हूं। मैं इसको
रन करूंगा तो मेरी जो इंडेक्स है वो बन जाएगी। ठीक है? यहां पर आप देखो। अब मैं दोबारा इसको चलाऊंगा तो शो इंडेक्सेस
करूंगा। तो देखो आईडीएक्स अंडरस्कोर ईमेल नाम की एक इंडेक्स बन गई है। किस कॉलम पे बनी है? जेंडर पे। तो मैंने कहा कि भाई
जेंडर वाले कॉलम से मैं बार-बार फैच करना चाहता हूं। तो मेरे जो रिट्रीवल्स हैं वो फास्ट हो इसलिए तुम यहां पर मेरे लिए एक
इंडेक्स बना दो। तो मेरी इंडेक्स बन जाएगी। ठीक है? अब ये क्या करेगा? एक इंडेक्स बनाएगा
आईडीएक्स ईमेल के नाम से। आपकी इस तरह की क्वेरी की परफॉर्मेंस को इंप्रूव करेगा। जहां आप ईमेल से फैच कर रहे हो। अगर आपने
ईमेल पे इंडेक्स बनाई है। मैंने जेंडर पे बनाई है अभी यहां पर। तो मैं अगर जेंडर से फेच कर रहा हूं वेयर जेंडर इज इक्वल टू
मेल या वेयर जेंडर इक्वल टू फीमेल लिख रहा हूं तो मेरे जो रिट्रीवल्स हैं वो बहुत फास्ट होंगे। कुछ इंपॉर्टेंट नोट्स
इंडेक्सेस कंज्यूम एक्स्ट्रा डिस्क स्पेस। आप ये मत सोचना कि मैं हर कॉलम पे इंडेक्स बना दूं। नहीं ऐसा नहीं करना है।
इंडेक्सेस स्लो डाउन इंसर्ट अपडेट एंड डिलीट ऑपरेशंस। हां ये कॉस्ट के साथ आते हैं। ये मत सोचना हर कॉलम पे बना दूंगा।
अरे हर कॉलम पे बनाओगे तो आपके इंसर्ट अपडेट, डिलीट ऑपरेशन स्लाइटली स्लो हो जाएंगे। और अगर आप ज्यादा ये सब कर रहे हो
इंसर्ट, अपडेट और डिलीट तो मत ही बनाओ इंडेक्स। ठीक है? क्यों होता है ऐसा? क्यों स्लो डाउन हो
जाते हैं ये ऑपरेशंस? क्योंकि इंडेक्स को अपडेट करना पड़ता है इंसर्शन के बाद, अपडेशन के बाद और डिलीशन के बाद। यूज़
इंडेक्स इज़ ओनली व्हेन नीडेड। जब आपको पता है कि मेरे इस कॉलम से फैचेस ज्यादा हो रहे हैं या मेरे इन कॉलम से फैचेस ज्यादा
हो रहे हैं। मैं बार-बार इस तरह की क्वेरी लिख रहा हूं वेयर जेंडर इज़ इक्वल टू फीमेल एंड वेयर ईमेल इज़ इक्वल टू दिस। ठीक है?
मतलब बार-बार मैं दो क्वेरी से फैच कर रहा हूं। वेयर जेंडर इक्वल टू फीमेल एंड ईमेल इज इक्वल टू rvgmail.com या कुछ भी आप इस
तरह की क्वेरी लिख रहे हो जहां पर दो कॉलम से आप सर्च कर रहे हो वहां पर आप क्या करोगे? मल्टी कॉलम इंडेक्स बनाओगे वरना
नहीं बनाओगे। ठीक है? मल्टी कॉलम इंडेक्स बनाना बेहद आसान है। आप कुछ इस तरह की क्वेरी चलाकर एक मल्टी कॉलम इंडेक्स बना
सकते हो। इंडेक्स का नाम लिखो। कॉमा लगाने के बाद आप यहां पर जेंडर और सैलरी पे मान लो इंडेक्स बनाना चाहते हो बना लो। ठीक
है? बन गई आपकी इंडेक्स। और आप इसको दोबारा चलाओगे अगर तो आपको यहां पर एक और इंडेक्स देखने को मिलेगी। एंड ऑब्वियसली
मुझे इस इंडेक्स का नाम कुछ और देना पड़ेगा। तो मैं यह वाली क्वेरी रन करके एक इंडेक्स बनाऊंगा आईडीएक्स जेंडर सैलरी के
नाम से। और जैसे ही मैं रन करूंगा इसको मेरी आईडीएक्स जेंडर सैलरी के नाम से बन जाएगी इंडेक्स। मैं इसको दोबारा कमेंट आउट
करूंगा। और अब देखूंगा सेलेक्ट सॉरी शो इंडेक्सेस फ्रॉम यूज़र्स करके तो मुझे मेरी सारी इंडेक्सेस देखने को मिल जाएंगी। तो
यहां पर आप देख सकते हो कि ये इंडेक्स मुझे दो बार दिख रही है। एक बार कॉलम जेंडर पे एक बार कॉलम सैलरी पर। ठीक है?
तो ये हमारी मल्टी कॉलम इंडेक्स हो गई। और आप फिर उसके बाद जब इस तरह के फैचेस करोगे तो आप देखोगे कि आपके ये फचेस फास्ट हैं।
अब मैं आपको एक बात बताना चाहता हूं। आप एक काम करो अपनी टेबल के अंदर कुछ इस तरह की क्वेरी चला कर देखो। यह मैं आप लोगों
को टास्क दे रहा हूं। एंड आई होप कि आप लोग करोगे और मुझे कमेंट सेक्शन में बताना कि क्या रिजल्ट आया इसका। आप अपनी टेबल
में बहुत सारा डेटा इंसर्ट करो। बहुत सारा डेटा इंसर्ट करो और अपनी टेबल में डेटा इंसर्ट करने के बाद इस तरह की क्वेरी चलाओ
और उसका टाइम नोट करो कि भाई कितने टाइम में वह एग्जीक्यूट हो रही है। कैसे नोट करोगे टाइम? यहां पर पता चलता है। आप देखो
नीचे नीचे यहां पर टाइम दिखाता है यह। ठीक है? अब आपको क्या करना है? यह करने के बाद
इंडेक्स बनानी है और उसके बाद यह देखना है कि इंडेक्स बनाने के बाद यह क्वरी कितनी फास्ट चल रही है। एंड आप नोट करो कि ये
फास्ट हुई कि नहीं और मुझे कमेंट सेक्शन में बताओ। अब यहां पर एक बात मैं आपको बताना चाहता हूं। फॉर अ मल्टी कॉलम
इंडेक्स ऑन जेंडर कॉमा सैलरी जो कि हमने बनाई। ऑर्डर मैटर करता है। ये एफिशिएंटली काम करेगा। अगर आप जेंडर पहले लिखो और
सैलरी बाद में लिखो। क्योंकि यहां पर जेंडर पे जो ये इंडेक्स है वो पहले बनी है। आप यहां पर देखो ये सबसे पहले जेंडर
को चेक करेगा और अगर आप सिर्फ सैलरी से वेयर क्लॉज़ लगाते हो यानी कि फिल्टर सिर्फ सैलरी से करते हो और आपने मल्टी कॉलम
इंडेक्स बनाई हुई है तो शायद आपकी क्वेरी एफिशिएंटली नहीं चलेगी। आपकी इंडेक्स एफिशिएंटली यूज़ नहीं होगी। एक इंडेक्स को
ड्रॉप करने के लिए आप कुछ इस तरह से ड्रॉप इंडेक्स लिखा सकते हो। चला सकते हो क्वरी। तो आप यहां पर लिखोगे ड्रॉप इंडेक्स और आप
लिखोगे idx अंडरs ईमेल ऑन यूज़र्स। ठीक है? तो मैं कुछ इस तरह की क्वेरी चलाकर अपनी इंडेक्स को डिलीट कर सकता हूं। तो मैं
इसको जैसे ही चलाऊंगा मेरी इंडेक्स डिलीट हो जाएगी और इसको मैं कमेंट आउट करता हूं। और मैं सिर्फ शो इंडेक्स अब चलाऊंगा। तो
देखो idx अंडरस् ईमेल पहले थी और अब ये नहीं है। और यहां पर कुछ गड़बड़ हुई है। मैं इसको चला के देखता हूं दोबारा से। हां
चल गया। तो आईडीएक्स अंडरस् ईमेल जो है वो डिलीट हो चुकी है इंडेक्स क्योंकि मैंने इस इंडेक्स को ड्रॉप कर दिया है ये कमांड
चलाकर तो आप शो कर सकते हो इंडेक्सेस को आप एक इंडेक्स क्रिएट कर सकते हो आप एक इंडेक्स
ड्रॉप कर सकते हो आपको इंडेक्स बहुत सोच समझ के यूज़ करना है जब आपकी क्वेरी परफॉर्मेंस लास्ट टेबल्स पर एक बहुत बड़ा
कंसर्न बना हुआ है और आप चाहते हो कि यार यह फास्ट हो जाए तो इंडेक्सेस बना लो और अवॉइड करो जब आप बहुत ज्यादा अपडेट
ऑपरेशंस कर रहे हो उस पर्टिकुलर टेबल में तो इंडेक्सेस आप मत बनाओ नाउ आई होप कि इंडेक्सेस क्लियर हो गया आप लोगों को। अब
बात करते हैं सब क्वेरीज की कि क्यों यूज़ करना है सब क्वेरी और क्या है सब क्वेरी। सब्वेरी का मतलब है क्वेरी के अंदर
क्वेरी। इसीलिए कहते हैं इसको सब क्वेरी। वाओ। अब देखते हैं ये है क्या चीज़। अब देखो सब क्वेरी एक क्वेरी होती है जो कि
एक क्वेरी के अंदर नेस्टेड होती है। सब क्वेरीज़ आर यूज़फुल फॉर ब्रेकिंग डाउन कॉम्प्लेक्स प्रॉब्लम्स इंटू स्मॉलर
पार्ट्स। डिवाइड एंड कॉनकर। एक बड़ी क्वेरी है। उसके अंदर मुझे एक वैल्यू यूज़ करनी है। अब वह वैल्यू भी क्वेरी से आएगी। फ़ॉर
एग्ज़ांपल मुझे एवरेज सैलरी यूज़ करनी है। लेकिन एवरेज सैलरी तो एक क्वेरी से आएगी। तो पहले वो क्वेरी को रन कर लो। एवरेज
सैलरी प्राप्त कर लो। और एवरेज सैलरी प्राप्त करने के बाद आप उस क्वेरी को एक दूसरी क्वेरी में यूज़ कर लो। और यही सब
क्वेरी होता है। तो सब क्वेरी इज़ अ क्वेरी नेस्टेड इनसाइड अनदर क्वेरी। सब क्वेरीज आर यूज़फुल फॉर ब्रेकिंग डाउन कॉम्प्लेक्स
प्रॉब्लम्स इनू स्मॉलर पार्ट्स। एज सिंपल एज दैट। एकदम सिंपल है। सब क्वेरीज को आप सेलेक्ट स्टेटमेंट्स में यूज़ कर सकते हो,
वेयर क्लॉज़ में यूज़ कर सकते हो और फ्रॉम क्लॉज़ज़ में भी यूज़ कर सकते हो। आ जाओ एक एग्जांपल सिनेरियो देखते हैं। हम सैलरी
कंपेयर करना चाहते हैं। हम एवरेज सैलरी से ज्यादा कमाने वाले लोगों को फेच करना चाहते हैं। तो सबसे पहले हम क्या करेंगे?
सबसे पहले हम यह देखेंगे कि भ एवरेज सैलरी है कितनी? तो भाई देखो अगर आप इस तरह के यूज़र्स चाहते हो तो आप सबसे पहले सेलेक्ट
करो एवरेज ऑफ सैलरी फ्रॉम यूज़र्स। ठीक है? और मैं इस क्वेरी को रन करूंगा और जैसे मैं इसको रन करूंगा, ये एवरेज सैलरी निकल
कर आ चुकी है। अब मुझे इस नंबर को इस्तेमाल करना है अपनी एक दूसरी क्वेरी में। तो मैं क्या करूंगा? मैं वह दूसरी
क्वेरी लिखूंगा। वह क्या होगी कि भाई सेलेक्ट स्टार फ्रॉम यूज़र्स वेयर सैलरी इज़ ग्रेटर दैन। मैं यहां पर लिखूंगा सेलेक्ट
स्टार फ्रॉम यूज़र्स वेयर सैलरी इज ग्रेटर देन जो भी एवरेज सैलरी है वो। ठीक है? जो भी एवरेज सैलरी है वो। तो मैं क्या
करूंगा? यहां पर ये ये लगा दूंगा सब क्वेरी कुछ इस तरह से। तो क्या यह काम करेगा? अबब्सोलुटली ये काम करेगा। मैं
आपको चला कर दिखाता हूं। और आप देखो यहां पर मुझे वो सारे यूज़र्स मिल गए जो कि इस एवरेज सैलरी 61625 से ज्यादा पैसे कमाते
हैं। और अगर मैं इसको लेस देन कर दूं तो वो लोग आ जाएंगे जो कि इस नंबर से कम पैसे कमाते हैं। और आप देख सकते हो यहां पर जो
भी एवरेज सैलरी से कम कमाने वाले लोग हैं वो है अनन्या राज, स्नेहा, फरहान, आयशा, ईशान, जोया मानव, दिव्या, रुतिका, जूही और
फातिमा। तो आप इन सब लोगों को फाइंड कर सकते हैं यूजिंग सब क्वेरी। अब क्या हम सब क्वेरी को और कॉम्प्लेक्स कर सकते हैं कि
भाई एक क्वेरी है। उसके अंदर एक क्वेरी है। उसके अंदर भी एक और क्वेरी है। यस आप कर सकते हो। तो इनर क्वेरी यहां पर सबसे
पहले एवरेज सैलरी रिटर्न करती है। ये बहुत ही सिंपल एंड स्ट्रेट फॉरवर्ड है। और हम यहां पर फिर क्या करते हैं? सैलरी को जो
कि हमारा एवरेज सैलरी का नंबर है, उसको रिॉल्व करने के बाद यह कंपैरिजन हो के आपको ऊपर वाली क्वेरी चलकर मिल जाती है।
अब हम यहां पर क्या कर सकते हैं? हम सब क्वेरी को इन के साथ भी इस्तेमाल कर सकते हैं। मान लो कि मैं यह चाहता हूं कि वो
कौन-कौन से यूज़र्स हैं जो कि ऐसे यूज़र्स के द्वारा रेफर किए गए हैं जो ₹75,000 से ज्यादा सैलरी कमाते हैं। या फिर टू मेक इट
इवन मोर स्पाइसी। मैं कह सकता हूं जो रेफर्ड किए गए हैं ऐसे लोगों द्वारा जो एवरेज सैलरी से ज्यादा कमाते हैं। तो आप
यहां पर इस तरह की सब क्वेरी लिख सकते हो। तो यार मुझे तो यह सब करने में बड़ा मजा आता है। मैं आपको यह सब करके दिखाता हूं।
ठीक है? मैं यहां पर क्या करूंगा? सबसे पहले क्या करूंगा? मैं लिखूंगा यहां पर सेलेक्ट। और मैं मान लो लिखना चाहता हूं
आईडी नेम रेफर्ड बाय आईडी और इसके बाद मैं लिखूंगा फ्रॉम यूज़र्स। ठीक है? फ्रॉम यूज़र्स और मैं यहां पर लिखूंगा वेयर
क्लॉज़। क्या लिखूंगा मैं यहां पर? वेयर क्लॉज़। मैं इसको जरा बंद करता हूं। इसको बंद करता हूं और इसको भी बंद करता हूं। और
इन दोनों को बंद करने के बाद मैं लिखूंगा फ्रॉम यूज़र्स और फिर लिखूंगा मैं अपना वेयर क्लॉज़ और मैं लिखूंगा रेफर्ड बाय
आईडी इन ठीक है अब आप यहां पर देखो मैं क्या सब क्वेरी लिखूंगा मैं यहां पर लिखूंगा सेलेक्ट आईडी
फ्रॉम कहां से सेलेक्ट करेंगे हम यूजर से करेंगे वेयर सैलरी इज़ ग्रेटर देन सबसे पहले मैं यहां
पर 70 लिखता हूं और फिर उसके बाद मैं इस चीज़ को और स्पाइसी करूंगा। सबसे पहले ये क्वेरी चला कर देखते हैं कि क्या रिटर्न
करती है। अब यहां पर मैंने 70,000 लिखा है। इसको मैं 75,000 करता हूं या थोड़ा कम करता हूं और 50000 करता हूं और मैं इसको
चलाता हूं और यहां पर हमें कुछ यूज़र्स देखने को मिल गए। अब देखो ये क्वेरी क्या कर रही है? ये क्वेरी कह रही है कि आईडी
नेम और रेफर्ड बाय आईडी कॉलम्स सेलेक्ट करो उन यूज़र्स से जो कि रेफर किए गए हैं ऐसे यूज़र्स के द्वारा जिनकी सैलरी 500 से
ज्यादा है। ठीक है? या मैं इसको कह सकता हूं जिनकी सैलरी 500 से कम है। मैं इस पर्टिकुलर वैल्यू की जगह एक और सब क्वेरी
लगा सकता हूं। कुछ इस तरह से ऐसे। ठीक है? और मैं इसको सैलरी लेस दैन कर सकता हूं। और मैं इसको चलाऊंगा तो आप देखो क्या
होगा। मुझे यहां पे सेमी कॉललन नहीं लगाना है। ये गड़बड़ मैंने कर दी। अब मैं इसको दोबारा चलाऊंगा। और आप देखो यहां पर कि
मुझे वो यूज़र्स मिल गए जो कि रेफर किए गए हैं ऐसे यूज़र्स के द्वारा जो एवरेज सैलरी से
कम पैसे कमाते हैं। और यही होती है सब क्वेरी माय डियर फ्रेंड्स बहुत ही सिंपल सी चीज है। अब आप सब क्वेरीज़ को और भी जगह
पर इस्तेमाल कर सकते हैं। फॉर एग्जांपल आप कह सकते हैं सेलेक्ट नेम सैलरी। फिर आप यहां पर कह सकते हैं सेलेक्ट एवरेज सैलरी
फ्रॉम यूज़र्स एज़ एवरेज सैलरी। मान लो आप चाहते हैं कि यार आप यूज़र्स में से सारा डेटा तो देखना चाहते हैं नेम सैलरी का और
आप एवरेज सैलरी भी साइड बाय साइड देखना चाहते हैं तो कैसे करोगे आप इस काम को मैं आपको दिखाता हूं तो ये करने के लिए आपने
क्या करना है कि यहां पर आना है और ये क्वरी चला देना है ठीक है और इसको मैं रन करूंगा आप देखो यहां पर मैंने एक और कॉलम
बना लिया एवरेज सैलरी का ठीक है तो आप अगर चाहते हो कि मैं अपने रेगुलर डेटा के साथ-साथ एवरेज सैलरी का भी डाटा देखूं और
उस कॉलम का एक कस्टम नाम दे दूं। आप उसका नाम एवरेज सैलरी कर सकते हो। आप उसका नाम एवरेज एंप्लई सैलरी कर सकते हो। आपकी
मर्जी है। तो आप कुछ इस तरह से सब क्वेरी का इस्तेमाल कर सकते हो। आई होप कि सब क्वेरी क्लियर हो गया आप लोगों को। अब यह
जो हैंडबुक है ना यह मैं आप लोगों को देने वाला हूं और यह गेम चेंजिंग साबित होगी आप लोगों के लिए। क्योंकि इस हैंडब में आपको
कोड मिलता है, रिवीजन मटेरियल मिलता है। मेरा सजेशन आप लोगों को यह रहेगा कि आप इसको डाउनलोड करके प्रिंट निकलवा लो इसका
और एक पूरी हैंडबक प्रॉपर बना के एक फाइल के अंदर इसको रख लो और जिंदगी में कभी भी आप लोगों को सीक्वल से रिलेटेड कुछ भी
करना है यह हैंडबुक आपके पास होगी। और जहां-जहां आपको लगे इसमें देखो काफी खाली स्पेस भी है। यहां पर खाली स्पेस है। आप
अपने नोट्स ले लो। कुछ नोट डाउन कर लो। कुछ आपको इंपॉर्टेंट लगता है वो मार्क कर लो। जब हमारे पास एक रेगुलर पेनेंट पेपर
होता है ना तो उस पे हम मार्क कर सकते हैं। वो हमारे पास हमेशा अवेलेबल होता है। डिजिटली भी आप ले सकते हो नोट्स। दैट्स
आल्सो फाइन। बट मैं पर्सनली प्रेफर करता हूं प्रिंट आउट निकालना। मैं आपको ये बात बताना चाहता हूं। सो दैट वाज़ अबाउट सब
क्वेरीज़ और अब हम आगे बढ़ते हैं और सीक्वल के और कांसेप्ट्स को एक्सप्लोर करते हैं। अब हम ग्रुप बाय के बारे में बात करेंगे
कि सीक्वल में ग्रुप बाय को क्यों यूज़ करना है। कभी-कभी हम चाहते हैं कि यार हमें ग्रुप्स देखने को मिले। फॉर एग्जांपल
लेट अस से आप लोगों के पास ये यूज़र्स टेबल है और आप ये चाहते हैं कि मैं ग्रुप के हिसाब से डेटा को देखूं। यानी कि मैं ये
चाहता हूं कि जो रेफर्ड बाय आईडी है उनके ग्रुप्स बन जाए और मैं यहां पर कहूं कि भाई रेफर्ड बाय आईडी अगर वन है तो क्या और
अगर वो टू है तो क्या इस तरह से मैं ग्रुप बनाना चाहता हूं। या फिर मैं जेंडर के हिसाब से ग्रुप करना चाहता हूं डेटा को कि
भाई मेल फीमेल मेरे पास दो रोज़ आएंगी और उसके बाद कुछ रिलेटेड डेटा। इसको समझने के लिए हम एक स्टेप बैक लेते हैं और ग्रुप
बाय को क्यों बनाया गया है यह समझने की कोशिश करते हैं। तो जो ग्रुप बाय क्लॉज़ होता है इट्स यूज़्ड टू ग्रुप रोज़ दैट हैव
द सेम वैल्यूज़ एंड स्पेसिफाइड कॉलम्स। जैसे कि मेल फीमेल। आप यहां पर ग्रुप बना लेंगे मेल का और फीमेल का और उसके हिसाब
से मान लो आप चाहते हैं एवरेज सैलरी मेल को कितनी मिल रही है, फीमेल को कितनी मिल रही है। इस तरह की क्वेरीज़ आप लोग चला
सकते हैं। इट्स टिपिकली यूज़्ड विद एग्रीगेट फंक्शनंस लाइक काउंट, सम एवरेज, मेन और मैक्स। तो इस तरह के एग्रीगेट
फंक्शनंस के साथ ये टिपिकली यूज होती है। अब इसके बाद एक हैविंग क्लॉज़ भी है जिसके बारे में बात करेंगे। अभी अभी इसको छोड़
दो। हैविंग क्लॉज़ को अभी छोड़ दो। ठीक है? मान लो आपके पास ये यूज़र्स टेबल है। आपके पास ये यूज़र्स टेबल आने के बाद आप क्या कर
सकते हो? कुछ इस तरह की क्वेरी रन करके आप कह सकते हो मुझे जेंडर एवरेज सैलरी एज़ एवरेज सैलरी यूज़र्स से दे दो और मुझे
चाहिए ग्रुप बाय जेंडर। ठीक है? तो आप यहां पर सिंपली क्या करो? आप कहो सेलेक्ट और आप लिखो यहां पर सैलरी जेंडर और मान लो
मैं लिखता हूं एवरेज सैलरी फ्रॉम यूज़र्स और आप कहते हो ग्रुप बाय और आप यहां पर लिख दो जेंडर। ठीक है? कुछ इस
तरह से लिख सकते हो। और मैं जैसे ही इसको रन करूंगा तो मैं यहां से सैलरी को हटाऊंगा क्योंकि मैं जेंडर और एवरेज सैलरी
देखना चाहता हूं। सिर्फ और मैं जैसे ही इसको रन करूंगा। अब देखो ये जेंडर है और ये एवरेज सैलरी है। तो हमने यहां पर निकाल
लिया किस जेंडर की क्या एवरेज सैलरी है। आप इसको कुछ इस तरह से भी लिख सकते हैं। अगर आप चाहते हो कि ये अच्छे से दिखे
एवरेज और सैलरी कुछ इस तरह से और मैं रन करूंगा तो आप लोग देखो यहां पर जेंडर और एवरेज
सैलरी। ठीक है? या फिर मैं इसको एवीजी भी लिख सकता हूं। मेरी मर्जी मैं इसको कुछ भी लिखूं। ठीक है? तो जेंडर एवीजी और मेल की
क्या एवरेज सैलरी है? फीमेल की क्या एवरेज सैलरी है? ये मुझे यहां पर देखने को मिल रहा है। तो मैंने ग्रुप बाय कर लिया जेंडर
और मैं यहां पर एवरेज सैलरी देख रहा हूं हर जेंडर की क्या है। ठीक है? और मैं यहां पर सैलरी नहीं लिख सकता क्योंकि फिर सैलरी
कॉलम में क्या ही आएगा? तो आपको कुछ इस तरह से क्वेरी अपनी बनानी पड़ेगी। बढ़िया। तो ये था एक बेसिक ग्रुप बाय का एग्जांपल।
ठीक है? इसका एक्सप्लेनेशन क्या है? कि ये ग्रुप करता है बाय जेंडर और फिर एवरेज सैलरी हर ग्रुप की कैलकुलेट करके आपको
दिखाता है। अब आप यहां पर ग्रुप बाय को काउंट के साथ इस्तेमाल कर सकते हो। फॉर एग्जांपल कि अगर मैं यहां पर काउंट स्टार
भी लिख दूं कॉमा लगाकर और इस क्वेरी को रन करूं तो आप देखो कि कितने मेल्स हैं, कितने फीमेल्स हैं ये भी मुझे देखने को
मिल रहा है। और मैंने यहां पर एक गड़बड़ कर दी कि मैंने काउंट स्टार एस एवरेज कर दिया। मैं इसको एज काउंट करता हूं और मैं
इसको करता हूं एज और मैं लिखता हूं एवरेज सैलरी सिंगल कोट्स में और यहां पर मैं इसको कुछ इस तरह से लिखता हूं क्योंकि
मुझे देखने में अच्छा लगता है इसको ऐसे लिखना। और यहां पर आप देख सकते हो जेंडर एवरेज सैलरी और मैं जेंडर को एज
जेंडर ऐसे लिख सकता हूं और मैं इसको जैसे ही रन करूंगा क्वेरी को आप देखो जेंडर एवरेज सैलरी काउंट मुझे देखने को मिल रहा
है। ठीक है? तो आप लोग कुछ इस तरह से ग्रुप बाय को काउंट के साथ इस्तेमाल कर सकते हो। अच्छा मान लो कि मैं चाहता हूं
कि मुझे सिर्फ वो रोज़ चाहिए जहां पर एवरेज सैलरी इज़ ग्रेटर देन 61,000। मान लो मुझे ऐसा करना है। तो आप सोच सकते हो कि यार
अगर ऐसा करना है तो एक और वेयर लगा लो। एक और वेयर लगा लो। जैसे कि हमने यहां पर लिखा फ्रॉम यूज़र्स और मैंने लिखा ग्रुप
बाय जेंडर तो वेयर लगा लो यहां पर। आपको ऐसा लग सकता है। चलो करके देखते हैं और यहां पर देखते हैं कि वेयर एवरेज सैलरी इज़
ग्रेटर देन 61,000 अगर मैं करूं तो मैं कर सकता हूं कि नहीं? द आंसर टू दिस इज़ कि आप ऐसा नहीं कर सकते। वेयर इज़ नॉट वैलिड एट
दिस पोजीशन। इसको रन करने की भी कोशिश करोगे ना तो एरर देखने को मिलेगा। यहां पर आप देख सकते हो नीचे। क्यों मिला यह एरर
देखने को हमें? यह एरर इसलिए देखने को मिला क्योंकि आप अगर सेलेक्ट करते हो और फिर उसके बाद ग्रुप बाय करते हो तो ग्रुप
बाय के बाद आप वेयर नहीं लगा सकते। हां आप इस क्वेरी में पहले लगा सकते हो फ्रॉम यूज़र्स और आप यहां पर लिख सकते हो वेयर
और आप लिख सकते हो आईडीज लेस दैन 5000 जो कि है ही है। तो ये आप कर सकते हो लेकिन इसके बाद आप वेयर नहीं लगा सकते। फिर क्या
लगाएं? इसके बाद वेयर की जगह हैविंग लगता है। हैविंग लगता है। और इसको मैं चलाऊंगा तो आप देखो मुझे 61,000 से ज्यादा एवरेज
सैलरी वाले ग्रुप मिल गए जो कि था मेल। ठीक है? अगर मैं इसको लेस दैन कर दूं तो मुझे फीमेल्स मिल जाएंगी। अब देखो इसको
मैं रन करूंगा। फीमेल्स मिल जाएंगी मुझे। 6384 इनकी जो है एवरेज सैलरी है।
ऑसम। अब यहां पर हमने हैविंग क्लॉज़ के बारे में समझा। और हैविंग क्लॉज़ आप लोग ग्रुप बाय
के बाद लगाओगे वेयर की जगह। समझ रहे हो? आप इस बात को समझने की कोशिश करो। एक नॉर्मल क्वेरी को फिल्टर करना होता है तो
कैसे करते हैं? वेयर क्लॉज़ का इस्तेमाल करके करते हैं। लेकिन अगर मुझे ग्रुप बाय वाली क्वेरी के रिजल्ट को फिल्टर करना है
तो ग्रुप बाय के बाद मैं वेयर नहीं लगाऊंगा। ग्रुप बाय के बाद मैं वेयर की जगह हैविंग लगाऊंगा। और हैविंग का यही काम
होता है। व्हाई नॉट वेयर? वेयर इज़ यूज़्ड बिफोर ग्रुपिंग। हैविंग इज़ यूज़्ड आफ्टर ग्रुप्स आर फॉर्म्ड। इट्स दी ओनली वे टू
फिल्टर एग्रीगेटेड वैल्यू। तो एक बार वैल्यू्यूज एग्रीगेट हो गई उसके बाद आप फिल्टर कर रहे हो। मतलब आप कह रहे हो कि
भाई मुझे इस तरह का व्यू बना कर दो कि ग्रुप वाला व्यू बनाकर दो। जेंडर एक ग्रुप है। एवरेज सैलरी ये है। काउंट ये है। अब
मैं यहां फिल्टरिंग कर रहा हूं। मैं कह रहा हूं एवरेज जो है वो कम हो 61,000 से या लेट्स से काउंट कम हो 20 से। ये सब मैं
कर सकता हूं। मैं यहां पर ये भी लिख सकता हूं। एंड कुछ इस तरह से एंड और मैं लिखूंगा काउंट ऑफ
मान लो लिखता हूं स्टार इज़ लेस देन 4000 मैं ये भी कर सकता हूं ये भी चलेगा ये भी बिल्कुल चलेगा काउंट लेस दैन अगर मैंने
यहां पर 12 कर दिया तो मुझे कुछ भी नहीं दिखेगा क्योंकि जो मेल्स हैं उनका काउंट 13 है बट मैं इसको 19 कर देता हूं सच दैट
हमारे पास कुछ आए अगर मैंने एवरेज सैलरी ग्रेटर दैन मान लो कर दिया एक बहुत बड़ा नंबर तो मुझे मेल और फीमेल दोनों मिल
जाएंगे आप देख सकते हो। ठीक है? तो अगर मुझे फ़्टरिंग करनी है ग्रुप फॉर्मेशन के बाद तब तो हैविंग का इस्तेमाल करूंगा।
वरना नॉर्मल क्वेरीज़ में तो वेयर का इस्तेमाल हम करते ही करते हैं। ओके? सो आई होप दिस इज़ क्लियर। बढ़िया। एक और एग्जांपल
लेते हैं। ग्रुप्स विद मोर दैन वन रेफरल। यहां पर हम क्या कर रहे हैं? हम सेलेक्ट कर रहे हैं रेफर्ड बाय आईडी उनका अकाउंट
एज़ टोटल रेफर्ड। फ्रॉम यूज़र्स। हमने कहा वेयर रेफर्ड बाय आईडी इज़ नॉट नल। मतलब कि किसी ना किसी के द्वारा रेफर हो वो। ग्रुप
बाय रेफर्ड बाय आईडी और हैविंग काउंट ग्रेटर देन वन। तो यह क्वेरी मैं चलाऊंगा तो मुझे वो लोग मिल जाएंगे।
कौन से लोग मिल जाएंगे जो किसी ना किसी के द्वारा रेफर्ड हुए हैं और मुझे ग्रुप्स मिल जाएंगे रेफर्ड बाय आईडी के जहां पर
काउंट जो है वो ग्रेटर दैन वन होगा। तो ये एक क्वेरी है जिसको आप लोग चला सकते हो। इसको मैं चलाता हूं और आप लोगों को इसका
रिजल्ट दिखाता हूं। आप यहां देख सकते हो रेफर्ड बाय आईडी वन। कितने रेफर्ड किए? वन वाले ने? एट रेफर्ड किए। था कौन ये? उसके
लिए हमें सेलेक्ट स्टार फ्रॉम फ्रॉम यूज़र्स चलाना पड़ेगा ये देखने के लिए कि भाई ये कौन था वन? आरव था ये।
तो आरव ने इतने लोगों को रेफर कर दिया। देखो। ठीक है? बहुत बढ़िया। तो आप लोग वेयर का इस्तेमाल कर सकते हो टू फ़िल्टर रोज़
बिफोर ग्रुपिंग। और हैविंग का इस्तेमाल कर सकते हो टू फ़िल्टर ग्रुप्स आफ्टर एग्रीगेशन। और ग्रुप बाय आप लोग यूज करते
हो ग्रुपिंग के लिए। आई होप कि ये चीज समझ में आ गई आप लोगों को। अब हम लोग देखेंगे रोल अप क्या होता है। आ जाओ देखते हैं रोल
अप का एग्जांपल। अगर मैंने यहां पर अपनी ग्रुपिंग करी जो कि मैंने यहां पर करी है। मैं इसको कंट्रोल z करके जरा अपनी पुरानी
वाली क्वेरी को लेकर आता हूं। मैंने यहां पर एक ग्रुपिंग करी है। मैं जरा हैविंग हटा देता हूं यहां से। हैविंग सैलरी लेस
देन मैं इसको कर देता हूं 69,000। और मैं इसको रन करूं अगर क्वेरी को तो आपको देखने को मिलेगा। मुझे इस तरह के
ग्रुप्स देखने को मिल रहे हैं। अगर मैं यहां पर लिख दूं विद रोल अप। ठीक है? कुछ इस तरह से। और यह जो विद रोल अप है, मैं
यहां पर लिखूंगा ग्रुप बाय के बाद और मैं जैसे ही इसको रन करूंगा, आप लोग यहां पर देखो कि मुझे एक एवरेज कॉलम मिल जाएगा
एवरेज का भी एवरेज। मतलब कि इस क्वेरी ने यहां पर क्या किया कि मुझे रोल अप वैल्यू दे दी। यहां पर जेंडर मेल की एवरेज सैलरी
कितनी है? 63,000। जेंडर फीमेल की एवरेज सैलरी क्या है? 60,000। काउंट भी मिल रहा है मुझे। अब इस वाले पर्टिकुलर कॉलम के
लिए इसने मुझे एवरेज की भी एवरेज निकाल कर दे दी। इस कॉलम के लिए एक काउंट का भी काउंट निकाल कर दे दिया। यानी कि 13 + 11
24। तो अगर आप रोल अप करना चाहते हो तो आप कुछ इस तरह से कर सकते हो। तो हम लोग रोल अप का इस्तेमाल करते हैं सबटोटल्स एंड
ग्रैंड टोटल्स के लिए। जैसे कि आप लोगों ने ऑलरेडी देखा। और अगर हम इस तरह की क्वेरी चलाएंगे तो हमें कुछ इस तरह से
रिजल्ट देखने को मिलेगा। जहां पर हमको रोल अप वैल्यूज़ मिलेंगी। काउंट में हमको यहां पर सम मिल रहा है इन दोनों का और एवरेज
में हमें एवरेज मिल रहा है इन दोनों वैल्यू्यूज का। तो अगर आप लोग इन दोनों वैल्यू्यूज का एवरेज निकालोगे तो आप लोगों
को पता चलेगा कि इन दोनों का एवरेज क्या है। अब यहां पर एक चीज बहुत ज्यादा इंपॉर्टेंट है कि आप लोगों को ये जो रोल्ड
अप वैल्यू मिलती है ये वेटेड एवरेज होता है काउंट के साथ। तो आप इसको इससे मल्टीप्लाई करोगे और इसको इससे मल्टीप्लाई
करके ऐड करके डिवाइडेड बाय 24 करोगे तब आपको 61625 देखने को मिलेगा। आप यहां पर देख सकते हो मैंने ये कैलकुलेशन आप लोगों
के लिए कर रखी है। तो अगर आप करोगे ये पहली वैल्यू * 11 प्लस दूसरी वैल्यू * 13 जो कि इसका काउंट है जो कि इसका काउंट है
और डिवाइडेड बाय 24 आप लोग करोगे तो आपको देखने को मिलेगी वैल्यू 61625 जो कि रोल्ड अप एवरेज वैल्यू है। तो ये आप लोगों को
दोनों वैल्यूज़ का एवरेज नहीं देता है। यह आपको वेटेड एवरेज देता है। यह आप लोगों को याद रखना है और ध्यान में रखना है। सो या
दैट वास ऑल अबाउट ग्रुप बाय हैविंग और रोल अप इन माय सीक्वल। आई होप कि आप लोग को मजा आ रहा है।
गाइस अब हम लोग बात करने वाले हैं स्टर्ड प्रोसीजर्स की। सीक्वल में स्ट प्रोसीजर्स क्या होते हैं? क्यों आप लोगों को यूज
करने चाहिए स्टर्ड प्रोसीजर्स? और यह व्यूज से किस तरह अलग होते हैं? हमने देखा था जो व्यूज होते हैं वो आप लोगों की
सीक्वल क्वेरीज को खासकर सेलेक्ट क्वेरीज को सेव करने में यूज़फुल होते हैं। आपको रियल टाइम स्नैपशॉट देते हैं डेटा का। तो
स्टर्ड प्रोसीजर की क्या जरूरत है? स्टर्ड प्रोसीजर एक अलग ही लेवल की एक्सटेंशन होती है व्यूज की। मैं आप लोगों को स्ट
प्रोसीजर और व्यूज में जमीन आसमान का फर्क होता है। यह बताऊंगा। उसी के साथ-साथ यह बताऊंगा स्ट प्रोसीजर में सिर्फ सेलेक्ट
नहीं आप लोग हर तरह की क्वेरी रन कर सकते हो। और हम लोग यह देखेंगे कि क्यों इसको यूज़ करना है। तो स्टर्ड प्रोसीजर इज़ अ
सेव्ड सीक्वल ब्लॉग दैट कैन बी एग्जीक्यूटेड लेटर। इट्स यूज़फुल व्हेन यू वांट टू इनकैप्सुलेट लॉजिक दैट कैन बी
यूज़्ड मल्टीपल टाइम्स। जैसे कि आप एक बहुत ही लंबी चौड़ी क्वेरीज का सेट लिखना चाहते हो कि पहले अपडेट करो फिर ये इंसर्ट करो
फिर उसके बाद सेलेक्ट करो लेट अस से फिर एक चीज डिलीट करो ये चार पांच क्वेरीज का कॉम्बिनेशन आपका एक प्रोसीजर बनता है एक
तरह से इसको आप एक फंक्शन के तौर पे समझ सकते हो तो क्या करना होगा हमें स्ट प्रोसीजर को लिखने के लिए ऑब्वियसली हम
लोग आएंगे यहां पर और सबसे पहले मैं आप लोगों को यह दिखाऊंगा कि अगर मैं यहां पर लिखता हूं सेलेक्ट स्टार फ्रॉम और मैं
यहां पर लिखूं अगर यूज़र्स आप लोग यहां पर देख सकते हो कि हमारे पास सारे यूज़र्स सेलेक्ट हो चुके हैं। तो स्ट प्रोसीजर को
लिखा कैसे जाता है यह देख लेते हैं। तो सबसे पहले हम लोग क्या करते हैं कि डीलिमिटर चेंज करते हैं। डीलिमिटर क्यों
चेंज करते हैं? यह समझाने के लिए मैं आपको बिना डीलिमिटर चेंज करे स्टर्ड प्रोसीजर लिख कर दिखाता हूं। तो मान लो आप प्रोसीड
करते हो अपने स्ट प्रोसीजर लिखने के लिए आप कहते हो क्रिएट प्रोसीजर और इसके बाद मैं प्रोसीजर
का नाम लिखूंगा। लेट अस से मेरे प्रोसीजर का नाम है सेलेक्ट अंडरस्कोर यूज़र्स। ठीक है? एक बहुत ही
सिंपल सा प्रोसीजर मैं बना रहा हूं। कुछ इस तरह से हम लोग इसका जो सिंटेक्स है वो लिखते हैं। यहां हम लिखते हैं बिगिन और
यहां लिखते हैं एंड और यहां पर बिगिन और एंड के बीच में हम अपनी क्वेरी लिखते हैं। जैसे कि मैं लिख सकता हूं सेलेक्ट स्टार
फ्रॉम यूज़र्स। ठीक है? अब मैंने यहां पर सेलेक्ट स्टार फ्रॉम यूज़र्स लिखने के बाद सेमी कॉललन लगाया। बट
यह जो सेमी कॉललन है ना यह यहां पर इस पूरे स्ट प्रोसीजर का एक एंड बन जा रहा है। लेकिन स्ट प्रोसीजर का एंड तो यह होता
है। इसलिए जब भी हम स्ट प्रोसीजर लिखते हैं तो हम डीलिमिटर को चेंज करते हैं। डीलिमिटर का मतलब कि कहां पर एक पर्टिकुलर
सीक्वल क्वरी एंड हो रही है। सो मैं यहां पर डीलिमिटर को चेंज कर दूंगा टू डबल डॉलर। आप चाहो तो इस डीलिमिटर को डबल
फॉरवर्ड स्लैश करके भी चेंज कर सकते हो। बट मैं इसको डबल डॉलर करके चेंज करूंगा। फिर इसके बाद हम डीलिमिटर सेमी कॉललन को
बना देंगे। और जब हमारा जो यह एग्जीक्यूशन है वह स्टार्ट होगा तो यह लाइन एग्जीक्यूट होगी। यह लाइन एग्जीक्यूट होगी। फिर इसके
बाद यह लाइन एग्जीक्यूट होगी तो हमारा डीलिमिटर सेमी कॉललन से डबल डॉलर में चेंज हो जाएगा। और इसके बाद यह जो क्रिएट
प्रोसीजर सेलेक्ट यूज़र्स से यह चलेगा बिगिन हमने किया सेलेक्ट स्टार्ट फ्रॉम यूज़र्स। और यहां पर आप देख सकते हो एक
सेमी कॉललन लगा हुआ है और ये जो सेमी कॉललन है ये अब एक डेलिमिटर नहीं है। जिसका मतलब कि हमारा प्रोसीजर अभी खत्म
नहीं हुआ है। एंड के बाद हमारा प्रोसीजर खत्म हो चुका है। और उसके बाद हमने वापस से अपने डीलिमिटर को सेमी कॉललन बना दिया।
तो ये हमें करना पड़ता है। अब ये बहुत सारे लोगों को लगेगा यार मुझे कैसे पता चलेगा यह करना है। बट दिस इज़ अ स्टैंडर्ड
प्रैक्टिस जो कि आप लोगों को करना ही पड़ता है। अब चलो यह मैंने बना दिया। यह बन भी जाएगा। ठीक है? तो मैं स्टार्ट
फ्रॉम यूज़र्स ये हटा देता हूं। मैं इसको चलाऊंगा तो क्या होगा? दी आंसर इज़ कुछ भी नहीं होगा। बट आपने यहां पर देखा कि यह जो
प्रोसीजर है वह बन गया। और इसके बाद आप लोग कॉल का इस्तेमाल करके आप लिखोगे कॉल और सेलेक्ट अंडरस्कोर यूज़र्स। आप लोग जैसे
ही लिखोगे सेलेक्ट अंडरस्कोर यूज़र्स। कुछ इस तरह से आप अपने स्टोर प्रोसीजर को कॉल कर सकते हो। तो मैं इसको जैसे ही चलाऊंगा।
सो मैंने यहां पर एक गड़बड़ करी है कि एंड के बाद मुझे डबल डॉलर लगाना चाहिए ताकि मेरा जो डीलिमिटर है वो क्योंकि डबल डॉलर
है। मैं चाहता हूं कि मेरा जो यह क्रिएट प्रोसीजर वाला कमांड है यह यहां पर स्टॉप हो जाए। तो मैं डीलिमिटर जिस तरह से हम
सेमी कॉललन पहले लगाते थे अब वो हमने डबल डॉलर बना दिया तो मैं यहां पर रेंट के बाद डबल डॉलर लगाऊंगा और उसके बाद डीलिमिटर को
चेंज करूंगा। अब मैं इसको रन करूंगा तो आप लोग देखोगे मेरा जो प्रोसीजर है वो बन चुका है और आप यहां पर देख सकते हो कि अब
मैं रिफ्रेश करूंगा तो मेरा जो स्टर्ड प्रोसीजर है वो यहां पर आप देखो दिख रहा है सेलेक्ट अंडरस्कोर यूज़र्स नाम का एक
स्टर्ड प्रोसीजर हम लोगों ने बना दिया है। अब आप लोग देखो कि किस तरह से इसको हम कॉल करेंगे। तो इसको कॉल करने के लिए आपको
सिंपली लिखना है कॉल और कॉल के बाद आप लोगों को लिखना है सेलेक्ट अंडरs यूज़र्स और कुछ इस तरह से आप इसको कॉल कर सकते हो।
जैसे ही मैं इसको रन करूंगा तो ये यहां पर कह रहा है कि आप दोबारा नहीं बना सकते। तो एक बार मैंने ऑलरेडी अपना स्ट प्रोसीजर
बना लिया तो मुझे इसको कमेंट आउट करना पड़ेगा। अब मैं इसको चलाऊंगा तो आप देखोगे मेरा स्ट प्रोसीजर रन हो चुका है। मेरे
स्ट प्रोसीजर के अंदर सेलेक्ट स्टार्ट फ्रॉम यूज़र्स नाम की क्वेरी थी। बट यह क्वेरी और कॉम्प्लेक्स भी हो सकती थी।
जैसे कि मैं अपने स्टॉर्ट प्रोसीजर के अंदर एक पर्टिकुलर रिकॉर्ड क्रिएट करने की सीक्वल लिख सकता हूं। आ जाओ इसको लिखते
हैं और चीजों को थोड़ा सा और स्पाइसी बनाते हैं। पहले मैं कह रहा था सेलेक्ट स्टार्ट फ्रॉम यूज़र्स। अब मैं कहूंगा कि
भाई ऐड यूज़र्स नाम का एक स्टर्ड प्रोसीजर बनाओ। और आप चाहो तो इसको ऐसे भी बना सकते हो। आपकी मर्जी है। मैं इसको ऐसे बनाता
हूं ऐड यूजर कैपिटल ए और कैपिटल यू। इसके बाद मैं आप लोगों को बताना चाहता हूं कि आप कुछ इनपुट्स भी दे सकते हो स्ट
प्रोसीजर के अंदर जैसे कि पी अंडरs नेम और आप इसका जो डेटा टाइप है वो बता सकते हो। जो आप कह सकते हो वार car 100 होगा और
इसके बाद आप क्या कर सकते हो यहां पर इन लिखकर पी अंडरs ईमेल लिखोगे और इसके बाद दोबारा आप varc 100 करोगे और इसके बाद आप
लिखोगे आई एन और इसके बाद पी अंडरs जेंडर लिखोगे और यहां पर मैं ये जितने भी डेटा टाइप्स हैं वो जल्दी-जल्दी से लिख देता
हूं। आई थिंक इट वाज़ अ मेल फीमेल अदर्स मेल था। फिर दूसरा फीमेल था एफ ई एम ए एल ई और उसके बाद अदर था अदर अदर था क्या आई
होप अदर था तो यहां पर मैं अगर कॉलम्स देखूं यूजर के तो यहां पर आप देखो जेंडर में था मेल फीमेल अदर हां ठीक है अदर ही
था तो यहां पर आप इस तरह से देख भी सकते हो मैं आप लोगों को बताना चाहता हूं फिर इसके बाद मैं एक और इनपुट लूंगा मैं थोड़ी
सी कॉम्प्लेक्स क्वेरी लिखने की कोशिश कर रहा हूं एक एक्सट्रीम केस आप लोगों को दिखा रहा हूं ताकि सिंपल वाली तो फिर आप
लोगों को एकदम हलवा लगेगी ठीक है और मैं कहूंगा इसका टाइप डेट है और यहां पर इन पी अंडर सैलरी पी पी अंडरस्कोर सैलरी और ये
इंट है ठीक है तो इतना काफी है मेरे हिसाब से तो हमने यहां पर लिखा ऐड यूजर और ये ब्रैकेट यहां पर आएगा इस तरह से ऐड यूजर
ब्रैकेट के अंदर हम ऐसे लिखेंगे ये सब और मैं टैब लगाकर इसको थोड़ा सा अंदर कर देता हूं तो ऐड यूजर और इसके बाद ये सारे
इनपुट्स जो कि ऐड यूजर लेगा इसके बाद हमने किया बिगेन और मैं इस बार क्या करूंगा? इंसर्ट करूंगा वैल्यू। सेलेक्ट नहीं
करूंगा। मैं कहूंगा इंसर्ट इंटू यूज़र्स और मैं लिखूंगा क्या-क्या इंसर्ट करना है? नेम, ईमेल, जेंडर, डेट ऑफ़
बर्थ। अब मुझे पूरी टेबल याद हो गई है पता है। सैलरी और सैलरी के साथ-साथ आई थिंक आई थिंक दैट्स इट। आई थिंक दैट्स इट। इसके
बाद हम क्या करेंगे? वैल्यूज़ और मैं यहां पर लिखता हूं वैल्यूज़। क्या वैल्यू्यूज इंसर्ट करनी है? हमें
इंसर्ट करनी है पी अंडरस्कोर ये पूरा मुझे टाइप करना पड़ेगा। पी अंडरस्कोर नेम पी अंडरस्कोर ईमेल पी अंडरस्कोर जेंडर फिर पी
अंडरस्कोर डीओबी फिर पी अंडरस्कोर सैलरी। ठीक है? और मैं चाहूं तो यहां पर एक सेलेक्ट स्टार फ्रॉम
यूज़र्स भी कर सकता हूं दोबारा से ये चेक करने के लिए कि ये इंसर्ट भी हुआ कि नहीं हुआ। ठीक है? फिर एंड कर दिया। डीलिमिटर
कर दिया। और इसके बाद हम इसको कॉल कैसे करेंगे? ऐड ऐड यूजर को कुछ इस तरह से कॉल करेंगे। हम कहेंगे ऐड यूजर ऐड यूजर ही नाम
था ना? हां ऐड यूजर ही नाम था। और इसके बाद हम क्या करेंगे? जो सारी इनेशन है वो हम डाल देंगे। तो ऐड यूजर में हम लोग
कहेंगे लेट अस से जॉन और जो जॉन है हमारा उसका ईमेल है jo haरी.com और उसके बाद उसका
जेंडर अदर कर देते हैं और इसके बाद हम उसकी डेट ऑफ़ बर्थ लिखेंगे 1990 लेट्स से 07
और लिख देते हैं 21 ठीक है और इसी के साथ-साथ उसकी जो सैलरी है वह कर देते हैं ₹74,000
ठीक है? तो, यह करने के बाद मैं इसको रन करूंगा, तो आप देखो यह स्ट प्रोसीजर बनेगा और यह स्ट प्रोसीजर चल भी जाएगा। तो, यह
जब स्ट प्रोसीजर चलेगा, तो आप देखो, इसके अंदर दो काम एक साथ हुए। एक तो इंसर्शन हो गया और उसी के साथ-साथ ये भी चल गया।
सेलेक्ट भी। मैं चाहता तो इसमें पांच छह क्वेरी और डाल देता। ये जो बिगिन और एंड के बीच में पांच छह क्वेरीज मैं और डाल
सकता था। और वो सब के सब मुझे चल के मिलते। एंड ऑब्वियसली एक बार आपने स्ट प्रोसीजर बना लिया तो इट्स अ गुड आईडिया
कि आप इसको कमेंट आउट कर दें। क्योंकि बार-बार आप चलाएंगे प्रोसीजर को क्रिएट करने का कमांड तो क्या होगा? एरर आएगा। अब
आप ऐड यूजर को कॉल कर सकते हैं। अगर मान लो मैं जॉन टू को डालना चाहता हूं। मैं jo [email protected] कर देता हूं और जॉन 2 को मेल कर
देता हूं। और ये इसको कर देता हूं 2004 और सैलरी को थोड़ा कम कर देता हूं। 71000 कर देता हूं। और मैं इसको चलाऊंगा
तो ये स्ट प्रोसीजर चल जाएगा। और जॉन के साथ-साथ जॉन टू भी देखो ऐड हो चुका है और जो जो हमने डाला था वो वो आ चुका है। तो
कुछ इस तरह से आप लोग स्ट प्रोसीजर्स अपने बना सकते हो। ठीक है? तो आई होप कि समझ में आ रहा है आप लोगों को स्ट प्रोसीजर
बनाने का तरीका। अब आप यहां पर देखो हमने कॉल करना सीखा स्टर्ड प्रोसीजर को। मैं कुछ बातें बताना चाहता हूं। देखो इनपुट इन
कीवर्ड से आप लोग डाल सकते हो। ये तो आपको पता हो गया है। ठीक है? स्टर्ड प्रोसीजर्स आर स्टर्ड इन द डेटाबेस एंड कैन बी रयज़्ड।
ये भी आपको पता चल गया। अब आप अगर ये जानना चाहते हो कि एक डेटाबेस में कौन-कौन से प्रोसीजर्स हैं? तो आप कुछ इस तरह की
क्वरी रन कर सकते हो। शो प्रोसीजर स्टेटस वेयर डीबी इक्वल टू स्टार्ट सीकल। तो अगर आप इस तरह की क्वेरी को रन करोगे। मैं
इसको जरा कमेंट आउट कर देता हूं और आप लोगों को मैं शो प्रोसीजर चला कर दिखाता हूं। तो आप
यहां देख सकते हो कि इसमें जो जो प्रोसीजर्स हैं एक तो ऐड यूजर हमने बनाया था। एक सेलेक्ट अंडरस्कोर यूज़र्स हमने
बनाया था। ये दोनों प्रोसीजर्स मुझे देखने को मिल रहे हैं। अब आप में से कई लोगों को स्टर्ड प्रोसीजर थोड़ा सा ओवरवेल्मिंग
लगेगा कि यार ये क्या कर दिया? इतना सारा क्रैस्प नहीं हो पा रहा है। बट लेट मी टेल यू समथिंग। स्टर्ड प्रोसीजर इज़ जस्ट लाइक
फंक्शनंस बट इट्स नॉट एग्जैक्टली फंक्शनंस। हम इसको फंक्शनंस नहीं कह सकते क्योंकि ये जो स्टर्ड प्रोसीजर्स हैं वो
एक बार में बहुत सारी क्वेरीज़ विद सर्टेन इनपुट चलाने में हेल्पफुल होता है और आप चाहें तो यह बिना इनपुट की भी एक मल्टीपल
क्वेरीज या एक क्वेरी चला सकता है। तो स्टर्ड प्रोसीजर इनपुट ले भी सकता है नहीं भी ले सकता है। सो वेरी-वेरी सिमिलर टू
फंक्शनंस बट नॉट एग्जैक्टली फंक्शनंस। ठीक है? तो हम ये नहीं कह सकते स्टर्ड प्रोसीजर फंक्शन होता है। इट्स वेरी
वेरीरी सिमिलर टू इसका जो कांसेप्ट होता है वो फंक्शन की तरह होता है मल्टीपल क्वेरीज़ को चलाने के लिए और हम वेरिएबल्स
बनाकर यहां पर इस तरह से डाल सकते हैं। तो आप लोग खुद से जब तक अपने स्ट प्रोसीजर चला कर नहीं देखोगे ना लेट मी टेल यू कि
आप लोगों को समझ में नहीं आएगा। अब आप इस प्रोसीजर को ड्रॉप भी कर सकते हो। जैसे मान लो मैं चाहता हूं ऐड यूजर को ड्रॉप
करो। और ड्रॉप क्यों करना चाहेंगे हम स्ट प्रोसीजर को? क्योंकि ये बैंडविथ कंसमशन बढ़ाता है जब भी आप क्वेरीज चलाते हो। तो
हम नहीं चाहते कि ऐसा हो। वो हम नहीं चाहते हमारे डेटाबेस पे कोई भी ऐसी चीज आए जो कि उस पर लोड डाल रही है। ठीक है? तो
हम फालतू स्ट प्रोसीजर्स कभी नहीं रखना चाहेंगे। तो इसको मैं रन करूंगा तो ये जो है ड्रॉप हो चुका है। जैसे आप देख सकते हो
और अब मैं इसको हटाकर अगर यह वाली क्वेरी चलाऊंगा शो प्रोसीजर तो एक ही प्रोसीजर दिखेगा आपको सेलेक्ट अंडरस्कोर यूज़र्स
क्योंकि ऐड यूजर हमने डिलीट कर दिया है। सो अगर मैं समराइज़ करूं स्ट प्रोसीजर को तो हमने डीलिमिटर चेंज किया। यह जो
डीलिमिटर चेंज करने वाला पार्ट है यह स्टर्ड प्रोसीजर नहीं है। डीलिमिटर चेंज करने वाला जो पार्ट है वो सीक्वल
स्पेसिफिक कांसेप्ट है। हमने यहां पर डॉलर को डीलिमिटर बना दिया। बाय डिफ़ॉल्ट हमारा सेमी कॉललन डीलिमिटर होता है। क्रिएट
प्रोसीजर क्या करता है? एक नया प्रोसीजर डिफाइन करने में हेल्पफुल होता है। इसके बाद आप कॉल कर सकते हो एक प्रोसीजर को और
ड्रॉप प्रोसीजर आप कर सकते हो किसी भी एकिस्टिंग प्रोसीजर को ड्रॉप करने के लिए। आई होप कि आप लोगों को स्ट प्रोसीजर समझ
में आ गया। अब हम लोग देखेंगे ट्रिगर के बारे में। ट्रिगर एक स्पेशल तरह का स्टर्ड प्रोग्राम
होता है जो कि एक पर्टिकुलर एक्शन को ट्रिगर करता है यानी कि इनवोक करता है। जैसे कि आप मान लो एक पर्टिकुलर रिकॉर्ड
को अपडेट करते हो। उसके अपडेट होने के बाद आप चाहते हो कि किसी और टेबल में कुछ और हो जाए। तो इस तरह की चीजें आप कॉन्फ़िगर
कर सकते हो ट्रिगर की सहायता से। क्यों ये जरूरी होता है? कभी-कभी आप कुछ काम मैनुअली नहीं करना चाहते हो। विद इन
एसक्यूएल आप चीजों को ऑटोमेट कर सकते हो। और इस तरह का ऑटोमेशन करने से आपका ना ही सिर्फ टाइम बचता है लेकिन आपके एरर के
चांसेस कम हो जाते हैं। फॉर एग्जांपल हर बार आप किसी की सैलरी बढ़ाते हो। लेट अस से आप चाहते हो कि किसी की सैलरी बढ़ाने
के बाद आप उसकी जो आवरली पे है वो भी अपडेट कर दो। लेट्स से आवरली पे का एक कॉलम है सैलरी का। किसी टेबल में दूसरा
कॉलम है तो आप चाहोगे कि एक बार आपने सैलरी अपडेट किया तो आवरली पे जो है वो अपडेट हो जाए ऑटोमेटिकली। और अगर आप आवरली
पे को किसी की चेंज करते हो तो उसकी सैलरी भी अपडेट हो जाए ऑटोमेटिकली। तो इस तरह के ट्रिगरर्स का यही काम होता है। आओ देखते
हैं कि कैसे इनको यूज़ करना है। तो ट्रिगर इज़ अ स्पेशल काइंड ऑफ़ स्टर्ड प्रोग्राम दैट इज़ ऑटोमेटिकली एग्जीक्यूटेड। यानी कि
ये ऑटोमेटिकली एग्जीक्यूट हो जाते हैं। जब एक स्पेशल तरह का इवेंट होता है टेबल में। वो इंसर्ट हो सकता है। वो अपडेट हो सकता
है और वो डिलीट भी हो सकता है। ट्रिगर कॉमनली कब यूज़ होते हैं? आप लॉक करना चाहते हो चीजों को। लेट अस से आप हर बार
जब किसी एक टेबल में इंसर्शन होता है एक नया यूजर बना। आप चाहते हो कि जो आपकी लॉक टेबल है वो भी अपडेट हो जाए और उसमें लिख
कर आ जाए कि भाई ये यूजर बना या फिर आप इनफोर्स करना चाहते हो एडिशनल बिजनेस रूल्स। जैसे कि एक एग्जांपल बिज़नेस रूल का
मैंने अभी आपको दिया कि आवरली पे को अपडेट करने पर ऑटोमेटिकली सैलरी अपडेट हो जाए। सैलरी को अपडेट करने पर ऑटोमेटिकली आवरली
पे अपडेट हो जाए। यह बिजनेस रूल्स ही तो हैं और इनको अपडेट करना ऑटोमेट करके आप ना ही सिर्फ अपना टाइम बचाते हो लेकिन गलती
होने के चांसेस भी कम होते हैं। जरा सोचो अगर यह मैनुअली किया जाए काम कि आवरली पे बढ़ने पर सैलरी बढ़ रही है। सैलरी बढ़ने
पर आवरली पे बढ़ रही है। जरा सोचो कि अगर किसी ने गलती कर दी तो कितना बड़ा डिजास्टर हो सकता है। एक भी ज़ीरो अगर किसी
ने गलत लगा दिया और ऑटोमेटिकली किसी के अकाउंट में ज्यादा पैसे जाने लग गए तो कंपनी का लॉस हो जाएगा। देखो कम जाएंगे तो
वो रिपोर्ट करेगा। ज्यादा जाएंगे तो कंपनी का लॉस होगा। तो ऑटोमेटिकली अपडेटिंग रिलेटेड डेटा एक तीसरा यूज़ केस होता है
ट्रिगरर्स का जो कि हमने अभी ऑलरेडी डिस्कस किया। अब एक ट्रिगर को बनाते कैसे हैं? आओ बात करते हैं। तो ट्रिगर को बनाना
बेहद आसान है। क्रिएट लिखो, ट्रिगर लिखो, ट्रिगर का नाम लिखो। आफ्टर इंसर्ट ऑन मान लो यूज़र्स टेबल फॉर ईच रो बिगिन करो, एंड
करो। और क्या आप चाहते हो? हर रो जब प्रोसेस हो रही है तब आप क्या चाहते हो? और आप उस पर्टिकुलर रो को न्यू से एक्सेस
कर सकते हो। अब ये मैंने क्या कह दिया? क्या कह दिया मैंने? आप लोग को समझाने के लिए मैं लेकर चलता हूं My सीक्वल वर्क
बेंच में और थोड़ा सा कोड लिख कर दिखाता हूं। तो मैं इसको यहां पर मिटाऊंगा जो भी मैंने लिखा हुआ था। मान लो कि मैं एक नई
टेबल क्रिएट करना चाहता हूं। और मैं यहां पर लिखूंगा क्रिएट टेबल और मैं लिखूंगा यूजर अंडरs log और मैं यहां पर इसमें एक
आईडी दे देता हूं और वो आईडी इंटिजर होगी। ऑटो इंक्रिमेंट करना चाहूंगा प्राइमरी की बनाना चाहूंगा। उसी के साथ-साथ मैं कहूंगा
यूजर अंडरस्कोर आईडी और मैं कहूंगा यह भी इंट है। नेम क्या है? मैं लिखूंगा वयर वी ए आर
सी एच ए आर और यहां पर मैं 100 लिख दूंगा और मैं यहां पर लिख दूंगा क्रिएटेड ऑन क्रिएटेड ऑन और मैं यहां पर लिख दूंगा
टाइम स्टैंप डिफॉल्ट और इसके बाद करंट टाइम स्टैंप। ठीक है? तो ये करने से क्या होगा कि जब भी
मैं इंसर्शन करूंगा तो करंट टाइम स्टम जो है ग्रेटेड ऑन में आ जाएगी। तो ये तो आपको समझ में आ गया। मैं एक काम करना चाहता
हूं। पता है क्या? इसे करते हैं कंट्रोल x करते हैं फाइल पर क्लिक और हम बनाते हैं एक न्यू एक नई क्वेरी टैब और इसको सेव
करते हैं एज जैसे मैंने आपको 1 2 3 4 दी थी उसी तरह से ये नंबर फाइव है। और नंबर फाइव क्या होने वाली है? लॉग टेबल लॉग
टेबल डॉट सीक्वल। ठीक है? ये भी आपको फाइल में दे दूंगा। वैसे ये उतनी बड़ी चीज है नहीं बट फिर भी दे दूंगा आपको मैं। ठीक
है? अब हम लोग यहां पर क्या करेंगे? सबसे पहले तो हम वही जो हमारा यूज़ स्टार्टर सीक्वल है वो तो हमें लिखना ही लिखना है।
अब मैं चाहता हूं कि मैं एक ट्रिगर बनाऊं। तो वही करेंगे हम डीलिमिटर को चेंज करेंगे। सबसे पहले फिर कहेंगे क्रिएट और
हम कहेंगे ट्रिगर। क्रिएट ट्रिगर ट्रिगर और इसके बाद ट्रिगर का नाम हम रख सकते हैं आफ्टर यूजर इंसर्ट। मतलब कि जब इंसर्ट
करेगा यूजर तब क्या करना है? तब हम चाहेंगे कि लेट्स से हर रो के लिए हम यूजर लॉक टेबल में इंसर्ट करें। ठीक है? तो अब
देखो मैं इस काम को कैसे करूंगा। तो मैं यहां पर लिखूंगा आफ्टर इंसर्ट और लिखूंगा ऑन यूज़र्स और यहां पर फिर हम लिखेंगे फॉर
ईच रो फॉर ईच रो एक बिगेन आएगा एक एंड आएगा और बिगिन और एंड के बीच में हम जो जो करना चाहते हैं वो करेंगे। मैं चाहता हूं
यहां पर मैं इंसर्ट करूं इनू यूजर लॉग तो मैं कहूंगा यूजर अंडर लॉग क्या इंसर्ट करना चाहता हूं यूजर आईडी और नेम ठीक है
मैं यूजर आईडी और नेम इंसर्ट करना चाहता हूं और मैं करना चाहता हूं इंसर्ट वैल्यूज़ क्या वैल्यूज़ इंसर्ट करना चाहता हूं जो भी
रो प्रोसेस हो रही है अब समझना इस बात को बहुत ध्यान से हर रो के लिए प्रोसेसिंग चलेगी इस लूप के अंदर ठीक है ये एक लूप है
फॉर ईच रो जो लिखा है मैंने वो एक लूप है तो मैं कह रहा हूं कि भाई हर रो के लिए उस पर्टिकुलर रो की आईडी न्यू डॉट आईडी कुछ
इस तरह से हम लोग लिखेंगे और न्यू डॉट नेम ठीक है मतलब मैं ये कह रहा हूं कि उस रो की आईडी और नेम यूजर लॉक टेबल में डाल दो।
अब यूजर लॉक टेबल में यूजर अंडरस्कोर आईडी और नेम था। जैसे कि मैंने आप लोगों को बनाकर दिखाया था। यूजर अंडरस्कोर आईडी भी
था, नेम भी था। मैं कह रहा हूं यूजर आईडी को कर दो न्यू डॉट आईडी। यानी कि इस यूजर की आईडी जो भी इंसर्ट हो रहा है और न्यू
डॉट नेम क्या है? उस यूजर का नेम जो भी इंसर्ट हो रहा है। तो इसके बाद मैं जब भी इंसर्शन करूंगा और यहां पर डबल डॉलर हम
लगाएंगे और डीलिमिटर को चेंज भी करेंगे वो भी बहुत जरूरी है। और यह सिंटेक्स आप लोगों को आना चाहिए और आप लोगों को यह
पूरा सही से लिखना पड़ेगा। अगर आपने ये डॉलर मेरी तरह मिस कर दिया। जैसे कि मैंने एक मिस्टेक कर दी थी बीच में कि $ यहां पर
नहीं लगाया था एंड के बाद तो ये पूरा जो क्रिएट ट्रिगर वाला स्टेटमेंट है ये खत्म ही नहीं होगा और आप कंफ्यूज हो जाओगे यार
मेरा चल क्यों नहीं रहा है ये क्रिएट ट्रिगर वाली जो क्वेरी है तो आप लोगों को बहुत ध्यान से ये स्टेटमेंट्स लिखने
पड़ेंगे और इसीलिए मैंने दी है आपको हैंडब ताकि आप ईजीली जो है इस चीज को यूज़ कर पाओ। अब आप यहां पर देखो कि अगर आप मान लो
इस ट्रिगर को टेस्ट करना चाहते हो। इस ट्रिगर को आप लोग टेस्ट करना चाहते हो तो क्या करोगे? आप करोगे इंसर्ट यूजर के
अंदर। आप करोगे इंसर्ट इंटू इंसर्ट इंटू यूज़र्स और आप लिखोगे वैल्यूज़ और यहां पर आप क्या-क्या इंसर्ट करोगे?
सबसे पहले तो एक सीरियल नंबर इंसर्ट करोगे और मैं यहां पर एक काम करता हूं। मैं सीरियल नंबर नहीं नेम ईमेल
ईमेल जेंडर अ डेट ऑफ़ बर्थ और सैलरी। ठीक है? इंसर्ट इंटू यूज़र्स। इस तरह से मैं लिखूंगा और मैं ये ये चीज़ जो है इंसर्ट
करूंगा। तो मैं यहां पर सैलरी की स्पेलिंग मैंने गलत लिख दी। तो मैं एक काम करता हूं। इसको जरा ठीक करता हूं। ठीक है? और
मुझे यहां पर इसको कुछ ऐसे करना पड़ेगा। सैलरी और क्या-क्या वैल्यूज़ मैं डालना चाहता हूं यहां पर? ये मैं यहां पर लिख
दूंगा। ठीक है? क्या-क्या वैल्यू्यूज डालना चाहता हूं? मान लो मैं डालना चाहता हूं रोहन। और इसके बाद जेंडर में डालना
चाहता हूं सॉरी ईमेल में डालना चाहता हूं रोहन रोहन.com और इसके बाद मैं जेंडर में डालना चाहता हूं मेल। डेट ऑफ बर्थ में
डालना चाहता हूं मैं 2007 2006 और डैश यहां पर आएगा। फिर मान लो 04-04
कर देते हैं फिलहाल के लिए। ठीक है? और मैं सिंगल कोट्स सी यूज़ करूंगा। सिंगल कोट्स सी यूज़ करूंगा। थोड़ा अच्छा दिखेगा।
कुछ इस तरह से सिंगल कोट्स सी मैं यूज़ करूंगा। और इसके बाद मैं क्या करूंगा कि जो सैलरी
है रोहन की वह 56,000 कर देते हैं। और यह मेरी क्वेरी जो है वो बन चुकी है। अब मैं जैसे ही आप लोगों को इसको रन करके
दिखाऊंगा। यहां पर लिखकर आ रहा है यूजर अंडरs log डज़ नॉट एक्सिस्ट। हमने यूजर अंडरs log का नाम
या तो गलत लिखा है या टेबल बनी नहीं है हमारी। ऐसा क्यों हुआ देखना पड़ेगा। तो यूजर अंडरस्कोर log ये कह रहा है एक्सिस्ट
नहीं करती है। मैं इसको चलाता हूं क्वरी को और देखता हूं कि ये टेबल बनी भी है कि नहीं है। ये बनी नहीं थी टेबल। हमने इसको
चलाया नहीं था। ये बन गई अभी टेबल। अब मैं इसको जैसे ही चलाऊंगा आप यहां पर देखो ये कह रहा है ट्रिगर ऑलरेडी एक्सिस्ट। तो ये
ट्रिगर ऑलरेडी हमारा जो है वो बन गया। ठीक है? तो एक बार आपको चलाना होता है। बस एक बार ट्रिगर बन गया आपका तो आपको क्या करना
होता है कि आप इंसर्ट इंटू यूज़र्स चला दो। और जैसे ही आप इंसर्ट इनू यूज़र्स चला दोगे तब आपको पता चलेगा कि आपके जो यूज़र्स
अंडरस्कोर लॉक टेबल है वो भी पॉपुलेट होना स्टार्ट हो गई है। तो आप सेलेक्ट स्टार फ्रॉम यूज़र्स अंडरस्कोर लॉक करोगे तो आपको
देखने को मिलेगा कि यहां पर ये कह रहा है कि डुप्लीकेट एंट्री रोहन एट रोहन.com इसको रोहन टू कर देता हूं मैं। ठीक है? और
मैं इसको चलाऊंगा तो ये कह रहा है यूज़र्स अंडरस्कोर log डज़ नॉट एग्ज़िस्ट। ये यूजर अंडरस्कोर log है। ओके? लेट मी कॉल इट
यूजर अंडरस्कोर लॉग। और मैं इसको भी कमेंट आउट कर देता हूं। हमने इंसर्ट कर लिया। मैं बस ये देखना चाहता हूं मेरे यूजर लॉग
में क्या-क्या है। अभी तो आप देखो यहां पर एक तो नेम रोहन आ गया और एक यूजर आईडी आ गया और क्रिएटेड ऑन आ गया। एक हमने रोहन 2
को इंसर्ट करने की कोशिश की थी। एक हमने रोहन को इंसर्ट करने की कोशिश की थी। उसकी वजह से जो हमारा ट्रिगर है वो लगा और
ट्रिगर जैसे ही लगा हमारा उसने यह रिकॉर्ड्स जो है इंसर्ट कर दिए। ठीक है? तो हमारा ट्रिगर क्या करेगा? ऑटोमेटिकली
सर्टेन एकशंस करेगा जो भी हम डिफाइन करेंगे। और यही होता है ट्रिगर। अब यहां पर मैंने जो टेस्ट करा है ट्रिगर को वो
मैंने अपने स्ट प्रोसीजर को कॉल करके किया है। अगर आपका यह स्ट प्रोसीजर एक्सिस्ट नहीं करता है तो एरर थ्रो करेगा ही। तो
मैंने आपको जो स्ट प्रोसीजर में यहां पर बताया था यह बनाकर दिखाया था स्ट प्रोसीजर वो आप लोगों को जो है बनाना पड़ेगा दोबारा
से अगर आपने अपना स्ट प्रोसीजर डिलीट कर दिया। तो मैंने यहां पर एक ऐड यूजर नाम का स्ट प्रोसीजर बनाया है। यह पूरा आपको कोड
रन करना पड़ेगा ऐड यूजर वाला स्ट प्रोसीजर बनाने के लिए और उसके बाद आप इसको चलाना बट आप इंसर्ट भी कर सकते हो। इंसर्ट क्वरी
चला देना एक कोई दिक्कत वाली बात ऐसी है नहीं। तो यह होता है हमारा ट्रिगर। एक ट्रिगर को ड्रॉप करने के लिए आपको ड्रॉप
ट्रिगर इफ एक्सिस्ट करना पड़ेगा। मेरे केस में ट्रिगर का नाम क्या है? मैं यहां पर रिफ्रेश करूंगा और यहां पर ट्रिगर्स में
जाकर आफ्टर यूजर इंसर्ट नाम का मेरा ट्रिगर है। मैं इसको डिलीट कर दूंगा। आफ्टर यूजर इंसर्ट। ठीक है? इसको मैं रन
करूंगा। तो आप देखो रिफ्रेश करने के बाद ये ट्रिगर्स में से चला गया। यानी कि मेरा जो ट्रिगर है वो ड्रॉप हो चुका है। सो या
दैट वाज़ अबाउट ट्रिगरर्स। बिफोर आफ्टर जो है आप यूज़ कर सकते हो कि ट्रिगर कब रन करेगा? क्या ट्रिगर इंसर्शन के बाद रन
करेगा या पहले रन करेगा? इंसर्ट, अपडेट और डिलीट। कौन सा एक्शन उस ट्रिगर को ट्रिगर करेगा? ये उसके लिए होता है। न्यू डॉट
कॉलम का मतलब जो भी इंसर्ट हो रहा है, रेफर्स टू द न्यू रो। ओल्ड डॉट कॉलम मतलब रेफर्स टू द ओल्ड रो। ठीक है? अगर आप लोग
अपडेट डिलीट कर रहे हैं तो फॉर ईच रो हर अफेक्टेड रो के लिए एग्जीक्यूट होता है। ठीक है? आई होप कि आप लोगों को ये चीज समझ
में आ गई और आप लोग जो है ट्रिगर को समझ पाए। ऑलराइट गाइस, सो इससे पहले मैं इस वीडियो
को कंक्लूड करूं। मैं आप लोगों को कुछ ऐसी चीजें बताना चाहता हूं। माय सीक्वल से रिलेटेड कुछ ऐसे कांसेप्ट बताना चाहता हूं
जो कि आप लोगों के बहुत ज्यादा काम आएंगे जब आप एक एडवांस यूजर बन जाएंगे। तो आ जाओ उन चीजों को देखते हैं। तो मैं यहां पर
क्या करने वाला हूं कि माय सीक्वल के कुछ फीचर्स आप लोगों को एक पर्टिकुलर सेक्शन में कवर करके दिखाने वाला हूं। तो सबसे
पहले तो आपको लॉजिकल ऑपरेटर्स के बारे में पता होना चाहिए एंड और नॉट एंड वो रिकॉर्ड्स को फैच करेगा जहां पर ये दोनों
कंडीशंस ट्रू हैं। जैसे कि अगर आपने कुछ इस तरह से लिखा तो अगर सैलरी ग्रेटर दैन 500 है और जेंडर मेल है तभी रिकॉर्ड फैच
होगा। मतलब वो सारे रिकॉर्ड्स जहां सैलरी 500 से ज्यादा और जेंडर मेल है वो फैच होगा। सिमिलरली और में क्या होता है कि
दोनों में से एक कंडीशन ट्रू हो गई तो आपका रिकॉर्ड फैच हो जाएगा। यानी कि अगर जेंडर इज इक्वल टू मेल किसी रिकॉर्ड में
है या फिर जेंडर इज इक्वल टू अदर है। दोनों में से कोई भी एक कंडीशन ट्रू है तो वो सारे रिकॉर्ड्स फैच हो जाएंगे। नॉट
क्या करता है? रिवर्स करता है कंडीशन को। मतलब कि अगर आपने लिखा नॉट जेंडर इज़ इक्वल टू फीमेल। तो जेंडर = फीमेल वाले
रिकॉर्ड्स नहीं आएंगे। उसके अलावा मेल वाले रिकॉर्ड्स भी आ जाएंगे और अदर वाले रिकॉर्ड्स भी आ जाएंगे। अब यहां पर हम
देखते हैं कि एग्जिस्टिंग टेबल में कॉलम को कैसे ऐड किया जाता है। तो आप ऑल्टर टेबल का इस्तेमाल करके जो ऑल्टर टेबल
कमांड होता है हमारा उसको आप लोग यूज़ कर सकते हो बाय राइटिंग समथिंग लाइक ऑल्टर टेबल यूज़र्स ऐड कॉलम सिटी वेयर कैर 100
दिस ऐड्स अ न्यू कॉलम नेम्ड सिटी टू द यूज़र्स टेबल। ठीक है? इसके बाद वाइल्ड कार्ड ऑपरेटर्स। वाइल कार्ड्स आर यूज़्ड
विद लाइक ऑपरेटर। अब दो तरह के हमारे पास वाइल्ड कार्ड ऑपरेटर्स होते हैं। एक परसेंटेज और एक अंडरस्कोर ये अंडरस्कोर
है। ठीक है? परसेंटेज वाइल्ड कार्ड ऑपरेटर क्या करता है कि किसी भी सीक्वेंस को मैच करने के लिए हेल्पफुल रहता है। जैसे कि
आपने लिखा वेयर नेम लाइक फिर आपने लिखा एसेंट मतलब कि ए से स्टार्ट होने वाले सारे नेम्स जहां-जहां होंगे वो रिकॉर्ड्स
आपको देखने को मिलेंगे। और अगर आप परसेंटेज ए लिखते हैं तो ए से एंड होने वाले नेम्स आपको मिलेंगे। लेकिन अंडरस्कोर
क्या करता है? अंडरस्कोर एक कैरेक्टर को मैच करता है। अगर आपने लिखा वेयर नेम लाइक अंडरस्कोर ए परसेंटेज मतलब कि किसी भी
रिकॉर्ड में अगर सेकंड लेटर ए है तो वो फैच हो जाएगा। तो ये अंडरस्कोर वाइल्ड कार्ड को भी आप लोग जरूर ट्राई करो। तो
यहां पर आप लोग देखो मैं एक बड़ी सिंपल सी क्वेरी लिख रहा हूं। सेलेक्ट स्टार्ट फ्रॉम यूज़र्स वेयर नेम लाइक अंडरस्कोर ए
परसेंटेज। यानी कि मैं कह रहा हूं कि यहां पर कोई भी कररेक्टर हो नेम में उसके बाद ए होना चाहिए और उसके बाद कुछ भी हो। मतलब
सेट ऑफ कररेक्टर्स भी चलेंगे। तो यहां पर देखो आरव आ गया, राज आ गया। लेकिन अगर मैंने ए लिखा और फिर दोबारा से अंडरस्कोर
लिख दिया। मतलब कि यहां पर कोई भी एक कैरेक्टर आए, यहां पर ए आए। यहां पर कोई भी कैरेक्टर आए। एंड लेट्स से मैं यहां पर
लिख रहा हूं मैं मान लो फरहान को मैच करना चाहता हूं। तो हमारे पास यहां पर एफ आ जाएगा। एफ ए और इसके बाद आर और इसके बाद
कुछ भी आए। या फिर मैं इसको एच लिख देता हूं। मैं कहता हूं यहां कुछ भी आए, फिर ए आए, फिर कुछ भी आए, एच आए और फिर उसके बाद
कुछ भी आए। तो मैं इसको अगर रन करूंगा तो आप देखो यहां पर फरहान भी मैच हो गया यश भी मैच हो गया क्योंकि यहां पर वाई है फिर
ए यहां पर कुछ भी हमने कहा कोई भी एक कैरेक्टर एस है फिर एच है फिर आगे कुछ भी हो ठीक है तो कुछ इस तरह से आप लोग जो है
अपनी लाइक वाली क्वेरीज बना सकते हैं। अब लिमिट को आप ऑफसेट के साथ इस्तेमाल कर सकते हैं। हमने यहां पर देखा था कि आप इस
तरह की क्वरी चलाकर लिमिट का इस्तेमाल कर सकते हैं। लेकिन हम लोग लिमिट के साथ-साथ ऑफसेट भी यूज़ कर सकते हैं। मैं आपको इस
क्वेरी के बारे में एक चीज़ दिखाता हूं। अगर मैं यहां पर लिख दूं लिमिट फाइव। ठीक है? मान लो मैंने यहां पर लिमिट फाइव लिखा
सिर्फ। अभी मैं ऑफसेट यूज़ नहीं कर रहा हूं। मैं इसको रन करूंगा। मैंने लिमिट फाइव किया तो आप देखो शुरू के पांच यूज़र्स
मिल गए। अब अगर मैं ऑफसेट 10 कर दूंगा यहां पर कुछ इस तरह से और मैं इसको रन करूंगा तो आप लोग देखो यहां पर क्या होगा
कि ये 10 रिकॉर्ड्स को छोड़ के मुझे पांच रिकॉर्ड्स देगा। अगर मैं ऑफसेट वन कर दूंगा तो ये एक रिकॉर्ड छोड़ के मुझे पांच
रिकॉर्ड्स देगा। तो देखो इसने पहला वाला जो रिकॉर्ड है वो छोड़ दिया। और अगर मैं यह ऑफसेट ना लिखूं तो मुझे आईडी वन से
स्टार्ट होकर यूज़र्स मिलेंगे। आप देखो यहां पर आरव अनन्या राज। लेकिन अगर मैंने ऑफसेट थ्री कर दिया तो स्नेहा से शुरुआत
होगी। तो मैं अगर यहां पर आपको ऑफसेट थ्री करके दिखाऊं तो स्नेहा से शुरुआत होगी। तो देखो इसको मैं रन करूं तो स्नेहा से
शुरुआत होगी और रिकॉर्ड्स पांच ही आएंगे क्योंकि मैंने लिमिट फाइव लिखा हुआ है। तो ये काफी यूज़फुल होता है पैजिनेशन बनाने
में। आपने ब्लॉग देखे होंगे जिसमें एक पेज होता है। उस एक पेज में 10 ब्लॉक्स होते हैं। फिर उसके बाद अगला पेज होता है।
उसमें नेक्स्ट 10 ब्लॉग्स होते हैं। फिर उसका अगला पेज होता है। उसमें उसके आगे के 10 ब्लॉक्स होते हैं। तो आप अपनी क्वेरीज
को लिमिट और ऑफसेट का इस्तेमाल करके बना सकते हैं। ईजीली आप पैजिनेशन कर पाएंगे। तो ये था यूजिंग लिमिट विद ऑफसेट। ठीक है?
अब एक अल्टरनेटिव सिंटेक्स भी होता है। आप या तो लिमिट फाइव ऑफसेट 10 लिख लें या फिर आप लिमिट 10 {कॉमा} 5 लिख लें। अब आपको
ऑफसेट वाला नंबर पहले लिखना होगा। लिमिट वाला बाद में लिखना होगा। ये चीज़ आप लोगों के लिए बहुत जरूरी है। तो कंफ्यूज बिल्कुल
मत होना। मैं तो ये वाली क्वेरी पसंद करता हूं। जहां पर हम लिमिट फाइव ऑफ सेट थ्री लिखते हैं। साफ-साफ रीडबल सी क्वेरी है।
पता चल रहा है कि कब क्या हो रहा है। बट आप इसको कुछ इस तरह से भी लिख सकते हैं। मैं इनफैक्ट ना इस चीज को इसके नीचे
लिखूंगा ताकि आप लोग को पता चले कि दोनों टेबल्स एक ही चीज हमें दे रही हैं। तो ये और ये हमें एक ही चीज़ देगी। अगर हम यहां
पर लिमिट 3 5 लिखें तो। क्योंकि यहां पर लिमिट फाइव ऑफसेट थ्री है। यहां पर भी लिमिट 3 5 है।
यानी कि यह लिमिट वाला नंबर होता है और यह ऑफसेट वाला नंबर होता है। तो ये वाला सिंटेक्स बेसिकली ये कहता है तीन छोड़ के
पांच दे दो। 3 5 मतलब तीन छोड़ के पांच दे दो। और यहां पर आप देखो कि ये और ये एक ही चीज आप लोग को दे रहे हैं। तो ये सिंटेक्स
थोड़ा सा ध्यान में आप लोगों को रखना है। दिस आल्सो स्किप्स 10 एंड रिटर्न्स फाइव। ठीक है? तो ये सिंटेक्स होता है। इसके बाद
डिस्टिंक्ट कीवर्ड क्या करता है? इट इज़ यूज्ड टू रिटर्न ओनली यूनिक वैल्यू। जैसे कि आप लिखोगे सेलेक्ट डिस्टिंक्ट जेंडर
फ्रॉम यूज़र्स। अब जेंडर्स तो बहुत सारे हैं। मतलब कि हर रिकॉर्ड का जेंडर है। मेल, फीमेल, मेल, फीमेल, मेल, फीमेल। अगर
मैं कुछ इस तरह से लिखूं यहां पर मैं कहूं, सेलेक्ट डिस्टिंक्ट। हटा देता हूं। सेलेक्ट जेंडर फ्रॉम यूज़र्स, तो आपको बहुत
सारे जेंडर्स मिलेंगे। मेल, मेल, मेल, मेल, मेल, फीमेल, फीमेल, फीमेल, मेल। बट अगर हम यहां पर डिस्टिंक्ट लिख दें, तो
मैं कह रहा हूं कि मुझे डिस्टिंक्ट जेंडरर्स चाहिए। तो मेल, फीमेल अदर मुझे देखने को मिल रहा है। यानी कि मेल एक बार
आएगा, फीमेल एक बार आएगा और अदर भी एक बार आएगा। सो दैट्स हाउ यू यूज़ डिस्टिंक्ट कीवर्ड। अब देखते हैं ट्रंकेट कीवर्ड क्या
होता है। ट्रंकेट रिमूव्स ऑल रोज़ फ्रॉम अ टेबल बट कीप्स अ टेबल स्ट्रक्चर। अगर मैं चाहता हूं मेरी यूज़र्स टेबल खाली हो जाए।
बट मैं ये नहीं चाहता कि इसके जो कॉलम्स हैं वो अफेक्टेड हो। मतलब कि मैं ये चाहता हूं कि अगर मैं सेलेक्ट स्टार फ्रॉम
यूज़र्स करूं तो मुझे कुछ भी ना मिले। लेकिन मेरे जो कॉलम्स हैं मेरा जो स्कीमा है वो इंटैक्ट रहे। तो मैं सिंपल सा तीन
वर्ड का सिंटेक्स चलाऊंगा। ट्रंकेट टेबल यूज़र्स। दैट्स इट। तो अगर मैं यहां पर ये लिख दूं ट्रंकेट
टेबल यूज़र्स। तो क्या होगा? ये टेबल ट्रंकेट हो जाएगी और खाली हो जाएगी। तो मैं इसको जैसे ही चलाऊंगा तो आप देखो ये
टेबल खाली हो चुकी है। और अब अगर मैं सेलेक्ट स्टार्ट फ्रॉम यूज़र्स चलाऊंगा तो मेरी जो यूज़र्स टेबल है वो खाली हो जानी
चाहिए। बट यहां पर मैं देखता हूं ये क्यों खाली नहीं हुई। एक्चुअली ये खाली इसलिए नहीं हुई क्योंकि हमारे पास फॉरेन की
कंस्ट्रेंट था। यहां पर कह रहा है कि भाई आप इसको खाली नहीं कर सकते क्योंकि ये टेबल रेफरेंस हो रही है एज अ फॉरेन की
कंस्ट्रेंट इन एड्रेसेस टेबल। तो हम क्या करते हैं? एक काम करते हैं ट्रंकेट टेबल एड्रेसेस करते हैं और यहां पर हम एड्रेसेस
ही करते हैं। तो अगर मैं आप लोगों को एड्रेसेस टेबल दिखाऊं तो कुछ इस तरह से दिख रही है। और मैंने इसको कर दिया
ट्रंकेट। तो इसमें पहले बहुत सारे रिकॉर्ड्स ये ऐसी दिखती थी। बट अगर अब मैं चलाऊंगा तो आप देखो ये एड्रेसेस टेबल खाली
हो चुकी है। अब यहां पर सिर्फ कुछ इस तरह से आप देख सकते हो यह हमें देखने को मिल रहे हैं कॉलम्स। तो आप अपनी टेबल को खाली
कर सकते हैं ट्रंकेट कीवर्ड का इस्तेमाल करके। अब एक बात याद रखना कि आप लोगों ने अगर इस तरह का ट्रंकेट कीवर्ड का इस्तेमाल
किया यानी कि टेबल को खाली किया तो ये चेंज आपका रोल बैक नहीं किया जा सकता। आप ये मत सोचना कि मेरा चेंज जो है वो अनडू
हो सकता है। अनडू नहीं हो सकता। ठीक है? ये जो ऑपरेशन होता है इट इज़ फास्टर दैन डिलीट फ्रॉम यूज़र्स। क्योंकि डिलीट फ्रॉम
यूज़र्स वाली जो क्वेरी होती है वो एक-एक करके आपके सारे रिकॉर्ड्स को हटाती है। तो आप ट्रंकेट कर सकते हो टेबल को एंड इट विल
बी फास्टर। इसके बाद आप किसी भी कॉलम को चेंज या मॉडिफाई कर सकते हो। आप अगर कुछ इस तरह की क्वेरी चलाओगे ऑल्टर टेबल
यूज़र्स चेंज कॉलम सिटी लोकेशन और उसके बाद उसका डेटा टाइप तो आपकी जो सिटी वाली कॉलम है टेबल में वो लोकेशन नाम से अब बन
जाएगी। मतलब आप बेसिकली रिनेम करोगे सिटी कॉलम को लोकेशन कॉलम के नाम से और उसका टाइप भी आप चेंज कर सकते हो। अगर आपने
पहले वारkय 100 यूज़ किया हुआ है तो आप उसको वारk 150 ईजीली बना सकते हो। अब अगर आप सिर्फ डेटा टाइप चेंज करना चाहते हो तो
आप ऑल्टर टेबल यूज़र्स मॉडिफाई कॉलम सैलरी बिगिन टेस्ट तरह से चेंज कर सकते हो डेटा टाइप। ठीक है? तो ये सिर्फ डेटा टाइप चेंज
करेगा सैलरी का। सो या दैट वाज़ अबाउट एसक्यूएल। आई होप कि आप लोग को इस पूरे कोर्स में मेरे साथ मजा आया और आप लोगों
ने जो इंपॉर्टेंट कांसेप्ट्स हैं My सीक्वल के उनको अच्छी तरह से ग्रास्प कर लिया। अब याद है मैंने आप लोगों को वीडियो
के स्टार्टिंग में बोला था कि एक ऐसी ट्रिक बताऊंगा दैट विल फील इललीगल टू नो। और वो ट्रिक है कि आप लोग चैट जीपीटी को
बोल सकते हैं किसी भी तरह की क्वेरी जनरेट करने के लिए। फॉर एग्जांपल मैं चैट जीपीटी को यह क्रिएट टेबल का कमांड दे सकता हूं।
और मैं बोलूंगा माय टेबल वाज़ क्रिएटेड यूजिंग दिस कमांड। टेल मी हाउ कैन आई ऐड मोर कॉलम्स
नेम सिटी एंड स्टेट टू इट। और आप एंटर मारोगे तो आप लोगों को चैट जीपीटी डायरेक्टली क्वेरी जनरेट करके दे देगा।
नाउ दैट यू हैव अंडरस्टैंडिंग ऑफ़ सीक्वल। आप इस तरह की ट्रिक्स का इस्तेमाल कर सकते हो। एक और ट्रिक जो मैं आप लोगों को देना
चाहता हूं वो यह है कि अगर आप लोग माय सीक्वल में आज काम कर रहे हो और कल आपको फॉर सम रीज़न पोस्ट ग्रे सीक्वल में जाना
पड़ जाता है तो आप लोग अपनी माय सीक्वल की क्वेरी चैट जीपीटी को बताकर पूछ सकते हो कि क्या यह पोस्ट ग्रे में चलेगी या फिर
पोस्ट ग्रे में कौन सी क्वेरी चलेगी एंड चैट जीपीटी आप लोगों को बता कर देगा। चैट जीपीटी को लेवरेज करो बट पहले अपनी बेसिक
अंडरस्टैंडिंग क्लियर रखो। और आपकी अंडरस्टैंडिंग प्लस एi का लेवरेज आप लोगों को एक बहुत ही नॉलेजेबल इंसान बना देगा।
एक बात यहां पर बोलना चाहूंगा कि आपकी जो प्रैक्टिस है वही आप लोगों के माय सीक्वल कांसेप्ट को और बेटर बनाने में हेल्प
करेगी। सो आप लोगों के लिए मेरा एक एडवाइस यह रहेगा कि प्रैक्टिस एज मच एज पॉसिबल। रिस्पांसिबिलिटीज अपने हाथ में लो और आप
काम पर लग जाओ। सीक्वल को इस्तेमाल करो। इसी से आप लोगों का जो कांसेप्ट है वह और स्ट्रेंथन होगा। आई होप कि यह कोर्स आप
लोगों के लिए हेल्पफुल था। हैंडबुक आप लोगों के लिए मैं डाल दूंगा डिस्क्रिप्शन में। जितना भी कोड हमने यहां पर लिखा हुआ
है जो कि मैंने आप लोगों को दिया है। क्रिएट यूजर टेबल करने के लिए, इंसर्ट डेटा करने के लिए, फॉरेन की बनाने के लिए,
एडमिन को ऐड करने के लिए और लॉक टेबल बनाने के लिए यह सोर्स कोड यानी कि डॉट सीक्वल फाइल्स मैं आपको दे दूंगा। एक बात
बताना चाहता हूं आपको डॉट सीक्वल फाइल्स आपकी राइट क्लिक करके वीएस कोड से या नोटपैड से भी खुल जाती हैं। तो आप इनको
खोलकर इनका टेक्स्ट कॉपी करके ईजीली चला सकते हो। अदरवाइज मैंने आप लोगों को ऑलरेडी बताया था फाइल पर क्लिक करके आप
ओपन सीक्वल स्क्रिप्ट करके इनको खोल सकते हो। कुछ इस तरह से। सो या यू नो हाउ टू ओपन दीज़ फाइल्स एंड यूज़ देम। अब अगर आप
लोग मेरे साथ डेटा साइंस सीखना चाहते हो तो मैं अपने अल्टीमेट जॉब रेडी डेटा साइंस कोर्स का लिंक आप लोगों के लिए
डिस्क्रिप्शन में डाल दूंगा। आप लोग डिस्क्रिप्शन में दिए हुए लिंक पर क्लिक करके इसको डिस्काउंटेड प्राइस पर एनरोल कर
सकते हो। आई लुक फॉरवर्ड टू सीइंग यू इन दिस कोर्स एंड आई होप कि आप लोगों को सीक्वल अच्छे से समझ में आ गया। थैंक यू
सो मच गाइस फॉर वाचिंग दिस वीडियो एंड आई विल सी यू नेक्स्ट टाइम।
Relational databases, like MySQL and PostgreSQL, use a strict, predefined schema with tables, rows, and columns, and data is linked using foreign keys. Non-relational databases, like MongoDB and Redis, are schema-flexible and optimized for high read operations, making them suitable for applications where data structure can vary.
After updating packages with sudo apt update, install MySQL server via sudo apt install mysql-server. Then, run sudo mysql_secure_installation and access MySQL with sudo mysql. Create a user with CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';, grant all privileges using GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost';, and flush privileges before connecting via MySQL Workbench.
A basic CREATE TABLE defines columns with data types and constraints, like id INT AUTO_INCREMENT PRIMARY KEY for unique rows, name VARCHAR(100) NOT NULL to ensure a value is always provided, and email VARCHAR(100) UNIQUE NOT NULL to prevent duplicates. Constraints such as AUTO_INCREMENT, PRIMARY KEY, NOT NULL, UNIQUE, and DEFAULT help enforce data integrity.
CRUD stands for Create (INSERT), Read (SELECT), Update (UPDATE), and Delete (DELETE). These four operations allow you to add new records, retrieve data, modify existing rows, and remove records from a database table.
Use ALTER TABLE table_name followed by an action, such as ADD COLUMN column_name datatype to add a new column, DROP COLUMN column_name to remove one, or MODIFY COLUMN column_name datatype to change its type. You can also reorder columns, e.g., MODIFY COLUMN email VARCHAR(100) AFTER id.
The tutorial recommends saving your queries as .sql script files (like programming code) and downloading the accompanying handbook, which contains all commands and definitions. Printing the handbook and keeping it at your workspace for quick reference is crucial for serious, hands-on learning.
First, download and install MySQL Community Server, setting a root password during installation. Then, install MySQL Workbench by dragging it to the Applications folder. Finally, open MySQL Workbench, create a new connection, and log in with username root and the password you chose.
Keep this summary
Save it to LunaNotes and it becomes a real note in your library — editable, searchable, and ready to turn into flashcards or a diagram. Free to start.
Save to LunaNotesOr summarise for another video.
32K+ people have turned 65K+ videos into notes
“Very useful tool. I'm using it for the last couple weeks and I'm loving it so far. Makes learning on YouTube a great experience.”
This summary and transcript were automatically generated using AI with the Free YouTube transcript summary tool by LunaNotes.
Related summaries
Comprehensive SQL Course: From Basics to Advanced Database Design
Master SQL with this full beginner-friendly course covering database fundamentals, MySQL installation, table creation, data manipulation, complex querying, joins, triggers, ER diagrams, and converting ER diagrams to schemas. Learn practical examples and advanced techniques to design and manage relational databases effectively.
Complete SQL Interview Prep: 15 Must-Know Queries & Concepts
Master essential SQL interview questions in this comprehensive guide covering 15+ crucial topics, including joins, window functions, aggregations, and data manipulation. Learn to solve common challenges like finding second highest salaries, removing duplicates, and handling NULL values with clear, step-by-step query explanations.
A Comprehensive Guide to PostgreSQL: Basics, Features, and Advanced Concepts
Learn PostgreSQL fundamentals, features, and advanced techniques to enhance your database management skills.
Master SQL: Comprehensive Guide to Advanced Data Analytics and Optimization
Explore an extensive SQL course covering fundamentals to advanced topics including data warehousing, analytics, complex querying, performance tuning, and AI-powered coding assistance. Learn practical techniques, real-world project workflows, and best practices to excel in data engineering and analysis using SQL.
Introduction to Database Management Systems: Basics and Key Concepts
This video provides a foundational overview of Database Management Systems (DBMS), covering essential definitions, functionalities, and properties. Using a university database example, it explains how DBMS manages, manipulates, and shares data efficiently to meet specific organizational needs.
Most viewed summaries
A Comprehensive Guide to Using Stable Diffusion Forge UI
Explore the Stable Diffusion Forge UI, customizable settings, models, and more to enhance your image generation experience.
Kolonyalismo at Imperyalismo: Ang Kasaysayan ng Pagsakop sa Pilipinas
Tuklasin ang kasaysayan ng kolonyalismo at imperyalismo sa Pilipinas sa pamamagitan ni Ferdinand Magellan.
Mastering Inpainting with Stable Diffusion: Fix Mistakes and Enhance Your Images
Learn to fix mistakes and enhance images with Stable Diffusion's inpainting features effectively.
Pamamaraan at Patakarang Kolonyal ng mga Espanyol sa Pilipinas
Tuklasin ang mga pamamaraan at patakaran ng mga Espanyol sa Pilipinas, at ang epekto nito sa mga Pilipino.
How to Install and Configure Forge: A New Stable Diffusion Web UI
Learn to install and configure the new Forge web UI for Stable Diffusion, with tips on models and settings.
Found this summary useful?
Take it with you. One click puts it in your own LunaNotes library.
Save to LunaNotes