- 使用 Spring Initializr 创建 Spring Boot 应用程序
- 在Spring Boot中配置Cassandra
- 在 Spring Boot 上配置 Tomcat 连接池
- 将Camel消息路由到嵌入WildFly的Artemis上
类型 | 所占字节 | 范围(有符号) | 范围(无符号) | 用途 |
---|---|---|---|---|
tinyint[unsigned] | 1 Bytes | (-128,127) | (0,255) | 小整数值 |
smallint[unsigned] | 2 Bytes | (-215,215 -1) | (0,216-1) | 大整数值 |
mediumint[unsigned] | 3 Bytes | (-223,223-1) | (0,224-1) | 大整数值 |
int[unsigned] | 4 Bytes | (-231,231-1) | (0,232-1) | 大整数值 |
bigint[unsigned] | 8 Bytes | (-263,263-1) | (0,264-1) | 极大整数值 |
注意:
# 带符号
create table zhengxing1(num1 int, num2 tinyint);
# 不带符号的设置如下
create table zhengxing2(num1 int unsigned, num2 tinyint unsigned);
字符的显示宽度
无论你显示宽度设置为多少,int 类型能存储的最大值和最小值永远都是固定的类型 | 含义 |
---|---|
float[(m,d)] [unsigned] | 单精度浮点型 8位精度(4字节) ,约7位有效数字,m总个数,d小数位 |
double[(m,d)] [unsigned] | 双精度浮点型 16位精度(8字节) ,约17位有效数字,m总个数,d小数位 |
decimal[(m,d)] [unsigned] | 定点数m表示该小数的总的有效位数(最大65),d表示小数点的位数 |
类型 | 所占字节 | 范围 | 格式 | 用途 |
---|---|---|---|---|
date | 3 Bytes | 1000-01-01/9999-12-31 | YYYY-MM-DD | 日期值 |
time | 3 Bytes | ‘-838:59:59’/‘838:59:59’ | HH:MM:SS | 时间值或持续时间 |
year | 1 Bytes | 1901/2155 | YYYY | 年份值 |
datetime | 8 Bytes | 1000-01-01 00:00:00/9999-12-31 23:59:59 | YYYY-MM-DD HH:MM:SS | 混合日期和时间值 |
timestamp | 4 Bytes | 1970-01-01 00:00:00/2038 | YYYYMMDD HHMMSS | 混合日期和时间值,时间戳 |
类型 | 所占字节 | 用途 |
---|---|---|
char | 0-255 | 定长字符串 |
varchar | 0-65535 | 变长字符串 |
tinyblob | 0-255 | 不超过 255 个字符的二进制字符串 |
tinytext | 0-255 | 短文本字符串 |
blob | 0-65 535 | 二进制形式的长文本数据 |
text | 0-65 535 | 长文本数据 |
mediumblob | 0-16 777 215 | 二进制形式的中等长度文本数据 |
mediumtext | 0-16 777 215 | 中等长度文本数据 |
longblob | 0-4 294 967 295 | 二进制形式的极大文本数据 |
longtext | 0-4 294 967 295 | 极大文本数据 |
定长字符类型char:
适用于存储的字符长度为固定长度的字符,比如中国邮政编码,中国身份证号码,手机号码等。
设定形式:字段名称 char(字符个数)
特点是:
1,存储的字符长度固定,最长可设定为255个字符。
2,如果实际写入的字符不足设定长度,内部会自动用空格填充到设定的长度。
3,相对varchar类型,其存取速度更快。
变长字符类型varchar
适用于存储字符长度经常不确定的字符,比如姓名,用户名,标题,内容,等大多数场合的字符。
设定形式:字段名称 varchar(字符个数)
特点是:
1,存储的字符长度是写入的实际长度,但不超过设定的长度。最长可设定为65532(字节)
2,如果实际写入的字符不足设定的长度,就按实际的长度存储。
3,相对于char字符串,其存取速度相对更慢。
注意:
由于其最长的限制是字节数,因此存储中文和英文的实际字符个数是不同的;
适用于存储“较长的文本内容”,比如文章内容。最长可存储65535个字符。
设定形式:字段名称 text
注意:
char(n) 和 varchar(n) 中括号中 n 代表字符的个数,并不代表字节个数,比如 CHAR(30) 就可以存储 30 个字符。
一个表中的行也有一个“最大字节长度的限制”,一行最多存储65532字节。
create table user (num TINYINT);
insert INTO USER VALUES(66);
insert INTO USER VALUES(128);
发现只有一条数据,这是因为128越界了,不能插入
# 创建一个无符号的tinyint(0~255)
create table user2 (num TINYINT UNSIGNED);
insert INTO USER2 VALUES(-5);
无符号的tinyint的范围是(0~255),所以-5是不可以插入user2的
语法:float[(m, d)] [unsigned] : m总长度,d指定小数位数
例子:float(4,2),他的范围是-99.99~99.99
float也存在有符号和无符号。创建一个无符号的
这里添加一个负数进去,会添加失败
语法:decimal(m, d) [unsigned]:定点数m指定长度,d表示小数点的位数
yyyy-mm-dd
,占用三字节yyyy-MM-dd HH:mm:ss
格式和datetime完全一致,占用四字节yyyy-MM-dd HH:mm:ss
表示范围从1000到9999,占用八字节语法:char(L): 固定长度字符串,L是可以存储的长度,单位为字符(字母/汉字),最大长度值可以为255
语法:varchar(L): 可变长度字符串,L表示字符长度,最大长度65535个字节
虽说varchar的最大长度是65535,但是有1-2个字节是用来记录数据大小的,所以有效的字节是65533。
编码不同,varchar(L)里的最大值L是不同的。
utf8中,一个字符占3个字节,所以L = 65533/3 = 21844
gbk编码中一个字符占2个字节,所以L = 65533 / 2 = 32766
上面测试的是mysql5.5环境
目前我正在构建相当大的网络系统,我需要强大的 SQL 数据库解决方案。我选择 Mysql 而不是 Postgres,因为一些任务需要只读(MyISAM 引擎)而其他任务需要大量写入(InnoDB)。
我在 mysql 中使用如下命令。当它显示表格数据时,它被格式化为一个非常干净的表格,间距均匀且 |作为列分隔符。 SELECT * FROM TABLE_NAME; 当我从 CLI 运行命令时,如下
我知道这个问题之前已经被问过好几次了,我已经解决了很多问题,但到目前为止没有任何效果。 MySQL 试图将自身安装到的目录 (usr/local/mysql) 肯定有问题。关于我的错误的奇怪之处在于我
以下是我的 SQL 数据结构,我正在尝试如下两个查询: Select Wrk_ID, Wrk_LastName, Skill_Desc from Worker, Skill where
我们有一个本地 mysql 服务器(不在公共(public)域上),并希望将该服务器复制到我们拥有的 google 云 sql 实例。我的问题是:1.这可能吗?2.我们的本地服务器只能在本地网络上访问
我有一个表(test_table),其中一些字段值(例如字段 A、B 和 C)是从外部应用程序插入的,还有一个字段(字段 D),我想从现有表(store_table)插入其值,但在插入前者(A、B 和
我想创建一个 AWS RDS 实例,然后使用 terraform 管理数据库用户。因此,首先,我创建了一个 RDS 实例,然后使用创建的 RDS 实例初始化 mysql 提供程序,以进一步将其用于用户
当用户在我的网站上注册时,他们会在我的一个数据库中创建自己的表格。该表存储用户发布的所有帖子。我还想做的是也为他们生成自己的 MySql 用户——该用户仅有权从他们的表中读取、写入和删除。 创建它应该
我有一个关于 ColdFusion 和 Mysql 的问题。我有两个表:PRODUCT 和 PRODUCT_CAT。我想列出包含一些标记为:IS_EXTRANET=1 的特殊产品的类别。所以我写了这个
我想获取 recipes_id 列的值,以获取包含 ingredient_id 的 2,17 和 26 条目的值。 假设 ingredient_id 2 丢失则不获取记录。 我已经尝试过 IN 运算符
在 Ubuntu 中,我通常安装两者,但 MySQL 的客户端和服务器之间有什么区别。 作为奖励,当一个新语句提到它需要 MySQL 5.x 时,它是指客户端、服务器还是两者兼而有之。例如这个链接ht
我重新访问了我的数据库并注意到我有一些 INT 类型的主键。 这还不够独特,所以我想我会有一个指导。 我来自微软 sql 背景,在 ssms 中你可以 选择类型为“uniqeidentifier”并自
我的系统上有 MySQL,我正在尝试确定它是 Oracle MySQL 还是 MySQL。 Oracle MySQL 有区别吗: http://www.oracle.com/us/products/m
我是在生产 MySQL 中运行的应用程序的新维护者。之前的维护者已经离开,留下的文档很少,而且联系不上了。 我面临的问题是执行以下请求大约需要 10 秒: SELECT COUNT(*) FROM `
我有两个位于不同机器上的 MySQL 数据库。我想自动将数据从一台服务器传输到另一台服务器。比方说,我希望每天早上 4:00 进行数据传输。 可以吗?是否有任何 MySQL 内置功能可以让我们做到这一
有什么方法可以使用 jdbc 查询位于 mysql 根目录之外的目录中的 mysql 表,还是必须将它们移动到 mysql 根目录内的数据库文件夹中?我在 Google 上搜索时没有找到任何东西。 最
我在 mysql 数据库中有两个表。成员和 ClassNumbers。两个表都有一个付费年份字段,都有一个代码字段。我想用代码数字表中的值更新成员表中的付费年份,其中成员中的代码与 ClassNumb
情况:我有 2 台服务器,其中一台当前托管一个实时 WordPress 站点,我希望能够将该站点转移到另一台服务器,以防第一台服务器出现故障。传输源文件很容易;传输数据库是我需要弄清楚如何做的。两台服
Phpmyadmin 有一个功能是“复制数据库到”..有没有mysql查询来写这个函数?类似于将 db A 复制到新的 db B。 最佳答案 首先创建复制数据库: CREATE DATABASE du
我有一个使用 mySQL 作为后端的库存软件。我已经在我的计算机上对其进行了测试,并且运行良好。 当我在计算机上安装我的软件时,我必须执行以下步骤: 安装 mySQL 服务器 将用户名指定为“root
我是一名优秀的程序员,十分优秀!