MySQL Overview in Hindi
|यदि आप यह आर्टिकल MySQL Overview Read करने आए है इसके दो कारण हो सकते हैं पहला की आप Programming की दुनिया मे पहले से ही हैं और अन्य Programming Language के साथ आप SQL भी सीखना चाहते हैं और दूसरा कारण यह हैं की आपने प्रोग्रामिंग सीखना शुरू ही किया हैं और आप SQL सीखना चाहते हैं ।
What is SQL and MySQL?
MySQL हमारा घर हैं और SQL हमारे घर मे कौन सी वस्तु कहा रखना हैं ?, उसमे क्या बदलाव करना हैं ?, उसे कहीं और शिफ्ट करना हैं ?, उसे घर के बाहर ही करना हैं ? इस तरह के आदेश देने की भाषा को हम SQL कहते हैं । यानि की MySQL एक Database हैं और उस database मे अलग अलग टेबल मे हम Data को Store करते हैं , जैसे हमारे घर मे अलग अलग Room होते हैं वैसे ही Database मे हम Data को Table मे store करते हैं ।
जब भी आप कोई भी business application बनाए और आप यदि data store करने की need हो और उसे भी किसी तरह के calculation कर लाना हो तब आपको किसी भी Databse की सहायता लेना होगी, जैसे जैसे आपकी Requirment बढ़ती हैं उसके अनुरूप ही आपको Databse सिलेक्ट करना होता हैं । आइए मे आपको कुछ Database के बारे मे समझता हु
List of Database
Excel , Ms Access, Sybase Adaptive Server, MySQL, SQL Server, Oracle, PostgreSQL , SQLite, Maria DB, IBM DB2 आदि । ऐसे और भी database हैं हमने इसमे कुछ के नाम लिखे हैं ।
आप कोई भी Database का उपयोग करे, आपको Data को Store करने के लिए जो Language का उपयोग करना हैं वही SQL हैं , यानि की यदि आपने SQL सिख ली तो आप बहुत ही आसानी से किसी भी databse मे कार्य कर सकते हैं । प्रत्येक database की अपनी बहुत सी विशेषताए होती हैं । और कुछ limitation भी होती हैं । हमे अपने project की जरूरत के अनुसार Dabase का चयन करना होता हैं ।
इस Blog मे आपको मे MySQL Database को Example के रूप मे लेकर आपको SQL के बारे मे बताऊँगा । यदि आप SQL सिख जाते हैं तो कुछ की Command ऐसी हो सकती हैं जो आपको अन्य database मे support न करे तो आप उसका alternet सर्च कर कार्य कर सकते हैं । यानि आप SQL सीखने के बाद किसी भी Database पर आसानी से कार्य कर सकते हैं , चलिए शुरू करते हैं ।
MySQL को हम part मे समझते हैं
- Structure of MySQL : इसमे हम Structure के बारे मे समझेंगे
- Command : इस Part मे हम सभी Command के बारे मे समझेंगे ।
Related Video : MySQL Overview in Hindi | MySQL Terminology
1. Structure of MySQL
- 1.1 Database : इस ऑप्शन मे आप कितने ही Database बना सकते हैं ।
- 1.2 User : इस Option से आप User बना सकते हैं । और यूजर को permission भी दे सकते हैं ।
1.1 MySQL Databases
Database बहुत सी Table, Function Procedure का समूह होता हैं । इसमे Table बना कर Data को Store किया जाता है इस आर्टिकल मे हम Database Data को handle करने के लिए हम क्या क्या कर सकते हैं उनको समझते हैं ।
- 1.1.1 Table : Datastore करने के लिए हम Table का उपयोग करते हैं । Table के अलावा हम कही और Data को Store नहीं कर सकते हैं ।
- 1.1.2 View : यह एक तरह से Virtual Table हैं , इसमे हम किसी एक या एक से अधिक Table को लिंक कर Data दिखा सकते हैं साथ ही मे हम selected columns और Rows को भी Filter कर दिखा सकते हैं ।
- 1.1.3 Function : जब भी हमे किसी Data पर कोई Operation करना हो या हम किसी बड़े Code को एक Saparate Block मे लिखना चाहे तब हम Function बनाते हैं , और पहले से बने हुवे Function का भी उपयोग कर सकते हैं।
- 1.1.4 Procedure : जब भी हमे कोई Specific Task के लिए कोई Code लिखना हो तब हम Procedure बना सकते हैं और उपयोग होने पर उस Block यानि की Procedure को call कर सकते हैं ।
- 1.1.5 Trigger : Trigger किसी भी Table पर Insert / Update / Delete operation होने पर Execute होते हैं । जिस भी प्रकार का Trigger बनाते हैं उसके Time और Event के अनुसार Trigger Execute होते हैं ।
- 1.1.6 Index : यह एक Technique हैं जिसके द्वारा हम जिस Record को Access करना चाहते हैं उस पर कम से कम Step में पहुँच सके। यानि की यदि हमें कोई भी Record Search करना हैं तो वह बहुत जल्दी हमें मिल सके ।
- 1.1.7 Event : जब भी हमे MySQL मे किसी Task को Schedule करना हो या कहे की किसी Specific Date और Time पर कोई Task Execute करना हो तब हम MySQL Event का उपयोग करते हैं ।
1.2 MySQL User
- इस Option से आप MySQL मे User Account बना सकते हैं ।
- जो भी User आपने बनाए हैं उन्हे Permission दे सकते हैं जैसे की वह कोई Table बना सकता हैं क्या या Data Enter कर सकत हैं , या पहले से Enter किए हुवे Data मे Changes कर सकता हैं क्या आदि ।
- साथ मे यदि आप चाहते हैं की बनाए गए User को सभी Database न दिखाई दे आपके द्वारा Permit किए गए Database ही दिखाई दे तो भी आप यहाँ से सेट कर सकते है ।
Related Video : MySQL User Management | CREATE / ALTER / DROP / GRANT / REVOKE
1.1.1 Table
- Table मे ही Data Store किया जाता हैं ।
- Data को Row और columns के form मे Save किया जाता हैं ।
- Table Column बनाते समय हमे उस Column का Data Type Set करना होत हैं की इसमे किस तरह का डाटा Store किया जाएगा । वैसे तो बहुत तरह के Data Type MySQL सपोर्ट करता हैं । मुख्य रूप से उपयोग मे आने वाले Data Type इस प्रकार हैं ।
- INT
- CHAR
- VARCHAR
- DATE
Related Video : MySQL Table (Collation, Attributes, Null, Default, Auto_Increment, Virtuality )
1.1.2 View
- View एक Virtual Table हैं ।
- इसमे Data Store नहीं होता है , लेकिन हम जब भी इसका Data देखते हैं यह उसी समय Execute हो कर table से Data ला कर दिखा देता हैं ।
- View हम एक ही Table मे से Selected Column के बना सकते हैं
- View हम एक ही Table की Rows को Filter कर बना सकते हैं ।
- View हम एक साथ Column Selection और Rows Filter कर भी बना सकते हैं ।
- View एक से अधिक Table को Join कर भी हम बना सकते हैं ।
Related Video : MySQL View | ALGORITHM : UNDEFINED/MERGE/TEMPTABLE, WITH CHECK OPTION
1.1.3 Function
Function हमे किसी भी Repitative task को कम करने मे सहयोग करते है , साथ ही मे हम Inbuild Function का उपयोग कर भी अपना समय बचा सकते हैं। और चाहे तो Custom Function भी बना सकते हैं ।
1.1.3.1 MySQL Inbuild Function
यह वे सभी Function हैं जो की हमे MySQL Databse द्वारा Provide किए जाते हैं, इनका हमे केवल उपयोग ही करना होता हैं । यदि कार्य के अनुसार हम Function को Distribute करे तो Function 3 प्रकार के होते हैं ।
- 1.1.3.1.1 MySQL Scaller Function : ऐसे function जिनका उपयोग करने पर हमे एक फील्ड की वैल्यू पर कुछ Operation कर एक वैल्यू Return होती हैं उन्हे Scaler Function कहते हैं इनको भी याद रखने मे आसान बनाने के लिए हमने Type के अनुसार अलग अलग किए हैं ।
- String Function : String यानि की Character Data Type पर उपयोग होने वाले सभी Function को इसमे लिया गया है । जैसे String के Character Count करने से संबंधित , दो String को जोड़ने से संबंधित आदि ।
- Number Function : Number Data Type पर उपयपग होने वाले सभी Function को इस Category मे लिया गया है । जैसे Value को Rounding करने से संबंधित, Square निकालने से संबंधित , अन्य सभी Mathamatical Calculation से संबंधित Functions.
- Date Time Function : Date और Time से संबंधित Function को इस Category मे लिया हैं , इसमे Date मे से Month Find करना , या Date मे दिनों की संख्या जोड़ कर अगली Date find करना आदि इसी तरह से Time से संबंधित Function भी इस Category मे लिए गए हैं ।
- 1.1.3.1.2 Aggregate Function : Aise Function जो की एक से अधिक Rows के data पर Calculation कर वैल्यू Return करते हो उन्हे Aggregate Function कहा जाता हैं जैसे की बहुत से संख्याओ मे से Minimum value Calculate करना , Max, Sum, Count आदि Function इस Category मे आते हैं ।
- 1.1.3.1.3 Window Function : ऐसे Function जो की कार्य तो Aggegate Function जैसे करते हैं यानि की एक से अधिक rows मे से value find करने से संबधित करते हैं और साथ मे वैल्यू scaler Return करते हैं , आप ऐसे समझ सकते हैं की आप एक से अधिक Row पर Operation Perform कर उसे उसी Data के किसी भी Row पर display कर सकते हैं । इनमे भी दो तरह के Function होते हैं ।
- Window Aggregate Function : Count, Sum, Min, Max आदि Function इसमे आते हैं ।
- Window Analytical Function : Rank Find करने से संबंधित Function इसमे आते हैं ।
1.1.3.2 MySQL UDF (User Define Function)
यदि उपरोक्त Function से अतिरिक्त हमारी कोई Requirement हो तो हम स्वयं अपने अनुसार जो Funcion बनाए उन्हे UDF (User Define Function) कहा जाता हैं । इसमे हम अपने अनुसार SQL Command का उपयोग कर कार्य कर सकते हैं ।
Related Video : : MySQL Stored Function | MySQL UDF – User Define Function in Hindi
1.1.4 Procedure
जब भी हमे कोई भी Program बनाना हो तो हम Stored Procedure का उपयोग कर एक Procedure बना सकते हैं । इसमे हम Database से Related सभी Operation Perform कर सकते हैं, और जब ही हमे जब Procedure को आवश्यकता हो तो केवल Procedure को Call करना ही होता हैं । इसमे Parameter Passing आदि भी हो जाती हैं ।
Related Video : MySQL Stored Procedure in Hindi | IN, OUT, INOUT With Example
1.1.5 Trigger
Trigger की सहायता से हम जब भी किसी टेबल जिस पर की हम Trigger लिखते हैं उस पर Insert /Update/Delete मे से कोई भी Command Execute की जाती हैं तब Trigger Execute होते हैं, Trigger मे हम जिस Table से Call हुवा हैं उस पर और किसी अन्य Table पर भी हम कोई Operation करना चाहे तो कर सकते हैं ।
Timing के अनुसार Trigger दो प्रकार के होते हैं
- Before Trigger : Table मे Data Insert होने से पहले यह Trigger Execute होते हैं । जब हम जिस टेबल पर Trigger लिखते हैं उसी पर कुछ भी Update करना हो तब हम यह Trigger लिखते हैं
- After Trigger : Table मे Data Insert होने के बाद यह Trigger execute होते हैं । कोई भी after Trigger से हम Self Table यानि की जिस पर Trigger लिख रहे हैं उस पर Insert/update नहीं कर सकते ।
Event के अनुसार Trigger तीन प्रकार के होते हैं
- Insert Trigger : जब भी Table मे कोई New Row Insert होती हैं तब यह Trigger Execute होत हैं ।
- Update Trigger : जब भी Table मे पहले से मौजूद Row मे किसी एक या एक से आधिक Column मे कोई Update किया जाता हैं तब यह Trigger Execute होते हैं ।
- Delete Trigger : जब भी किसी Row को Delete की जाती हैं तब यह Trigger Execute होते हैं ।
उपरोक्त दोनों Combination से हम 6 Trigger बना सकते हैं , इसलिए MySQL मे हम एक टेबल पर अधिकतम 6 Trigger ही लिख सकते हैं ।
- Before Insert
- Before Update
- Before Delete
- After Insert
- After Update
- After Delete
Related Video : MySQL Trigger in Hindi | Trigger Kaise Banaye
1.1.6 Index
यह एक Techinque हैं जिसके द्वारा हम जिस Record को Access करना चाहते हैं उस पर कम से कम Step में पहुँच सके। यानि की यदि हमें कोई भी Record Search करना हैं तो वह बहुत जल्दी हमें मिल सके ।
जब database Table में Record की संख्या बहुत अधिक हो जाती हैं और तब यदि किस Record को Search करना हो तो Sequential Search में बहुत समय लगता हैं । यदि Record किस भी Indexing Technique से Sort होंगे तो Database द्वार उन्हें Search करने में बहुत ही कम समय लगेगा ।
सरल भाषा में MySQL के Index के बारे में समझना हो तो हम Index को दो भागो में Divide कर सकते हैं ।
CLUSTERED INDEX | NON CLUSTERED INDEX |
---|---|
Primary Index | Simple Index or Index |
Unique Index or Unique | Spatial Index (like Geo Columns) |
FullText index (For Char, Varchar, Text) |
Related Video : MySQL Index | Learn About Clustered Index and Non Clustered Index
1.1.7 Event
जब भी हमे MySQL मे किसी Task को Schedule करना हो या कहे की किसी Specific Date और Time पर कोई Task Execute करना हो तब हम MySQL Event का उपयोग करते हैं । यदि आपको Windows के Task Schedule के बारे मे जानकारी हैं तो समझो की Event भी बिल्कुल वही हैं केवल यह MySQL Database के Internal Task ही Handel करती हैं
यदि आपको External Task Handle करना हैं तब आपको MySQL SYS_EXE का उपयोग करना होता हैं ।
Event को आप Globally On/Off कर सकते हैं यानि की यदि आप चाहते हैं की जीतने भी Active Schedule हैं सभी Inactive हो जाए तो आप Single Click से कर सकते हैं । और Inactive को Activate भी कर सकते हैं ।
Share Web Server के Case मे जहा तक मुझे याद हैं आपको Event Create करने की permission नहीं होती हैं ।
Related Video : MySQL Event (Event Type, On Completion Preserve)
2. MySQL Command
MySQL या किसी भी Database मे Command को हम 4 या 5 भागों मे Divide कर सकते हैं । यह Command के कार्य के अनुसार बांटा जाता हैं ।
- DDL (Data Defination Language)
- DML (Data Manupulation Language)
- DQL (Data Query Language)
- DCL (Data Control Language)
- TCL (Transaction Control Language)
2.1 DDL (Data Defination Language)
Database Schema को बनाने, उसमे बदलाव करने और उसे Delete करने से संबंधित सभी Command को DDL Command कहा जाता हैं इसे भी हम दो भाग मे Divide कर सकते हैं ।
Table DDL Command : Data Table मे Store होता हैं । और Table Database मे , Index भी एक अलग location पर Sequence को store कर रखते हैं इसलिए इन तीनों से संबंधित सभी Command को Table DDL Command कहते हैं क्युकी यह Direct Storage से संबंधित होते हैं ।
- DATABASE
- CREATE DATABASE
- ALTER DATABASE
- DROP DATABASE
- TABLE
- CREATE TABLE
- ALTER TABLE
- DROP TABLE
- INDEX
- CREATE INDEX
- DROP INDEX
Non-Table DDL Command : उपरोक्त तीनों के अलावा अन्य सभी के Structure को बनाने और बदलाव करने के लिए Non-Table DDL Command का उपयोग किया जाता हैं ।
- VIEW
- CREATE VIEW
- ALTER VIEW
- DROP VIEW
- FUNCTION
- CREATE FUNCTION
- DROP FUNCTION
- PROCEDURE
- CREATE PROCEDURE
- DROP PROCEDURE
- TRIGGER
- CREATE TRIGGER
- DROP TRIGGER
2.2 DML (Data Manupulation Language)
Table Structure बनाने के बाद उसमे Data Insert करना, उसमे कोई Change करना या उसे Delete करना इन सभी से संबंधित Command DML Statement के अंतर्गत आते है ।
2.3 DQL (Data Query Language)
वैसे DQL भी एक तरह से DML का ही हिस्सा हैं । इसमे हम Command के द्वारा जो डाटा हमने टेबल मे Store किया हैं उस से अपनी जरूरत के अनुसार Get करते हैं जिसे Query Fire करना कहा जाता हैं । इसमे मुख्य रूप से Select command होती हैं और अन्य सभी command Select की सहयोगी command हैं । इसी कमांड के साथ हम Function का भी उपयोग करते हैं ।
2.4 DCL (Data Control Language)
हमने जो User बनाए हैं उनको Permisstion देने के लिए हम Control Language का उपयोग करते हैं ।
- GRANT : User को Permisstion देने के लिए ।
- REVOKE : User को दी गई Permission हटाने के लिए ।
Related Video : MySQL User Management | CREATE / ALTER / DROP / GRANT / REVOKE
2.5 TCL (Transaction Control Language)
जब हम कुछ इस तरह से SQL लिखते हैं की बीच मे किसी कारण से Process Block होने पर हमने जो Execution किए हैं वह reverse हो जाए तब हम TCL का उपयोग करते हैं । इसमे मुख्य रूप से दो Command होती हैं ।
- COMMIT : हम जो भी Insert /Update /Delete Command Execute करे तो वह Database मे Effect तो करेगी लेकिन वह Temparary Store होगी । जब हम Commit Command Execute करेंगे तब Execute किए Command Database मे Permanent Store हो जाएंगे ।
- ROLLBACK : जैसे की हमने Commit मे देखा की दी गई Command को Permanenty Store कर देता हैं उसका बिल्कुल उल्टा कार्य Rollback के द्वारा किया जाता हैं । इसमे हमने जो भी Insert / Update / Delete Execute की हैं उनके द्वारा जो भी Database मे temparay Changes किए थे वह हट जाएंगे और Database पुरानी वाली State पर आ जाएगा।
सीखे VIDEO के माध्यम से
- सरल भाषा मे Programming सीखने के लिए Imagination Code Channel को Subscribe करे।
- MySQL Telegram Channel से जुड़े और पाए Article & Video प्रतिदीन
- MySQL Beginner & Advance Playlist in Hindi
- MySQL Overview in One Video
आपको यह आर्टिकल MySQL Overview कैसा लगा मुझे कमेन्ट कर जरूर बताए ।
अपना कीमती समय देने के लिए धन्यवाद
हमारे अन्य आर्टिकल
- MySQL Function
- MySQL Stored Procedure
- PHP Get /Post Method के बारे में जाने
- PHP Math Function के बारे में जाने
- C से C ++ सीखे सरल शब्दों में
- PHP Variable के बारे में जाने
- Arduino Control Structure
- Union in C
- Declaration of Pointer in C
- jQuery Search Filter
- MySQL Create Table | Alter Table | Drop Table
- API Using NODE REACT EXPRESS MYSQL SEQUELIZE (For Backend OR Server Side)
- CPANEL In Hindi