列的类型定义——整形类型

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 列的类型定义——整形类型

前言


1)采用26字母和0-9的自然数加上下互相 ‘_’ 组成,命名简洁明确,多个单词用下划线 ‘_’ 隔开


2)全部小写命名,尽量避免出现大写


3)字段必须填写描述信息


4)禁止使用数据库关键字


5)字段名称一般采用名词或动宾短语


6)采用字段的名字必须是易于理解,一般不超过三个英文单词


7)在命名表的列时,不要重复表的名称(如:在 user 表中,出现 user_name 字段)


8)字段命名使用完整名称


       整数类型是数据库中最基本的数据类型。标准SQL中支持INTEGER和SMALLINT这两种数据类型。MySQL数据库除了支持这两种类型以外,还扩展支持了TINYINT、MEDIUMINT和BIGINT。下表从不同整数类型的字节数、取值范围等方面进行对比。

8052239272ed44528cb5281e4661f432.png


mysql> use school;   #选择数据库school


mysql> create table class5(class_id int , class_name varchar(128), class_teacher varchar(64) );         #创建表class5



一、整数类型的附带属性

类型名称后面的小括号

  指定显示宽度(并不是该类型占用字节数)。如果不显示指定宽度则默认为tinyint(3)、 smallint(5)、 mediumint(8)、 int(11) 和 bigint(20)。一般配合 zerofill 使用,顾名思义,zerofill 就是用“0”填充的意思,也就是在数字位数不够的空间用字符“0”填满。


mysql> use school;   #选择数据库school


mysql> create table class6(class_id integer(5) zerofill, class_name varchar(128), class_teacher varchar(64) );         #创建表class6


unsigned


如果需要在字段里面保存非负数或者需要较大的上限值时,可以用此选项,它的取值范围是正常值的下限取 0,上限取原值的 2 倍,例如,tinyint 有符号范围是-128~+127,而无符号范围是 0~255。如果一个列指定为 zerofill,则 MySQL 自动为该列添加 UNSIGNED 属性。

mysql> use school;   #选择数据库school


mysql> create table class6(id integer unsigned , name varchar(128), teacher varchar(64) );         #创建表class6


mysql> create table class7(id integer zerofill , name varchar(128), teacher varchar(64) );         #创建表class7, id类型为 int unsigned

auto_increment

在需要产生唯一标识符或顺序值时,可利用此属性,这个属性只用于整数类型。AUTO_INCREMENT 值一般从 1 开始,每行增加 1。 一个表中最多只能有一个 AUTO_INCREMENT列 。对于任何想要使用 AUTO_INCREMENT 的列,应该定义为 NOT NULL,并定义为 PRIMARY KEY 或定义为 UNIQUE 键。 例如,可按下列任何一种方式定义 AUTO_INCREMENT 列:

mysql> use school;   #选择数据库school


mysql> create table class8(id integer auto_increment PRIMARY KEY , name varchar(128), teacher varchar(64) );         #创建表class8, id 具有自增长属性


mysql> create table class9(id integer auto_increment UNIQUE , name varchar(128), teacher varchar(64) );         #创建表class9, id 具有自增长属性

总结


zerofill 就是用“0”填充的意思,也就是在数字位数不够的空间用字符“0”填满。

AUTO_INCREMENT  在需要产生唯一标识符或顺序值时,可利用此属性,这个属性只用于整数类型。AUTO_INCREMENT 值一般从 1 开始,每行增加 1。 一个表中最多只能有一个 AUTO_INCREMENT列 。对于任何想要使用 AUTO_INCREMENT 的列,应该定义为 NOT NULL,并定义为 PRIMARY KEY 或定义为 UNIQUE 键。

下一篇介绍实型

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
6月前
|
存储 开发者
如何确定常量的类型
在编程中,常量是程序中值不会改变的量。确定常量的类型是非常重要的,因为它直接影响了程序的效率和可读性。选择正确的常量类型可以确保程序占用更少的内存,运行更快,并且更容易理解和维护。
66 2
|
6月前
|
存储 C#
C#数据类型之结构体介绍
C#数据类型之结构体介绍
|
存储
3.2.6 怎样确定常量的类型
3.2.6 怎样确定常量的类型
47 0
|
3月前
|
存储 编译器 C语言
数据类型与变量
数据类型与变量
54 3
|
5月前
|
存储 Java 程序员
|
6月前
|
存储 C语言 C++
共用体类型数据的特点
共用体类型数据的特点
42 1
|
6月前
|
存储 安全 编译器
C++数据类型与变量:深入理解与应用
C++数据类型与变量:深入理解与应用
|
6月前
|
存储 网络协议 编译器
共用体数据的类型
共用体数据的类型
45 3
|
6月前
|
存储 算法 编译器
C++002-C++变量和数据类型1
C++002-C++变量和数据类型1
C++002-C++变量和数据类型1
|
6月前
|
存储 算法 编译器
C++003-C++变量和数据类型2
C++003-C++变量和数据类型2