MySQL Data Types

MySQL இல் தரவு வகைகளைப் பற்றி கற்றுக்கொள்ளுங்கள்

தரவு வகைகள் அறிமுகம்

ஒரு நெடுவரிசையின் தரவு வகை அந்த நெடுவரிசை என்ன மதிப்பை வைத்திருக்க முடியும் என்பதை வரையறுக்கிறது: முழு எண், எழுத்து, பணம், தேதி மற்றும் நேரம், பைனரி மற்றும் பல.

MySQL தரவு வகைகள் (பதிப்பு 8.0)

ஒரு தரவுத்தள அட்டவணையில் உள்ள ஒவ்வொரு நெடுவரிசையும் ஒரு பெயர் மற்றும் தரவு வகையைக் கொண்டிருக்க வேண்டும்.

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

MySQL இல் மூன்று முக்கிய தரவு வகைகள் உள்ளன: சரம், எண் மற்றும் தேதி மற்றும் நேரம்.

சரம் தரவு வகைகள்

தரவு வகை விளக்கம்
CHAR(size) ஒரு FIXED நீள சரம் (எழுத்துக்கள், எண்கள் மற்றும் சிறப்பு எழுத்துக்களைக் கொண்டிருக்கலாம்). அளவு அளவுரு எழுத்துக்களில் நெடுவரிசை நீளத்தைக் குறிப்பிடுகிறது - 0 முதல் 255 வரை இருக்கலாம். இயல்புநிலை 1
VARCHAR(size) ஒரு VARIABLE நீள சரம் (எழுத்துக்கள், எண்கள் மற்றும் சிறப்பு எழுத்துக்களைக் கொண்டிருக்கலாம்). அளவு அளவுரு எழுத்துக்களில் அதிகபட்ச நெடுவரிசை நீளத்தைக் குறிப்பிடுகிறது - 0 முதல் 65535 வரை இருக்கலாம்
BINARY(size) CHAR() க்கு சமம், ஆனால் பைனரி பைட் சரங்களை சேமிக்கிறது. அளவு அளவுரு பைட்டுகளில் நெடுவரிசை நீளத்தைக் குறிப்பிடுகிறது. இயல்புநிலை 1
VARBINARY(size) VARCHAR() க்கு சமம், ஆனால் பைனரி பைட் சரங்களை சேமிக்கிறது. அளவு அளவுரு பைட்டுகளில் அதிகபட்ச நெடுவரிசை நீளத்தைக் குறிப்பிடுகிறது.
TINYBLOB BLOBs க்கு (Binary Large OBjects). அதிகபட்ச நீளம்: 255 பைட்டுகள்
TINYTEXT அதிகபட்ச நீளம் 255 எழுத்துக்கள் கொண்ட ஒரு சரத்தை வைத்திருக்கிறது
TEXT(size) அதிகபட்ச நீளம் 65,535 பைட்டுகள் கொண்ட ஒரு சரத்தை வைத்திருக்கிறது
BLOB(size) BLOBs க்கு (Binary Large OBjects). 65,535 பைட்டுகள் தரவு வரை வைத்திருக்கிறது
MEDIUMTEXT அதிகபட்ச நீளம் 16,777,215 எழுத்துக்கள் கொண்ட ஒரு சரத்தை வைத்திருக்கிறது
MEDIUMBLOB BLOBs க்கு (Binary Large OBjects). 16,777,215 பைட்டுகள் தரவு வரை வைத்திருக்கிறது
LONGTEXT அதிகபட்ச நீளம் 4,294,967,295 எழுத்துக்கள் கொண்ட ஒரு சரத்தை வைத்திருக்கிறது
LONGBLOB BLOBs க்கு (Binary Large OBjects). 4,294,967,295 பைட்டுகள் தரவு வரை வைத்திருக்கிறது
ENUM(val1, val2, val3, ...) ஒரு சரம் பொருள், இது சாத்தியமான மதிப்புகளின் பட்டியலில் இருந்து தேர்ந்தெடுக்கப்பட்ட ஒரு மதிப்பை மட்டுமே கொண்டிருக்க முடியும். ஒரு ENUM பட்டியலில் 65535 மதிப்புகள் வரை பட்டியலிடலாம். பட்டியலில் இல்லாத ஒரு மதிப்பு செருகப்பட்டால், ஒரு வெற்று மதிப்பு செருகப்படும். மதிப்புகள் நீங்கள் உள்ளிடும் வரிசையில் வரிசைப்படுத்தப்படும்
SET(val1, val2, val3, ...) ஒரு சரம் பொருள், இது 0 அல்லது அதற்கு மேற்பட்ட மதிப்புகளைக் கொண்டிருக்க முடியும், சாத்தியமான மதிப்புகளின் பட்டியலில் இருந்து தேர்ந்தெடுக்கப்பட்டது. ஒரு SET பட்டியலில் 64 மதிப்புகள் வரை பட்டியலிடலாம்

எண் தரவு வகைகள்

தரவு வகை விளக்கம்
BIT(size) ஒரு பிட்-மதிப்பு வகை. ஒரு மதிப்பிற்கான பிட்களின் எண்ணிக்கை அளவில் குறிப்பிடப்பட்டுள்ளது. அளவு அளவுரு 1 முதல் 64 வரை ஒரு மதிப்பை வைத்திருக்க முடியும். அளவுக்கான இயல்புநிலை மதிப்பு 1.
TINYINT(size) மிகச் சிறிய முழு எண். கையொப்பமிடப்பட்ட வரம்பு -128 முதல் 127 வரை. கையொப்பமிடப்படாத வரம்பு 0 முதல் 255 வரை. அளவு அளவுரு அதிகபட்ச காட்சி அகலத்தைக் குறிப்பிடுகிறது (இது 255)
BOOL பூஜ்ஜியம் தவறு என்று கருதப்படுகிறது, nonzero மதிப்புகள் உண்மை என்று கருதப்படுகின்றன.
BOOLEAN BOOL க்கு சமம்
SMALLINT(size) ஒரு சிறிய முழு எண். கையொப்பமிடப்பட்ட வரம்பு -32768 முதல் 32767 வரை. கையொப்பமிடப்படாத வரம்பு 0 முதல் 65535 வரை. அளவு அளவுரு அதிகபட்ச காட்சி அகலத்தைக் குறிப்பிடுகிறது (இது 255)
MEDIUMINT(size) ஒரு நடுத்தர முழு எண். கையொப்பமிடப்பட்ட வரம்பு -8388608 முதல் 8388607 வரை. கையொப்பமிடப்படாத வரம்பு 0 முதல் 16777215 வரை. அளவு அளவுரு அதிகபட்ச காட்சி அகலத்தைக் குறிப்பிடுகிறது (இது 255)
INT(size) ஒரு நடுத்தர முழு எண். கையொப்பமிடப்பட்ட வரம்பு -2147483648 முதல் 2147483647 வரை. கையொப்பமிடப்படாத வரம்பு 0 முதல் 4294967295 வரை. அளவு அளவுரு அதிகபட்ச காட்சி அகலத்தைக் குறிப்பிடுகிறது (இது 255)
INTEGER(size) INT(size) க்கு சமம்
BIGINT(size) ஒரு பெரிய முழு எண். கையொப்பமிடப்பட்ட வரம்பு -9223372036854775808 முதல் 9223372036854775807 வரை. கையொப்பமிடப்படாத வரம்பு 0 முதல் 18446744073709551615 வரை. அளவு அளவுரு அதிகபட்ச காட்சி அகலத்தைக் குறிப்பிடுகிறது (இது 255)
FLOAT(size, d) ஒரு மிதக்கும் புள்ளி எண். இலக்கங்களின் மொத்த எண்ணிக்கை அளவில் குறிப்பிடப்பட்டுள்ளது. தசம புள்ளிக்குப் பிறகு இலக்கங்களின் எண்ணிக்கை d அளவுருவில் குறிப்பிடப்பட்டுள்ளது. இந்த தொடரியல் MySQL 8.0.17 இல் காலாவதியானது, மேலும் இது எதிர்கால MySQL பதிப்புகளில் அகற்றப்படும்
FLOAT(p) ஒரு மிதக்கும் புள்ளி எண். இதன் விளைவாக வரும் தரவு வகைக்கு FLOAT அல்லது DOUBLE ஐப் பயன்படுத்துவதா என்பதை தீர்மானிக்க MySQL p மதிப்பைப் பயன்படுத்துகிறது. p 0 முதல் 24 வரை இருந்தால், தரவு வகை FLOAT() ஆக மாறும். p 25 முதல் 53 வரை இருந்தால், தரவு வகை DOUBLE() ஆக மாறும்
DOUBLE(size, d) ஒரு சாதாரண-அளவு மிதக்கும் புள்ளி எண். இலக்கங்களின் மொத்த எண்ணிக்கை அளவில் குறிப்பிடப்பட்டுள்ளது. தசம புள்ளிக்குப் பிறகு இலக்கங்களின் எண்ணிக்கை d அளவுருவில் குறிப்பிடப்பட்டுள்ளது
DOUBLE PRECISION(size, d)
DECIMAL(size, d) ஒரு சரியான நிலையான-புள்ளி எண். இலக்கங்களின் மொத்த எண்ணிக்கை அளவில் குறிப்பிடப்பட்டுள்ளது. தசம புள்ளிக்குப் பிறகு இலக்கங்களின் எண்ணிக்கை d அளவுருவில் குறிப்பிடப்பட்டுள்ளது. அளவுக்கான அதிகபட்ச எண் 65. d க்கான அதிகபட்ச எண் 30. அளவுக்கான இயல்புநிலை மதிப்பு 10. d க்கான இயல்புநிலை மதிப்பு 0.
DEC(size, d) DECIMAL(size,d) க்கு சமம்

💡 குறிப்பு:

அனைத்து எண் தரவு வகைகளும் ஒரு கூடுதல் விருப்பத்தைக் கொண்டிருக்கலாம்: UNSIGNED அல்லது ZEROFILL. நீங்கள் UNSIGNED விருப்பத்தைச் சேர்த்தால், MySQL நெடுவரிசைக்கு எதிர்மறை மதிப்புகளைத் தடை செய்கிறது. நீங்கள் ZEROFILL விருப்பத்தைச் சேர்த்தால், MySQL தானாகவே நெடுவரிசைக்கு UNSIGNED பண்புக்கூறையும் சேர்க்கிறது.

தேதி மற்றும் நேர தரவு வகைகள்

தரவு வகை விளக்கம்
DATE ஒரு தேதி. வடிவம்: YYYY-MM-DD. ஆதரிக்கப்பட்ட வரம்பு '1000-01-01' முதல் '9999-12-31' வரை
DATETIME(fsp) ஒரு தேதி மற்றும் நேர கலவை. வடிவம்: YYYY-MM-DD hh:mm:ss. ஆதரிக்கப்பட்ட வரம்பு '1000-01-01 00:00:00' முதல் '9999-12-31 23:59:59' வரை. தற்போதைய தேதி மற்றும் நேரத்திற்கான தானியங்கி துவக்கம் மற்றும் புதுப்பித்தலைப் பெற நெடுவரிசை வரையறையில் DEFAULT மற்றும் ON UPDATE ஐச் சேர்த்தல்
TIMESTAMP(fsp) ஒரு நேர முத்திரை. TIMESTAMP மதிப்புகள் யூனிக்ஸ் காலம் ('1970-01-01 00:00:00' UTC) முதல் வினாடிகளின் எண்ணிக்கையாக சேமிக்கப்படுகின்றன. வடிவம்: YYYY-MM-DD hh:mm:ss. ஆதரிக்கப்பட்ட வரம்பு '1970-01-01 00:00:01' UTC முதல் '2038-01-09 03:14:07' UTC வரை. தற்போதைய தேதி மற்றும் நேரத்திற்கான தானியங்கி துவக்கம் மற்றும் புதுப்பித்தலை நெடுவரிசை வரையறையில் DEFAULT CURRENT_TIMESTAMP மற்றும் ON UPDATE CURRENT_TIMESTAMP ஐப் பயன்படுத்தி குறிப்பிடலாம்
TIME(fsp) ஒரு நேரம். வடிவம்: hh:mm:ss. ஆதரிக்கப்பட்ட வரம்பு '-838:59:59' முதல் '838:59:59' வரை
YEAR நான்கு-இலக்க வடிவத்தில் ஒரு ஆண்டு. நான்கு-இலக்க வடிவத்தில் அனுமதிக்கப்பட்ட மதிப்புகள்: 1901 முதல் 2155 வரை, மற்றும் 0000.

💡 குறிப்பு:

MySQL 8.0 இரண்டு-இலக்க வடிவத்தில் ஆண்டை ஆதரிக்காது.

பயிற்சி

பின்வரும் தரவு வகைகளில் எது ஒரு நெடுவரிசையில் அதிகபட்சம் 255 எழுத்துக்களை சேமிக்க பயன்படுகிறது?

VARCHAR(255)
✗ தவறு! VARCHAR(255) 255 எழுத்துக்கள் வரை சேமிக்க முடியும், ஆனால் இது மாறி நீள சரம்
CHAR(255)
✓ சரி! CHAR(255) சரியாக 255 எழுத்துக்களை சேமிக்கும் நிலையான நீள சரம்
TINYTEXT
✗ தவறு! TINYTEXT அதிகபட்சம் 255 எழுத்துக்களை சேமிக்க முடியும், ஆனால் இது மாறி நீள சரம்
TEXT
✗ தவறு! TEXT 65,535 எழுத்துக்கள் வரை சேமிக்க முடியும், இது 255 ஐ விட அதிகமாகும்