അടിസ്ഥാന SQL പ്രസ്താവനകൾ. അടിസ്ഥാന SQL ഓപ്പറേറ്റർമാർ. ഇന്ററാക്ടീവ് SQL

കൂടാതെ പട്ടികയുടെ ഡാറ്റയ്ക്ക് മുകളിൽ.

SQL ഭാഷ എന്ന് വിളിക്കുന്നു അന്തർനിർമ്മിത, കാരണം ഒരു സമ്പൂർണ്ണ വികസന ഭാഷയുടെ പ്രവർത്തനങ്ങൾ ഇതിൽ അടങ്ങിയിരിക്കുന്നു, കൂടാതെ ഡാറ്റ ആക്‌സസിൽ ശ്രദ്ധ കേന്ദ്രീകരിക്കുന്നു, അതിന്റെ ഫലമായി ഇത് ആപ്ലിക്കേഷൻ ഡെവലപ്‌മെന്റ് ടൂളുകളുടെ ഭാഗമാണ്. SQL ഭാഷാ മാനദണ്ഡങ്ങൾ പാസ്കൽ, ഫോർട്രാൻ, COBOL, C മുതലായവ പ്രോഗ്രാമിംഗ് ഭാഷകളെ പിന്തുണയ്ക്കുന്നു.

നിലവിലുണ്ട് എംബഡഡ് SQL ഉപയോഗിക്കുന്നതിനുള്ള 2 രീതികൾ:

  • നിശ്ചലമായഭാഷ ഉപയോഗം ( സ്റ്റാറ്റിക് SQL) - പ്രോഗ്രാം ടെക്സ്റ്റിൽ SQL ഫംഗ്ഷനുകളിലേക്കുള്ള കോളുകൾ അടങ്ങിയിരിക്കുന്നു, അവ സമാഹരിച്ചതിന് ശേഷം എക്സിക്യൂട്ടബിൾ മൊഡ്യൂളിൽ ഉൾപ്പെടുത്തിയിട്ടുണ്ട്.
  • ചലനാത്മകംഭാഷ ഉപയോഗം ( ഡൈനാമിക് SQL) - SQL ഫംഗ്ഷൻ കോളുകളുടെ ചലനാത്മക നിർമ്മാണവും അവയുടെ വ്യാഖ്യാനവും. ഉദാഹരണത്തിന്, പ്രോഗ്രാം എക്സിക്യൂഷൻ സമയത്ത് നിങ്ങൾക്ക് ഒരു റിമോട്ട് ഡാറ്റാബേസിൽ നിന്ന് ഡാറ്റ ആക്സസ് ചെയ്യാൻ കഴിയും.

എസ്‌ക്യുഎൽ ഭാഷ (ഡാറ്റാബേസുകളിൽ പ്രവർത്തിക്കുന്നതിനുള്ള മറ്റ് ഭാഷകളെപ്പോലെ) അന്വേഷണങ്ങൾ തയ്യാറാക്കുന്നതിനും നടപ്പിലാക്കുന്നതിനുമായി രൂപകൽപ്പന ചെയ്‌തിരിക്കുന്നു. ഒന്നോ അതിലധികമോ പട്ടികകളിൽ നിന്ന് ഒരു ഡാറ്റാ അന്വേഷണം നടപ്പിലാക്കുന്നതിന്റെ ഫലമായി, ഒരു കൂട്ടം റെക്കോർഡുകൾ ലഭിക്കും, അതിനെ വിളിക്കുന്നു അവതരണം.

നിർവ്വചനം 1

പ്രകടനംഒരു ചോദ്യം നിർവ്വഹിക്കുന്നതിന്റെ ഫലമായി രൂപംകൊണ്ട ഒരു പട്ടികയാണ്.

അടിസ്ഥാന SQL ക്വറി ലാംഗ്വേജ് ഓപ്പറേറ്റർമാർ

SQL ഭാഷാ ഓപ്പറേറ്റർമാരെ പരമ്പരാഗതമായി തിരിച്ചിരിക്കുന്നു 2 ഉപഭാഷകൾ:

  1. ഡാറ്റ ഡെഫനിഷൻ ഭാഷ ഡി.ഡി.എൽ;
  2. ഡാറ്റ കൃത്രിമത്വം ഭാഷ ഡിഎംഎൽ.

പട്ടികയിൽ, അവ * എന്ന് അടയാളപ്പെടുത്തിയിരിക്കുന്നു നിർദ്ദിഷ്ട ഓപ്പറേറ്റർമാർഭാഷ.

ഏറ്റവും പ്രധാനപ്പെട്ട SQL പ്രസ്താവനകൾ നോക്കാം.

    പട്ടിക സൃഷ്ടിക്കൽ പ്രസ്താവന:

    സൃഷ്ടിക്കുന്ന പട്ടികയുടെ പേരും ഒരു കോളത്തിന്റെ പേരെങ്കിലും (ഫീൽഡ്) ഓപ്പറണ്ടുകൾ ആവശ്യമാണ്. കോളത്തിന്റെ പേരിനായി, അതിൽ സംഭരിക്കുന്ന ഡാറ്റയുടെ തരം നിങ്ങൾ വ്യക്തമാക്കണം.

    വ്യക്തിഗത ഫീൽഡുകൾക്കായി, അവയിൽ നൽകിയിട്ടുള്ള മൂല്യങ്ങൾ നിയന്ത്രിക്കുന്നതിനുള്ള അധിക നിയമങ്ങൾ നിങ്ങൾക്ക് വ്യക്തമാക്കാൻ കഴിയും. ഉദാഹരണത്തിന്, NULL അല്ലഫീൽഡ് ശൂന്യമാക്കാൻ കഴിയില്ലെന്നും ഒരു മൂല്യം കൊണ്ട് പൂരിപ്പിക്കണമെന്നും സൂചിപ്പിക്കുന്നു.

    ഉദാഹരണം 1

    ഒരു പട്ടിക സൃഷ്ടിക്കാൻ പുസ്തകങ്ങൾഫീൽഡുകൾ ഉൾക്കൊള്ളുന്ന പുസ്തക കാറ്റലോഗ്:

    തരം- പുസ്തകത്തിന്റെ തരം,

    പേര്- പുസ്തകത്തിന്റെ പേര്,

    വില- പുസ്തകത്തിന്റെ വില

    പ്രസ്താവന ഇതുപോലെയാകാം:

    പട്ടികയുടെ ഘടന മാറ്റുന്നതിനുള്ള ഓപ്പറേറ്റർ:

    പട്ടികയുടെ ഘടന മാറ്റുമ്പോൾ, നിങ്ങൾക്ക് ചേർക്കാൻ കഴിയും ( ചേർക്കുക), മാറ്റുക ( പരിഷ്ക്കരിക്കുക) അല്ലെങ്കിൽ ഇല്ലാതാക്കുക ( ഡ്രോപ്പ്) ഒന്നോ അതിലധികമോ പട്ടിക നിരകൾ. ഈ ഓപ്പറേറ്ററെ റെക്കോർഡ് ചെയ്യുന്നതിനുള്ള നിയമങ്ങൾ ഓപ്പറേറ്റർക്ക് സമാനമാണ് പട്ടിക സൃഷ്ടിക്കുക. ഒരു കോളം ഇല്ലാതാക്കാൻ നിങ്ങൾ അത് വ്യക്തമാക്കേണ്ടതില്ല.

    ഉദാഹരണം 2

    ഒരു മേശയിൽ ചേർക്കാൻ പുസ്തകങ്ങൾവയലുകൾ നമ്പർ, അതിൽ പുസ്തകങ്ങളുടെ എണ്ണം സംഭരിക്കപ്പെടും, നിങ്ങൾക്ക് ഓപ്പറേറ്റർ എഴുതാം:

    ടേബിൾ ഡ്രോപ്പ് ഓപ്പറേറ്റർ:

    ഉദാഹരണം 3

    ഉദാഹരണത്തിന്, പേരുള്ള നിലവിലുള്ള ഒരു പട്ടിക ഡ്രോപ്പ് ചെയ്യാൻ പുസ്തകങ്ങൾഓപ്പറേറ്റർ ഉപയോഗിച്ചാൽ മതി:

    സൂചിക സൃഷ്ടിക്കൽ ഓപ്പറേറ്റർ:

    തന്നിരിക്കുന്ന പട്ടികയുടെ ഒന്നോ അതിലധികമോ നിരകളിൽ ഓപ്പറേറ്റർ ഒരു സൂചിക സൃഷ്ടിക്കുന്നു, അത് അന്വേഷണവും ലുക്കപ്പ് പ്രവർത്തനങ്ങളും വേഗത്തിലാക്കും. ഒരു ടേബിളിനായി ഒന്നിലധികം സൂചികകൾ സൃഷ്ടിക്കാൻ കഴിയും.

    ഓപ്ഷണൽ ഓപ്ഷൻ തനത്പ്രസ്താവനയിൽ വ്യക്തമാക്കിയിട്ടുള്ള എല്ലാ നിരകളിലെയും മൂല്യങ്ങൾ അദ്വിതീയമാണെന്ന് ഉറപ്പാക്കാൻ ഉത്തരവാദിത്തമുണ്ട്.

    എ.എസ്.സി.നിരകളിലെ മൂല്യങ്ങൾ ആരോഹണ ക്രമത്തിൽ (സ്ഥിരസ്ഥിതി) സ്വയമേവ അടുക്കാൻ സജ്ജമാക്കുന്നു DESC- അവരോഹണ ക്രമത്തിൽ.

    ഇൻഡക്സ് ഡ്രോപ്പ് ഓപ്പറേറ്റർ:

    സൃഷ്ടിക്കൽ ഓപ്പറേറ്ററെ കാണുക:

    നിങ്ങൾ ഒരു കാഴ്‌ച സൃഷ്‌ടിക്കുമ്പോൾ, കോളത്തിന്റെ പേരുകൾ വ്യക്തമാക്കേണ്ടതില്ല. തുടർന്ന്, ബന്ധപ്പെട്ട ഓപ്പറേറ്റർ വിവരിച്ച അന്വേഷണത്തിൽ നിന്നുള്ള നിരയുടെ പേരുകൾ ഉപയോഗിക്കും തിരഞ്ഞെടുക്കുക.

    നീക്കംചെയ്യൽ ഓപ്പറേറ്ററെ കാണുക:

    റെക്കോർഡ് സെലക്ഷൻ ഓപ്പറേറ്റർ:

    ഓപ്പറേറ്റർ തിരഞ്ഞെടുക്കുകഒന്നോ അതിലധികമോ പട്ടികകളിൽ നിന്നുള്ള ഡാറ്റയിൽ സാമ്പിൾ ചെയ്യലും കണക്കുകൂട്ടലും നടത്തുന്നു. ഓപ്പറേറ്ററെ നിർവ്വഹിക്കുന്നതിന്റെ ഫലം അടങ്ങിയിരിക്കുന്ന ഒരു പ്രതികരണ പട്ടികയാണ് ( എല്ലാം) അല്ലെങ്കിൽ അടങ്ങിയിട്ടില്ല ( വ്യത്യസ്തരായ) ആവർത്തിക്കുന്ന വരികൾ.

    ഓപ്പറാൻറ് നിന്ന്ഡാറ്റ തിരഞ്ഞെടുക്കുന്നതിനായി റെക്കോർഡുകൾ എടുക്കുന്ന പട്ടികകളുടെ ഒരു ലിസ്റ്റ് അടങ്ങിയിരിക്കുന്നു.

    റെക്കോർഡ് മോഡിഫിക്കേഷൻ ഓപ്പറേറ്റർ:

    റെക്കോർഡുകളിലെ പുതിയ ഫീൽഡ് മൂല്യങ്ങളിൽ മൂല്യങ്ങൾ അടങ്ങിയിരിക്കണമെന്നില്ല ( ശൂന്യം) അല്ലെങ്കിൽ ഒരു ഗണിത പദപ്രയോഗം അനുസരിച്ച് കണക്കാക്കുന്നു.

    പുതിയ റെക്കോർഡുകൾ ചേർക്കുന്നതിനുള്ള ഓപ്പറേറ്റർ:

    ആദ്യ ഓപ്പറേറ്റർ റെക്കോർഡിൽ തിരുകുകനിരകളിൽ നിർദ്ദിഷ്ട മൂല്യങ്ങൾ ഉപയോഗിച്ച് പുതിയ റെക്കോർഡുകൾ നൽകി.

    രണ്ടാമത്തെ ഓപ്പറേറ്റർ റെക്കോർഡിൽ തിരുകുകപുതിയ വരികൾ നൽകി, മറ്റൊരു പട്ടികയിൽ നിന്ന് ഒരു ഉപവാക്യത്തിലൂടെ തിരഞ്ഞെടുത്തു തിരഞ്ഞെടുക്കുക.

    റെക്കോർഡ് ഡിലീഷൻ ഓപ്പറേറ്റർ:

    ഓപ്പറേറ്റർ എക്സിക്യൂട്ട് ചെയ്യുന്നതിന്റെ ഫലമായി, ഓപ്ഷണൽ ഓപ്പറാൻറ് വ്യക്തമാക്കിയ വ്യവസ്ഥയെ തൃപ്തിപ്പെടുത്തുന്ന വരികൾ നിർദ്ദിഷ്ട പട്ടികയിൽ നിന്ന് ഇല്ലാതാക്കപ്പെടും. എവിടെ. ഓപ്പറാൻറ് ആണെങ്കിൽ എവിടെവ്യക്തമാക്കിയിട്ടില്ല, എല്ലാ പട്ടിക രേഖകളും ഇല്ലാതാക്കി.

അടിസ്ഥാന SQL ഓപ്പറേറ്റർമാർ.

റിലേഷണൽ ഡാറ്റാബേസുകളിൽ ഡാറ്റ സൃഷ്ടിക്കുന്നതിനും പരിഷ്‌ക്കരിക്കുന്നതിനും നിയന്ത്രിക്കുന്നതിനും ഉപയോഗിക്കുന്ന ഒരു സാർവത്രിക കമ്പ്യൂട്ടർ ഭാഷയാണ് SQL (ഘടനാപരമായ അന്വേഷണ ഭാഷ). SQL ഭാഷ റിലേഷണൽ ബീജഗണിതത്തെ അടിസ്ഥാനമാക്കിയുള്ളതും ഓപ്പറേറ്റർമാരുടെ ഒരു ശേഖരവുമാണ്.

ഓപ്പറേറ്റർമാരുടെ 4 ഗ്രൂപ്പുകളുണ്ട്. നമുക്ക് ഒരു കൂട്ടം ഡാറ്റാ മാനിപുലേഷൻ ഓപ്പറേറ്റർമാരെ പരിഗണിക്കാം (ഡാറ്റ മാനിപുലേഷൻ ലാംഗ്വേജ്, ഡിഎംഎൽ, SQL DML)

ഡാറ്റ തിരഞ്ഞെടുക്കൽ

SQL ഉപയോഗിച്ച് നടത്തുന്ന ഏറ്റവും സാധാരണമായ പ്രവർത്തനമാണ് ഡാറ്റ തിരഞ്ഞെടുക്കൽ. ഡാറ്റ തിരഞ്ഞെടുക്കാൻ ഉപയോഗിക്കുന്ന ഈ ഭാഷയിലെ ഏറ്റവും പ്രധാനപ്പെട്ട പ്രസ്താവനകളിലൊന്നാണ് SELECT പ്രസ്താവന. ഈ ഓപ്പറേറ്ററുടെ വാക്യഘടന ഇപ്രകാരമാണ്:

പട്ടികയിൽ നിന്ന് കോളം തിരഞ്ഞെടുക്കുക

SELECT പ്രസ്താവനകളിൽ SELECT, FROM എന്നീ വാക്കുകൾ ഉണ്ടായിരിക്കണം; മറ്റ് കീവേഡുകൾ ഓപ്ഷണൽ ആണ്.

തത്ഫലമായുണ്ടാകുന്ന ഡാറ്റാ സെറ്റിൽ ഏതൊക്കെ ഫീൽഡുകൾ ഉൾപ്പെടുത്തണം എന്നതിനെക്കുറിച്ചുള്ള വിവരങ്ങൾ SELECT കീവേഡിന് പിന്നാലെയുണ്ട്. ഒരു നക്ഷത്രചിഹ്നം (*) എല്ലാ പട്ടിക ഫീൽഡുകളെയും സൂചിപ്പിക്കുന്നു, ഉദാഹരണത്തിന്:

ഒരു കോളം തിരഞ്ഞെടുക്കാൻ, ഇനിപ്പറയുന്ന വാക്യഘടന ഉപയോഗിക്കുക:

കമ്പനി തിരഞ്ഞെടുക്കുക

ഒന്നിലധികം നിരകൾ തിരഞ്ഞെടുക്കുന്നതിനുള്ള ഒരു ഉദാഹരണം ഇതുപോലെ കാണപ്പെടുന്നു:

കമ്പനി, ഫോൺ, മെയിൽ തിരഞ്ഞെടുക്കുക

റെക്കോർഡുകൾ തിരഞ്ഞെടുത്ത പട്ടികകളുടെ പേരുകൾ വ്യക്തമാക്കുന്നതിന്, FROM കീവേഡ് ഉപയോഗിക്കുക, ഉദാഹരണത്തിന്:

ഉപഭോക്താക്കളിൽ നിന്ന് * തിരഞ്ഞെടുക്കുക

ഈ ചോദ്യം ഉപഭോക്തൃ പട്ടികയിൽ നിന്ന് എല്ലാ ഫീൽഡുകളും തിരികെ നൽകും.

ഒരു SELECT സ്റ്റേറ്റ്മെന്റ് നൽകുന്ന ഫലങ്ങൾ ഫിൽട്ടർ ചെയ്യാൻ നിങ്ങൾക്ക് WHERE ക്ലോസ് (ഓപ്ഷണൽ) ഉപയോഗിക്കാം

വർഗ്ഗം = 4 എവിടെയുള്ള ഉൽപ്പന്നങ്ങളിൽ നിന്ന് * തിരഞ്ഞെടുക്കുക

WHERE ക്ലോസിൽ നിങ്ങൾക്ക് വിവിധ പദപ്രയോഗങ്ങൾ ഉപയോഗിക്കാം,

എവിടെ എക്സ്പ്രഷൻ1 [(ഒപ്പം | അല്ലെങ്കിൽ) എക്സ്പ്രഷൻ2 ...]

ഉദാഹരണത്തിന്:

ഉൽപ്പന്നങ്ങളിൽ നിന്ന് * തിരഞ്ഞെടുക്കുക.

ഉൽപ്പന്നങ്ങളിൽ നിന്ന് പേര്, വില തിരഞ്ഞെടുക്കുക, എവിടെയാണ് വിഭാഗം= 3 അല്ലെങ്കിൽ വില< 50

നിങ്ങൾക്ക് ഇനിപ്പറയുന്ന ഓപ്പറേറ്റർമാരെ ഉപയോഗിക്കാം:

< Меньше

<= Меньше или равно

<>തുല്യമല്ല

> കൂടുതൽ

>= ഇതിലും വലുത് അല്ലെങ്കിൽ തുല്യം

തത്ഫലമായുണ്ടാകുന്ന ഡാറ്റയെ ഒന്നോ അതിലധികമോ കോളങ്ങൾ ഉപയോഗിച്ച് അടുക്കാൻ, ക്ലോസ് പ്രകാരം ഓർഡർ (ഓപ്ഷണൽ) ഉപയോഗിക്കുന്നു. അടുക്കൽ ക്രമം നിർണ്ണയിക്കാൻ ASC (ആരോഹണം) അല്ലെങ്കിൽ DESC (അവരോഹണം) എന്നീ കീവേഡുകൾ ഉപയോഗിക്കുന്നു. സ്ഥിരസ്ഥിതിയായി, ഡാറ്റ ആരോഹണ ക്രമത്തിൽ അടുക്കുന്നു.

ഡാറ്റ പരിഷ്ക്കരണം

ഡാറ്റ വീണ്ടെടുക്കുന്നതിനു പുറമേ, ഡാറ്റ അപ്‌ഡേറ്റ് ചെയ്യാനും ഇല്ലാതാക്കാനും, മറ്റ് പട്ടികകളിലേക്ക് റെക്കോർഡുകൾ പകർത്താനും മറ്റ് പ്രവർത്തനങ്ങൾ നടത്താനും SQL ഉപയോഗിക്കാം. ഈ പ്രശ്‌നങ്ങളിൽ ചിലത് പരിഹരിക്കാൻ ഉപയോഗിക്കുന്ന അപ്‌ഡേറ്റ്, ഡിലീറ്റ്, ഇൻസേർട്ട് സ്റ്റേറ്റ്‌മെന്റുകൾ ഞങ്ങൾ ചുവടെ നോക്കും.

പ്രസ്താവന അപ്ഡേറ്റ് ചെയ്യുക

ഒരു പട്ടികയുടെ ഒന്നോ അതിലധികമോ നിരകളിലെ മൂല്യങ്ങൾ മാറ്റാൻ, അപ്ഡേറ്റ് സ്റ്റേറ്റ്മെന്റ് ഉപയോഗിക്കുക. ഈ ഓപ്പറേറ്ററുടെ വാക്യഘടന ഇതാണ്:

പട്ടിക അപ്‌ഡേറ്റ് ചെയ്യുക SET കോളം1 = എക്സ്പ്രഷൻ1 എവിടെയാണ് മാനദണ്ഡം

SET ക്ലോസിലെ എക്സ്പ്രഷൻ ഒരു സ്ഥിരാങ്കമോ കണക്കുകൂട്ടലിന്റെ ഫലമോ ആകാം. ഉദാഹരണത്തിന്, $10-ൽ താഴെ വിലയുള്ള എല്ലാ ഉൽപ്പന്നങ്ങളുടെയും വില വർദ്ധിപ്പിക്കുന്നതിന്, നിങ്ങൾക്ക് ഇനിപ്പറയുന്ന ചോദ്യം പ്രവർത്തിപ്പിക്കാം:

അപ്ഡേറ്റ് ഉൽപ്പന്നങ്ങൾ സെറ്റ് വില = വില * 1.1 എവിടെ വില< 10

പ്രസ്താവന ഇല്ലാതാക്കുക

പട്ടികകളിൽ നിന്ന് വരികൾ ഇല്ലാതാക്കാൻ, നിങ്ങൾ DELETE ഓപ്പറേറ്റർ ഉപയോഗിക്കണം, ഇതിന്റെ വാക്യഘടന:

എവിടെ മാനദണ്ഡം പട്ടികയിൽ നിന്ന് ഇല്ലാതാക്കുക

100-ൽ താഴെ വിലയുള്ള എല്ലാ ഉൽപ്പന്നങ്ങളും നീക്കം ചെയ്യുക.

SELECT പ്രസ്താവനയുടെ വാക്യഘടന ഇപ്രകാരമാണ്:

തിരഞ്ഞെടുക്കുക<список атрибутов>/* നിന്ന്<список таблиц>

സ്ക്വയർ ബ്രാക്കറ്റുകൾ അഭ്യർത്ഥനയിൽ ഇല്ലാത്ത ഘടകങ്ങളെ സൂചിപ്പിക്കുന്നു.

എല്ലാ വിദ്യാർത്ഥികളെയും പട്ടികപ്പെടുത്തുക.

വിദ്യാർത്ഥികളിൽ നിന്ന് * തിരഞ്ഞെടുക്കുക

id_st തിരഞ്ഞെടുക്കുക, വിദ്യാർത്ഥിയിൽ നിന്ന് കുടുംബപ്പേര്

ഈ ചോദ്യത്തിലേക്ക് നിങ്ങൾ ഓർഡർ പ്രകാരം കുടുംബപ്പേര് ക്ലോസ് ചേർത്താൽ, ലിസ്റ്റ് കുടുംബപ്പേര് അനുസരിച്ച് ഓർഡർ ചെയ്യപ്പെടും. സ്ഥിരസ്ഥിതിയായി, സോർട്ടിംഗ് ആരോഹണ ക്രമത്തിലാണെന്ന് അനുമാനിക്കപ്പെടുന്നു. അവരോഹണ ക്രമം വേണമെങ്കിൽ, ആട്രിബ്യൂട്ട് പേരിന് ശേഷം DESC എന്ന വാക്ക് ചേർക്കും.

"1" എന്ന കോഡ് ഉപയോഗിച്ച് ഒരു വിദ്യാർത്ഥിക്ക് ലഭിച്ച ഗ്രേഡുകളുടെ ഒരു ലിസ്റ്റ് പ്രദർശിപ്പിക്കുക.

പരീക്ഷകളിൽ ഒരു ഡി അല്ലെങ്കിൽ സി എങ്കിലും ലഭിച്ച വിദ്യാർത്ഥികൾക്ക് കോഡുകളുടെ ഒരു ലിസ്റ്റ് നൽകുക.

WHERE ക്ലോസിൽ, നിങ്ങൾക്ക് ഉപയോഗിച്ച് ഒരു എക്സ്പ്രഷൻ എഴുതാം ഗണിത ഓപ്പറേറ്റർമാർതാരതമ്യങ്ങൾ (<, >, മുതലായവ) കൂടാതെ പരമ്പരാഗത പ്രോഗ്രാമിംഗ് ഭാഷകളിലെ പോലെ ലോജിക്കൽ ഓപ്പറേറ്റർമാരും (AND, OR, NOT).

SQL ഭാഷയിൽ വ്യവസ്ഥകൾ സൃഷ്ടിക്കുന്നതിനുള്ള താരതമ്യ ഓപ്പറേറ്റർമാർക്കും ലോജിക്കൽ ഓപ്പറേറ്റർമാർക്കും ഒപ്പം (അപ്ലിക്കേഷന്റെ നിർദ്ദിഷ്ട വ്യാപ്തി കാരണം), ചട്ടം പോലെ, മറ്റ് ഭാഷകളിൽ അനലോഗ് ഇല്ലാത്ത നിരവധി പ്രത്യേക ഓപ്പറേറ്റർമാരുണ്ട്. ഇവരാണ് ഓപ്പറേറ്റർമാർ:

  • IN - ഒരു നിശ്ചിത മൂല്യങ്ങളിലേക്കുള്ള പ്രവേശനം;
  • ഇടയിൽ - മൂല്യങ്ങളുടെ ഒരു നിശ്ചിത ശ്രേണിയിലേക്കുള്ള പ്രവേശനം;
  • പോലെ - പാറ്റേൺ പൊരുത്തപ്പെടുത്തൽ ടെസ്റ്റ്;
  • ശൂന്യമാണ് - നിർവചിക്കാത്ത മൂല്യത്തിനായി പരിശോധിക്കുക.

ഒരു സെറ്റിൽ ഒരു മൂല്യം ഉൾപ്പെടുത്തിയിട്ടുണ്ടോ എന്ന് പരിശോധിക്കാൻ IN ഓപ്പറേറ്റർ ഉപയോഗിക്കുന്നു. അതെ, അഭ്യർത്ഥിക്കുക

മുകളിലുള്ള അന്വേഷണത്തിന്റെ അതേ ഫലം നൽകുന്നു (പരീക്ഷകളിൽ കുറഞ്ഞത് ഒരു ഡി അല്ലെങ്കിൽ സി ലഭിച്ച എല്ലാ അപേക്ഷകരുടെയും ഐഡന്റിഫയറുകൾ ഇത് പ്രദർശിപ്പിക്കും).

BETWEEN ഓപ്പറേറ്റർ ഉപയോഗിച്ച് സമാന ഫലം നേടാനാകും:

എ എന്ന അക്ഷരത്തിൽ തുടങ്ങുന്ന അവസാന പേരുകളുള്ള എല്ലാ വിദ്യാർത്ഥികളെയും പട്ടികപ്പെടുത്തുക.

ഈ സാഹചര്യത്തിൽ, ലൈക്ക് ഓപ്പറേറ്റർ ഉപയോഗിക്കുന്നത് സൗകര്യപ്രദമാണ്.

LIKE ഓപ്പറേറ്റർ പ്രതീക ഫീൽഡുകൾക്ക് മാത്രമായി ബാധകമാണ് കൂടാതെ ഒരു ഫീൽഡിന്റെ മൂല്യം ഒരു പാറ്റേണുമായി പൊരുത്തപ്പെടുന്നുണ്ടോ എന്ന് നിർണ്ണയിക്കാൻ നിങ്ങളെ അനുവദിക്കുന്നു. പാറ്റേണിൽ പ്രത്യേക പ്രതീകങ്ങൾ അടങ്ങിയിരിക്കാം:

_ (അണ്ടർസ്കോർ) - ഏതെങ്കിലും ഒരു പ്രതീകം മാറ്റിസ്ഥാപിക്കുന്നു;

% (ശതമാനം ചിഹ്നം) - എത്ര പ്രതീകങ്ങളുടെ ഒരു ക്രമം മാറ്റിസ്ഥാപിക്കുന്നു.

മിക്കപ്പോഴും നിരകളിലെ ഏറ്റവും കുറഞ്ഞ, കൂടിയ അല്ലെങ്കിൽ ശരാശരി മൂല്യങ്ങൾ കണക്കാക്കേണ്ടത് ആവശ്യമാണ്. ഉദാഹരണത്തിന്, നിങ്ങളുടെ ജിപിഎ കണക്കാക്കേണ്ടതുണ്ട്. അത്തരം കണക്കുകൂട്ടലുകൾ നടത്താൻ, SQL പ്രത്യേകം നൽകുന്നു മൊത്തത്തിലുള്ള പ്രവർത്തനങ്ങൾ:

  • MIN - നിരയിലെ ഏറ്റവും കുറഞ്ഞ മൂല്യം;
  • MAX - നിരയിലെ പരമാവധി മൂല്യം;
  • SUM - നിരയിലെ മൂല്യങ്ങളുടെ ആകെത്തുക;
  • AVG - നിരയിലെ ശരാശരി മൂല്യം;
  • COUNT - നിരയിലെ NULL അല്ലാത്ത മൂല്യങ്ങളുടെ എണ്ണം.

പരീക്ഷകളിൽ വിദ്യാർത്ഥികൾ നേടിയ എല്ലാ സ്‌കോറുകളുടെയും ശരാശരിയാണ് ഇനിപ്പറയുന്ന ചോദ്യം കണക്കാക്കുന്നത്.

mark_st-ൽ നിന്ന് AVG(മാർക്ക്) തിരഞ്ഞെടുക്കുക

സ്വാഭാവികമായും, നിങ്ങൾക്ക് ഉപയോഗിക്കാം മൊത്തത്തിലുള്ള പ്രവർത്തനങ്ങൾ WHERE ക്ലോസിനൊപ്പം:

ഈ ചോദ്യം ഒരു വിദ്യാർത്ഥിയുടെ ശരാശരി സ്കോർ 100 കോഡ് ഉപയോഗിച്ച് അവൻ എടുത്ത എല്ലാ പരീക്ഷകളുടെയും ഫലത്തെ അടിസ്ഥാനമാക്കി കണക്കാക്കും.

കോഡ് 10 ഉപയോഗിച്ച് പരീക്ഷ വിജയിച്ചതിന്റെ ഫലത്തെ അടിസ്ഥാനമാക്കി ഈ ചോദ്യം വിദ്യാർത്ഥികളുടെ ശരാശരി സ്കോർ കണക്കാക്കും. ചർച്ച ചെയ്ത മെക്കാനിസങ്ങൾക്ക് പുറമേ

റിലേഷണൽ ഡാറ്റാ മോഡലിന്റെ വികസനത്തിന്റെ ഫലമായാണ് സ്ട്രക്ചർ ക്വറി ലാംഗ്വേജ് (എസ്‌ക്യുഎൽ) സൃഷ്ടിക്കപ്പെട്ടത്, നിലവിൽ റിലേഷണൽ ഡിബിഎംഎസുകളുടെ യഥാർത്ഥ സ്റ്റാൻഡേർഡ് ഭാഷയാണ്. SQL ഭാഷയെ ഇന്ന് വിവിധ തരത്തിലുള്ള DBMS-കൾ പിന്തുണയ്ക്കുന്നു.

SQL ഭാഷയുടെ പേര് സാധാരണയായി "es-qu-el" എന്ന് ഉച്ചരിക്കുന്നു. ചിലപ്പോൾ "സീ-ക്വൽ" എന്ന സ്മരണിക നാമം ഉപയോഗിക്കാറുണ്ട്.

SQL ഭാഷ ഉപയോക്താവിന് (അവന്റെ ഭാഗത്തുനിന്ന് കുറഞ്ഞ പരിശ്രമത്തോടെ) ഇനിപ്പറയുന്ന കഴിവുകൾ നൽകുന്നു:

അവയുടെ ഘടനയുടെ പൂർണ്ണമായ വിവരണത്തോടെ ഡാറ്റാബേസുകളും പട്ടികകളും സൃഷ്ടിക്കുക

അടിസ്ഥാന ഡാറ്റ കൃത്രിമ പ്രവർത്തനങ്ങൾ നടത്തുക: ഡാറ്റ ചേർക്കുക, മാറ്റുക, ഇല്ലാതാക്കുക

ലളിതവും സങ്കീർണ്ണവുമായ ചോദ്യങ്ങൾ പ്രവർത്തിപ്പിക്കുക.

SQL ഭാഷ ആപേക്ഷികമായി പൂർത്തിയായി.

അതിന്റെ കമാൻഡുകളുടെ ഘടനയും വാക്യഘടനയും വളരെ ലളിതമാണ്, കൂടാതെ ഭാഷ തന്നെ സാർവത്രികമാണ്, അതായത് ഒരു ഡിബിഎംഎസിൽ നിന്ന് മറ്റൊന്നിലേക്ക് മാറുമ്പോൾ അതിന്റെ കമാൻഡുകളുടെ വാക്യഘടനയും ഘടനയും മാറില്ല.

SQL ഭാഷയ്ക്ക് രണ്ട് പ്രധാന ഘടകങ്ങളുണ്ട്:

DDL (ഡാറ്റ ഡെഫനിഷൻ ലാംഗ്വേജ്) ഡാറ്റാബേസ് ഘടനകൾ നിർവചിക്കുന്നതിനും ഡാറ്റയിലേക്കുള്ള ആക്സസ് നിയന്ത്രിക്കുന്നതിനും

ഡാറ്റ വീണ്ടെടുക്കുന്നതിനും അപ്‌ഡേറ്റുചെയ്യുന്നതിനുമായി രൂപകൽപ്പന ചെയ്‌തിരിക്കുന്ന DML (ഡാറ്റ മാനിപുലേഷൻ ലാംഗ്വേജ്) ഭാഷ.

SQL ഒരു നോൺ പ്രൊസീജറൽ ഭാഷയാണ്, അതായത് നിങ്ങൾ അത് ഉപയോഗിക്കുമ്പോൾ, എന്ത് വിവരമാണ് ലഭിക്കേണ്ടത്, അത് എങ്ങനെ നേടാം എന്നല്ല. SQL കമാൻഡുകൾ സാധാരണ ഇംഗ്ലീഷ് വാക്കുകളാണ് (SELECT, INSERT മുതലായവ). ആദ്യം SQL DML പ്രസ്താവനകൾ നോക്കാം:

തിരഞ്ഞെടുക്കുക - ഡാറ്റാബേസിൽ നിന്ന് ഡാറ്റ തിരഞ്ഞെടുക്കുന്നു

INSERT - ഒരു പട്ടികയിൽ ഡാറ്റ ചേർക്കുന്നു

അപ്ഡേറ്റ് - ഒരു പട്ടികയിൽ ഡാറ്റ അപ്ഡേറ്റ് ചെയ്യുന്നു

ഇല്ലാതാക്കുക - ഒരു പട്ടികയിൽ നിന്ന് ഡാറ്റ ഇല്ലാതാക്കുന്നു

പ്രസ്താവന തിരഞ്ഞെടുക്കുക

SELECT ഓപ്പറേറ്റർ ഇനിപ്പറയുന്ന റിലേഷണൽ ബീജഗണിത പ്രവർത്തനങ്ങൾക്ക് തുല്യമായ പ്രവർത്തനങ്ങൾ ചെയ്യുന്നു: തിരഞ്ഞെടുക്കൽ, പ്രൊജക്ഷൻ, ഒപ്പം ചേരൽ.

ഇത് ഉപയോഗിക്കുന്ന ഏറ്റവും ലളിതമായ SQL ചോദ്യം ഇതുപോലെ കാണപ്പെടുന്നു:

tbl-ൽ നിന്ന് col_name തിരഞ്ഞെടുക്കുക

തിരഞ്ഞെടുത്ത കീവേഡിന് ശേഷം കോമയാൽ വേർതിരിച്ച നിരകളുടെ ഒരു ലിസ്റ്റ്, അതിന്റെ ഡാറ്റ അന്വേഷണത്തിലൂടെ തിരികെ നൽകും. ഏത് പട്ടികയിൽ നിന്നാണ് (അല്ലെങ്കിൽ കാണുക) ഡാറ്റ വീണ്ടെടുക്കുന്നതെന്ന് കീവേഡ് വ്യക്തമാക്കുന്നു.

തിരഞ്ഞെടുത്ത ചോദ്യത്തിന്റെ ഫലം എല്ലായ്പ്പോഴും ഫല പട്ടിക എന്ന് വിളിക്കുന്ന ഒരു പട്ടികയാണ്. കൂടാതെ, തിരഞ്ഞെടുത്ത പ്രസ്താവന ഉപയോഗിച്ച് എക്സിക്യൂട്ട് ചെയ്ത ഒരു അന്വേഷണത്തിന്റെ ഫലങ്ങൾ ഒരു പുതിയ പട്ടിക സൃഷ്ടിക്കാൻ ഉപയോഗിക്കാം. വ്യത്യസ്ത ടേബിളുകളിലെ രണ്ട് ചോദ്യങ്ങളുടെ ഫലങ്ങൾ ഒരേ ഫോർമാറ്റ് ആണെങ്കിൽ, നിങ്ങൾക്ക് അവയെ ഒരു ടേബിളിൽ സംയോജിപ്പിക്കാം. കൂടാതെ, ഒരു ചോദ്യത്തിന്റെ ഫലമായി ലഭിച്ച പട്ടിക കൂടുതൽ ചോദ്യങ്ങളുടെ വിഷയമാകാം.

ഒരു പട്ടികയുടെ എല്ലാ നിരകളും എല്ലാ വരികളും തിരഞ്ഞെടുക്കുന്നതിന്, ഒരു SELECT * FROM tbl നൽകുക;

വിവിധ തരത്തിലുള്ള ഉൽപ്പന്നങ്ങളുടെ വില വിവരങ്ങൾ അടങ്ങുന്ന ഉൽപ്പന്ന പട്ടിക പരിഗണിക്കുക:

അഭ്യർത്ഥന ഫലം

ഉൽപ്പന്നത്തിൽ നിന്ന് * തിരഞ്ഞെടുക്കുക;

മുഴുവൻ ഉൽപ്പന്ന പട്ടികയും ആയിരിക്കും.

ഒരു ചോദ്യം ഉപയോഗിച്ച് നിങ്ങൾക്ക് നിർദ്ദിഷ്ട പട്ടിക നിരകൾ തിരഞ്ഞെടുക്കാം

col1, col2, ... , tbl-ൽ നിന്ന് കോളൻ തിരഞ്ഞെടുക്കുക;

അതിനാൽ, അഭ്യർത്ഥനയുടെ ഫലം

ഉൽപ്പന്നത്തിൽ നിന്ന് തരം, വില തിരഞ്ഞെടുക്കുക;

ഒരു മേശ ഉണ്ടാകും

തത്ഫലമായുണ്ടാകുന്ന പട്ടികയിലെ നിരകളുടെ ക്രമം മാറ്റണമെങ്കിൽ തിരഞ്ഞെടുത്ത പ്രസ്താവനയിലെ നിരകളുടെ പട്ടികയും ഉപയോഗിക്കുന്നു:

ചില നിയന്ത്രണങ്ങൾ പാലിക്കുന്ന ആ പട്ടിക വരികൾ മാത്രം തിരഞ്ഞെടുക്കുന്നതിന്, ഒരു പ്രത്യേക കീവേഡ് ഉപയോഗിക്കുന്നിടത്ത് ലോജിക്കൽ അവസ്ഥയും. ഒരു റെക്കോർഡ് ഈ അവസ്ഥയെ തൃപ്തിപ്പെടുത്തുന്നുവെങ്കിൽ, അത് ഫലത്തിൽ ഉൾപ്പെടുത്തിയിട്ടുണ്ട്. അല്ലെങ്കിൽ, എൻട്രി നിരസിച്ചു.

ഉദാഹരണത്തിന്, ഉൽപ്പന്ന പട്ടികയിൽ നിന്ന് ആ ഉൽപ്പന്നങ്ങൾ തിരഞ്ഞെടുക്കുന്നത് വില വ്യവസ്ഥയെ തൃപ്തിപ്പെടുത്തുന്ന വിലയാണ്<3200, можно осуществить, используя запрос

വിലയുള്ള ഉൽപ്പന്നത്തിൽ നിന്ന് * തിരഞ്ഞെടുക്കുക<3200;

അവന്റെ ഫലം:

ലോജിക്കൽ ഓപ്പറേറ്റർമാർ NOT , AND, OR, XOR എന്നിവ ഉപയോഗിച്ച് വ്യവസ്ഥ സംയുക്തമായും സംയോജിപ്പിക്കാം, ഉദാഹരണത്തിന്: എവിടെ id_ Price>500 AND വില<3500. Допускается также использование выражений в условии: where Price>(1+1), സ്ട്രിംഗ് കോൺസ്റ്റന്റ്സ്: എവിടെ പേര്= "ഓട്ടോവെയ്റ്റ്സ്".

var1 നും var2 നും ഇടയിലുള്ള കൺസ്ട്രക്‌റ്റ് ഉപയോഗിക്കുന്നത്, ഏതെങ്കിലും പദപ്രയോഗത്തിന്റെ മൂല്യങ്ങൾ var1 മുതൽ var2 വരെയുള്ള പരിധിയിൽ വരുന്നുണ്ടോ എന്ന് പരിശോധിക്കാൻ നിങ്ങളെ അനുവദിക്കുന്നു (ഈ മൂല്യങ്ങൾ ഉൾപ്പെടെ):

3000 നും 3500 നും ഇടയിൽ വിലയുള്ള ഉൽപ്പന്നത്തിൽ നിന്ന് * തിരഞ്ഞെടുക്കുക;

NOT BETWEEN ഓപ്പറേറ്റർ എന്നതിന് സമാനമായി, NOT IN ഓപ്പറേറ്റർ ഉണ്ട്.

SELECT ക്ലോസിൽ വ്യക്തമാക്കിയ കോളം പേരുകൾ പുനർനാമകരണം ചെയ്യാവുന്നതാണ്. ഇതിനായി, AS കീവേഡ് ഉപയോഗിക്കുന്നു, എന്നിരുന്നാലും, അത് പരോക്ഷമായി സൂചിപ്പിച്ചിരിക്കുന്നതിനാൽ ഒഴിവാക്കാവുന്നതാണ്. ഉദാഹരണത്തിന്, അഭ്യർത്ഥന

Type_id =3 എന്നതിൽ നിന്ന് തരം AS മോഡൽ, Type_id AS എണ്ണം തിരഞ്ഞെടുക്കുക

തിരികെ വരും (അപരനാമങ്ങൾ ഉദ്ധരണികളില്ലാതെ എഴുതണം):

ഒരു പാറ്റേണുമായി ഒരു സ്ട്രിംഗ് താരതമ്യം ചെയ്യുന്നതിനാണ് ലൈക്ക് ഓപ്പറേറ്റർ രൂപകൽപ്പന ചെയ്തിരിക്കുന്നത്:

"abc" പോലെ col_name ഉള്ള tbl ൽ നിന്ന് * തിരഞ്ഞെടുക്കുക

col_name കോളത്തിൽ abc എന്ന സ്‌ട്രിംഗ് മൂല്യം അടങ്ങിയിരിക്കുന്ന റെക്കോർഡുകൾ മാത്രമാണ് ഈ ചോദ്യം നൽകുന്നത്.

രണ്ട് വൈൽഡ്കാർഡ് പ്രതീകങ്ങൾ ഉപയോഗിക്കാൻ സാമ്പിളിനെ അനുവദിച്ചിരിക്കുന്നു: "_", "%". അവയിൽ ആദ്യത്തേത് ടെംപ്ലേറ്റിലെ ഒരു അനിയന്ത്രിതമായ പ്രതീകത്തെ മാറ്റിസ്ഥാപിക്കുന്നു, രണ്ടാമത്തേത് അനിയന്ത്രിതമായ പ്രതീകങ്ങളുടെ ഒരു ശ്രേണി മാറ്റിസ്ഥാപിക്കുന്നു. അതിനാൽ, "abc%" abc-ൽ ആരംഭിക്കുന്ന ഏതൊരു സ്‌ട്രിംഗുമായി പൊരുത്തപ്പെടുന്നു, "abc_" abc-ൽ ആരംഭിക്കുന്ന 4-അക്ഷര സ്‌ട്രിംഗുമായി പൊരുത്തപ്പെടുന്നു, "%z" z-ൽ അവസാനിക്കുന്ന ഏതൊരു സ്‌ട്രിംഗുമായും പൊരുത്തപ്പെടുന്നു, ഒടുവിൽ, "%z%" - പ്രതീകങ്ങൾ അടങ്ങിയ ക്രമങ്ങൾ z.

"a" എന്ന അക്ഷരത്തിൽ ടൈപ്പ് മൂല്യം ആരംഭിക്കുന്ന ഉൽപ്പന്ന പട്ടികയുടെ എല്ലാ രേഖകളും നിങ്ങൾക്ക് കണ്ടെത്താനാകും:

"a%" എന്ന് ടൈപ്പ് ചെയ്യുന്ന ഉൽപ്പന്നത്തിൽ നിന്ന് * തിരഞ്ഞെടുക്കുക;

ട്രക്ക് സ്കെയിലുകൾ

തിരയൽ സ്ട്രിംഗിൽ ഒരു വൈൽഡ്കാർഡ് പ്രതീകം അടങ്ങിയിട്ടുണ്ടെങ്കിൽ, എസ്കേപ്പ് ക്ലോസിൽ നിങ്ങൾ രക്ഷപ്പെടൽ പ്രതീകം വ്യക്തമാക്കണം. വൈൽഡ്കാർഡ് പ്രതീകത്തിന് മുമ്പുള്ള പാറ്റേണിൽ ഈ നിയന്ത്രണ പ്രതീകം ഉപയോഗിക്കണം, ഇത് വൈൽഡ്കാർഡ് പ്രതീകം ഒരു സാധാരണ പ്രതീകമായി കണക്കാക്കണമെന്ന് സൂചിപ്പിക്കുന്നു. ഉദാഹരണത്തിന്, "_" എന്ന അക്ഷരം അടങ്ങിയിരിക്കുന്ന ഒരു ഫീൽഡിൽ നിങ്ങൾ എല്ലാ മൂല്യങ്ങളും തിരയുകയാണെങ്കിൽ, "%_%" എന്ന പാറ്റേൺ പട്ടികയിൽ നിന്നുള്ള എല്ലാ റെക്കോർഡുകളും തിരികെ നൽകും. ഈ സാഹചര്യത്തിൽ, ടെംപ്ലേറ്റ് ഇനിപ്പറയുന്ന രീതിയിൽ എഴുതണം:

"%|_%" രക്ഷപ്പെടൽ "|"

"20%" എന്ന സ്ട്രിംഗ് പാലിക്കുന്നതിനുള്ള മൂല്യം പരിശോധിക്കുന്നതിന് നിങ്ങൾക്ക് ഇനിപ്പറയുന്ന ഓപ്പറേറ്റർ ഉപയോഗിക്കാം:

ലൈക്ക് "20#%" എസ്കേപ്പ് "#"

ഒരു പട്ടികയുടെ ഫീൽഡുകളിൽ ഒരു NULL മൂല്യത്തിന്റെ അഭാവം (സാന്നിധ്യം) പരിശോധിക്കാൻ IS NULL ഓപ്പറേറ്റർ നിങ്ങളെ അനുവദിക്കുന്നു. ഈ സന്ദർഭങ്ങളിൽ പതിവ് താരതമ്യ ഓപ്പറേറ്റർമാർ ഉപയോഗിക്കുന്നത് തെറ്റായ ഫലങ്ങൾ ഉണ്ടാക്കിയേക്കാം, കാരണം UNKNOWN എന്നതിലെ NULL ഫലങ്ങളുമായി താരതമ്യം ചെയ്യുന്നത്. അതിനാൽ, തിരഞ്ഞെടുക്കൽ അവസ്ഥ ഇതുപോലെ ആയിരിക്കണം:

col_name=NULL എന്നതിന് പകരം col_name NULL ആണ്.

സ്ഥിരസ്ഥിതി തിരഞ്ഞെടുപ്പ് ഫലം, ഡാറ്റാബേസിൽ സംഭരിച്ചിരിക്കുന്ന അതേ ക്രമത്തിൽ റെക്കോർഡുകൾ നൽകുന്നു. നിങ്ങൾക്ക് ഒരു കോളം ഉപയോഗിച്ച് റെക്കോർഡുകൾ അടുക്കണമെങ്കിൽ, നിങ്ങൾ ആ കോളത്തിന്റെ പേരിനൊപ്പം ഓർഡർ ബൈ ക്ലോസ് ഉപയോഗിക്കണം:

col_name പ്രകാരം tbl ഓർഡറിൽ നിന്ന് * തിരഞ്ഞെടുക്കുക;

ഈ ചോദ്യം col_name ആട്രിബ്യൂട്ട് മൂല്യത്തിന്റെ ആരോഹണ ക്രമത്തിൽ റെക്കോർഡുകൾ നൽകും.

നിങ്ങൾക്ക് ഒന്നിലധികം കോളങ്ങൾ പ്രകാരം റെക്കോർഡുകൾ അടുക്കാനും കഴിയും. ഇത് ചെയ്യുന്നതിന്, അവരുടെ പേരുകൾ ഓർഡറിന് ശേഷം കോമകളാൽ വേർതിരിച്ചിരിക്കണം:

col_name1, col_name2 പ്രകാരം tbl ഓർഡറിൽ നിന്ന് * തിരഞ്ഞെടുക്കുക.

col_name1 ഫീൽഡ് അനുസരിച്ച് റെക്കോർഡുകൾ അടുക്കും; col_name1 നിരയിൽ പൊരുത്തപ്പെടുന്ന മൂല്യമുള്ള നിരവധി റെക്കോർഡുകൾ ഉണ്ടെങ്കിൽ, അവ col_name2 ഫീൽഡ് പ്രകാരം അടുക്കും.

നിങ്ങൾക്ക് റിവേഴ്സ് ഓർഡറിൽ റെക്കോർഡുകൾ അടുക്കണമെങ്കിൽ (ഉദാഹരണത്തിന്, തീയതി പ്രകാരം അവരോഹണം), നിങ്ങൾ col_name DESC പ്രകാരമുള്ള ഓർഡർ വ്യക്തമാക്കണം.

നേരിട്ടുള്ള സോർട്ടിംഗിനായി, ASC കീവേഡ് ഉണ്ട്, അത് സ്ഥിരസ്ഥിതി മൂല്യമായി അംഗീകരിക്കപ്പെടുന്നു.

സാമ്പിൾ ഫലത്തിൽ നൂറുകണക്കിന് അല്ലെങ്കിൽ ആയിരക്കണക്കിന് റെക്കോർഡുകൾ അടങ്ങിയിട്ടുണ്ടെങ്കിൽ, അവയുടെ ഔട്ട്പുട്ടും പ്രോസസ്സിംഗും ഗണ്യമായ സമയമെടുക്കും.

അതിനാൽ, വിവരങ്ങൾ പലപ്പോഴും പേജുകളായി വിഭജിക്കുകയും ഭാഗങ്ങളിൽ ഉപയോക്താവിന് അവതരിപ്പിക്കുകയും ചെയ്യുന്നു. പ്രദർശിപ്പിക്കാനുള്ള എൻട്രികളുടെ എണ്ണത്തിന് ശേഷം ലിമിറ്റ് കീവേഡ് ഉപയോഗിച്ചാണ് പേജിനേഷൻ ഉപയോഗിക്കുന്നത്. col_name1 ഫീൽഡിൽ ഒരേസമയം പിന്നിലേക്ക് അടുക്കുമ്പോൾ ഇനിപ്പറയുന്ന അന്വേഷണം ആദ്യത്തെ 10 റെക്കോർഡുകൾ വീണ്ടെടുക്കുന്നു:

col_name1 DESC LIMIT 10 പ്രകാരം tbl ഓർഡറിൽ നിന്ന് * തിരഞ്ഞെടുക്കുക

അടുത്ത 10 റെക്കോർഡുകൾ വീണ്ടെടുക്കാൻ, രണ്ട് മൂല്യങ്ങളുള്ള ലിമിറ്റ് കീവേഡ് ഉപയോഗിക്കുക: ആദ്യത്തേത് ഫലം പ്രിന്റ് ചെയ്യേണ്ട സ്ഥാനം വ്യക്തമാക്കുന്നു, രണ്ടാമത്തേത് വീണ്ടെടുക്കാനുള്ള റെക്കോർഡുകളുടെ എണ്ണം വ്യക്തമാക്കുന്നു:

col_name1 DESC പരിധി 10,10 പ്രകാരം tbl ഓർഡറിൽ നിന്ന് * തിരഞ്ഞെടുക്കുക

അടുത്ത 10 റെക്കോർഡുകൾ വീണ്ടെടുക്കാൻ, നിങ്ങൾ LIMIT 20, 10 നിർമ്മാണം ഉപയോഗിക്കണം.

റിലേഷണൽ ഡാറ്റാബേസുകളിൽ ഡാറ്റ സൃഷ്ടിക്കുന്നതിനും പരിഷ്‌ക്കരിക്കുന്നതിനും നിയന്ത്രിക്കുന്നതിനും ഉപയോഗിക്കുന്ന ഒരു സാർവത്രിക കമ്പ്യൂട്ടർ ഭാഷയാണ് SQL (ഘടനാപരമായ അന്വേഷണ ഭാഷ). SQL ഭാഷ റിലേഷണൽ ബീജഗണിതത്തെ അടിസ്ഥാനമാക്കിയുള്ളതും ഓപ്പറേറ്റർമാരുടെ ഒരു ശേഖരവുമാണ്.

ഓപ്പറേറ്റർമാരുടെ 4 ഗ്രൂപ്പുകളുണ്ട്. നമുക്ക് ഒരു കൂട്ടം ഡാറ്റാ മാനിപുലേഷൻ ഓപ്പറേറ്റർമാരെ പരിഗണിക്കാം (ഡാറ്റ മാനിപുലേഷൻ ലാംഗ്വേജ്, ഡിഎംഎൽ, SQL DML)

ഡാറ്റ തിരഞ്ഞെടുക്കൽ

SQL ഉപയോഗിച്ച് നടത്തുന്ന ഏറ്റവും സാധാരണമായ പ്രവർത്തനമാണ് ഡാറ്റ തിരഞ്ഞെടുക്കൽ. ഡാറ്റ തിരഞ്ഞെടുക്കാൻ ഉപയോഗിക്കുന്ന ഈ ഭാഷയിലെ ഏറ്റവും പ്രധാനപ്പെട്ട പ്രസ്താവനകളിലൊന്നാണ് SELECT പ്രസ്താവന. ഈ ഓപ്പറേറ്ററുടെ വാക്യഘടന ഇപ്രകാരമാണ്:

പട്ടികയിൽ നിന്ന് കോളം തിരഞ്ഞെടുക്കുക

SELECT പ്രസ്താവനകളിൽ SELECT, FROM എന്നീ വാക്കുകൾ ഉണ്ടായിരിക്കണം; മറ്റ് കീവേഡുകൾ ഓപ്ഷണൽ ആണ്.

തത്ഫലമായുണ്ടാകുന്ന ഡാറ്റാ സെറ്റിൽ ഏതൊക്കെ ഫീൽഡുകൾ ഉൾപ്പെടുത്തണം എന്നതിനെക്കുറിച്ചുള്ള വിവരങ്ങൾ SELECT കീവേഡിന് പിന്നാലെയുണ്ട്. ഒരു നക്ഷത്രചിഹ്നം (*) എല്ലാ പട്ടിക ഫീൽഡുകളെയും സൂചിപ്പിക്കുന്നു, ഉദാഹരണത്തിന്:

ഒരു കോളം തിരഞ്ഞെടുക്കാൻ, ഇനിപ്പറയുന്ന വാക്യഘടന ഉപയോഗിക്കുക:

തിരഞ്ഞെടുക്കുക കമ്പനി

ഒന്നിലധികം നിരകൾ തിരഞ്ഞെടുക്കുന്നതിനുള്ള ഒരു ഉദാഹരണം ഇതുപോലെ കാണപ്പെടുന്നു:

തിരഞ്ഞെടുക്കുക കമ്പനി,ഫോൺ,മെയിൽ

റെക്കോർഡുകൾ തിരഞ്ഞെടുത്ത പട്ടികകളുടെ പേരുകൾ വ്യക്തമാക്കുന്നതിന്, FROM കീവേഡ് ഉപയോഗിക്കുക, ഉദാഹരണത്തിന്:

തിരഞ്ഞെടുക്കുക * നിന്ന് ഉപഭോക്താക്കൾ

ഈ ചോദ്യം ഉപഭോക്തൃ പട്ടികയിൽ നിന്ന് എല്ലാ ഫീൽഡുകളും തിരികെ നൽകും.

SELECT സ്റ്റേറ്റ്മെന്റ് നൽകുന്ന ഫലങ്ങൾ ഫിൽട്ടർ ചെയ്യാൻ നിങ്ങൾക്ക് WHERE ക്ലോസ് (ഓപ്ഷണൽ) ഉപയോഗിക്കാം

വർഗ്ഗം = 4 എവിടെയുള്ള ഉൽപ്പന്നങ്ങളിൽ നിന്ന് * തിരഞ്ഞെടുക്കുക

WHERE ക്ലോസിൽ നിങ്ങൾക്ക് വിവിധ പദപ്രയോഗങ്ങൾ ഉപയോഗിക്കാം,

എവിടെ എക്സ്പ്രഷൻ1 [(ഒപ്പം | അല്ലെങ്കിൽ) എക്സ്പ്രഷൻ2 ...]

ഉദാഹരണത്തിന്:

ഉൽപ്പന്നങ്ങളിൽ നിന്ന് * തിരഞ്ഞെടുക്കുക.

ഉൽപ്പന്നങ്ങളിൽ നിന്ന് പേര്, വില തിരഞ്ഞെടുക്കുക, എവിടെയാണ് വിഭാഗം= 3 അല്ലെങ്കിൽ വില< 50

നിങ്ങൾക്ക് ഇനിപ്പറയുന്ന ഓപ്പറേറ്റർമാരെ ഉപയോഗിക്കാം:

< Меньше

<= Меньше или равно

<>തുല്യമല്ല

> കൂടുതൽ

>= ഇതിലും വലുത് അല്ലെങ്കിൽ തുല്യം

തത്ഫലമായുണ്ടാകുന്ന ഡാറ്റയെ ഒന്നോ അതിലധികമോ കോളങ്ങൾ ഉപയോഗിച്ച് അടുക്കാൻ, ക്ലോസ് പ്രകാരം ഓർഡർ (ഓപ്ഷണൽ) ഉപയോഗിക്കുന്നു. അടുക്കൽ ക്രമം നിർണ്ണയിക്കാൻ ASC (ആരോഹണം) അല്ലെങ്കിൽ DESC (അവരോഹണം) എന്നീ കീവേഡുകൾ ഉപയോഗിക്കുന്നു. സ്ഥിരസ്ഥിതിയായി, ഡാറ്റ ആരോഹണ ക്രമത്തിൽ അടുക്കുന്നു.

ഡാറ്റ പരിഷ്ക്കരണം

ഡാറ്റ വീണ്ടെടുക്കുന്നതിനു പുറമേ, ഡാറ്റ അപ്‌ഡേറ്റ് ചെയ്യാനും ഇല്ലാതാക്കാനും, മറ്റ് പട്ടികകളിലേക്ക് റെക്കോർഡുകൾ പകർത്താനും മറ്റ് പ്രവർത്തനങ്ങൾ നടത്താനും SQL ഉപയോഗിക്കാം. ഈ പ്രശ്‌നങ്ങളിൽ ചിലത് പരിഹരിക്കാൻ ഉപയോഗിക്കുന്ന അപ്‌ഡേറ്റ്, ഡിലീറ്റ്, ഇൻസേർട്ട് സ്റ്റേറ്റ്‌മെന്റുകൾ ഞങ്ങൾ ചുവടെ നോക്കും.

പ്രസ്താവന അപ്ഡേറ്റ് ചെയ്യുക

ഒരു പട്ടികയുടെ ഒന്നോ അതിലധികമോ നിരകളിലെ മൂല്യങ്ങൾ മാറ്റാൻ, അപ്ഡേറ്റ് സ്റ്റേറ്റ്മെന്റ് ഉപയോഗിക്കുക. ഈ ഓപ്പറേറ്ററുടെ വാക്യഘടന ഇതാണ്:

പട്ടിക അപ്‌ഡേറ്റ് ചെയ്യുക SET കോളം1 = എക്സ്പ്രഷൻ1 എവിടെയാണ് മാനദണ്ഡം

SET ക്ലോസിലെ എക്സ്പ്രഷൻ ഒരു സ്ഥിരാങ്കമോ കണക്കുകൂട്ടലിന്റെ ഫലമോ ആകാം. ഉദാഹരണത്തിന്, $10-ൽ താഴെ വിലയുള്ള എല്ലാ ഉൽപ്പന്നങ്ങളുടെയും വില വർദ്ധിപ്പിക്കുന്നതിന്, നിങ്ങൾക്ക് ഇനിപ്പറയുന്ന ചോദ്യം പ്രവർത്തിപ്പിക്കാം:

അപ്ഡേറ്റ് ഉൽപ്പന്നങ്ങൾ സെറ്റ് വില = വില * 1.1 എവിടെ വില< 10

പ്രസ്താവന ഇല്ലാതാക്കുക

പട്ടികകളിൽ നിന്ന് വരികൾ ഇല്ലാതാക്കാൻ, നിങ്ങൾ DELETE ഓപ്പറേറ്റർ ഉപയോഗിക്കണം, ഇതിന്റെ വാക്യഘടന:

എവിടെ മാനദണ്ഡം പട്ടികയിൽ നിന്ന് ഇല്ലാതാക്കുക

100-ൽ താഴെ വിലയുള്ള എല്ലാ ഉൽപ്പന്നങ്ങളും ഇല്ലാതാക്കുക:

എവിടെയുള്ള ഉൽപ്പന്നങ്ങളിൽ നിന്ന് ഇല്ലാതാക്കുക വില< 100

ഓപ്പറേറ്റർതിരുകുക

പട്ടികകളിലേക്ക് റെക്കോർഡുകൾ ചേർക്കുന്നതിന്, നിങ്ങൾ INSERT സ്റ്റേറ്റ്മെന്റ് ഉപയോഗിക്കണം, ഇതിന്റെ വാക്യഘടന:

പട്ടികയിലേക്ക് തിരുകുക ( മൂല്യങ്ങൾ (എക്സ്പ്രഷൻ [, ...])

ഉദാഹരണത്തിന്, ഉപഭോക്തൃ പട്ടികയിലേക്ക് ഒരു പുതിയ ഉപഭോക്താവിനെ ചേർക്കുന്നതിന്, നിങ്ങൾക്ക് ഇനിപ്പറയുന്ന ചോദ്യം ഉപയോഗിക്കാം:

ഉപഭോക്താക്കളിലേക്ക് തിരുകുക (ഉപഭോക്തൃ ഐഡി, കമ്പനിയുടെ പേര്) മൂല്യങ്ങൾ ('XYZ', 'XYZ ഡെലി')