அடிப்படை sql கட்டளைகள். தரவு அணுகல் வழிமுறை. கட்டமைக்கப்பட்ட வினவல் மொழி SQL. SQL இன் வரலாறு மற்றும் தரநிலைகள். ஆரக்கிள் சர்வர் மூலம் SQL கட்டளைகளை செயலாக்குகிறது. அகற்றுவதற்கான கோரிக்கைகள்
தொடர்புடைய தரவுத்தளங்கள் மற்றும் அட்டவணைகள் பற்றிய எந்தவொரு கருத்தியல் தகவலும் தரவுடன் எவ்வாறு தொடர்புகொள்வது என்பது உங்களுக்குத் தெரிந்தால் மட்டுமே பயனுள்ளதாக இருக்கும். SQL மொழியானது தரவுத்தளத்திலிருந்து தரவைச் சேர்ப்பது, மாற்றுவது மற்றும் நீக்குவதற்கான கட்டமைக்கப்பட்ட கட்டளைகளைக் கொண்டுள்ளது. இந்த கட்டளைகள் PostgreSQL சேவையகத்துடன் தொடர்புகொள்வதற்கான அடிப்படையாக அமைகிறது.
இந்த பகுதி SQL கட்டளைகளின் "உடற்கூறியல்" பற்றியது. இது கட்டளைகளின் கட்டமைப்பு கூறுகளை ஆராய்கிறது, ஒவ்வொரு கூறுகளின் செயல்பாடுகளையும் அவற்றின் பரஸ்பர உறவுகளையும் விவரிக்கிறது. நிலையான PostgreSQL கட்டளை வரி கிளையன்ட், psql, கொடுக்கப்பட்ட எடுத்துக்காட்டுகளில் கட்டளைகளின் முடிவுகளை அச்சிடுகிறது.
பெரும்பாலான SQL கட்டளை எடுத்துக்காட்டுகள் புக்டவுன் தரவுத்தளத்திற்கு குறிப்பிட்டவை. அனைத்து psql வெளியீடுகளும் booktown=# என்ற படிவத்துடன் முன்னொட்டாக இருக்கும்.
சில எடுத்துக்காட்டுகள் testdb சோதனை தரவுத்தளத்தைப் பயன்படுத்துகின்றன. முன்னிருப்பாக, psql ப்ராம்ட் தரவுத்தள பெயர் மற்றும் =# சின்னங்களை மட்டுமே காண்பிக்கும், இது கணினி ஒரு புதிய கட்டளையை வழங்க தயாராக உள்ளது என்பதைக் குறிக்கிறது (SQL உள்ளீட்டின் நிலை கண்காணிக்கப்படும்போது = சின்னம் மாறும் மாற்றத்தைக் காண்பீர்கள்). psql கிளையன்ட் வெளியீட்டில் நீங்கள் வசதியாக இருக்க உதவும் SQL உள்ளீடு மற்றும் வெளியீட்டுடன் இந்த வரியில் புத்தகம் வழங்குகிறது.
psql கிளையன்ட் அத்தியாயம் 4 இல் விரிவாக விவரிக்கப்பட்டுள்ளது. SQL கட்டளைகளின் பாணியை தெளிவுபடுத்துவதற்காக மட்டுமே இது குறிப்பிடப்பட்டுள்ளது.
குறிப்பு
புக்டவுன் டேட்டாபேஸ் ஸ்கீமா (எடுத்துக்காட்டு பதிவுகளுடன்) CD இல் உள்ள booktown.sql கோப்பில் உள்ளது. இந்த தரவுத்தளத்தை நிறுவ, கட்டளை வரியில் psql - U postgres டெம்ப்ளேட்! கட்டளையை உள்ளிடவும். - f /mnt/cdrom/booktown.sql, இதில் /mnt/cdrom என்பது ஏற்றப்பட்ட CDக்கான பாதை மற்றும் postgres என்பது PostgreSQL சூப்பர் யூசர் பெயர்.
SQL கட்டளைகள் எப்பொழுதும் ஒரு செயலுடன் (வினை) தொடங்குகின்றன - ஒரு சொல் அல்லது சொற்களின் குழு செயல்படும் செயல்பாட்டை விவரிக்கிறது. கூடுதலாக, ஒரு SQL கட்டளை பொதுவாக அதன் பொருளை தெளிவுபடுத்தும் ஒன்று அல்லது அதற்கு மேற்பட்ட பிரிவுகளைக் கொண்டுள்ளது. அட்டவணையில் 3.2 SQL இன் முக்கிய செயல்களை பட்டியலிடுகிறது.
அட்டவணை 3.2. அடிப்படை PostgreSQL செயல்கள்.
தரவுத்தளத்தை உருவாக்கவும் | புதிய தரவுத்தளத்தை உருவாக்குதல் |
குறியீட்டை உருவாக்கவும் | அட்டவணை நெடுவரிசையில் புதிய குறியீட்டை உருவாக்குதல் |
வரிசையை உருவாக்கவும் | ஏற்கனவே உள்ள தரவுத்தளத்தில் புதிய வரிசையை உருவாக்குதல் |
அட்டவணையை உருவாக்கவும் | ஏற்கனவே உள்ள தரவுத்தளத்தில் புதிய அட்டவணையை உருவாக்குதல் |
தூண்டுதலை உருவாக்கவும் | புதிய தூண்டுதல் வரையறையை உருவாக்கவும் |
காட்சியை உருவாக்கவும் | ஏற்கனவே உள்ள அட்டவணைக்கு புதிய காட்சியை உருவாக்கவும் |
தேர்ந்தெடுக்கவும் | அட்டவணையில் இருந்து பதிவுகளைத் தேர்ந்தெடுப்பது |
செருகு | ஒரு அட்டவணையில் ஒன்று அல்லது அதற்கு மேற்பட்ட புதிய பதிவுகளைச் செருகுதல் |
புதுப்பிக்கவும் | ஏற்கனவே உள்ள பதிவுகளில் உள்ள தரவை மாற்றுதல் |
அழி | அட்டவணையில் இருந்து ஏற்கனவே உள்ள பதிவுகளை அகற்றுதல் |
தரவுத்தளத்தை கைவிடவும் | ஏற்கனவே உள்ள தரவுத்தளத்தை அழித்தல் |
டிராப் இன்டெக்ஸ் | ஏற்கனவே உள்ள அட்டவணையில் இருந்து நெடுவரிசை குறியீட்டை அகற்றுதல் |
டிராப் சீக்வென்ஸ் | ஏற்கனவே உள்ள வரிசை ஜெனரேட்டரை அழித்தல் |
டிராப் டேபிள் | ஏற்கனவே உள்ள அட்டவணையை அழிக்கிறது |
தூண்டி விடவும் | ஏற்கனவே உள்ள தூண்டுதல் வரையறையை அழித்தல் |
காட்சியை விடவும் | இருக்கும் காட்சியை அழித்தல் |
பயனரை உருவாக்கு | கணினியில் புதிய PostgreSQL பயனர் கணக்கை உருவாக்குதல் |
மாற்று பயனர் | ஏற்கனவே உள்ள PostgreSQL பயனர் கணக்கை மாற்றுதல் |
பயனரை கைவிடவும் | ஏற்கனவே உள்ள PostgreSQL பயனர் கணக்கை நீக்குகிறது |
கிராண்ட் | தரவுத்தள பொருளுக்கு அணுகல் உரிமைகளை வழங்குதல் |
திரும்பப் பெறு | தரவுத்தள பொருளுக்கான அணுகல் உரிமைகளை நீக்குதல் |
செயல்பாட்டை உருவாக்கவும் | தரவுத்தளத்தில் புதிய SQL செயல்பாட்டை உருவாக்குதல் |
மொழியை உருவாக்கவும் | தரவுத்தளத்தில் புதிய மொழி வரையறையை உருவாக்குதல் |
ஆபரேட்டரை உருவாக்கவும் | தரவுத்தளத்தில் புதிய SQL அறிக்கையை உருவாக்குதல் |
வகையை உருவாக்கவும் | தரவுத்தளத்தில் புதிய SQL தரவு வகையை உருவாக்குதல் |
கட்டமைக்கப்பட்ட வினவல் மொழி 1970 களின் முற்பகுதியில் IBM ஆல் உருவாக்கப்பட்டது. 1986 இல், SQL முதன்முதலில் ANSI நிறுவனங்களால் தரப்படுத்தப்பட்டது.
SQL ஒரு சக்திவாய்ந்த மற்றும் அதே நேரத்தில் தரவுத்தள நிர்வாகத்திற்கான எளிய மொழியாகும். இது கிட்டத்தட்ட அனைத்து நவீன தரவுத்தளங்களாலும் ஆதரிக்கப்படுகிறது. SQL கட்டளைகளின் இரண்டு துணைக்குழுக்களாக பிரிக்கப்பட்டுள்ளது: DDL (தரவு வரையறை மொழி) மற்றும் DML (தரவு கையாளுதல் மொழி). புதிய தரவுத்தளங்கள், அட்டவணைகள் மற்றும் நெடுவரிசைகளை உருவாக்க DDL கட்டளைகள் பயன்படுத்தப்படுகின்றன, மேலும் DML கட்டளைகள் தரவைப் படிக்க, எழுத, வரிசைப்படுத்த, வடிகட்ட, நீக்க பயன்படுகிறது.
இந்த கட்டுரை DML கட்டளைகளை ஒரு நெருக்கமான தோற்றத்தை எடுக்கும், ஏனெனில் அவை அடிக்கடி பயன்படுத்தப்படுகின்றன.
DDL கட்டளைகள்உருவாக்கு - புதிய அட்டவணைகள், நெடுவரிசைகள் மற்றும் குறியீடுகளை உருவாக்கப் பயன்படுகிறது.
DROP - நெடுவரிசைகள் மற்றும் குறியீடுகளை அகற்ற பயன்படுகிறது.
ALTER - அட்டவணையில் புதிய நெடுவரிசைகளைச் சேர்க்க மற்றும் குறிப்பிட்ட நெடுவரிசைகளை மாற்ற பயன்படுகிறது.
DML கட்டளைகள்SELECT என்பது பொதுவாகப் பயன்படுத்தப்படும் கட்டளை மற்றும் தரவுத்தள அட்டவணையில் இருந்து தரவுகளின் தொகுப்பை மீட்டெடுக்கப் பயன்படுகிறது. SELECT கட்டளை பின்வரும் தொடரியல் உள்ளது:
தேர்ந்தெடுக்கவும் புலம்_பட்டியல்1இருந்து அட்டவணை_பெயர் ]
சதுர அடைப்புக்குறிக்குள் உள்ள ஆபரேட்டர்கள் விருப்பமானவை, மேலும் செங்குத்து பட்டை என்பது குறிப்பிட்ட சொற்றொடர்களில் ஒன்று இருக்க வேண்டும், ஆனால் இரண்டும் இல்லை.
எடுத்துக்காட்டாக, "நண்பர்கள்" அட்டவணையின் "பெயர்" மற்றும் "தொலைபேசி" புலங்களிலிருந்து தரவைப் பெற எளிய வினவலை உருவாக்குவோம்:
தேர்ந்தெடுக்கவும் பெயர், தொலைபேசிஇருந்து நண்பர்கள்
அட்டவணையின் அனைத்து புலங்களையும் நீங்கள் பெற வேண்டும் என்றால், அவற்றை பட்டியலிட வேண்டிய அவசியமில்லை, ஒரு நட்சத்திரத்தை (*) வைக்கவும்:
தேர்ந்தெடுக்கவும் * இருந்து நண்பர்கள்
காட்டப்படும் பட்டியலில் இருந்து நகல் உள்ளீடுகளை விலக்க, DISTINCT முக்கிய சொல்லைப் பயன்படுத்தவும்:
வேறுபட்டதைத் தேர்ந்தெடுக்கவும் பெயர்இருந்து நண்பர்கள்
நீங்கள் ஒரு தனி பதிவைப் பெற வேண்டும் என்றால், WHERE பிரிவு பயன்படுத்தப்படுகிறது. எடுத்துக்காட்டாக, "நண்பர்கள்" அட்டவணையில் இருந்து "Vasya Pupkin" இன் தொலைபேசி எண்ணைப் பெற வேண்டும்:
தேர்ந்தெடுக்கவும் * இருந்து நண்பர்கள்எங்கே பெயர் = "வாஸ்யா புப்கின்"
அல்லது நேர்மாறாக, 44-65-01 ஃபோன் யாருடையது என்பதை நாம் கண்டுபிடிக்க வேண்டும்:
தேர்ந்தெடுக்கவும் * இருந்து நண்பர்கள்எங்கே தொலைபேசி = "44-65-01"
கூடுதலாக, நீங்கள் வைல்டு கார்டு எழுத்துக்களைப் பயன்படுத்தலாம், இதன் மூலம் தேடல் வடிவங்களை உருவாக்கலாம். இதற்கு LIKE ஆபரேட்டர் பயன்படுத்தப்படுகிறது. LIKE ஆபரேட்டர் பின்வரும் மாற்று ஆபரேட்டர்களைக் கொண்டுள்ளது:
* - ஒன்று அல்லது அதற்கு மேற்பட்ட எழுத்துக்களைக் கொண்ட சரத்துடன் பொருந்துகிறது;
எந்த ஒரு எழுத்துக்கும் பொருந்தும்;
ஒரு குறிப்பிட்ட தொகுப்பிலிருந்து ஒரு எழுத்துடன் பொருந்துகிறது;
எடுத்துக்காட்டாக, "Vasya" என்ற வார்த்தையைக் கொண்ட "பெயர்" புலத்திலிருந்து பதிவுகளை மீட்டெடுக்க, கோரிக்கை இப்படி இருக்கும்:
தேர்ந்தெடுக்க * இருந்து நண்பர்கள்எங்கே பெயர்விரும்பு "*வாஸ்யா*"
எந்த வரிசையில் தரவு திரும்பப் பெறப்படுகிறது என்பதைத் தீர்மானிக்க, ஆர்டர் பை ஷரத்து பயன்படுத்தப்படுகிறது. இந்த ஆபரேட்டர் இல்லாமல், திரும்பிய தரவின் வரிசையை கணிக்க முடியாது. ASC மற்றும் DESC ஆகிய முக்கிய வார்த்தைகள் வரிசைப்படுத்தும் திசையை தீர்மானிக்க உங்களை அனுமதிக்கின்றன. ஏஎஸ்சி ஏறுவரிசையில் வரிசைப்படுத்துகிறது, மற்றும் DESC ஆர்டர்கள் இறங்கு வரிசையில்.
எடுத்துக்காட்டாக, அகரவரிசையில் "பெயர்" புலத்திலிருந்து பதிவுகளின் பட்டியலைப் பெறுவதற்கான கோரிக்கை இப்படி இருக்கும்:
தேர்ந்தெடுக்க * இருந்து நண்பர்கள்உத்தரவின் படி பெயர்
ASC முக்கிய சொல் தேவையில்லை, ஏனெனில் இது இயல்புநிலை.
INSERT - இந்த கட்டளை அட்டவணையில் ஒரு புதிய பதிவை சேர்க்க பயன்படுகிறது. இது பின்வருமாறு எழுதப்பட்டுள்ளது:
உள்ளே நுழைத்தல் அட்டவணை_பெயர்மதிப்புகள் ( மதிப்பு_பட்டியல்)
மதிப்புகளின் பட்டியலில் உள்ள மதிப்பு வகைகள் அட்டவணை புலங்களின் மதிப்பு வகைகளுடன் பொருந்த வேண்டும் என்பதை நினைவில் கொள்க, எடுத்துக்காட்டாக:
உள்ளே நுழைத்தல் நண்பர்கள்மதிப்புகள் ( "அன்கா தி மெஷின் கன்னர்", "32-09-81" )
இந்த எடுத்துக்காட்டு நண்பர்கள் அட்டவணையில் குறிப்பிட்ட மதிப்புகளுடன் ஒரு புதிய உள்ளீட்டைச் சேர்க்கிறது.
புதுப்பிப்பு - இந்த கட்டளையானது அட்டவணையில் தரவைப் புதுப்பிக்கப் பயன்படுகிறது மற்றும் பெரும்பாலும் WHERE விதியுடன் இணைந்து பயன்படுத்தப்படுகிறது. UPDATE கட்டளையில் பின்வரும் தொடரியல் உள்ளது:
புதுப்பிக்கவும் அட்டவணை_பெயர்அமைக்கவும் புலம்_பெயர் = பொருள்
WHERE விதியை நீங்கள் தவிர்த்துவிட்டால், அட்டவணையில் உள்ள அனைத்து வரையறுக்கப்பட்ட புலங்களில் உள்ள தரவு புதுப்பிக்கப்படும். எடுத்துக்காட்டாக, வாஸ்யா புப்குனின் தொலைபேசி எண்ணை மாற்றலாம்:
புதுப்பிக்கவும் நண்பர்கள்அமைக்கவும் தொலைபேசி = "55-55-55" எங்கே பெயர் = "வாஸ்யா புப்கின்"
DELETE - நீங்கள் ஏற்கனவே புரிந்து கொண்டபடி, அட்டவணையில் இருந்து பதிவுகளை நீக்க இந்த கட்டளை பயன்படுத்தப்படுகிறது. புதுப்பிப்பைப் போலவே, DELETE கட்டளை பொதுவாக WHERE உட்பிரிவுடன் பயன்படுத்தப்படுகிறது; இந்த விதி தவிர்க்கப்பட்டால், குறிப்பிட்ட அட்டவணையில் உள்ள எல்லா தரவும் நீக்கப்படும். DELETE கட்டளை தொடரியல் பின்வருமாறு:
இதிலிருந்து நீக்கு அட்டவணை_பெயர்
எடுத்துக்காட்டாக, இந்த எரிச்சலூட்டும் வாஸ்யா பப்கினை எங்கள் அட்டவணையில் இருந்து அகற்றுவோம் :) :
இதிலிருந்து நீக்கு நண்பர்கள்எங்கே பெயர் = "வாஸ்யா புப்கின்"
முற்றும்இந்த கட்டுரையில் நான் முக்கிய SQL ஆபரேட்டர்களைப் பற்றி பேசினேன், அவை தரவுத்தளங்களுடன் பணிபுரிய போதுமானவை; மீதமுள்ள ஆபரேட்டர்களைப் பற்றி மற்றொரு முறை விரிவாகப் பேசுவேன்.
SQL அல்லது கட்டமைக்கப்பட்ட வினவல் மொழி என்பது தொடர்புடைய தரவுத்தள அமைப்பில் (RDBMS) தரவை நிர்வகிக்கப் பயன்படும் மொழியாகும். ஒவ்வொரு புரோகிராமருக்கும் தெரிந்திருக்க வேண்டிய பொதுவாகப் பயன்படுத்தப்படும் SQL கட்டளைகளை இந்தக் கட்டுரை உள்ளடக்கும். வேலை நேர்காணலுக்கு முன், SQL பற்றிய தங்கள் அறிவை மேம்படுத்த விரும்புவோருக்கு இந்த பொருள் சிறந்தது. இதைச் செய்ய, கட்டுரையில் கொடுக்கப்பட்டுள்ள எடுத்துக்காட்டுகளைப் பார்த்து, நீங்கள் தரவுத்தளங்களை ஜோடிகளாகப் படித்தீர்கள் என்பதை நினைவில் கொள்ளுங்கள்.
சில தரவுத்தள அமைப்புகளுக்கு ஒவ்வொரு அறிக்கையின் முடிவிலும் அரைப்புள்ளி தேவை என்பதை நினைவில் கொள்ளவும். அரைப்புள்ளி என்பது SQL இல் உள்ள ஒவ்வொரு அறிக்கையின் முடிவிற்கும் நிலையான சுட்டிக்காட்டி ஆகும். எடுத்துக்காட்டுகள் MySQL ஐப் பயன்படுத்துகின்றன, எனவே ஒரு அரைப்புள்ளி தேவைப்படுகிறது.
எடுத்துக்காட்டுகளுக்கு ஒரு தரவுத்தளத்தை அமைத்தல்குழுக்கள் எவ்வாறு செயல்படுகின்றன என்பதை நிரூபிக்க ஒரு தரவுத்தளத்தை உருவாக்கவும். வேலை செய்ய, நீங்கள் இரண்டு கோப்புகளைப் பதிவிறக்க வேண்டும்: DLL.sql மற்றும் InsertStatements.sql. அதன் பிறகு, ஒரு முனையத்தைத் திறந்து, பின்வரும் கட்டளையைப் பயன்படுத்தி MySQL கன்சோலில் உள்நுழைக (கட்டுரை MySQL ஏற்கனவே கணினியில் நிறுவப்பட்டுள்ளது என்று கருதுகிறது):
Mysql -u ரூட் -p
பின்னர் உங்கள் கடவுச்சொல்லை உள்ளிடவும்.
பின்வரும் கட்டளையை இயக்கவும். தரவுத்தளத்தை “பல்கலைக்கழகம்” என்று அழைப்போம்:
டேட்டாபேஸ் பல்கலைக்கழகத்தை உருவாக்கவும்; யுஎஸ்இ பல்கலைக்கழகம்; ஆதாரம்; தரவுத்தளங்களுடன் பணிபுரிவதற்கான மூலக் கட்டளைகள்1. கிடைக்கும் தரவுத்தளங்களைக் காண்க தரவுத்தளங்களைக் காட்டு; 2. புதிய தரவுத்தளத்தை உருவாக்குதல் தரவுத்தளத்தை உருவாக்குதல்; 3. USE ஐப் பயன்படுத்த ஒரு தரவுத்தளத்தைத் தேர்ந்தெடுப்பது; 4. SQL கட்டளைகளை .sql கோப்பில் இருந்து இறக்குமதி செய் SOURCE ; 5. தரவுத்தளத்தை நீக்குதல் DROP DATABASE ; அட்டவணைகளுடன் பணிபுரிதல் 6. SHOW TABLES தரவுத்தளத்தில் கிடைக்கும் அட்டவணைகளைப் பார்க்கவும்;
அட்டவணையில் உள்ள சில நெடுவரிசைகளில் நீங்கள் கட்டுப்பாடுகளை உருவாக்க வேண்டியிருக்கலாம். அட்டவணையை உருவாக்கும்போது, நீங்கள் பின்வரும் கட்டுப்பாடுகளை அமைக்கலாம்:
- அட்டவணை கலத்தில் NULL மதிப்பு இருக்கக்கூடாது;
- முதன்மை விசை - முதன்மை விசை (col_name1, col_name2, ...) ;
- வெளிநாட்டு விசை - FOREIGN KEY (col_namex1, …, col_namexn) குறிப்புகள் table_name(col_namex1, …, col_namexn) .
ஒன்றுக்கும் மேற்பட்ட முதன்மை விசைகளை நீங்கள் குறிப்பிடலாம். இந்த வழக்கில், நீங்கள் ஒரு கூட்டு முதன்மை விசையைப் பெறுவீர்கள்.
உதாரணமாக"பயிற்றுவிப்பாளர்" அட்டவணையை உருவாக்கவும்:
அட்டவணை பயிற்றுவிப்பாளர் (ஐடி CHAR(5), பெயர் VARCHAR(20) NULL அல்ல, dept_name VARCHAR(20), சம்பளம் எண்(8,2), முதன்மை விசை (ID), FOREIGN KEY (dept_name) குறிப்புகள் துறை(dept_name));
8. அட்டவணை தகவல்பின்வரும் கட்டளையுடன் அட்டவணை நெடுவரிசைகளைப் பற்றிய பல்வேறு தகவல்களை (மதிப்பு வகை, விசை அல்லது இல்லை) பார்க்கலாம்:
விவரிக்கவும் ;
அட்டவணையில் உள்ள ஒவ்வொரு நெடுவரிசையிலும் தரவைச் சேர்க்கும்போது, நெடுவரிசைப் பெயர்களைக் குறிப்பிடத் தேவையில்லை.
மதிப்புகளில் செருகவும் (, , , ...);
10. அட்டவணைத் தரவைப் புதுப்பிக்கிறது UPDATE SET = , = , ... WHERE ; 11. அட்டவணையில் இருந்து எல்லா தரவையும் நீக்குகிறது இலிருந்து நீக்கு ; 12. ஒரு அட்டவணையை நீக்குதல் ட்ராப் டேபிள் ; வினவல்களை உருவாக்குவதற்கான கட்டளைகள்13. தேர்ந்தெடுக்கவும்ஒரு குறிப்பிட்ட அட்டவணையில் இருந்து தரவை மீட்டெடுக்க SELECT பயன்படுத்தப்படுகிறது:
தேர்ந்தெடு , , ... இருந்து ;
பின்வரும் கட்டளை அட்டவணையில் இருந்து அனைத்து தரவையும் காண்பிக்கும்:
தேர்ந்தெடு * இருந்து ;
அட்டவணை நெடுவரிசைகளில் நகல் தரவு இருக்கலாம். நகல் அல்லாத தரவை மட்டும் மீட்டெடுக்க SELECT DISTINCT ஐப் பயன்படுத்தவும்.
வேறுபட்டதைத் தேர்ந்தெடு , … இலிருந்து ;
வினவலில் நிபந்தனைகளைக் குறிப்பிட SELECT இல் WHERE முக்கிய சொல்லைப் பயன்படுத்தலாம்:
தேர்ந்தெடு , , ... எங்கிருந்து ;
கோரிக்கையில் பின்வரும் நிபந்தனைகள் குறிப்பிடப்படலாம்:
- உரை ஒப்பீடு;
- எண் மதிப்புகளின் ஒப்பீடு;
- தருக்க ஆபரேட்டர்கள் AND (மற்றும்), OR (அல்லது) மற்றும் NOT (எதிர்ப்பு).
பின்வரும் கட்டளைகளை முயற்சிக்கவும். இங்கு குறிப்பிடப்பட்டுள்ள நிபந்தனைகளுக்கு கவனம் செலுத்துங்கள்:
தேர்வு * எங்கிருந்து dept_name='comp. அறிவியல்.'; தேர்வு * பாடத்திலிருந்து எங்க வரவுகள்>3; தேர்வு * எங்கிருந்து dept_name="Comp. Sci." மற்றும் வரவுகள்>3;
GROUP BY ஆபரேட்டர் பெரும்பாலும் COUNT, MAX, MIN, SUM மற்றும் AVG போன்ற மொத்த செயல்பாடுகளுடன் குழு வெளியீட்டு மதிப்புகளுக்குப் பயன்படுத்தப்படுகிறது.
தேர்வு , , … குழுவில் இருந்து ;
உதாரணமாகஒவ்வொரு ஆசிரியர்களுக்கும் உள்ள படிப்புகளின் எண்ணிக்கையைக் காண்போம்:
COUNT (course_id), dept_name from course GROUP by dept_name;
HAVING முக்கிய வார்த்தை SQL இல் சேர்க்கப்பட்டது, ஏனெனில் மொத்த செயல்பாடுகளுடன் WHERE ஐப் பயன்படுத்த முடியாது.
, , ... கொண்ட குழுவிலிருந்து தேர்ந்தெடுக்கவும்
உதாரணமாகஒன்றுக்கும் மேற்பட்ட பாடங்களைக் கொண்ட பீடங்களின் பட்டியலைக் காண்பிப்போம்:
COUNT(course_id), dept_name from course GROUP by dept_name COUNT(course_id)>1ஐத் தேர்ந்தெடுக்கவும்;
ஆர்டர் மூலம் வினவல் முடிவுகளை இறங்கு அல்லது ஏறுவரிசையில் வரிசைப்படுத்த பயன்படுகிறது. ASC அல்லது DESC குறிப்பிடப்படாவிட்டால், ஆர்டர் மூலம் ஆர்டர் ஏறுவரிசையில் வரிசைப்படுத்தப்படும்.
தேர்வு , , … ஆர்டரில் இருந்து , , … ASC|DESC;
உதாரணமாகவரவுகளின் ஏறுவரிசை மற்றும் இறங்கு வரிசையில் படிப்புகளின் பட்டியலைக் காண்பிப்போம்:
தேர்வு * படிப்பிலிருந்து வரவுகள் மூலம் ஆர்டர்; தேர்ந்தெடு * பாடத்திட்டத்திலிருந்து DESC மூலம் கிரெடிட் ஆர்டர்;
ஒரு குறிப்பிட்ட வரம்பிலிருந்து தரவு மதிப்புகளைத் தேர்ந்தெடுக்க BETWEEN பயன்படுத்தப்படுகிறது. எண் மற்றும் உரை மதிப்புகள், தேதிகள் ஆகியவற்றைப் பயன்படுத்தலாம்.
தேர்ந்தெடு , … மற்றும் இடையில் எங்கிருந்து ;
உதாரணமாக50,000 க்கும் அதிகமான சம்பளம், ஆனால் 100,000 க்கும் குறைவான பயிற்றுவிப்பாளர்களின் பட்டியலைக் காண்பிப்போம்:
50000 முதல் 100000 வரை சம்பளம் உள்ள பயிற்றுவிப்பாளரிடமிருந்து தேர்வு செய்யவும்;
LIKE ஆபரேட்டர் ஒரே மாதிரியான மதிப்பிற்கான தேடல் வடிவத்தைக் குறிப்பிட WHERE இல் பயன்படுத்தப்படுகிறது.
LIKE இல் பயன்படுத்தப்படும் இரண்டு இலவச ஆபரேட்டர்கள் உள்ளன:
- % (எதுவும் இல்லை, ஒன்று அல்லது அதற்கு மேற்பட்ட எழுத்துக்கள்);
- _ (ஒரு எழுத்து).
"to" உள்ள படிப்புகளின் பட்டியலையும், "CS-" என்று தொடங்கும் படிப்புகளின் பட்டியலையும் காண்பிப்போம்:
'% to%' போன்ற தலைப்பு இருக்கும் பாடத்திலிருந்து * தேர்ந்தெடுக்கவும்; "CS-___" போன்ற கோர்ஸ்_ஐடி இருக்கும் பாடத்திலிருந்து * தேர்ந்தெடுக்கவும்;
IN ஐப் பயன்படுத்தி, WHERE விதிக்கு பல மதிப்புகளைக் குறிப்பிடலாம்:
, , … எங்கிருந்து (, , ...);
உதாரணமாககாம்ப் மேஜர்களில் இருந்து மாணவர்களின் பட்டியலைக் காண்பிப்போம். அறிவியல்., இயற்பியல் மற்றும் மின். இன்ஜி.:
தேர்ந்தெடு * மாணவர் எங்கிருந்து dept_name IN ('கம்ப். அறிவியல்', 'இயற்பியல்', 'எலக். இன்ஜி.');
இரண்டு அல்லது அதற்கு மேற்பட்ட அட்டவணைகளை அவற்றில் உள்ள பொதுவான பண்புகளைப் பயன்படுத்தி இணைக்க JOIN பயன்படுத்தப்படுகிறது. SQL இல் இணைவதற்கான பல்வேறு வழிகளை கீழே உள்ள படம் காட்டுகிறது. இடது புற இணைப்புக்கும் வலது புற இணைப்புக்கும் உள்ள வித்தியாசத்தைக் கவனியுங்கள்:
தேர்ந்தெடு , … இலிருந்து சேர் = ;
எடுத்துக்காட்டு 1அனைத்து படிப்புகளின் பட்டியலையும் பீடங்களைப் பற்றிய தொடர்புடைய தகவல்களையும் நாங்கள் காண்பிப்போம்:
தேர்வு * படிப்பிலிருந்து துறை சேருங்கள் course.dept_name=department.dept_name;
தேவையான அனைத்து படிப்புகளின் பட்டியலையும் அவற்றைப் பற்றிய விவரங்களையும் நாங்கள் காண்பிப்போம்:
prereq.course_id, தலைப்பு, dept_name, வரவுகள், prereq_id இலிருந்து prereq ஐத் தேர்ந்தெடுங்கள்.
தேவையா இல்லையா என்பதைப் பொருட்படுத்தாமல், அனைத்து படிப்புகளின் பட்டியலை நாங்கள் காண்பிப்போம்:
நிச்சயமாக.course_id, தலைப்பு, dept_name, வரவுகள், prereq_id முதல் prereq ஐத் தேர்ந்தெடுக்கவும்.
காட்சி என்பது ஒரு வெளிப்பாட்டை செயல்படுத்துவதன் விளைவாக உருவாக்கப்பட்ட மெய்நிகர் SQL அட்டவணையாகும். இது வரிசைகள் மற்றும் நெடுவரிசைகளைக் கொண்டுள்ளது மற்றும் வழக்கமான SQL அட்டவணையைப் போலவே உள்ளது. பார்வை எப்போதும் தரவுத்தளத்திலிருந்து சமீபத்திய தகவலைக் காட்டுகிறது.
க்ரேட் வியூவை உருவாக்குகிறது தேர்வு , , ... எங்கிருந்து ; டிராப் காட்சியை நீக்குகிறது ; உதாரணமாக3 கிரெடிட்கள் கொண்ட படிப்புகளைக் கொண்ட பார்வையை உருவாக்குவோம்:
கேள்விக்குரிய தரவு தொடர்பான மொத்த முடிவைப் பெற இந்த செயல்பாடுகள் பயன்படுத்தப்படுகின்றன. பின்வருபவை பொதுவாக பயன்படுத்தப்படும் மொத்த செயல்பாடுகள்:
- COUNT (col_name) - வரிசைகளின் எண்ணிக்கையை வழங்குகிறது;
- SUM (col_name) - இந்த நெடுவரிசையில் உள்ள மதிப்புகளின் கூட்டுத்தொகையை வழங்குகிறது;
- AVG (col_name) - கொடுக்கப்பட்ட நெடுவரிசையின் சராசரி மதிப்பை வழங்குகிறது;
- MIN (col_name) - கொடுக்கப்பட்ட நெடுவரிசையின் மிகச்சிறிய மதிப்பை வழங்குகிறது;
- MAX (col_name) - கொடுக்கப்பட்ட நெடுவரிசையின் மிகப்பெரிய மதிப்பை வழங்குகிறது.
Nested subqueries என்பது SQL வினவல்கள் ஆகும், இதில் SELECT , FROM , மற்றும் WHERE உட்பிரிவுகள் மற்றொரு வினவலில் உள்ளடங்கும்.
உதாரணமாக2009 இலையுதிர் மற்றும் 2010 வசந்த காலத்தில் கற்பிக்கப்படும் படிப்புகளைக் கண்டுபிடிப்போம்:
செமஸ்டர் எங்கே = 'வீழ்ச்சி' மற்றும் ஆண்டு= 2009 மற்றும் course_id இன் பிரிவில் இருந்து DISTINCT course_id ஐத் தேர்ந்தெடுக்கவும் (எங்கே செமஸ்டர் = 'வசந்தம்' மற்றும் ஆண்டு= 2010)
கிரில் போஸ்டீவ், மொழிபெயர்ப்பாளர்
சேவைகளை தனிப்பயனாக்க Yandex உங்கள் தரவு மற்றும் இயந்திர கற்றலை எவ்வாறு பயன்படுத்துகிறது -.
SQL (ˈɛsˈkjuˈɛl; ஆங்கிலம் கட்டமைக்கப்பட்ட வினவல் மொழி - "கட்டமைக்கப்பட்ட வினவல் மொழி") என்பது ஒரு தொடர்புடைய தரவுத்தளத்தில் தரவை உருவாக்க, மாற்ற மற்றும் நிர்வகிக்கப் பயன்படும் ஒரு அறிவிப்பு நிரலாக்க மொழியாகும்.
வெவ்வேறு தரவுத்தளங்களுக்கான SQL தரநிலைகளுடன் இணங்குதல்:
SQL (கட்டமைக்கப்பட்ட வினவல் மொழி - கட்டமைக்கப்பட்ட வினவல் மொழி). SQL என்பது முதன்மையாக ஒரு தகவல் தருக்க மொழியாகும், இது சேமிக்கப்பட்ட தரவை விவரிக்கவும், சேமிக்கப்பட்ட தரவை மீட்டெடுக்கவும் மற்றும் தரவை மாற்றவும் வடிவமைக்கப்பட்டுள்ளது.
SQL ஒரு நிரலாக்க மொழி அல்ல. SQL மிகவும் சிக்கலானதாக மாறியதால், இது ஒரு பயன்பாட்டு நிரலாக்க மொழியாக மாறியுள்ளது, மேலும் பயனர்கள் இப்போது காட்சி வினவல் உருவாக்கிகளைப் பயன்படுத்த முடியும்.
SQL என்பது கேஸ்-சென்சிட்டிவ் மொழி. SQL இல் உள்ள சரங்கள் ஒற்றை மேற்கோள்களில் இணைக்கப்பட்டுள்ளன.
SQL மொழி என்பது அறிக்கைகளின் தொகுப்பாகும். SQL அறிக்கைகள் பிரிக்கப்பட்டுள்ளன:
தரவு வரையறை மொழி (DDL) - ANSI இல் உள்ள திட்ட விளக்க மொழி, தரவுத்தளத்தில் உள்ள பொருட்களை (அட்டவணைகள், குறியீடுகள், காட்சிகள், முதலியன) உருவாக்கும் கட்டளைகளைக் கொண்டுள்ளது (உருவாக்கு, டிராப், ALTER, முதலியன).
டேட்டா மேனிபுலேஷன் ஆபரேட்டர்கள் (டேட்டா மேனிபுலேஷன் லாங்குவேஜ், டிஎம்எல்) என்பது எந்த நேரத்திலும் அட்டவணையில் என்ன மதிப்புகள் வழங்கப்படுகின்றன என்பதை தீர்மானிக்கும் கட்டளைகளின் தொகுப்பாகும் (செருகு, நீக்கு, தேர்வு, புதுப்பித்தல் போன்றவை).
தரவு அணுகல் வரையறை அறிக்கைகள் (தரவு கட்டுப்பாட்டு மொழி, DCL) - சில செயல்களைச் செய்ய பயனரை அனுமதிக்கலாமா வேண்டாமா என்பதை தீர்மானிக்கும் கருவிகளைக் கொண்டுள்ளது (GRANT/REVOKE, LOCK/UNLOCK).
பரிவர்த்தனை கட்டுப்பாட்டு மொழி (TCL) ஆபரேட்டர்கள்
துரதிர்ஷ்டவசமாக, இந்த விதிமுறைகள் அனைத்து செயலாக்கங்களிலும் உலகளாவிய அளவில் பயன்படுத்தப்படவில்லை. அவை ANSI ஆல் வலியுறுத்தப்பட்டு கருத்தியல் மட்டத்தில் பயனுள்ளதாக இருக்கும், ஆனால் பெரும்பாலான SQL நிரல்கள் அவற்றைத் தனித்தனியாகக் கையாள்வதில் சிறிதளவே செயல்படுகின்றன, எனவே அவை SQL கட்டளைகளின் செயல்பாட்டு வகைகளாக மாறும்.
பிரிவைத் தேர்ந்தெடு சேர்எளிய சேர் (=இன்டர்செக்ஷன் ஜொயின் =இன்னர் சேர்) - இரண்டு அட்டவணைகளின் பொதுவான பதிவுகளை மட்டும் காண்பிப்பது என்று பொருள். பதிவுகள் எவ்வாறு பகிரப்பட்டதாகக் கருதப்படுகின்றன என்பது சேர வெளிப்பாட்டில் உள்ள புலங்களால் தீர்மானிக்கப்படுகிறது. எடுத்துக்காட்டாக, பின்வரும் உள்ளீடு: t1 இலிருந்து t2 இல் t1 இல் சேரவும். ஐடி = t2. ஐடி
இரண்டு அட்டவணைகளிலும் இருக்கும் ஒரே ஐடியுடன் கூடிய பதிவுகள் காண்பிக்கப்படும்.
LEFT JOIN (அல்லது LEFT OUTER JOIN) என்பது வலது அட்டவணையில் தொடர்புடைய பதிவுகள் உள்ளதா என்பதைப் பொருட்படுத்தாமல், இடது அட்டவணையில் (சேர்வதற்கான வெளிப்பாட்டில் முதலில் வரும்) எல்லாப் பதிவுகளையும் காண்பிப்பதாகும். சரியான அட்டவணையில் பதிவுகள் இல்லை என்றால், வெற்று மதிப்பு NULL அமைக்கப்படும்.
வலதுபுறம் சேர்வது (அல்லது வலதுபுறம் சேர்வது) இடதுபுற இணைப்பிற்கு மாறாக செயல்படுகிறது - இது வலது (இரண்டாவது) அட்டவணையில் இருந்து எல்லா பதிவுகளையும் காட்டுகிறது மற்றும் இடது (முதல்) அட்டவணையில் இருந்து மட்டுமே பொருந்தும்.
மற்ற வகையான JOIN இணைப்புகள்: MINUS - கழித்தல்; முழு இணை - முழுமையான சேர; கிராஸ் ஜாயின் - “எல்லோருடனும் அனைவரும்” அல்லது கார்ட்டீசியன் தயாரிப்பு செயல்பாடு.
INSERT IGNORE பல மதிப்புகளைக் கொண்ட வரிசைகளைக் கொண்ட INSERT கட்டளையில் IGNORE முக்கிய சொல்லைக் குறிப்பிட்டால், அந்த அட்டவணையில் நகல் முதன்மை அல்லது தனித்துவமான விசைகளைக் கொண்ட எந்த வரிசைகளும் புறக்கணிக்கப்படும் மற்றும் செருகப்படாது. நீங்கள் புறக்கணிப்பைக் குறிப்பிடவில்லை எனில், ஏற்கனவே உள்ள விசையின் நகல் மதிப்பைக் கொண்ட வரிசையை எதிர்கொண்டால், இந்தச் செருகல் செயல்பாடு நிறுத்தப்படும்.
REPLACE கட்டளையானது INSERT இலிருந்து வேறுபடுகிறது, அதில் புதிய பதிவின் அதே மதிப்புடன் அட்டவணைப்படுத்தப்பட்ட புலத்தில் (தனித்துவமான குறியீட்டு) ஒரு பதிவு இருந்தால், புதிய பதிவைச் சேர்ப்பதற்கு முன் பழைய பதிவு நீக்கப்படும்.
புதுப்பிக்கவும்< tablename>SET ( | ) .,. .< COLUMN name> = < VALUE expresslon>[எங்கே< predlcate>| தற்போதைய இடம்< cursor name>(*இணைப்புக்கு மட்டும்*) ] ; பியர்ஸ் SET மண்டலத்தை புதுப்பிக்கவும்= "voip" ; # பியர்ஸ் டேபிளின் மண்டல நெடுவரிசையில் உள்ள அனைத்து வரிசைகளையும் புதுப்பிக்கவும் புள்ளிவிவரம் SET ஐ புதுப்பிக்கவும் whp= "13x13x13" ஐடி = 1 ; நாடுகளை புதுப்பிக்கவும் SET nm_ukr= (டெல்_நாடுகளைத் தேர்ந்தெடுவேர்ட்பிரஸ் பயன்பாடு, அமைப்பு: wp_posts அட்டவணையில், வரிசையின் அனைத்து நிகழ்வுகளையும் நீக்கவும்
UPDATE wp_posts SET post_content = REPLACE (post_content, "" , "" ) ;இதிலிருந்து நீக்கு