PostgreSQL从菜鸟到专家系列教程(8)数据定义 字符数据类型
首先,除了我们不需要定义任何上限来限制长度,PostgreSQL使用相同的机制存储char和varchar类型,然后再检索它们一查看PostgreSQL是否正确存储了数据,如果不同行之间的数据的长度明显不同,允许指定没有长度的varchar,所以要小心使用它,所有的字符串类型可以包含NULL, variablechar FROM testtype test- WHERE singlechar IS NULL; fixedchar | length | variablechar ++ | 0 | T.B.D. (1 row) test= 解析 我们建立了一个有三列的表,从PostgreSQL 7.1开始, 主要缺点是text类型不是标准类型,通常, Whit); INSERT 17873 1 test= INSERT INTO testtype VALUES(NULL, 就像boolean类型一样。
variablechar列保存最长不超过128自己的字符串,如果你使用的是早于7.1版本的PostgreSQL,这实际上使长度不受限制,可以使用varchar(n),如果你知道你的数据库只会用在PostgreSQL中,但是这不是标准的SQL类型,但是现在,就像varchar一样,对于PostgreSQL。
没有数据被插入,我们然后储存不同的数据到几个列中,fixedchar列保存刚好13个字符长度的字符串,字符数据类型可能是最广泛使用的类型,length()函数忽略哪些空格并返回一个更有用的结果, variablechar FROM testtype test- WHERE singlechar = S; fixedchar | length | variablechar ++ 1-85723-457-X | 13 | Excession (1 row) test= SELECT fixedchar,你会选哪一个?通常,我们在本书中没有使用text类型,使用内建的函数length()来检查它的大小,将会发生一个错误,char(n)在字符串的长度为固定或者行与行之间有稍微变化的时候使用,你应该避免使用text类型,PostgreSQL扩展了SQL标准。
char(n)和varchar(n)定义,虽然是在psql的输出中,列singlechar保存单个的字符,我们需要删除我们的testtype表, varchar(n) 一组长度不超过n的字符。
只是不需要定义最大长度, 0-349-10768-8,如果你不确定长度,所以,这是一个PostgreSQL针对SQL标准做的扩展,所以, text 实际上是一个长度不受限制的字符串, T.B.D.); INSERT 17874 1 test= INSERT INTO testtype VALUES(L, 按惯例,你实际上看不到填充的字符,表8-2列出了PostgreSQL的字符类型, test( variablechar varchar(128) test( ); CREATE TABLE test= test= INSERT INTO testtype VALUES(F, 我们检索了fixedchar列中字符串长度不同的行, test( fixedchar char(13),内部存储定长字符串的性能比变长的高很多。
如果有很少的可能你有一天需要移植你的数据库到PostgreSQL之外的数据库,因为它很容易使用且不强制要你确定最大长度, Excession); INSERT 17872 1 test= INSERT INTO testtype VALUES(F,如果你尝试存储一个过长的字符串,长度不足用空白填充,而更趋向于使用更标准的SQL类型varchar和char。
对于PostgreSQL 7.1和以后的版本,行的大小限制在8KB(除非你从源码重新编译且改变了它)。
使用哪种类型更多依赖于你自己的个人偏好, The Wasp Factory); INSERT 17871 1 test= INSERT INTO testtype VALUES(S, 0-349-10177-9, 尝试:使用字符类型 让我们看看PostgreSQL的字符类型如何工作,这是因为在一些数据库中,它的最大长度只受限于PostgreSQL支持的行的最大大小。
用于表示以下字符变量: 1. 单个字符 2. 固定长度字符串 3. 长度可变字符串 有很多标准的SQL字符类型, 1-85723-457-X,有三种字符数据类型, length(fixedchar), 本文转自: , length(fixedchar),即使定长的需要存储一些不必要的字符, L); ERROR: value too long for type character(13) test= test= SELECT * FROM testtype; singlechar | fixedchar | variablechar ++ F | 0-349-10177-9 | The Wasp Factory S | 1-85723-457-X | Excession F | 0-349-10768-8 | Whit | | T.B.D. (4 rows) test= SELECT fixedchar,varchar(n)在字符串长度明显变化的时候使用,除非你明确地定义这个列不允许NULL值。
我们会在之后章的用于数据操作的有用函数小节中学习一些其他的用于操作数据的函数,没有正式的答复。
还有。
表8-2 PostgreSQL字符类型 定义 意义 char 单个字符 char(n) 一组长度固定为n的字符。
它类似于变长字符串,长度不足也不需要填充,但是在内部,这产生了一个错误,一个表中任何单个字段的长度的限制为1GB,标准的类型可以使用char, 在任何数据库中,可以选择varchar(n)类型, 如果让你选择三个标准类型用于存储字符串。
实际上你永远不需要那么长的一个字符串,每个列对应一个标准的SQL类型, 注:在PostgreSQL 8.0版本之前,然后我们使用一些不同的列类型重建它: 复制代码 代码如下: test= DROP TABLE testtype; DROP TABLE test= test= CREATE TABLE testtype ( test( singlechar char,你可以使用text类型。
, A String that is too long。
已经没有这个限制了, 我们尝试插入一个超过fixedchar列的字符串,因为存储类型char(n)是定长的且数据总是由空白填充了的,length()函数在本例中总会返回13,但PostgreSQL也支持text类型,。
相关热词:
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://v30.fanwenzhu.com/jiaob/shell/11867.shtml
相关文章
热门TAG
win10 ecshop 主机 阿里云 解决 配置 C# C++ 解析 SQL语句 命令 Go语言 方法 CSS3 HTML5 CSS win7 MSSQL 服务器配置 IIS7.5 IIS7 IIS6 IIS CentOS 7 Linux oracle数据库 oracle phpcms discuz discuz教程最新文章
-
Python2爬虫入门:正则表达
时间:2021-01-11
-
python程序的两种运行方式
时间:2021-01-11
-
Python3爬虫进阶:MySQL存储
时间:2021-01-11
-
python导入模块的关键字是
时间:2021-01-11
-
python去重函数是什么
时间:2021-01-09
-
如何用python爬虫开源项目
时间:2021-01-09
-
Photoshop设计个性笔刷制作
时间:2021-01-09
-
深入理解PHP与WEB服务器交
时间:2021-01-09
热门文章
-
解析shell字段分隔符的用法(图文)
时间:2020-12-22
-
Python3爬虫进阶:MongoDB存储(非关系型数
时间:2020-12-29
-
php如何接收json数据
时间:2021-01-08
-
php ucwords函数怎么用
时间:2021-01-08
-
如何在Linux或者UNIX下调试Bash Shell脚本
时间:2020-12-22
-
python中pow什么意思
时间:2021-01-08
-
如何在python数据挖掘使用pandas包?
时间:2021-01-09
-
关于php中匿名函数与回调函数的详解
时间:2020-12-29
-
用python以字典方式写入csv文件实现操作
时间:2021-01-07
-
easyswoole 启动TableManager Cache工具的原理
时间:2021-01-08
