Hướng dẫn what is data type for ip address in mysql? - kiểu dữ liệu cho địa chỉ ip trong mysql là gì?

Có thể trùng lặp: Cách lưu trữ IP trong MySQL
How to store an IP in mySQL

Tôi muốn lấy địa chỉ IP từ $_SERVER['REMOTE_ADDR'] và một số biến $_SERVER khác, kiểu dữ liệu nào là đúng cho việc này?

Có phải VARCHAR(n) không?

Hướng dẫn what is data type for ip address in mysql? - kiểu dữ liệu cho địa chỉ ip trong mysql là gì?

hỏi ngày 27 tháng 2 năm 2011 lúc 13:54Feb 27, 2011 at 13:54

Hướng dẫn what is data type for ip address in mysql? - kiểu dữ liệu cho địa chỉ ip trong mysql là gì?

ComfaletcomfaletComFreek

28.5K18 Huy hiệu vàng103 Huy hiệu bạc153 Huy hiệu đồng18 gold badges103 silver badges153 bronze badges

5

Vì địa chỉ IPv4 dài 4 byte, bạn có thể sử dụng ____10 (

INSERT INTO `table` (`ipv4`) VALUES (INET_ATON("127.0.0.1"));
SELECT INET_NTOA(`ipv4`) FROM `table`;
1) có chính xác 4 byte:

`ipv4` INT UNSIGNED

INSERT INTO `table` (`ipv4`) VALUES (INET_ATON("127.0.0.1"));
SELECT INET_NTOA(`ipv4`) FROM `table`;
2 và
INSERT INTO `table` (`ipv4`) VALUES (INET_ATON("127.0.0.1"));
SELECT INET_NTOA(`ipv4`) FROM `table`;
3 để chuyển đổi chúng:

INSERT INTO `table` (`ipv4`) VALUES (INET_ATON("127.0.0.1"));
SELECT INET_NTOA(`ipv4`) FROM `table`;

Đối với địa chỉ IPv6, bạn có thể sử dụng

INSERT INTO `table` (`ipv4`) VALUES (INET_ATON("127.0.0.1"));
SELECT INET_NTOA(`ipv4`) FROM `table`;
4 thay thế:

`ipv6` BINARY(16)

Và sử dụng PHP từ

INSERT INTO `table` (`ipv4`) VALUES (INET_ATON("127.0.0.1"));
SELECT INET_NTOA(`ipv4`) FROM `table`;
5 và
INSERT INTO `table` (`ipv4`) VALUES (INET_ATON("127.0.0.1"));
SELECT INET_NTOA(`ipv4`) FROM `table`;
6 để chuyển đổi:

'INSERT INTO `table` (`ipv6`) VALUES ("'.mysqli_real_escape_string(inet_pton('2001:4860:a005::68')).'")'
'SELECT `ipv6` FROM `table`'
$ipv6 = inet_pton($row['ipv6']);

Hướng dẫn what is data type for ip address in mysql? - kiểu dữ liệu cho địa chỉ ip trong mysql là gì?

Comfalet

28.5K18 Huy hiệu vàng103 Huy hiệu bạc153 Huy hiệu đồng18 gold badges103 silver badges153 bronze badges

Vì địa chỉ IPv4 dài 4 byte, bạn có thể sử dụng ____10 (

INSERT INTO `table` (`ipv4`) VALUES (INET_ATON("127.0.0.1"));
SELECT INET_NTOA(`ipv4`) FROM `table`;
1) có chính xác 4 byte:Feb 27, 2011 at 14:00

6

INSERT INTO `table` (`ipv4`) VALUES (INET_ATON("127.0.0.1"));
SELECT INET_NTOA(`ipv4`) FROM `table`;
2 và
INSERT INTO `table` (`ipv4`) VALUES (INET_ATON("127.0.0.1"));
SELECT INET_NTOA(`ipv4`) FROM `table`;
3 để chuyển đổi chúng:

  • Đối với địa chỉ IPv6, bạn có thể sử dụng
    INSERT INTO `table` (`ipv4`) VALUES (INET_ATON("127.0.0.1"));
    SELECT INET_NTOA(`ipv4`) FROM `table`;
    
    4 thay thế:
    INSERT INTO `table` (`ipv4`) VALUES (INET_ATON("127.0.0.1"));
    SELECT INET_NTOA(`ipv4`) FROM `table`;
    
    7
    , if your want to store the IP address as a string
    • Và sử dụng PHP từ
      INSERT INTO `table` (`ipv4`) VALUES (INET_ATON("127.0.0.1"));
      SELECT INET_NTOA(`ipv4`) FROM `table`;
      
      5 và
      INSERT INTO `table` (`ipv4`) VALUES (INET_ATON("127.0.0.1"));
      SELECT INET_NTOA(`ipv4`) FROM `table`;
      
      6 để chuyển đổi:
  • Comfalet
    INSERT INTO `table` (`ipv4`) VALUES (INET_ATON("127.0.0.1"));
    SELECT INET_NTOA(`ipv4`) FROM `table`;
    
    9
    (4 bytes), if you convert the IP address to an integer
    • Đã trả lời ngày 27 tháng 2 năm 2011 lúc 14:00


Bạn có hai khả năng (đối với địa chỉ IPv4):

A

INSERT INTO `table` (`ipv4`) VALUES (INET_ATON("127.0.0.1"));
SELECT INET_NTOA(`ipv4`) FROM `table`;
7, nếu bạn muốn lưu trữ địa chỉ IP dưới dạng chuỗi

INSERT INTO `table` (`ipv4`) VALUES (INET_ATON("127.0.0.1"));
SELECT INET_NTOA(`ipv4`) FROM `table`;
8 Ví dụFeb 27, 2011 at 13:57

một

INSERT INTO `table` (`ipv4`) VALUES (INET_ATON("127.0.0.1"));
SELECT INET_NTOA(`ipv4`) FROM `table`;
9 (4 byte), nếu bạn chuyển đổi địa chỉ IP thành một số nguyênPascal MARTIN

`ipv6` BINARY(16)
0 cho IP tôi đã sử dụng trước đây77 gold badges647 silver badges656 bronze badges

6

Giải pháp thứ hai sẽ yêu cầu ít không gian hơn trong cơ sở dữ liệu và có lẽ là lựa chọn tốt hơn, ngay cả khi nó ngụ ý một chút thao tác khi lưu trữ và truy xuất dữ liệu (chuyển đổi nó từ/sang một chuỗi).

Về các thao tác đó, hãy xem các hàm

`ipv6` BINARY(16)
1 và
`ipv6` BINARY(16)
2, ở phía PHP hoặc
`ipv6` BINARY(16)
3 và
`ipv6` BINARY(16)
4 trên phía MySQL.

INSERT INTO `table` (`ipv4`) VALUES (INET_ATON("127.0.0.1"));
SELECT INET_NTOA(`ipv4`) FROM `table`;
8 Ví dụFeb 27, 2011 at 13:57

một

INSERT INTO `table` (`ipv4`) VALUES (INET_ATON("127.0.0.1"));
SELECT INET_NTOA(`ipv4`) FROM `table`;
9 (4 byte), nếu bạn chuyển đổi địa chỉ IP thành một số nguyênMichael Berkowski

`ipv6` BINARY(16)
0 cho IP tôi đã sử dụng trước đây46 gold badges437 silver badges382 bronze badges

Ngày 6 tháng 9 năm 2020c Category: PHPMysQL Category : PHP MySql

Nếu bạn muốn lưu trữ địa chỉ IP trong cơ sở dữ liệu MySQL thì hãy sai lầm khi sử dụng kiểu dữ liệu varchar vì bạn có thể sử dụng kiểu dữ liệu int unsign 4 (byte). Sử dụng kiểu dữ liệu số nguyên, bạn có thể tiết kiệm nhiều không gian hơn trong cơ sở dữ liệu.

Khi bạn bắn truy vấn chèn vào thời điểm đó, sử dụng inet_aton () và chọn truy vấn tại thời điểm đó inet_ntoa () sử dụng. Làm thế nào để sử dụng chức năng này cho ví dụ dưới đây.

Tạo bảng :

CREATE TABLE IF NOT EXISTS `ip_addresses` (

`id` int(10) unsigned NOT NULL AUTO_INCREMENT,

`ip_address` INT(4) UNSIGNED NOT NULL,

PRIMARY KEY (`id`)

);

Chèn dữ liệu:

INSERT INTO `ip_addresses` (`ip_address`) VALUES (INET_ATON("127.0.0.1"));

Chọn dữ liệu:

SELECT id, INET_NTOA(`ip_address`) as ip FROM `ip_addresses`;

Hãy thử điều này, đây là một điều rất đơn giản .......

Hướng dẫn what is data type for ip address in mysql? - kiểu dữ liệu cho địa chỉ ip trong mysql là gì?

Hardik Savani

Tôi là một nhà phát triển đầy đủ, doanh nhân và chủ sở hữu của Aatman Infotech. Tôi sống ở Ấn Độ và tôi thích viết các hướng dẫn và lời khuyên có thể giúp cho các nghệ nhân khác. Tôi là một fan hâm mộ lớn của PHP, Laravel, Angular, Vue, Node, JavaScript, JQuery, Codeigniter và Bootstrap từ giai đoạn đầu. Tôi tin vào sự chăm chỉ và nhất quán.

Theo tôi:

Hướng dẫn what is data type for ip address in mysql? - kiểu dữ liệu cho địa chỉ ip trong mysql là gì?

Bài viết phổ biến

  • Laravel - Sắp xếp cột với ví dụ Pagination
  • Hướng dẫn bảng quản trị của Laravel 6
  • Làm thế nào để chuyển đổi mảng thành chuỗi trong PHP?
  • Php Codeigniter 3 Ajax Pagination bằng ví dụ jQuery
  • Laravel - API Twitter sử dụng hướng dẫn của Thujohn/Twitter
  • Làm thế nào để xóa các giá trị trống khỏi mảng trong PHP?
  • Làm thế nào để có được phần mở rộng tệp từ đường dẫn trong Laravel?
  • Làm thế nào để kiểm tra Word tồn tại trong chuỗi hoặc không trong PHP?
  • Làm thế nào để kiểm tra đối tượng trống hoặc không trong jQuery/javaScript?
  • Php Curl Post yêu cầu với ví dụ tiêu đề
  • Angularjs Php mysql ví dụ

Thể loại

  • Laravel
  • Góc
  • PHP
  • jQuery
  • Python
  • Bootstrap
  • JavaScript
  • Mysql
  • Ajax
  • Nút js
  • HTML
  • Ubuntu
  • Codeigniter
  • Bài của khách
  • Vue.JS
  • Phản ứng js
  • Git
  • Người phục vụ
  • Json
  • Cài đặt
  • CSS
  • Bản đồ Google
  • SQL
  • .htaccess
  • API Google
  • UI jQuery
  • Typeahhead js
  • Axios
  • Socket.io
  • Elaticsearch

Bài viết mới nhất

  • Kiểm tra Laravel nếu dữ liệu mối quan hệ là ví dụ trống
  • Làm thế nào để xóa các thẻ HTML khỏi chuỗi trong Laravel?
  • Laravel TCPDF: Tạo ví dụ về tệp HTML đến PDF
  • Laravel xóa tệp sau khi tải xuống ví dụ phản hồi
  • Làm thế nào để chụp ảnh màn hình trình duyệt ở Laravel?

Loại địa chỉ IP nào là loại dữ liệu?

Kiểu dữ liệu địa chỉ mạng IP. IPv4 và IPv6 là các loại dữ liệu trừu tượng lưu trữ địa chỉ máy chủ IPv4 và IPv6, tương ứng, ở định dạng nhị phân. IPv4 là địa chỉ máy chủ 4 byte trong ký hiệu phân giải chấm (bốn số thập phân, mỗi số từ 0 đến 255, được phân tách bằng các dấu chấm). Ví dụ: 172.16.IPV4 and IPV6 are abstract data types that store IPv4 and IPv6 host addresses, respectively, in binary format. IPV4 is a 4-byte host address in dotted-decimal notation (four decimal numbers, each ranging from 0 to 255, separated by dots). For example: 172.16.

Làm cách nào để cho phép một địa chỉ IP trong MySQL?

Tiếp theo, hãy chuyển đến tùy chọn menu bảo mật trong menu bên trái, sau đó nhấp vào tab MySQL. Đưa địa chỉ IP vào khu vực văn bản Thêm IP vào danh sách trắng và nhấp vào nút Thêm thêm vào.Nếu bạn có nhiều địa chỉ IP, hãy lặp lại quy trình.Khi bạn đã hoàn tất, nhấp vào nút Lưu Thay đổi Thay đổi để hoàn thiện các thay đổi.go to the Security menu option in the left menu, and then click the MySQL tab. Add the IP address to the “Add IP to Whitelist” text area and click the “Add” button. If you have multiple IP addresses, repeat the process. Once you are done, click the “Save Changes” button to finalize the changes.

Địa chỉ IP là một chuỗi hoặc số nguyên?

Địa chỉ là một chuỗi hoặc số nguyên đại diện cho mạng IP.Mạng IPv4 hoặc IPv6 có thể được cung cấp;Số nguyên nhỏ hơn 2 ** 32 sẽ được coi là IPv4 theo mặc định. representing the IP network. Either IPv4 or IPv6 networks may be supplied; integers less than 2**32 will be considered to be IPv4 by default.

Kiểu dữ liệu trong MySQL là gì?

Kiểu dữ liệu là một hướng dẫn để SQL hiểu loại dữ liệu được mong đợi bên trong mỗi cột và nó cũng xác định cách SQL sẽ tương tác với dữ liệu được lưu trữ.Trong MySQL có ba loại dữ liệu chính: chuỗi, số và ngày và thời gian.a guideline for SQL to understand what type of data is expected inside of each column, and it also identifies how SQL will interact with the stored data. In MySQL there are three main data types: string, numeric, and date and time.