அறிக்கைகள் அறிமுகம்

அனைத்து SQL வினவல்களையும் நிபந்தனையுடன் இரண்டு குழுக்களாகப் பிரிக்கலாம்:

  • தரவை மீட்டெடுக்கிறது - இவற்றில் SELECT அறிக்கை அடங்கும் .
  • தரவை மாற்றியமைத்தல் - INSERT , UPDATE மற்றும் DELETE அறிக்கைகள் இதில் அடங்கும் .

முதல் குழுவிற்கு, ஏற்கனவே நமக்கு நன்கு தெரிந்த அறிக்கை இடைமுக முறை பயன்படுத்தப்படுகிறது - executeQuery() . கொள்கையளவில், இந்த முறை தொடங்குவதற்கு போதுமானது. உண்மையான வேலையில் நீங்கள் பயன்படுத்த வேண்டிய மிகப் பெரிய சதவீத வினவல்களை இது உள்ளடக்கியது.

நாங்கள் பின்னர் கூடுதல் விருப்பங்களைப் பெறுவோம், ஆனால் இப்போதைக்கு, நினைவில் கொள்ளுமாறு நான் உங்களுக்கு அறிவுறுத்துகிறேன் - நீங்கள் ஒரு அட்டவணையில் இருந்து தரவைப் பெற விரும்பினால், பெரும்பாலான நிகழ்வுகளில் executeQuery () முறை சரியான தேர்வாக இருக்கும்.

இரண்டாவது குழு கோரிக்கைகளுக்கு, நீங்கள் அறிக்கை இடைமுகத்தின் மற்றொரு முறையைப் பயன்படுத்த வேண்டும் - executeUpdate() . ExecuteQuery() முறையைப் போலல்லாமல் , இது ResultSet ஐ வழங்கும், இந்த முறை உங்கள் வினவல் செயல்படுத்தப்படும் போது அட்டவணையில் எத்தனை வரிசைகள் மாற்றப்பட்டது என்பதை உங்களுக்குத் தெரிவிக்கும் ஒரு முழு எண்ணை வழங்குகிறது .

எடுத்துக்காட்டாக, பணியாளர் அறிக்கையிலிருந்து நீக்குதல் (எனவே மிகவும் கவனமாக இருங்கள்) மூலம் அனைத்து வரிசைகளையும் நீக்கலாம் . இந்த வழக்கில், executeUpdate() முறை நீக்கப்பட்ட வரிசைகளின் எண்ணிக்கையை வழங்கும். சில சூழ்நிலைகளில், மாற்றப்பட்ட வரிசைகளின் எண்ணிக்கையை அறிவது தரவுகளுடன் பணிபுரியும் வழிமுறைகளை உருவாக்க பயனுள்ளதாக இருக்கும்.

கொள்கையளவில், இந்த கேள்வியை நாம் முடிக்க முடியும் - நாங்கள் ஏற்கனவே முக்கிய விஷயத்தைப் பார்த்தோம். தரவு பெறுவதற்கு - executeQuery() . தரவை மாற்ற - executeUpdate() .

executeQuery() முறையைப் பயன்படுத்தி பயனர் அட்டவணையில் உள்ள பயனர்களின் எண்ணிக்கையைப் பெறவும் :


	ResultSet results = statement.executeQuery("SELECT Count(*) FROM user");
	results.next();
    int count = results.getInt(1);

executeUpdate()

உங்கள் வினவல் அட்டவணையில் எதையாவது மாற்றும்போது executeUpdate() முறை பயன்படுத்தப்படுகிறது. அது எதுவும் இருக்கலாம்:

  • அறிக்கையைப் புதுப்பிக்கவும்
  • அறிக்கையைச் செருகவும்
  • அறிக்கையை நீக்கு
  • அழைப்பு நடைமுறை அறிக்கை

இந்த முறை மாற்றப்பட்ட (அல்லது நீக்கப்பட்ட) வரிசைகளின் எண்ணிக்கையை வழங்குகிறது.

எங்கள் அனைத்து ஊழியர்களின் சம்பளத்தையும் 1000 ரூபிள் அதிகரிக்கும் கோரிக்கையை எழுதுவோம்.


   int rowsCount = statement.executeUpdate("UPDATE  employee SET salary = salary+1000");

நான் இந்தக் குறியீட்டை இயக்கிய பிறகு, அது எனது டேபிளில் 6 என்ற எண்ணைத் திரும்பப் பெற்றது. எனது டேபிளில் 6 வரிசைகள் இருந்தன. எனவே அனைத்து வரிகளும் மாற்றப்பட்டுள்ளன.

செயல்படுத்த()

சில நேரங்களில் உங்கள் வாழ்க்கையில் நீங்கள் என்ன கோரிக்கையை நிறைவேற்ற வேண்டும் என்று உங்களுக்குத் தெரியாத சூழ்நிலைகள் ஏற்படலாம் - ஒரு தேர்வு அல்லது தரவு மாற்றம். இந்த வழக்கில், ஜேடிபிசியின் படைப்பாளிகள் அதற்கு மற்றொரு பொதுவான முறையைச் சேர்த்துள்ளனர் - செயல்படுத்து() .

executeQuery() மற்றும் executeUpdate() முறைகளுக்குப் பதிலாக இந்த முறையைப் பயன்படுத்தலாம் . இந்த முறைகள் எவ்வாறு வேறுபடுகின்றன என்பது உங்களுக்கு நினைவிருக்கிறதா? சரி. முடிவு வகை. எனவே, ஜேடிபிசியின் படைப்பாளிகள் அத்தகைய தீர்வைக் கொண்டு வந்தனர்.

execute() முறை பூலியனை வழங்குகிறது. இந்த மதிப்பு உண்மையாக இருந்தால் , தரவு பெறுவதற்கான கோரிக்கை செயலில் உள்ளது, மேலும் தரவைப் பெற நீங்கள் getResultSet() முறையை அழைக்க வேண்டும். உதாரணமாக:


    boolean hasResults = statement.execute("SELECT Count(*) FROM user");
    if ( hasResults ) {
        	ResultSet results =  statement.getResultSet();
        	results.next();
        	int count = results.getInt(1);
 	}

இந்த மதிப்பு தவறானதாக இருந்தால் , தரவு மாற்றக் கோரிக்கை செயலில் உள்ளது, மேலும் வரிசைகளின் எண்ணிக்கையை மாற்ற getUpdateCount() முறையை நீங்கள் அழைக்க வேண்டும். உதாரணமாக:


    boolean hasResults = statement.execute("UPDATE  employee SET salary = salary+1000");
    if ( !hasResults ) {
      	int count = statement.getUpdateCount();
 	}

வினவலின் முடிவைக் காண்பிக்கும் முறையை எழுதுவோம்:


	public void executeAndPrintSQLQuery(String sqlQuery) {
 
        boolean hasResults = statement.execute(sqlQuery);
        if ( hasResults ) {
 	          ResultSet results =  statement.getResultSet();
           	System.out.println(“Your request lines below:);
 
           	while (results.next()) {
 	                 Integer id = results.getInt(1);
     	             String name = results.getString(2);
                      System.out.println(results.getRow() + ". " + id + "\t"+ name);
  	        }
       }
 	  else {
            int count = statement.getUpdateCount();
        	System.out.println(“Number of name strings:+ count);
  	}
}

பொதுவாக நடைமுறையில் execute() முறை இப்படித்தான் பயன்படுத்தப்படுகிறது.