数据库中的数据类型长度(理解)

1.在创建数据库的时候int(10),varchar(255)中括号后面的数字代表什么意思?

括号里的数字叫数据的宽度,单数不同的数据类型对宽度的处理也不一样:

1、整数类型,这里显示的宽度和数据类型的取值范围是没有任何关系的,显示宽度只是指明Mysql最大可能显示的数字个数,数值的位数小于指定的宽度时会由空格填充;如果插入了大于显示宽度的值,只要该值不超过该类型的取值范围,数值依然可以插入,而且能够显示出来。

例如上面的udi,显示的宽度是4,但是我向uid中插入100001,也是可以的,保存和显示的都会是100001

如果你不设置宽度,系统将添加默认的宽度 tinyint(4),smallint(6),mediumint(9),int(11),bigint(20),这些默认的宽度是跟该类型的取值范围长度相关。

2、字符串类型,字符串类型这个宽度才真的用上了。不管是char还是varchar,宽度都定义了字符串的最大长度

例如上面的 password varchar(20),如果你输入了一个21个字符的密码,那么保存和显示的只会是前20个字符,你将丢失一个字符信息,char同理。由于varchar是变长存储的,所以实际开发中我们一般都把varchar的宽度设为最长255,反正你没用完它也不会浪费空间。

3、浮点和日期等数据类型对数据的宽度没有要求,一般也不设置,默认是0

2.char 和 varchar的区别

char:定长,不足的补位

varchar:变长

3.大小怎么计算的
4个字节 32位
2.31-1

int类型的范围跟带不带符号有关:
带符号:(-2 147 483 648,2 147 483 647)
不带符号:(0,4 294 967 295)?? ?

3.varchar能存多少汉字

一个汉字占多少长度与编码有关:

UTF-8:一个汉字=3个字节

GBK:一个汉字=2个字节

原文地址:https://www.cnblogs.com/coderMap/p/11294369.html

时间: 2024-10-09 23:36:02

数据库中的数据类型长度(理解)的相关文章

PostgreSQL、SQL Server数据库中的数据类型的映射关系

PostgreSQL 8.1 轰动发布,我也打算将原来使用 SQL Server 的一些应用迁移到 PostgreSQL 上,首先需要迁移的是表,那么这就必须要先搞清楚这两个数据库中的数据类型的映射关系.查了下 PostgreSQL 文档特制作如下对应表格,以飨各位. 注意:PostgreSQL 中的 money(货币)数据类型现在已经废弃,用 numeric 或 decimal 以及和 to_char 函数一起使用就可以取代它. SQL Server 中的 datetime.smalldate

数据库中对存储过程的理解

1.存储过程的概念 存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集.经编译后存储在数据库中. 存储过程是数据库中的一个重要对象,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它. 存储过程是由 流控制 和 SQL语句书写的过程,这个过程经编译和优化后存储在数据库服务器中. 存储过程 可由应用程序通过一个调用来执行,而且允许用户声明变量. 同时,存储过程可以接收和输出参数.返回执行存储过程的状态值,也可以嵌套调用. 2.存储过程的优点 ① 存

查询sql server数据库中字段内容长度的方法

在做项目的时候,需要查询数据库中相应字段的内容长度,以下是记录下来的方法: SELECT length = DATALENGTH(username),   username FROM TABLENAME ORDER BY length desc

数据库中的数据类型

一.数字型    整型        TINYINT    1字节        byte        SMALLINT   2字节        short        MEDIUMINT  3字节        (常用)INT        4字节        int        BIGINT     8字节        long    浮点型        FLOAT   单精度4字节      float         **DOUBLE  8字节             do

mysql的text字段长度 mysql数据库中text字段长度不够的问题

分享一下我老师大神的人工智能教程吧.零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!http://www.captainbed.net 类型是可变长度的字符串,最多65535个字符: 可以把字段类型改成MEDIUMTEXT(最多存放16777215个字符)或者LONGTEXT(最多存放4294967295个字符). MySQL supports 4 TEXT field types (TINYTEXT, TEXT, MEDIUMTEXT and LONGTEXT)

Springboot整合Mybatis使用TypeHandler来转换数据库中的数据

TypeHandler转换指定数据库中数据为Enum枚举 在一些时候,我们的数据库需要存放一些例如状态信息的数据,通常的我们使用int整型来保存,例如(0:失败,1:成功)等,用这样的数据是可以的,但对于前端的编程是不友好的,所以我们可以使用TypeHandler来进行一个转换,将其转化成一个枚举型. 一.数据库中的数据定义 这里的user_state和user_priority表示了一些状态信息(范围是整数0~5),接下来我们要将这个转化为枚举型 二.创建枚举Enum类 以User_state

MySQL中各种数据类型的长度及在开发中如何选择

接触MySQL这个数据库大概快要两年了,不过由于没有特别深入系统的去学习,大多也是停留在一知半解的状态.今天在工作中刚好碰到了表设计的问题,顺便写篇博客,把MySQL中数据类型和字段类型选择这方面给弄清楚. MySQL中的数据类型大体分为三大类,数值类型,时间日期类型以及字符串类型.下面将对这三种类型进行详细的介绍. 一.数值类型 MySQL 支持所有标准SQL 中的数值类型,其中包括严格数值类型(INTEGER.SMALLINT.DECIMAL 和NUMERIC),以及近似数值数据类型(FLO

sql server数据库中 smallint, int ,bigint ,tinyint的区别与长度

smallint  是一种精确的数值数据类型,其精度在算术运算后不变,采用2个字节编码 有符号的 smallint 值的范围是 -2^15-------2^15 -1,即 -32768 ----32767 无符号的 smallint 值的范围是 0-------2^16 -1,即 0----65535, int 数据类型存储为 4字节整数,取值范围 -2^31---2^31,所以在考虑最大数据范围的前提下,优先考虑使用smallint类型. 在int 数据类型支持范围的数字常量仍被解释为nume

数据库中字段类型对应的C#中的数据类型

数据库中字段类型对应C#中的数据类型: 数据库                 C#程序 int int32 text string bigint int64 binary System.Byte[] bit Boolean char string datetime System.DateTime decimal System.Decimal float System.Double image System.Byte[] money   System.Decimal nchar String n