首页 > 数据库 >mysql创建表时,字段的类型(转载)

mysql创建表时,字段的类型(转载)

时间:2023-06-10 17:00:13浏览次数:61  
标签:存储 varchar 表时 DATETIME char 字符串 字段 mysql 类型

常用的字段类型大致可以分为数值类型、字符串类型、日期时间类型三大类,下面我们按照分类依次来介绍下。

1、数值类型

数值类型大类又可以分为整型、浮点型、定点型三小类。

 

 2、字符串类型

字符串类型也经常用到,常用的几个类型如下表:

 

其中 char 和 varchar 是最常用到的。char 类型是定长的,MySQL 总是根据定义的字符串长度分配足够的空间。当保存 char 值时,在它们的右边填充空格以达到指定的长度,当检索到 char 值时,尾部的空格被删除掉。varchar 类型用于存储可变长字符串,存储时,如果字符没有达到定义的位数,也不会在后面补空格。

char(M) 与 varchar(M) 中的的 M 表示保存的最大字符数,单个字母、数字、中文等都是占用一个字符。char 适合存储很短的字符串,或者所有值都接近同一个长度。例如,char 非常适合存储密码的 MD5 值,因为这是一个定长的值。对于字符串很长或者所要存储的字符串长短不一的情况,varchar 更加合适。

我们在定义字段最大长度时应该按需分配,提前做好预估,能使用 varchar 类型就尽量不使用 text 类型。除非有存储长文本数据需求时,再考虑使用 text 类型。

BLOB 类型主要用于存储二进制大对象,例如可以存储图片,音视频等文件。日常很少用到,有存储二进制字符串时可以考虑使用。

3、日期时间类型

MySQL支持的日期和时间类型有 YEAR 、TIME 、DATE 、DATETIME 、TIMESTAMP,几种类型比较如下:

 

涉及到日期和时间字段类型选择时,根据存储需求选择合适的类型即可。

关于 DATETIME 与 TIMESTAMP 两种类型如何选用,可以按照存储需求来,比如要求存储范围更广,则推荐使用 DATETIME ,如果只是存储当前时间戳,则可以使用 TIMESTAMP 类型。不过值得注意的是,TIMESTAMP 字段数据会随着系统时区而改变但 DATETIME 字段数据不会。总体来说 DATETIME 使用范围更广。

 

转载于:https://blog.csdn.net/xiaolisolovely/article/details/129386342

标签:存储,varchar,表时,DATETIME,char,字符串,字段,mysql,类型
From: https://www.cnblogs.com/will-wu/p/17471550.html

相关文章

  • mysql 主从复制 原理
     mysql主从复制定义mysql主从复制是一种数据同步的技术,它可以让一个或多个从数据库(slave)复制主数据库(master)的数据变化。这样可以提高数据库的可用性、性能和扩展性,也可以实现读写分离和数据备份。mysql主从复制原理mysql主从复制的原理是基于二进制日志(binlog)的,主数据库......
  • mysql MVCC 原理
    MVCC的定义MVCC,即多版本并发控制,是一种并发控制的方法,一般在数据库管理系统中,实现对数据库的并发访问,在编程语言中实现事务内存。MVCC的目的是为了提高数据库的并发性能,用更好的方式去处理读写冲突,做到即使有读写冲突时,也能做到不加锁,非阻塞并发读。MVCC的目的在MySQL中,InnoDB......
  • 本地mysql服务无法启动 解决方案
    问题引入:在我启动SQLyog时,无法连接mysql,检查MYSQL服务,并无法手动启动,由此一下是解决步骤。首先,以管理员身份打开cmd。进入到mysql的bin目录,这里需要各位去文件找找路径;在bin下,删除mysqld的所有内容;​ mysqld--remove成功:Servicesuccessfullyremoved.......
  • Python 3.x对MySQL数据库的常用操作
    首先安装MySQL,然后使用pipinstallpymysql安装扩展库,最后执行下面的代码。运行结果:公众号“Python小屋”......
  • MySQL数据库安全评估工具
    MySQL数据库安全评估工具MySQLDatabaseSecurityAssessmentTool   MySAT执行多项测试以分析数据库配置和安全策略。MySAT可以帮助评估并因此提高MySQL数据库的安全性。MySAT是一个简单的SQL脚本,它易于理解,易于维护。MySAT的结果是一份HTML格式的报告。MySQL数据库安全评估......
  • Spring中的字段注入是如何实现的
    spring中属性的注入方式Spring中属性注入的方式包括以下几种:Setter方法注入:通过在Bean类中定义对应的属性setter方法,然后在XML配置文件或Java配置类中使用或@Value注解来为这些属性设置数值。构造函数注入:通过在Bean的构造函数中定义对应的参数来实现。在XML......
  • django 中存储手机号的字段, 使用 Django 库 pip install django-phonenumber-field[ph
    原文参见:https://www.delftstack.com/zh/howto/django/django-phone-number-field/使用第三方Django应用程序的 PhoneNumberField 存储电话号码要存储电话号码,我们可以使用实现此字段的第三方Django应用程序或库:PhoneNumberField。你可以在此处找到此库或应用程序的Git......
  • 【后端面经-数据库】MySQL的存储引擎简介
    目录MySQL的存储引擎0.存储引擎的查看和修改1.MyISAM2.InnoDB3.MEMORY4.MERGE5.总结6.参考博客MySQL的存储引擎mysql主要有四类存储引擎,目前主要使用InnoDB作为存储引擎。0.存储引擎的查看和修改查看当前数据库的默认存储引擎showvariableslike'default_storage_e......
  • SpringBoot+Mysql+IDEA开发的社区医疗综合服务平台
    基于springboot的社区养老医疗综合服务平台项目介绍......
  • Docker中拉取mysql后无法连接
    在Linux系统中,你可以使用以下命令停止MySQL服务:sudosystemctlstopmysql启动MySQL服务,并跳过权限验证:sudomysqld_safe--skip-grant-tables&在这个命令中,--skip-grant-tables参数将禁止MySQL对用户身份进行验证,因此你可以直接登录到MySQL服务器,而不需要输入......