Oops! It appears that you have disabled your Javascript. In order for you to see this page as it is meant to appear, we ask that you please re-enable your Javascript!
Top 25 Most Popular Social Media Sites - By Innoza
Top 25 Most Popular Social Media Sites 2018 | Innoza
March 23, 2018
Learning to AutoCAD in Hindi - Innoza IT Center
Learning to AutoCAD in Hindi – Innoza
March 23, 2018

My SQL  Server Database | Innoza

My SQL  Server Database

My SQL  Server Data  को rows की from में store करता है।  ये rows tables में store की जाती है, सभी tables database में store हो जाती है। इस तरह यह database MY SQL में data representation और storage की primary यूनिट होती है।

File system में किसी भी database को एक directory द्वारा represent किया जाता है।  इसे database directory  कहा जाता है, जो  database के बारे में Information provide करती है।

Database directory का नाम database के नाम से ही directory बनती है। Database directory को tables को  manage करने के लिए यूज किया जाता है, इसमे object से related file भी हो सकती है।

किसी भी एक data base में दूसरा database नहीं बना सकते सिर्फ tables बना सकते है।

Creating database  – My SQL में database create करने के लिए create statement यूज करके database का नाम दिया जाता है,

mysql > create database test_jit;

इस तरह से jit नाम से database create हो जाता है।

Sowing database structure अगर database का structure।

देखना चाहते है तो इसके लिए show database structure statement यूज कर सकते है।

mysql > show create database test_jit;

Altering database –

exiting database में option को change करने के लिए Alter database का statement यूज किया जाता है।

mysql >alter database test_jit collate utf8;

Droping database – यह database को remove करता है, remove करने वाले database का नाम देना होता है।

mysql >drop database  test_jit;

Introduction to mysql tables –

data base बनाने के बाद उसमे टेबल बना सकते है।

mysql में tables, rows, को  tuples  और colums को field कहा जाता है।

  1. field tupes 
id name age salare date

Properties of a mysql table –

mysql table  की basic 4 properties को option भी कहा जाता है।

properties को table create करते समय किया जाता है।

  1. Engine –  इस property से दवारा ये define  किया जाता है की tebal कौनसा storage engine यूज करेगी mysql आपको 4 storage engines  provide करता है, आप अपनी need के Acording इन्हे यूज कर सकते है।
  • MyISAM
  • Inno DB
  • MEMORY
  • MERGE
  1. Comment – इस property के द्वारा table का description define कर सकते है।
  2. Character set – इस propeerty से Character set define किया जाता है।
  3. Collete – ये property table के लिए collation define करती है।

 

Creating mysql tables – database में table सबसे ख़ास यूनिट होती है। Table के द्वारा ही database structure define होता है, tables create करने  से पहले किसी भी database की tables को show tables statement यूज कर सकते है।  यह database में पहले से मौजूद table को show करेगा।

mysql >show tables;

mysql में table create करने के लिए –

create table <table_name>

<column_name><colum_type><option>,

<colum_name><colum_type><option>,

<constraints>

<column_name>create table के बाद उसका name दिया जाता है।

<column_type> इससे यह  define किया जाता है की इस column में किस तरह के data storage किया जाएगा वो को define करता है।

<option> option किसी भी column  के additional behavior को define करता है, अगर आप चाहते है की column की value Automatically increase हो जाये तो  इसके लिए auto_increment option यूज कर सकते है।

Null- ये option define करता है की इसमे null values store की जा सकती है,

Not_Null –  इस option के द्वारा यह define किया जाता है इस कोलम  में null value allowed नहीं है.

Default – इस option के  दवारा आप column के लिए default value provide कर सकती है।  instruction के समय column की value नहीं दी जाती है तो default value store हो जाती है।

Auto_Increment – यह automatically increase होने के लिए define किया जाता है।

Constraints

<constraints> यह rules होते है जो tables की rows पर apply होनी वाले restrictions को define करता है।  constraints को column पर Apply किया  जाता है constraints की मदद से आप table में किसी भी प्रकार के change को रोक सकते है।

  1. primary key – primary key constraint ये बताता है, की किसी particular column के value null नहीं हो सकती। और साथ ही इस column की value पुरी  table में unique होगी primary-key से हर row को uniquely identify कर सकते है।
  2. unique key – unique key constant भी primary key की तरह ही होता है लेकिन ये  null  values का storege allow करता जिस column पर ये  constrant apply करना होता है।  उस column की value पुरी table होनी चाहिए unique constraint column में यूजर को unique value डालने लिए निर्देश देता है यदि किसी भी column की value null नहीं है, तो इस  constraint के द्वारा rows को uniquely identify किया  जा सकता है।
  3. Foreign key –  यह key Constraint किसी table की primary key को point करती है, एक foreign key किसी दूसरी table में primary key होती है। ये Contraint 2 tables में relation बताता है, की इस table के columns foreign key वाली table से संबंधित है।

 

ex.

mysql<create table Employee><ID INT NOT Null Auto_increment,

<NAME CHAR (20) Not Null,

<Salary INT,

<primary key (ID) >

Alterning tables

यह  table create करने के बाद  need के हिसाब से इसमे change भी कर सकते है।

Adding Clolumns- किसी भी exisiting में columns Add करने के लिए इसका यूज होता है।

mysql >Alter table<table _name> ADD column<colum_name> type (size)><option>

नया column add करते समय इसे कहा add करना है, उस पहले से add column का address देकर भी add कर सकते है।

mysql >alter table employee add column address varchar (20) Not Null;

Removing table – किसी भी table को Remove करने के लिए alter table  statement के साथ Drop clause यूज करते है।

mysql >alter table employee drop column salary;

Changing columns definiton – इसकी सहायता से table के किसी column को change करना चाहे तो इसकी लिए alter table statement  के साथ change clause यूज करके कर सकते है, जिस column में जो change करना है उसे change करना होता है

mysql>alter table employee change ID ……. not null auto_increment;

 

My SQL SELECT statement –

My SQL में सेलेक्ट statement data retrieve  करने के लिए यूज किया जाता है  ये statement database table में से एक या एक  से अधिक columns को select करता है। ओर उसे यूजर को दिखाता है। इसे 2 तरह से define कर सकते है, अगर all columns को show करना चाहे तो *(all) का use करते है या जिन columns को show करना चाहे उनका नाम define कर सकते है।

mysql >select <options (*etc)> colum_name> from table_name <options(order by etc)>

Selecting One colum – अगर किसी एक ही colum के data को ही show करना चाहे तो उस colum का नाम select कर उसे define किया जाता है

mysql>select name from employee ;

Insert, delete & update

Inserting data in MySQL tables

किसी भी tables को  create करने के बाद उसमें data store करने के लिये  Insert statement का यूज कर सकते है, Insert statement में 3  प्रकार से कर सकते है

  • Insert with values clause
  • insert with set clause
  • insert with select clause

Insert statement – tables में नई rows add करने के लिए यूज किया जाता है

mysql >insert into table_name  (col1, col2, col3) values (va1,va2,va 3);

इस तरह col, col2 और col3 table के वो columns में val, val2 और val3 values को table में store हो जायेगी।

mysql > insert into Emploee  (id, name, age, salary) values  (102, ‘Max’, 25, 25000);     

Insert with set clause – Insert statement  के साथ set clause भी tables में values store करने के लिए यूज की जाती है

mysql >insert into table_name set col=val, col2=val2, col3=val3, coln=valn;   

इस  तरह के statement में values column name के आगे ( = )  लगाकर लिखी जाती है-

mysql >insert into Emploee set id=103,  name= ‘bob’  age=45, salary=10000;

Insert with select clause

select clause के साथ Insert statement  किसी  एक  column की values को copy करने के लिए यूज किया जाता है

mysql> insert into table_name (col,col1,col2) select columns from  table_name where column=value;

Deleting rows from mysql tables

अगर table में किसी row को delete करनी हो तो delete statement को यूज कर सकते है इसके साथ where clause यूज करते है अगर यह नहीं लगाते है तो  सारी row delete हो जाती है, where clause से जिस row को delete करनी है उसे define करना पड़ता है।

mysql > delete from table_name where coumn_name=value;

mysql > delete from  Employee where Id=101;

Updating data in mysql tables

update statement row के कंटेंट  को update करने के लिए use किया जाता है,

mysql> update <table_name>set column_name=value where column-name=value;

mysql >update employee set salary=5000 where name= ‘john’;

अगर आप employee की salary  20% से बढ़ानी है तो इस प्रकार कर सकते है

mysql> update employee set salary=salary*1.2;

SQL expressions &  functions

  • Introduction to  sql  expressions
  • Numeric expressions
  • String  expressions
  • Temporal  expressins
  • Use of Mysql expressions

 

Introduction to  sql  expressions

SQl expressions किसी भी statement में वो भाग होता है,  जिसमे values को आपस में compare करते है expressions arithmetic calculation perfrom करते है My  SQl में expressions  अधिकतर where clause के साथ  यूज होते है, statement execute होने पर इस expression के base पर सभी rows को compare  किया जाता है।

mysql >select name from employee where id=101;

इस तरह define करके इस statement से id 101 eployee के सभी rows id value compare की जाती है or result show  हो जाता है।

कोई भी expressions 3  element  से मिलकर बना होता है वो इस प्रकार होता है

Variable –  mysql के अन्दर में किसे colamn का नाम होता है

value –    ये उस column की values होती है

Oprator – यह operators कोड या नाम होते है जैसे artithmetic, boolean,  logical, relational आदी।

SQL Numeric expressions

इस statement expressions से mathamatical calcucalations perfrom की जाती है। यह  calculator यूज करने जैसा है।

mysql > select 2+2;

statement के evaluate होने पर इसका result 4 show होगा

इसमे 3 built function provide  करती  है।

SUM (  )    ये function किसी भी column की सभी values का सुम  return करता है, ये function सिर्फ नुमेरिकल values के columns पर ही apply होता है।

इस statement से हर महीने की employee की salary देख सकते है की कितने पैसे खर्च हुए तो salary column की सभी rows का sum करना होगा।

mysql> select sum(salary) from employee;

AVG ( ) ये function  किसी भी column की सभी values का average return करता है।

mysql >  select avg(salary)  from employee;

यह  statement employee table की सभी rows का count return करता है

Count ( )    यह statement table में rows को count return करता है।

mysql > select count (*) from employee

SQL String  expressions

इस statement से किसी भी column की value को sow करता है जैसे की आप  किसी employee की salary show करना चाहते है तो इसके लिए आप उसका नाम देना होता है जो की एक string है।

mysql > select salary from employee where name= “john”;

Contact (  )

इस function से 2 strings को concat कर सकते है और result में single  string show कर सकते है।

mysql > select concat(‘my’,’Sql’);

Like clause

यह एक Interesting clause  proviede करती है जिसे  like clause  कहा जाता है

mysql> <select statement > like sting-तो-match with%

% एक option होता है जो pattern match करने  के लिए यूज किया जाता है

यह 3 प्रकार से यूज कर सकते है।

After string –  % string लगाते है तो result में वही rows show होती  है जो string से स्टार्ट होती है।

mysql > select name from emloyee where name like ‘a%’;

इस statement से employee table  से वही  नाम show करता है  जो  a से शुरू हो रहे है।

Before string

इस statement से % को string से पहले लगाते है तो वही result show होते है जो दी गयी string के साथ समाप्त होते है,

mysql >select name from employee where name like ‘%sharma’;

इस statement से employee table से अब सिर्फ वही नामो को show करेगा जो  sharma string के साथ समाप्त हो रहे है।

Both sides

इस statement  से आप % को string के दोनों तरफ  define कर सकते है यह  उस string के बिच से match हो रहे result को show होता है।

mysql > select name from employee where name like ‘kumar’;

इस statement से  employee table  से वही नाम show होते है जिनके बिच में kumar हो।

Introduction MYSQL joins

join की सहायता से एक ही query से कई tables से rows show कर सकते  है, अगर  बिना  joins के करते है तो इसके लिये एक सी अधिक  quires execute  करनी होगी , joins  के द्वारा show किया गया result नयी table from करता है जो  अलग tables के column से मिलकर बनी होती है mysql joins 3  प्रकार के होते है।

  1. Inner join
  2. left join
  3. right join

 

Inner join

यह  सबसे ज्यादा युज किया जाता है, इसे सिर्फ join भी कह सकते है इसे यूज करते है तो result उन rows को है show किया जाता है जो दोनों tables में match करती है।

mysql  > select <column-list> from tb1 join tb2 O (optional) tb1.co1= tb2.col;

इस keyword का यूज इसलिए किया जाता है की आप किस column को macth करके result show करना है। इसका युज optional होता है।

इसे समझने का प्रयास करते है माना की 2 tables है जो Student और Class है

studentInner join     Class nameClass nameid stu11I1 stu22II2 stu3nullIII3

ऊपर दिये गए table पर आप  syntax को यूज करते हुए  इन दोनों  tables  पार आप इनर join apply करा सकते है।

mysql > select  student.name,  class.name  from student  join  class on student.class= class.id;

जब आप इस query को execute करते है तो आपको result इस प्रकार show होगा।

student.name   Class.name      stu1         1      stu2         2

ऊपर दिए गए example में student 3 की  class table की किसी id match नहीं हो रहा है, इसलिये इसे result में show नहीं किया गया है।

left join

यदि किसी particular cloumn match हो या ना हो लेकिन left table की सभी  rows show हो तो इसके लिए आप  left join को यूज करते है तो आपको left table की सभी rows show होती है।

mysql>  select student.name,  class.name  from student left join class  student.class=  class.name;

इस प्रकार आप सभी student के नाम की  table sow होगी चाहे उसने class join  की हो या  नहीं  की हो तो result आपको  इस प्रकार show होगा .

student.nameclass.name    stu1   1    stu2   2    stu3

left  join  left table में हर row  को macth करता है चाहे right side की table में है या नहीं इससे कोई फर्क नहीं पड़ता है।

Right join

अगर आप right तबले सी सभी rows show करना चाहते है तो right join यूज कर सकते है।

mysql> select student.name, class.name from student right join class  ओं student.class= class.id;

OUTER JOIN

अगर आप दोनों tables में से पूरा data show करना चाहते है तो outer join को यूज कर सकते है इसके लिये LEFT और RIGHT joins के बिच union operation perform करना पड़ता है तो इससे पुरी table show होगा।

Sub Queries  

  • Introduction
  • Advantages of mysql
  • Types of mysql subqueries
  • Defining mysql subqueries

Introduction to mysql subqueries

एक subquery वह query होती है जो किसी दूसरी query के अन्दर होती है, इसे inner quries भी कहते है , जिन queries होती है वह  queries outer queries कहलाती है,  किसी  subqueries  की  select,  insert, update  और  delete statement में हो सकती है ज्यादातर  subqueries को  where और from clause के बाद लिखा जाता है।

Subquries SQL में dynamic execution का concept लाती है, result को outer query खुद के execution के लिये काम करती है,  Subqurey का result dynamically outer को पास किया जाता है।

यदि subqery का उपयोग ना करे तो inner query को पहले exuecute करना होगा इसके बाद उसके result को  outer quer में use करते हुए उसे execute करना होगा ये सब subqueries आसान बना देती है।

subquery  को हमेशा  (  )  में लिखा जाता है एक subquery में दूसरी subquery को भी define कर सकते है।

Advantages of subqueries:

दूसरी queris जैसे की joins unions बहुत complex होती है,  यह subqueries एक  structured फॉर्मेट में होती है,

यह  बड़ी query को अलग-अलग भाग में  बांट देती है,

subqueries readable होती है जिसे आसानी से समझा जा सकता है,

subqueries के result को store करने की जरुरत नहीं है,

 

Types of subqueries

subqueries को उसके result के अनुसार है

Scalar subquery – यह single value return करती है,

Row subqueries – यह row return करती है,

column subqueries – column return करती है,

Table subqueries –  यह एक table subqueries होती है,

 

Defining MySQl subqueries

Mysql में subqueries define करने के लिए syntax

mysql> <statement (select, insert, update, delete) ….  <table-name>

(from/where) < expression/operator> (<subquery>);

जैसा की आपने पढ़ा subqueries को select,  insert, update और delete statement में define किया जा सकता है, इन  statement को दूसरे clauses को define करने के बाद table का नाम देते है उसके बाद FROM या WHERE  clause  लगाते है। इसके बाद brackets में subquery को define करते है,

IDNameAgeSalary 101anu2510000 102ramu3015000 103bhagu3520000

ये एक employee table है अगर आप इसमे से आप salary average से कम है यह आप 2  steps में  पूरा कर सकते है।

mysql> select avg(salary) from employee;

अगर आप  20000 है और आप उन emloyees के name retrieve करना पडेगा जिनकी  salary  20000  से कम है, तो ऐसा इस प्रकार कर सकते है।

mysql >select  name  from employee where salary <20000;

जब आप  इस query को execute करेंगे तो आपको एक  employee का नाम show होगा जिसकी 20000 से कम है उनकी list  show होगी।

अगर आप single statement में भी आसानी से complete कर सकते है

mysql >select name from employee where salary< (select avg (salary) from Employee);

दोनों तरीको से result तो same ही आता है लेकिन   single subquery use करने पर काम ज्यादा  आसान हो जाता है।

MySQL views

  • Introduction to MySQL views
  • Creating  MySQl  views
  • Altering MySQL views
  • Droping MySQL views

Introduction to MySQL views

यह My SQL की result table होती है, इसे execute करके उसका result  store कर लिया जाता है, ये database में physically stored नहीं होती है, लेकिन पर आप  इसमे जब perform करते है या किसी प्रकार का कोई change  करते है तो automatically हो जाते है।

MySql views से data presentation को control भी कर सकते है,

इसके द्वारा किसी user की table के column आवर row को hide भी कर सकते है, इसके लिए view create  कर सकते है  उस view  के दवारा उन column को select कर सकते जिन्हें  show करना चाहते है, पुरी table को show करने की बजाय उसे view show कर सकते है, इससे data को सिक्यूरिटी भी provide कर सकते है, इसमे आप read only result set भी produce कर सकते है।

view processing algoerithms 

इससे आप यह define का सकते है की views किस तरह से process करते है,

इसके लिए Mysql algorithms provide करती है जो  इस प्रकार है-

MERGE  – इस algorithm के द्वारा view को process  करते है  तो view को execute करने वाला statement और view की defination यह उस merge होते है की view definition उस statement को replace कर देती है।

TAMPTABLE –  यह  view को  temporary table में retrieve कर देता है  बाद में इस table पर statement execute किये जाते है।

UNDEFINED – अगर ऊपर दी गयी दोनों algorithms use नहीं करते है तो उसके स्थान पर इसे use करते है।

Creating MySQL views

views create करने के लिए आप  create view statement use करते है,

mysql > CREATE

>[ALGORITHM  (optional) ={ UNDEFINED / MERGED / TAMPTABLE}]

>VIEW view-name [(column-list)(optional)]

>AS select-satement

इस तरह एक नया view create करता है इसमे view processing algorithm को define करना optional होता है, इसमे view  का नाम देते है, अगर आप  चाहो तो अलग-अलग नाम भी दे सकते है, सभी columns के  नाम  कमा (,) से  separated होने चाहिए, इसके बाद AS  clause लगाते है जो view को rename करने के लिए यूज किया जाता है, इसके बाद में select statement लिख सकते है  जो view को बनाता है, किसी भी view में सिर्फ Select  statement की ही query होती है।

mysql> create view Empview as select * from employee;

अब यह EmpView नाम  से एक view create किया गया है, execute  होने पर ये view employee table पुरे data को show करेगा, इस view को select statement द्वारा execute किया जाएगा।

mysql > select * from EmpView;

अगर आप किसी column को hide करना चाहते है उसके लिए view को ऐसे create कर सकते है, अगर आप salary column को hide ऐसे कर सकते है।

mysql > create view EmpView2 AS select id, name, age, from employee;

इसमे अब Employee table में आपको salary colum नहीं दिखाई देगा।

Droping  MySQL Views

किसी भी view को remove करने के लिए Drop View statement use करते है।

mysql > Drop View <view-name1>,<view-name>, <view-namen>;

Prepared Statements 

  • Introduction to Mysql  prepared statement
  • Creating  a mysql  prepared statement
  • Executing a mysql  prepared statement
  • De-allocating a mysql prepared statement

prepared statement ऐसे statement को define करने के लिए use किया  जाता है जिसमे आप बाद में execute किया जा सकता है prepared statement करके बाद में अलग –अलग values के साथ  execute कर सकते  है।

prepared statement सिर्फ एक बार ही parse किया  जाता है ,  इसे बार –बार parse करने  की जरुरत नही होती होती है बाद में इसे कितनी भी बार execute किया जा  सकता है।

prepared statement को जब  भी execute  करते है  तो बहुत कम change के साथ client और server के बिच interaction होता इससे mysql server पर लोड भी कम हो जाता है, यह data base को injection attacks  से security भी provide करते है।

MySQl में आप अपनी तरफ से statement को prepare नहीं कर सकते है,  My sql में आप इन statement को ही prepare कर सकते है।

  • SELECT
  • INSERT
  • UPDATE
  • DELETE
  • CREATE TABLE
  • SET, DO, SHOW

Creating a prepared statement

prepared statement को create करने  के लिए इस  PREPARE कमांड  को use करते है।

mysql > PREPARE < name-of-prepared-statement> from <sql statement with ?>

यह एक prepared statement में 2 parameters define करने होते है, एक prepared statement का  नाम और दूसरा जिसमे SQL statement जिसमे prepare करना चाहते है, SQL statement इसे आप string के रूप में भी define करते है तो सिंगल quotes में define करते है। SQL statement में values पहले से पता नहीं है तो उन्हें question मार्क (?) लगाया जाता है, यह एक parameter की तरह काम करता है, जब stament को execute करते है तो उस समय इन parameter के लिए values provide करवाते है,

My SQL server (?) को values के द्वारा replace कर देता है, इस प्रकार जब भी आप prepared statement को execute  करते है तो अलग-अलग- values use कर सकते है।

Id Name Age Salary
101 Anu 20 15000
102 Ramu 25 20000
103 Raju 30 25000

 

इस  table  के  लिए simple prepare stament इस प्रकार से create कर सकते है।

Mysql >  prepare mypstmnt from ‘select Name from Employee where Id=?’;

इस प्रकार के prepared statement id के base पर पर employee table से employee का नाम show करता है, where clause के बाद id column को  define किया गया है और उसकी value नहीं देकर (?) दिया गया है।

अब अगर इसे execute करना है तो इस तरह से करेंगे

Excuting Mysql prepared create होने के बाद आप उसे कितनी भी बार execute कर सकती है यदि prepared statement में (?) parameter का use किया है तो उसके लिए Value पास करना जरुरी है,

value पास करने के लिए एक variable को use करते है वो इस तरह से create कर सकते है,

mysql > set @varName = ‘value’;

ऊपर दिए गए  उदाहरण के लिए अगर id value को पास करने के लिए variable create करना चाहे तो इस प्रकार कर सकते है,

mysql > set @empid = ‘102’ ;

एक statement यूज करने के लिए  EXECUTE command use करते है ,

अगर आप agrument paas करना चाहते है तो इसके लिए आप USING clause use करते है,

अगर आप ऊपर दिए गए उदाहरण के लिए create किये गये prepared statement को इस प्रकार  execute कर सकते है।

mysql > execute mypstmnt using @empid;

इस प्रकार ऊपर दिए गए SQL statement को execute करेगा तो रिजल्ट employee का नाम Ramu show होगा उसके साथ उसके vaules के साथ execute करा सकते है।

De-allocating MySQL prepared statements

जब भी server से connection terminate होता है तो prepared statements automatically drop हो जाते है , लेकिन यदि फिर भी आप इन्हें manually drop करना चाहते है तो इसके लिए आप DE-ALLOCATE PREPARE statement को use करते है

mysql > deallocate prepare mypstmnt;

MySQL Transactions

  • Introduction to MySQL Transactions
  • ACID properties
  • Transaction execution process
  • Transation control statement

Introduction to MySQL Transactions

यह एक Transactions DML statement का ग्रुप होता इस ग्रुप के सभी statement इक साथ एक  statement की तरह execute किये जाते है, इसमे अगर एक भी statement  का execution fail हो जाये तो पूरा transation ही fail हो जाता है, एक transaction तभी successfully execute होता है जब सभी statement successfully  execute होते है।

इसका सबसे ज्यादा use बैंकिंग system में होता है,  जैसे की आप अपने किसी एक अकाउंट  से 1000 रुपये किसी दुसरे अकाउंट में ट्रान्सफर करने है तो इसे complete करने के कई तरीके होते है-

सबसे पहले चेक किया जाता है की आपके पास कितने रुपये है 1000 है या नहीं,

इसके बाद दुसरे अकाउंट  में 1000 निकाले जाते (main balance – 1000)

इसके बाद दुसरे अकाउंट में 1000 जमा किये जायेंगे (main balance+1000)

अब आपको balance ट्रांसफ़र करने के सारे step पुरे करने होते है, अगर इनमे से एक भी step fail हो जाता है तो transaction fail हो जाता है वो किसी भी transaction के fail होने से पहले से जो  भी change database में किये गए  थी उन्हें rollback( database पुरानी situtaion में आ जाता है) कर लिया जाता  इससे database की integrity कायम रहती है, माना की आपने second step  complete कर लिया है और third step को complete करते  समय  technical error  आ गयी तो  transaction fail हो  जाएगा एसी situation में यदि first और second steps  rollback नहीं किये जायेंगे तो database accurate नहीं माना जाएगा।

Transactions के बारे में और अधिक जानने के लिए पहले ये आपको ये जानना जरुरी है Transactions केवल उन्ही storage egnies के साथ काम करते है, जो Transactions को सपोर्ट करते है, जैसे InnoDB storage engine आदि,

MySQL Transactions की कुछ प्रॉपर्टीज होती है जिनके बारे में जानना जरुरी है,

Properties ऑफ़ MySQL Transactions (ACID)

यह MySQL में चार होती है,

Atomic – ये property सुनिश्चि करती है सभी statements successfully execute किये जा चुके है,  और यदि किसी statement का execution fail होता है तो उससे पूर्व किये जा चुके सभी  styatement rollback कर दिए जाते है।

Consistent –  ये poperty  यह सुनिश्चित करती है, की database द्वारा सभी changes properly कर लिए गए है,

Isolated – यह एक Transactions किसी दुसरे Transactions से independently execute हो सकता है।

Durable – ये property यह सुनिश्चित करती है जो भी

Transactions exuecution process

कोई भी Transactions एक process के थ्रू execute होता है, अगर आप इस process को समझ लेते है तो आप MySQL में Transactions का Use आसानी से समझ  में आ जायेगा कुछ स्टेप्स दिए जा रहे है जो किसी Transactions के execute होने की process को दर्शाते है।

सबसे पहले जब आप किसी Transactions को start करते है तो इसके बाद Transactions में define किये गए सभी DML statement को execute किया जाता है इसके साथ वह errors को भी चेक करता है, अगर कोई errors create होती है तो Transactions को rollback कर लिया जाता है नहीं तो  Transactions को commit कर दिया जाता है।

Transaction control statement

SQL  Transactions को control करने के लिए आपको built इन  statements provide करती है, इन statement को Transactions control language भी कहते है।

  1. START TRANSACTION OR BEGIN
  2. COMMIT
  3. ROLLBACK
  4. AUTOMATIC

START TRANSACTION OR BEGIN

अगर आप एक नया Transactions शरू करना चाहते है, तो इसके लिए आप इस Transactions statement को use कर सकते है।

mysql > start transactions;

mysql  > begin transaction;  यह दोनों statement Transactions स्टार्ट करने के लिये मान्य है।

Commit जब  Transactions के दवारा perfrom किये गए changes को permanently सेव करना है तो इसके लिए इस statement का use करते है,

यह  statement use करने के बाद इसे rollback नहीं किया जाता है ये changes हमेशा के लिए सेव हो जाते है इसलिए इसका use सावधानी पूर्वक करना चाहिए।

mysql > commit;

Rollback

अगर आप  changes को दुबारा revert दुबारा करना चाहते है, तो इसे Rollback statement का use करते है , ऐसा करने से अगर Transactions के समय किसी प्रकार की Error  या Technikal problom आने से rollback करने की लिये काम करता है।

mysql  > rollback;

Naming Transactions

अगर आप चाहे तो Transactions  का नाम दे सकते है, इसका नाम देने से उसका task  identify करने में आसानी होती है, यह बड़े Transactions के लिए usefully होता है।

किसी भी Transactions का देना है तो इसे start statement के साथ ही Transactions का नाम define करते है जैसे  –

mysql > start transactions A1;

A1 Transactions का नाम दिया गया है।

Auto-commit Mode

इस mode में सभी Transactions automatically successfully execute  होने पर commint हो जाते है, आपके database में by default ये mode enabled रहता है,  यानी जब आप कोई query successfully execut करते है, तो वह change परमानेंट हो जाता है, यदि ये mode इनेबल नहीं हो तो change को permanent करने के लिए बार बार commit statement execute करना पडेगा यह किसी छोटे project के लिए ये mode enabled ठीक है।

अगर किसी बड़े project पर काम करना हो तो इसे disable कर दिया जाता है क्यों की बड़े project में गलतिया होने से बहुत सा नुकसान हो सकता है, इसलिए हर query को समझ कर ही इसे execute करे और उसे commit करने से पहले उसके बारे में निर्णय लिया जाता है।

अगर आप इसे disable करना चाहते है तो इसके लिए आप set कमांड यूज करते है,

mysql > set autocommit = 0;

अगर आप इसे enable करना चाहते है तो इसके लिए आप set कमांड यूज करते है,

mysql > set autocommit = 1;

Stored Routines

  • Introduction to MySQL Stored routines
  • Uses of Mysql Stored Stored Routines
  • Advantages ऑफ़ Mysql Stored Routines
  • Types ऑफ़ mySQl Stored Routines
  • Mysql Stored Routines
  • Stored procedures with parameters
  • MySQL Stored function

Introduction to MySQl Stored Routines

कई बार कुछ ऐसे statement होते है, जिन्हें आपको बार-बार execute करने की आवश्यकता पड़ती है, क्यों की जब भी select statement से आप बार-बार

tables के रिकॉर्ड चेक करते है, इससे आपका time waste होता है और अगर आप mysql से related  application develop करते  है, तो बार बार उन्ही statement को execute करने की वजह से time भी ज्यादा हो जाता है, msql  एक mechanism provide करती है, जो  stored routines  कहलाते है।

stored routines कुछ  SQL statement का set होता है जिसे आप  इसे बाद में call करके reuse कर सकते है , ये set Mysql  server में stored रहता है, बाद में इसे एक  simple call statement के द्वारा execute करवाया जा सकता है।  stored routines को  एक ही database में इसे use कर  सकते किसी दुसरे database में फिर से इसे use नहीं कर सकते है,

यह 2 प्रकार के होते है

  1. stored procedures
  2. Stored functions

Use Of stored routines

stored procedures statement के द्वारा आप इसे create कर सकते है, जो server पर stored रहेंगे जिन्हें different client applications server के through execute करवा सकती है, जैसे की अलग-अलग शहरों में client आपकी application को use कर रहे है, तो particular statements को client application में सेव नहीं करके उसे server stored routines की from में store किया जा सकता है, जहा से सभी client  उन्हें execute करवा सकते है, इससे client application पर लोड कम हो जाता है,

अगर आप अपनी application में सिक्यूरिटी चाहते है तो आप stored routines  का use ले सकते है,  इन्हें आपके verified यूजर ही उन्हें execute करवा सकते है, जैसे की administrator आदि।

अगर आप client application के द्वारा data के एक्सेस को control  करना चाहते है तो इसके लिए भी आप stored routines का use  करते है।

Advantages of stored routines

Fast exuecution

अगर आप अपनी application में fast exuecution लाना चाहते है, तो stored routines  use करके इसमे एक ही बार में stored routine को complie किया जा सकता है,  इसके बाद इसे server में store कर दिया जाता है, जब इसे call कर दिया जाता है, तो इसे दुबारा comile नहीं होता है सीधा execution पहले से fast हो जाता है।

Reduced  client /server traffic

stored routines के बिना आपको बहुत से SQL statement execute करवाने होंगें इससे server पर trafic ज्यादा होता है, लेकिन  stored routines एक सिंगल SQL statement की तरह execute होते है इससे server पर trafic  पहले से बहुत कम हो जाता है।

Centralized control

यह  stored routines की advantage है की आप पुरे कोड को एक जगह server पर store कर पाते है, इससे database  administratiors (DBA’s) को application को control करने की क्षमता प्राप्त होती है।

Security

stored routines आपको  एक एक्स्ट्रा सिक्यूरिटी layer provide करते है, stored routiness से आप tables से related  सिक्यूरिटी control implement कर सकते है।

Types of stored routines यह 2 प्रकार के होते है

Stored procedures

इसके द्वारा कोई value return नहीं की जाती है, इसमे select statement के साथ  दुसरे DML statement भी use कर सकते है,  इसमे transaction use कर सकते है , साथ ही इसके call command के द्वारा call भी किया जा सकता है।

Stored functions – इसके द्वारा value return  की जाती है, इसमे सिर्फ select  statement ही use कर सकते है, इसमे आप transaction statement use नहीं कर सकते है, इसमे select command के दवारा call किया जाता है।

Stored procedures

यह SQLstatement का set होता है इससे output variables के द्वारा value को पास किया जा सकता है, इसे इस प्रकार से create कर सकते है।

mysql > create procedure procedure_name (parameter-list)

>BEGIN

>//sql statements

>END

जब भी आप कोई procedure create करते है, उससे पहले delimiter change करते है , जैसे की default delimiter semicolon (;) होता है और इसे ही किसी भी mysql statement का  end माना जाता है,  इसलिए अगर आप procedure में semicolon (;) use करते है तो इसे वह  भी procedure को end  मान लिया जाता है,

तो ऐसी स्थिति में आप procedure को end करने वाले delimiter को change कर देते है ताकी आप उसे आप semicolon (;) procedure के अन्दर use कर सके इसके लिए delimiter statement का use करते है ,

mysql > delimiter //    इस statement के उसे होने के बाद कोई भी statement execute करते है उसे // से end किया जाएगा साथ ही आप procedure के अन्दर SQL statement को semicolon (;) से end कर सकते है,

mysql  >  delimiter //

>create procedure my procedure

>begin

>select * from employee ;

> end //

mysql > delimiter ;

यह  simple stored procedure create किया गया है call किये जाने पर ये stored procedure employee table से सभी rows को select करके show करता है, किसी भी stored procedure को call करने के लिए CALL statement use करते है,

mysql > call procedure;

Stored procedures with parameters

Stored procedures कोई value return नहीं करते है इसलिए इनमे value  पास करने और value वापस प्राप्त करने के लिए mysql आपको कुछ keyword provide करती है इन keyword की मदद से आप किसी भी procedure में इनपुट भी कर सकते है और output प्राप्त भी कर सकते है,

  1. IN –  यह इनपुट पास करने के लिए use करते है,
  2. OUT –  यह output प्राप्त करने के लिए use  करते है,
  3. INPUT – यह keyword input और output दोनों कर सकते है,

mysql  > delimiter //

>create procedure add(in num int, out result int)

> begun

> set result = num +2;

> end //

mysql > delimiter ;

इस प्रकार add procedure में paramiter pass किये गए है, इनमे num इनपुट paramiter  है  और  result output paramiter  है जब भी इसमे call करते  है तो एक integer number पास करेंगे  और procedure आपको उस number में 2 add कर देगा उस value को result में store कर देगा इस तरह के procedure को आप इस प्रकार कर सकते है,

mysql > call add(8,@result);

जब भी ऐसे  procedure को call करते है जो  paramiter use करता है तो output paramiter से पहले @ symbol लगाया जाता है। अब इस procedure  से result में store की गयी value प्राप्त करने के लिए आप इस प्रकार select statement use कर सकते है।

Stored functions

यह भी SQL statement में set होते है, लेकिन ये values return करते है,  Stored functions को select statement  द्वारा call किया जाता है।

mysql > create function_name (parameter-list) RETURNS return_type

>BEGIN

>// SQL statement

>END

Stored functions   create करने से पहले इसमे भी delimiter को  change करते है।

mysql > delimiter //

mysql > create function my function returns int (10)

> begin

> set num=5;

> return num;

> end

mysql  > delimiter ;

इस तरह से Stored functions create किया जाता है इसमे num और उसकी value 5 set की गयी है यह भी call होने पर  Stored functions simply variable की value को  return  करता है, select call करने के लिए select statement को use करते है  ,

mysql  > select my function ( );

Stored functions with paramiter declare कर सकते है,

mysql > create function function-name(parameter-name parameter- type (size) );

stored functions में parameters के use इस तरह से कर सकते है,

mysql > delimeter //

mysql > create function add (num int (10))

>return int (10)

>begin

>return num+;

>end

mysql > delimiter ;

MySQL Triggers

 

Introduction to MySQL triggers

triggers stored programs ही होते है, ये stored procedures की तरह ही  होते है, लेकिन  triggers को आप खुद execute नहीं कर सकते है, ये automatically  execute होते है, triggers का execution different events के बाद या पहले होता है यह 3 प्रकार के होते है

  1. INSERT
  2. UPDATE
  3. DELETE

 

इन्हें ट्रिगर events माना गया है, यह database में change करते है जब भी किसी table पर statement execute हो तो आप triggers fire कर सकते है, इससे related triggers create कर सकते है।

trigger एक database object होता है, जो  table से associated रहता है जब भी उस table पर कोई इवेंट generate होता है तो trigger  execute हो जाता है, इसके द्वारा tasks को automate कर सकते है।

trigger से table पर vailidation perform करके यह पता लगा सकते है की  जब table में row insert करते है तो इससे पहले की value की पास की गयी values table में insert को आप check कर सकते है की values vailid है या नहीं।

trigger से different events पर कुछ calculation भी perfrom कर सकते है,

insert statement के बाद values को calculations perfrom करके नयी table भी generate कर सकते है।

triggers  केवल तब  ही fire होते है, जब sql statement में table में कुछ change किया जाता है।

trigger को temporary table या view से associted नहीं किया जा सकता है, ये सिर्फ permanent table के साथ ही associated  रहता है।

MySQL Creating triggers

mysql > create trigger trigger_name

>trigger-time trigger-on table-name

>For each Row

>begin

>trigger_body

>end

इस तरह trigger create करते समय सबसे पहले create trigger statement define किया जाता है इसके बाद trigger का नाम दिया जाता है।

इसके 2 elements define किये जाते है

Trigger -Time- यह trigger का execution time define करता है, इसकी value 2 values होती है

BEFORE – जब आप चाहते है की trigger इवेंट से पहले execute हो तो आप इसका use कर सकते है।

AFTER –  यदि आप trigger को इवेंट के बाद में execute कर सकते है,

TRIGGER EVENT – यह आप पर भी trigger fire करना चाहे उसे trigger time के बाद define कर देते है, जिस table पर event execute करना चाहते है इसके लिए ON command use की जाती है, इसके बाद उस table का नाम देते है।

इसके बाद FOR EACH ROW clause define किया जाता है ये बताता है की trigger table की हर us row के लिए execute होता है जो इवेंट द्वारा affected होगी,

इसके बाद trigger की body define करते है ये वो SQL statements होते है जो event generate होने पर trigger द्वारा execute किये जाते है,

OLD And NEW aliases

जब भी आप triggers से affected rows के साथ काम करना चाहते है तो इसके लिए mysql आपको old or New aliases provide करती है,

Old alias event के पहले records को represent करता है Or न्यू alias event के बाद के रिकॉर्ड को represent करता है।

mysql > delimiter //

mysql > create trigger emptrigger after delete on employeefor each row

>begin

>insert into fired employee (Id, Name, age, salary) values(old.id, old.name, old.age, old.salary);

gt; end //

mysql > delimiter ;

जब आपकी कंपनी में से कोई employee नौकरी छोड़कर जाते है और उसका  data  delete किया जाएगा तो वो automatically fired employee वाली table में सेव हो जाता है।

Deleting trggers जब भी कोई table delete की जाती है तो सारे triggers delete हो जाते है, लेकीन अगर आप सिर्फ trigger को delete करना चाहते है तो Drop statement से कर सकते है,

mysql > Drop trigger trigger_name;

triggers को delete इस तरह करते है इसमे employee table पर trigger को drop कर सकते है।

mysql > drop trigger employee;

My SQL Metadata

 

Introduction to My SQL Metadata

इसका मतलब data के बारे में data होता है, वह data जो database में stored नहीं है लेकिन detabases को describe करता है,  metadata कहलाता है यह  Msql में विभिन्न structures (database, tables & columns ) के बारे में information provide करता है। यह mysql में 3 प्रकार से access  होते है, Information_Schema database को use करके show और describe statement को use करके mysql show command line program को use करके Information_Schema database। यह ऐसा data base है, जो tables को object के रूप में store कर रखता है, Information_Schema की सभी tables के बारे में metadata store करती है।

यह सभी यूजर के लिए  automatically उपलब्ध होता है,

Information_Schema की tables को देखने के लिए show tables command use कर सकते है

CHARACTER_SETS – यह table available character sets के बारे में informatiओं provide करती है,

COLLATIONS – यह हर character set के collation के बारे में information provide करती है।

COLLATION_CHARACTER_SET_APPLICABILITY – यह बताता है की table कौनसा character  set किस collation के लिए applicable है।

COLUMNS – यह ये बताता है की  tables और views के अन्दर create किये गए columns के बारे में बताती है।

COLUMN_PRIVILEGES – यह table उसेर्स को assign किये गए column privileges के बारे में बताती है।

ENGINES  – ये table storege engines के बारे में बताती है।

EVENTS  –  ये table में scheduled events के बारे में बताती है।

FILES  –  ये tables उन फाईल के बारे में बताती है जिनमे information store करती है।

KEY_COLUMN_USAGE – ये table में key column constraints के बारे में information store की जाती है।

PARTITIONS – यह table partitions के बारे में information के बारे में बताती  है।

PROCESSLIST – यह table में threads running state के बारे में बताते है।

REFERNTIAL_CONSTRATINTS  यह table  की foreign keys  के बारे में बताती है।

ROUTINES – यह table stored procedures or functions के बारे में बताती है।

SCEMATA –  यह table में database के बारे में बताती है।

SCHEMA_PRIVILEGES  –  ये table user को assign किये गये database privileges के बारे में बताती है।

STATISTICS – इस table के द्वारा table indexes के बारे में बताती है।

TABLES  – ये table database की tables के बारे में बताती है।

TABLE_CONSTRAINTS यह table के बारे में बताती है।

TABLE_PRIVILEGES ये table users को assign किये गए table privileges के बारे में बताते है।

TRIGGERS – ये table triggers के बारे में बताती है।

USER_PRIVILLEGES – ये table users को assign किये गए global privileges के बारे में बताती है,

VIEWS – ये table views के बारे में बताती है।

MySQL SHOW statement

यह MySQL में SHOW statements provide करती है,

SHOW databases – ये statement MySQL में seve database की list show करता है।

SHOW TABLE –  ये statement MySQL में selected database में create की गयी tables  की list show करता है,

SHOW COLUMNS – यह  statement MySQL में table के सभी columns की from  clause के  साथ table का नाम दिया जाता है उसे  execute किया जाता है।

SHOW INDEX /SHOW KEYS –  ये  statement MySQL में  किसी table की सभी indexes की list show करता है इसे from  clause के  साथ table का नाम दिया जाता है उसे  execute किया जाता है।

SHOW  CHARACTER SET– ये  statement MySQL में  किसी table की सभी character sets की list show करता है।

SHOW COLLATION –  ये statement हर character set के लिए collations की list show  करता है।

My SQL DESCRIBE statement

यह table का structure show करता है , जिसमे columns का name, columns का data type, keys आदि  के बारे में बताता है।

Mysql >  desirebe table_Name;

Mysql > desire table_Name;

 

“A debt of gratitude is in order For To Read This Blog..!”

 

Related:  Study Tips For All ExamsHow To Use HTMLStudy Tips For All Competition ExamsDownload all materials PDF notes in HindiHow To Use HTML in HindiLearning to Use CSS Attribute Sectors in Hindi,JavaScript  introduction in HindiIntroduction of PHP? Know Features and application of PHP?Android development tools – Innoza

 

Chhaya Ninama
Follow me

Chhaya Ninama

CEO at Innoza at Innoza IT Center
I am SEO Expert in Innoza and am also Web developer at here..
Chhaya Ninama
Follow me

Related Post

Chhaya Ninama
Chhaya Ninama
I am SEO Expert in Innoza and am also Web developer at here..

Leave a Reply

Your email address will not be published. Required fields are marked *