简体   繁体   English

我应该在MySQL中为这些数据使用什么类型?

[英]What types should I use for these data in MySQL?

I 'm not sure what type (set, integer, time, char, varchar, text,...) should I use for these data: 我不确定这些数据应使用哪种类型(集合,整数​​,时间,字符,varchar,文本等):

  • IP IP
  • personal message 个人讯息
  • data and time 数据和时间
  • title 标题
  • name (or surname) 名字(或姓)
  • user-agent 用户代理
  • forum answer (or comment) 论坛答案(或评论)
  • email address 电子邮件地址
  • country 国家
  • password 密码
  • custom session cookie 自定义会话Cookie

This depends a bit on your personal taste/your company's conventions, but I'd use: 这取决于您的个人品味/您公司的惯例,但是我会使用:

  • IP: CHAR(15) IP: CHAR(15)
  • personal message: TEXT 个人讯息: TEXT
  • date and time: DATETIME 日期和时间: DATETIME
  • title: VARCHAR(255) 标题: VARCHAR(255)
  • name (or surname): VARCHAR(255) 名称(或姓): VARCHAR(255)
  • user-agent: VARCHAR(255) 用户代理: VARCHAR(255)
  • forum answer (or comment): TEXT 论坛答案(或评论): TEXT
  • email address: VARCHAR(255) 电子邮件地址: VARCHAR(255)
  • country: CHAR(2) 国家: CHAR(2)
  • password: VARCHAR(255) 密码: VARCHAR(255)
  • custom session cookie: VARCHAR(255) 自定义会话Cookie: VARCHAR(255)

This is kinda funny question, but i will answer for IP address. 这是一个有趣的问题,但我会回答IP地址。

You could store IP address in an INT UNSIGNED. 您可以将IP地址存储在INT UNSIGNED中。

mysql> SELECT INET_ATON('192.168.0.10') AS ipn; 

mysql> SELECT INET_NTOA(3232235530) AS ipa; 

So you can store an IP address in an INT UNSIGNED (4 bytes) which is of course much more efficient and faster than a CHAR(15). 因此,您可以将IP地址存储在INT UNSIGNED(4字节)中,这当然比CHAR(15)更高效,更快。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM