Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

หาเวลาสร้างตารางล่าสุดใน MySQL จาก information_schema

บทนำ

ฐานข้อมูล information_schema เก็บข้อมูลเมตาของฐานข้อมูลทั้งหมด รวมถึงเวลาสร้างตาราง (CREATE_TIME) สามารถสอบถามได้เพื่อหาตารางที่สร้างล่าสุด

รูปแบบการใช้งาน

SELECT TABLE_NAME, CREATE_TIME
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'yourDatabaseName'
ORDER BY CREATE_TIME DESC
LIMIT 1;

ตัวอย่าง: สร้างตาราง 2 ตาราง ต่างกัน 5 นาที

-- ตารางแรก (เวลา: 2019-06-10 16:40:51)
mysql> CREATE TABLE DemoTable1 (
    -> StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> StudentName VARCHAR(100),
    -> StudentAge INT
    -> );

-- รอ 5 นาที...

-- ตารางที่สอง
mysql> CREATE TABLE DemoTable2 (
    -> StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> StudentName VARCHAR(100),
    -> StudentAge INT
    -> );

คำสั่งหาตารางที่สร้างล่าสุด (ฐานข้อมูล 'web')

mysql> SELECT TABLE_NAME, CREATE_TIME
    -> FROM information_schema.TABLES
    -> WHERE TABLE_SCHEMA = 'web'
    -> ORDER BY CREATE_TIME DESC
    -> LIMIT 1;

ผลลัพธ์

+--------------+---------------------+
| TABLE_NAME   | CREATE_TIME         |
+--------------+---------------------+
| demotable2   | 2019-06-10 16:45:51 |
+--------------+---------------------+
1 row in set (0.01 sec)

การประยุกต์ใช้

  • ตรวจสอบตารางที่เพิ่งสร้างในระบบ Migration
  • Audit การเปลี่ยนแปลงโครงสร้างฐานข้อมูล
  • หาตารางที่สร้างโดยสคริปต์อัตโนมัติ

คอลัมน์สำคัญใน information_schema.TABLES

  • TABLE_SCHEMA - ชื่อฐานข้อมูล
  • TABLE_NAME - ชื่อตาราง
  • CREATE_TIME - เวลาสร้าง
  • UPDATE_TIME - เวลาอัปเดตล่าสุด
  • ENGINE - Storage Engine
  • TABLE_ROWS - จำนวนแถวประมาณ