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

ประเภทข้อมูล MySQL ใดที่จะใช้ในการจัดเก็บที่อยู่ IP


เราสามารถจัดเก็บที่อยู่ IP ด้วยความช่วยเหลือของ INT ที่ไม่ได้ลงนาม ในขณะที่ใช้ INSERT ให้รวม INET_ATON() และกับ SELECT ให้รวม INET_NTOA() ที่อยู่ IP อยู่ในรูปแบบจุด

เรามาดูตัวอย่างกัน

การสร้างตาราง

mysql> สร้างตาราง IPV4AddressDemo -> ( -> `IPV4Address` INT UNSIGNED -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.52 วินาที)

การแทรกที่อยู่ IP ลงในตารางด้วย INET_ATON

mysql> แทรกลงในค่า IPV4AddressDemo (INET_ATON("120.0.0.1")); ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที)

เพื่อแสดงรายการทั้งหมด

mysql> เลือก *จาก IPV4AddressDemo;

ต่อไปนี้เป็นผลลัพธ์ แต่เราต้องการให้อยู่ในรูปแบบที่อยู่ IP อย่างแน่นอน

<ก่อนหน้า>+-------------+| IPV4Address |+-------------+| 2013265921 |+-------------+1 แถวในชุด (0.00 วินาที)

เนื่องจากผลลัพธ์ข้างต้นจะให้ลำดับของจำนวนเต็ม แต่เราสามารถแปลงเป็นรูปแบบที่อยู่ IP ดั้งเดิมได้ สำหรับสิ่งนั้น ให้ใช้ INET_NTOA

mysql> เลือก INET_NTOA(`IPV4Address`) จาก IPV4AddressDemo

ต่อไปนี้เป็นผลลัพธ์ที่แสดงที่อยู่ IP ในรูปแบบจริง

<ก่อนหน้า>+--------------------------+| INET_NTOA(`ที่อยู่ IPV4`) |+--------------------------+| 120.0.0.1 |+--------------------------+1 แถวในชุด (0.00 วินาที)