MySQL三大列类型

数值型

整型:Tinyint

1个字节8个位bit 存贮范围 0---2^8-  (0--255)

0000 0000 =0

1111 1111 =2^8-1=255

计算机为了表示一个数是负数,会把最高位的(左侧)的0/1,当符合看

如为0是正数,如是1,则是负数

0 0000000   0 1111111 –>0->127

1 0000000 à -0  1 1111111 à -127

二进制补码的问题

如上理解+0 和-0,则重复了,浪费一种存储的可能性。

因此计算机种负数,不是照着“后面的绝对值直接乘以-1得到的”

负数 = 绝对值-128

因此

1111  1111   ----.>-1

1000  0000   ---à-128

   Smallint

      Mediuint

      Int

      Bigint

分析:

2个字节,16位 0-----2^16-1=65535

-2^15--à+2^15-1,  -32768---à32767

一般而言,设某类型N个字节

N字节,8N位。

0------à2^8n-1

-2^(8n-1)---à+2^(8N-1);

对于int型:占得字节越多,存储的范围越大

Int系列的声明时的参数:

(M)   unsigned     zerofil

学习tinyint的参数并验证字节的与范围的关系

Out of range 超出范围

即int 不加特殊说明,默认有符合

#加unsigned表示无符号,可以影响储存的范围

#加unsigned类型表示无符号

#分析M参数

#zerofill zero 是0 ;fill 填充,

#M必须和zerofill配合才有意思,不够位数,用0填充

为什么补充到5位,因为M为5位,因此M与zerofill配合使用才有意思。

小数(浮点型/定点型)

浮点数在计算机里表示是比较复杂

Float(M,D)decimal(M,D)

M叫精度----à代表小数的总位数,而D是标度,代表小数位(小数点右边的位数)

Float(6,2)范围-9999.99-------+9999.99

时间: 2024-10-15 14:35:24

MySQL三大列类型的相关文章

mysql 三大列类型

数值型 1.整型 tinyint 占据空间:1个字节,存储范围:-128-127,0-255 一个字节  8个位 0000 0000 -1111 1111 0   ->  2的8次方-1=255 0 000000-0 1111111 0->127 1  000000-1 1111111 0->-127 -127->127 二进制补码的问题 如上理解的话,+0,-0重复了,浪费了一种可能性 因此计算机中的负数,不是照着“后面的绝对值位乘-1得到的” 而是用补码换算的 负数=绝对值位-

MySql学习 (一) —— 基本数据库操作语句、三大列类型

在使用MySql的时候,基本都是用图形化工具,如navicat.最近发现连最基本的创建表的语法都快忘了... 所以,想要重新系统性的学习下MySql,为后面学习MySql的一些高级查询,MySql性能和SQL语句的优化等打个基础. 用博客来记录下学习的过程,方便以后查阅和加强记忆.有错误的地方还请指出! 一.MySql的基本操作命令 注: <>表示参数.[]表示可选项 连接数据库:mysql> mysql -u<username> -p<password>; 显示

如何正确选择MySQL数据列类型

MySQL数据列类型选择是在我们设计表的时候经常会遇到的问题,下面就教您如何正确选择MySQL数据列类型,供您参考学习. 选择正确的数据列类型能大大提高数据库的性能和使数据库具有高扩展性.在选择MySQL数据列类型时,请从以下几个方面考虑: 存放到数据列中的数据类型. 数据值的取值范围. 考虑性能和处理效率. 数值操作比字符操作快. 小类型的处理速度比大类型快. 不同数据表中固定长度类型和可变长度类型的处理效率是不同的. 可变长度类型在经过删除和修改操作后容易产生碎片,降低系统性能,需定期运行O

mysql学习——列类型,建表语句和增删改查

建表语句 create table 表名( 列名称 列类型 [列属性] [默认值], ... )engine 引擎名 charset 字符集: mysql学习--列类型,建表语句和增删改查

MySQL 常用列类型

日期和时间类型为DATETIME.DATE.TIMESTAMP.TIME和YEAR. 注意:在MySQL中,日期时间值使用单引号引起来. 相当于Java中Date,Calender. 最常用的整数类型: MySQL列类型 Java数据类型 ------------------------------------------------------- INT/INTEGER: int/Integer BIGINT: long/Long -------------------------------

mysql之数据表列类型和列约束一

mysql数据表在定义列时,需要确定列的数据类型,以及列的相关属性或是说约束,那么mysql的列类型大致可分为如下: 列类型可分为如下: 1.数值类型 又分为整数和小数 2.时间和日期类型 3.字符类型 稍微有C基础的同学应该不是很陌生,这里呢我不会讲解太多,稍微解释一下就行. 整数部分 整数部分要注意的地方就是字节以及有符号和无符号的区别 我们知晓1byte=8bit 那么2的8次方就是0-255之间 有进制转换的同学应该知道了,那么有符号和无符号是指他需要1位来标识正负数,所以要减去1位,自

MySQL服务 - MySQL列类型、SQL模式、数据字典

一.MySQL列类型的作用: 列类型可以简单理解为用来对用户往列种存储数据时做某种范围"限定",它可以定义数据的有效值(字符.数字等).所能占据的最大存储空间.字符长度(定长或变长).是否能够被索引.如何被索引及如何排序等.在关系型数据库系统中,为了实现数据的易于管理,必须为表字段(列)指定对应的列类型.MySQL的列类型可以分为4类:字符型.数值型.日期及时间型.自有类型. 1.字符型: 字符型限定值只能为字符,MySQL的字符类型如下: 类型 最大字符长度 名称及特性 char 2

列类型概述

数据库中的每个表都是由一个或多个列构成的.可以用 CREATE TABLE 语句创建一个表,创建表时要为每列指定一个类型.列的类型与数据类型相对应,但是比数据类型更为具体,用列类型描述表列可能包含的值的种类以及范围,列的值必须符合规定,不能包含对应的数据类型所允许的所有值.例如,CHAR(16)就规定了存储的字符串值必须是16位.当然不是你必须存储16个字符,而是指列在表中要占16个字符的宽度的. MySQL的列类型是一种手段,通过这种手段可以描述一个表列包含什么类型的值,这又决定了 MySQL

DJango一对一查询,ORM 列类型及列参数

一对一查询 表的创建 # 通过 OneToOneField 创建一对一的关系 from django.db import models # Create your models here. class StaffInfo(models.Model): name = models.CharField(max_length=32, null=True) age = models.CharField(max_length=32, null=True) class Salary(models.Model