PHP மேம்பாட்டிற்காக MySQL இல் DATETIME மற்றும் TIMESTAMP க்கு இடையில் தேர்வு செய்தல்

PHP மேம்பாட்டிற்காக MySQL இல் DATETIME மற்றும் TIMESTAMP க்கு இடையில் தேர்வு செய்தல்
PHP மேம்பாட்டிற்காக MySQL இல் DATETIME மற்றும் TIMESTAMP க்கு இடையில் தேர்வு செய்தல்

MySQL இல் தேதி மற்றும் நேர தரவு வகைகளைப் புரிந்துகொள்வது

MySQL உடன் பணிபுரியும் போது, ​​தேதி மற்றும் நேர மதிப்புகளைச் சேமிப்பதற்கான பொருத்தமான தரவு வகையைத் தேர்ந்தெடுப்பது, உங்கள் தரவுத்தளத்தின் செயல்திறன் மற்றும் செயல்பாட்டை கணிசமாக பாதிக்கும். இந்தக் கட்டுரை DATETIME மற்றும் TIMESTAMP தரவு வகைகளுக்கு இடையே உள்ள வேறுபாடுகளை ஆராய்கிறது மற்றும் PHP சர்வர் பக்க சூழலில் அவற்றின் பயன்பாட்டிற்கான பரிந்துரைகளை வழங்குகிறது.

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

கட்டளை விளக்கம்
CREATE TABLE குறிப்பிட்ட நெடுவரிசைகள் மற்றும் கட்டுப்பாடுகளுடன் தரவுத்தளத்தில் ஒரு புதிய அட்டவணையை உருவாக்குகிறது.
DATETIME நேர மண்டலம் இல்லாமல் தேதி மற்றும் நேர மதிப்புகளை சேமிக்கிறது. வரலாற்று தரவுகளுக்கு ஏற்றது.
TIMESTAMP தேதி மற்றும் நேர மதிப்புகளைச் சேமித்து, சேமிப்பிற்காக UTC ஆகவும், மீட்டெடுப்பதற்காக உள்ளூர் நேரத்திற்குத் திரும்பவும் மாற்றுகிறது.
AUTO_INCREMENT அட்டவணையில் ஒரு புதிய பதிவு செருகப்படும் போதெல்லாம் தானாகவே ஒரு தனிப்பட்ட எண்ணை உருவாக்குகிறது.
DEFAULT CURRENT_TIMESTAMP TIMESTAMP புலத்தின் இயல்புநிலை மதிப்பை புதிய பதிவு உருவாக்கப்படும் தற்போதைய தேதி மற்றும் நேரத்திற்கு அமைக்கிறது.
$conn->query($sql) தரவுத்தளத்திற்கு எதிராக வினவலை இயக்குகிறது. தரவு செருகல் மற்றும் மீட்டெடுப்பு ஆகிய இரண்டிற்கும் பயன்படுத்தப்படுகிறது.
$conn->fetch_assoc() முடிவு வரிசையை ஒரு துணை வரிசையாகப் பெறுகிறது, இதில் நெடுவரிசைப் பெயர்கள் விசைகளாக இருக்கும்.

MySQL தேதி மற்றும் நேர புலங்களை செயல்படுத்துதல்

வழங்கப்பட்ட ஸ்கிரிப்டுகள் எவ்வாறு திறம்பட பயன்படுத்த வேண்டும் என்பதை விளக்குகின்றன DATETIME மற்றும் TIMESTAMP சேவையக பக்கத்தில் PHP உடன் பணிபுரியும் போது MySQL இல் தரவு வகைகள். முதல் ஸ்கிரிப்ட் MySQL அட்டவணையை உருவாக்குகிறது events, இதில் இரண்டு தேதி மற்றும் நேர புலங்கள் உள்ளன: event_date மற்றும் created_at. தி DATETIME வகை பயன்படுத்தப்படுகிறது event_date ஒரு நிகழ்வின் குறிப்பிட்ட தேதி மற்றும் நேரத்தை நேர மண்டலக் கருத்தாய்வுகள் இல்லாமல் சேமிக்க, அது வரலாற்றுத் தரவுகளுக்கு ஏற்றதாக அமைகிறது. தி TIMESTAMP வகை பயன்படுத்தப்படுகிறது created_at ஒவ்வொரு பதிவும் உருவாக்கப்படும் போது தானாகக் கண்காணிக்க, சேமிப்பகத்தின் போது நேரத்தை UTC ஆகவும், மீட்டெடுக்கப்பட்டவுடன் உள்ளூர் நேரமாகவும் மாற்றுகிறது. நேர மண்டலங்களைக் கணக்கிட வேண்டிய பயன்பாடுகளுக்கு இந்த வேறுபாடு முக்கியமானது. இரண்டாவது ஸ்கிரிப்ட் தரவை எவ்வாறு செருகுவது என்பதை விளக்குகிறது events PHP ஐப் பயன்படுத்தி அட்டவணை. இது MySQL தரவுத்தளத்துடன் இணைக்கிறது, தயார் செய்கிறது INSERT அறிக்கை, மற்றும் ஒரு புதிய நிகழ்வு பதிவை சேர்க்க அதை செயல்படுத்துகிறது. தரவுத்தளத்திற்கான இணைப்பு இதைப் பயன்படுத்தி நிறுவப்பட்டது new mysqli() செயல்பாடு, மற்றும் வினவல் உடன் செயல்படுத்தப்படுகிறது $conn->query($sql) முறை. இணைப்பு தோல்வியுற்றாலோ அல்லது வினவல் சிக்கலை எதிர்கொண்டாலோ பின்னூட்டம் வழங்குவதற்கான பிழை கையாளுதலும் ஸ்கிரிப்ட்டில் அடங்கும். இந்த PHP ஸ்கிரிப்ட் தேதி மற்றும் நேர தரவு சரியாக வடிவமைக்கப்பட்டு தரவுத்தளத்தில் செருகப்படுவதை உறுதி செய்கிறது.

மூன்றாவது ஸ்கிரிப்ட் இலிருந்து தரவை மீட்டெடுத்து காண்பிக்கும் events மேசை. இது மீண்டும் தரவுத்தளத்துடன் இணைகிறது, ஒரு இயங்குகிறது SELECT அனைத்து பதிவுகளையும் பெற வினவவும், முடிவுகளை செயலாக்குகிறது. தி $result->fetch_assoc() ஒவ்வொரு வரிசையையும் ஒரு துணை வரிசையாகப் பெறுவதற்கு செயல்பாடு பயன்படுத்தப்படுகிறது, இது நெடுவரிசை மதிப்புகளை அவற்றின் பெயர்களால் எளிதாக அணுக அனுமதிக்கிறது. ஸ்கிரிப்ட் பின்னர் முடிவு தொகுப்பின் மூலம் சுழன்று, வெளியிடுகிறது id, event_name, event_date, மற்றும் created_at ஒவ்வொரு பதிவுக்கும் புலங்கள். இரண்டிலும் சேமிக்கப்பட்ட தரவை எவ்வாறு கையாள்வது மற்றும் காட்டுவது என்பதை இது நிரூபிக்கிறது DATETIME மற்றும் TIMESTAMP வடிவங்கள், பயன்பாடு சரியாக விளக்குகிறது மற்றும் நேரம் தொடர்பான தகவல்களை வழங்குவதை உறுதி செய்கிறது.

MySQL இல் DATETIME மற்றும் TIMESTAMP ஐப் பயன்படுத்துகிறது

PHP மற்றும் MySQL: தரவுத்தள திட்ட வடிவமைப்பு

// Backend: Creating a MySQL Table with DATETIME and TIMESTAMP fields
CREATE TABLE events (
    id INT AUTO_INCREMENT PRIMARY KEY,
    event_name VARCHAR(100) NOT ,
    event_date DATETIME NOT ,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
// Explanation:
// 'event_date' uses DATETIME to store the date and time of the event.
// 'created_at' uses TIMESTAMP to automatically track the record creation time.

MySQL அட்டவணையில் தரவைச் செருகுகிறது

PHP மற்றும் MySQL: தரவு செருகும் ஸ்கிரிப்ட்

<?php
// Backend: PHP Script to Insert Data into the MySQL Table
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database_name";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
$event_name = "Sample Event";
$event_date = "2024-07-10 12:00:00";
$sql = "INSERT INTO events (event_name, event_date)
VALUES ('$event_name', '$event_date')";
if ($conn->query($sql) === TRUE) {
    echo "New record created successfully";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>

தரவை மீட்டெடுத்தல் மற்றும் காட்டுதல்

PHP மற்றும் MySQL: தரவைப் பெறுதல் மற்றும் காண்பித்தல்

<?php
// Backend: PHP Script to Retrieve and Display Data from MySQL Table
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT id, event_name, event_date, created_at FROM events";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        echo "id: " . $row["id"]. " - Name: " . $row["event_name"].
             " - Event Date: " . $row["event_date"].
             " - Created At: " . $row["created_at"]. "<br>";
    }
} else {
    echo "0 results";
}
$conn->close();
?>

MySQL இல் DATETIME மற்றும் TIMESTAMP க்கு இடையில் தேர்வு செய்தல்

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

மறுபுறம், தி TIMESTAMP வகை யுடிசியுடன் தொடர்புடைய நேர மதிப்புகளைச் சேமிக்க வடிவமைக்கப்பட்டுள்ளது, மீட்டெடுத்தவுடன் அவற்றை தானாகவே சேவையகத்தின் நேர மண்டலத்திற்கு மாற்றுகிறது. இது செய்கிறது TIMESTAMP வெவ்வேறு நேர மண்டலங்களில் நிலைத்தன்மையை உறுதி செய்வதால், பதிவு உருவாக்கம் அல்லது புதுப்பிப்பு நேரங்கள் போன்ற மாற்றங்களைக் கண்காணிப்பதற்கு மிகவும் பயனுள்ளதாக இருக்கும். உடன் பணிபுரியும் போது PHP, பயன்படுத்தி TIMESTAMP நேர மண்டல வேறுபாடுகளின் நிர்வாகத்தை எளிதாக்கலாம், துல்லியமான உள்ளூர் நேரங்களுடன் பயனர்களை வழங்குவதை எளிதாக்குகிறது. எனினும், TIMESTAMP ஒப்பிடும்போது மிகவும் வரையறுக்கப்பட்ட வரம்பைக் கொண்டுள்ளது DATETIME, 1970 முதல் 2038 வரையிலான தேதிகளை மட்டுமே ஆதரிக்கிறது, இது நீண்ட கால பயன்பாடுகளுக்கான கருத்தில் இருக்கலாம்.

MySQL DATETIME மற்றும் TIMESTAMP பற்றிய பொதுவான கேள்விகள் மற்றும் பதில்கள்

  1. MySQL இல் DATETIME மற்றும் TIMESTAMP இடையே உள்ள முக்கிய வேறுபாடு என்ன?
  2. DATETIME தேதி மற்றும் நேரத்தை அப்படியே சேமிக்கிறது TIMESTAMP அதை UTC இல் சேமித்து சர்வரின் நேர மண்டலமாக மாற்றுகிறது.
  3. நிகழ்வு தேதிகளைப் பதிவுசெய்ய நான் எந்த வகையான தரவுகளைப் பயன்படுத்த வேண்டும்?
  4. DATETIME நேர மண்டலங்களில் நிலைத்தன்மையைப் பேணுவதால், நிகழ்வு தேதிகளுக்கு இது விரும்பத்தக்கது.
  5. பதிவு உருவாக்கும் நேரங்களைக் கண்காணிக்க எந்த தரவு வகை சிறந்தது?
  6. TIMESTAMP உருவாக்க நேரங்களைக் கண்காணிப்பதற்கு ஏற்றது, ஏனெனில் அது தானாகவே தற்போதைய நேரத்தைப் பயன்படுத்துகிறது மற்றும் நேர மண்டலங்களைச் சரிசெய்கிறது.
  7. TIMESTAMP உடன் நேர மண்டலங்களை MySQL எவ்வாறு கையாளுகிறது?
  8. MySQL கடைகள் TIMESTAMP UTC இல் மதிப்புகள் மற்றும் மீட்டெடுப்பின் போது அவற்றை தற்போதைய நேர மண்டலத்திற்கு மாற்றுகிறது.
  9. TIMESTAMPஐப் பயன்படுத்தி 1970க்கு முந்தைய தேதிகளைச் சேமிக்க முடியுமா?
  10. இல்லை, TIMESTAMP 1970 மற்றும் 2038 க்கு இடைப்பட்ட தேதிகளை மட்டுமே ஆதரிக்கிறது. பயன்படுத்தவும் DATETIME இந்த வரம்பிற்கு வெளியே உள்ள தேதிகளுக்கு.
  11. பதிவு மாற்றங்களை TIMESTAMP தானாகவே புதுப்பிக்குமா?
  12. ஆம், உடன் வரையறுக்கப்பட்டால் DEFAULT CURRENT_TIMESTAMP மற்றும் ON UPDATE CURRENT_TIMESTAMP, TIMESTAMP தானாகவே புதுப்பிக்கப்படும்.
  13. DATETIME புலத்தில் தவறான தேதியைச் செருகினால் என்ன நடக்கும்?
  14. SQL பயன்முறையைப் பொறுத்து, தேதி தவறானதாக இருந்தால் MySQL '0000-00-00 00:00:00' ஐச் செருகும்.
  15. வெவ்வேறு சேவையகங்களில் நேர சேமிப்பகத்தில் நிலைத்தன்மையை நான் எவ்வாறு உறுதிப்படுத்துவது?
  16. பயன்படுத்தி TIMESTAMP எல்லா நேரங்களையும் UTCக்கு மாற்றுவதால் நேர நிலைத்தன்மையை உறுதி செய்கிறது.
  17. நான் DATETIME மற்றும் TIMESTAMP உடன் செயல்பாடுகளைப் பயன்படுத்தலாமா?
  18. ஆம், MySQL போன்ற செயல்பாடுகள் NOW() மற்றும் CURRENT_TIMESTAMP இரண்டு தரவு வகைகளிலும் வேலை செய்யுங்கள்.
  19. எந்த தரவு வகை அதிக சேமிப்பக திறன் கொண்டது?
  20. TIMESTAMP DATETIME இன் 8 பைட்டுகளுடன் ஒப்பிடும்போது 4 பைட்டுகளைப் பயன்படுத்தி, அதிக சேமிப்பகத் திறன் கொண்டது.

MySQL தேதி மற்றும் நேர வகைகள் பற்றிய இறுதி எண்ணங்கள்

முடிவில், இரண்டும் DATETIME மற்றும் TIMESTAMP MySQL தரவுத்தள வடிவமைப்பில் தரவு வகைகள் அவற்றின் இடத்தைப் பெற்றுள்ளன. DATETIME வரலாற்றுப் பதிவுகளுக்கு அல்லது நேர மண்டல நிலைத்தன்மை முக்கியமானதாக இருக்கும் போது விரும்பப்படுகிறது TIMESTAMP தானியங்கி UTC மாற்றத்துடன் மாற்றங்களைக் கண்காணிப்பதற்கு சாதகமானது. துல்லியமான மற்றும் திறமையான தேதி மற்றும் நேரத்தைக் கையாளுவதை உறுதிசெய்ய, உங்கள் விருப்பமானது உங்கள் விண்ணப்பத்தின் குறிப்பிட்ட தேவைகளுடன் ஒத்துப்போக வேண்டும்.