SQL 修改字段类型和长度,常见类型介绍及数据库设计工具PowerDesigner和astah

PowerDesigner  和 astah professional 

事务比较简单的数据库设计,使用PowerDesigner就够了。

 

点击新建新模型->Categories->Infomation->Physical
Data,就能够展开数据库表结构划设想计之旅。

布置好的数额库表结构,双击在“Table
Properties”标签页下,有一个“Preview”的竹签,张开,就能够看见相应数据库表设计的SQL语句。直接复制到MSSQLServer、Oracle或其余数据库的实践窗口,实行就可以成立。

 

假若工作相对复杂,能够行使astah
professional版本来进行专门的学问和数据库设计,在astah的主分界面包车型地铁tools->EKoleosDiagram->Export Sql… 能够导出对应的SQL语句。

图片 1

 

参考

varchar:可变长度,非Unicode字符数据。n的取值范围为1至8,000。max提醒最大存款和储蓄大小是2^31-1个字节。存款和储蓄大小是输入数据的其实尺寸加2个字节。所输入数据的尺寸可以为0个字符。SQL-2004中的varchar就是charvarying或charactervarying。

能够定义客商定义的数据类型,其是系统提供的数据类型的外号。有关客户定义的数据类型的越多新闻,请参见
sp_addtype 和创制客商定义的数据类型。

  s (小数位数)

1.对讲机字段设置二十一个Byte竟然缺乏,好吧设置为50的长短。

alter table <表名> alter column <字段名> 新类型名(长度)

举例:
alter table T_CustomerFile alter MobilePhoneNumber nvarchar(50)

定长便是长度固定的,当输入的数据长度未有完结钦赐的尺寸时将机关以爱尔兰语空格在其背后填充,使长度达到相应的长短。

 

最大汉语数:              五千           4000            2E30-1      
4000             四千             2E30-1

 5、DECIMAL``(P,D)

意味着列能够积攒D位小数的P位数。十进制列的其实范围决议于精度和刻度。

剩余数字
0 0
1–2 1
3–4 2
5–6 3
7-9 4

例如:DECIMAL(19,9)对于小数部分持有9位数字,对于整数部分持有19位-9位
10位数字,小数部分须要4个字节。
整数部分对从前9位数字必要4个字节,1个剩余字节需求1个字节。DECIMAL(19,9)列共计必要9个字节。

 

char:一定长度,非Unicode字符数据,长度为n个字节。n的取值范围为1至8,000,存款和储蓄大小是n个字节。char的SQL二零零二同义词为character。

字符串

char

定点长度的非 Unicode 字符数量,最大尺寸为 8,000 个字符。

varchar

可变长度的非 Unicode 数据,最长为 8,000 个字符。

text

可变长度的非 Unicode 数据,最大尺寸为 2^31 – 1 (2,147,483,647) 个字符。

3、关于她们的存款和储蓄效用:

 2.刨除一个表,整个表在数据库中消失

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[T_ABC]') AND type in (N'U'))

DROP TABLE [dbo].[T_ABC]

nvarchar:可变长度Unicode字符数据。n值在1到4,000里边(含)。max提醒最大存储大小为2^31-1字节。存款和储蓄大小是所输入字符个数的两倍+2个字节。所输入数据的长短可以为0个字符。nvarchar的SQL-二零零一同义词为nationalcharvarying和nationalcharactervarying。

SQL Server 为 SQL-92
包容性提供了数据类型同义词。有关越来越多音信,请参见数据类型同义词。

最大塞尔维亚(Serbia)语数:              柒仟            柒仟           2E31-1      
六千            五千              2E30-1

3、整型bigint、int、smallint、tinyint的区别

bigint

从 -2^63 (-9223372036854775808) 到 2^63-1(9223372036854775807)
的整型数据

(全部数字)。存储大小为 8 个字节。

 

int

从 -2^31 (-2,147,483,648) 到 2^31 – 1(2,147,483,647)
的整型数据(全部数字)。

积攒大小为 4 个字节。int 的 SQL-92 同义字为 integer。

 

smallint

从 -2^15 (-32,768) 到 2^15 – 1 (32,767) 的整型数据。存储大小为 2
个字节。

 

tinyint

从 0 到 255 的整型数据。存款和储蓄大小为 1 字节。

nchar,nvarchar:可存款和储蓄四千个字符,无论立陶宛共和国(Republic of Lithuania)语照旧汉字

bit

bit

1 或 0 的子弹头数据。

 

 4、varchar、nvarchar、char、nchar

varchar(n)
长度为 n 个字节的可变长度且非 Unicode 的字符数据。n 必须是一个在于 1 和
8,000 之间的数值。存储大小为输入数据的字节的实际尺寸,实际不是 n
个字节。

nvarchar(n)
含有 n 个字符的可变长度 Unicode 字符数量。n 的值必得介于 1 与 4,000
之间。字节的累积大小是所输入字符个数的两倍。

 如字段值只是立陶宛语可挑选varchar,而字段值存在非常多的双字节(粤语等)字符时用nvarchar

 

char的尺寸是不可变的,而varchar的尺寸是可变的。char的存取数度比varchar要快得多,因为其长度固定,方便程序的蕴藏与追寻;char为此付出的是空中的代价,因为其长度固定,所以难免会有盈余的空格占位符占有空间,可谓是以空间换取时间效用,而varchar是以空间效用为第3位的

 

nchar的尺寸是不可变的,Unicode字符数据。

 

char,varchar 最多8000个英文,4000个汉字
nchar,nvarchar 可存储4000个字符,无论英文还是汉字

TEXT

text存款和储蓄可变长度的非Unicode数据,最大尺寸为2^31-1(2,147,483,647)个字符。

ntext
可变长度 Unicode 数据的最大尺寸为 2^30 – 1 (1,073,741,823)
个字符。存款和储蓄大小是所输入字符个数的两倍(以字节为单位)。ntext 在 SQL-92中的同义词是 national text。

 

假若数据量相当大,又能百分之百规定长度且保存只是ansi字符,那么使用char
能明确长度又不必然是ansi字符或许,那么使用nchar
对于超大数据,如文章内容,使用nText 
任何的通用nvarchar

在SQL
Server中,当大家设置字符型字段的时候,往往有不菲个数据类型供大家选用,如:char
nchar varchar
nvarchar等,那么大家到底应该选取哪三个吗?上边就相继来汇报其差别。

Unicode 字符串

nchar

定位长度的 Unicode 数据,最大尺寸为 4,000 个字符。

nvarchar

可变长度 Unicode 数据,其最大尺寸为 4,000 字符。sysname
是系统提供客商定义的数据类型,在功能上等同于
nvarchar(128),用于援引数据库对象名。

ntext

可变长度 Unicode 数据,其最大尺寸为 2^30 – 1 (1,073,741,823) 个字符。

最大存款和储蓄量(byte):       七千          8000            2E31-1   
七千           八千               2E31-1

nchar:n个字符的牢固长度的Unicode字符数据。n值必需在1到4,000里头(含)。存款和储蓄大小为两倍n字节。nchar的SQL-二〇〇一同义词为nationalchar和nationalcharacter。

decimal 和 numeric

decimal

从 -10^38 +1 到 10^38 –1 的定势精度和小数位的数字数据。

numeric

效能上等同于 decimal

存款和储蓄效能:                   较高             非常低           
异常的低           较高              很低                非常低

你也许感兴趣的小说:

  • 详解SQL Server中的数据类型
  • 详解MySQL数据类型int(M)中M的意思
  • mysql存款和储蓄引擎和数据类型(二)
  • Java数据类型与MySql数据类型对照表
  • SQL Server数据类型转变方法
  • SQL
    Server比较宽泛数据类型详解
  • SQLite教程(七):数据类型详解
  • sql使用cast进行数据类型转变示例
  • SQL二零零五中char nchar varchar
    nvarchar数据类型的界别和使用境遇批注
  • SQL的常用数据类型列表详解
  1. 经过将数据类型的预先顺序法规应用到输入表达式的数据类型来规定所得值的数据类型。有关更加多消息,请参见数据类型的事先顺序。

  2. 假定结果数据类型为
    charvarchartextncharnvarchar
    ntext,则结果值的排序法则由排序法则的优先顺序法规决定。有关越来越多新闻,请参见排序准绳的预先顺序。

  3. 结果的精度、小数位数及长度决定于输入表达式的精度、小数位数及长度。有关更多消息,请参见精度、小数位数和长短。

  decimal(2,1),有效长度为2,小数位占1位。

varchar,nvarchar:变长,速度慢,占空间小,不需求处理

optimize SQLSE库罗德VELAND 3数据类型的虚拟

分类:SQLSERVER

l  decimal和numeric中尽量选择decimal,numeric只是为了向后十三分。

l  bigint,int,smallint,tinyint中

首先int,空间攻下合适,运算速度快;(2147,…,…2个多亿)

假使那些在乎空间的话,思虑tinyint

重特大应用地方,思索bigint

l money,smallmoney

尽或者思量用decimal代替,原因:质量稍稍好有的;相对其余数据库宽容性好。

money的补益是足以用到有些货币运算函数。

float类型尽量少用,品质不好,精度不高,常常只用于科学计算。

l  char,varchar,nchar/nvarchar

char品质好;varchar节省空中;选拔格局:11个字节以上的用varchar

n类型的占用空间大,质量低,假如不企图存普通话或中亚文字则尽量防止使用。

更为向类似工号的字段更不用使用n类型,首先它不会存入粤语,其次它大概作为目录,此时对质量的震慑就更加大。

l  text/image  思考到维护方便、作用以及程序支付的方便性,最棒不用,即不将其存入数据库中;选拔varchar指向其对应的积攒路径。

1)char、varchar、text和nchar、nvarchar、ntext 

  char和varchar的长度都在1到九千时期,它们的差距在于char是定长字符数据,而varchar是变长字符数据。所谓定长正是长度固定的,当输入的数额长度未有高达内定的尺寸时将自行以土耳其共和国(The Republic of Turkey)语空格在其后边填充,使长度达到相应的长短;而变长字符数据则不会以空格填充。text存款和储蓄可变长度的非Unicode数据,最大尺寸为2^31-1(2,147,483,647)个字符。   

  前面二种数据类型和前边的对待,从名称上看只是多了个假名”n”,它象征存款和储蓄的是Unicode数据类型的字符。写进度序的仇敌对Unicode应该很掌握。字符中,意大利语字符只须求一个字节存款和储蓄就丰盛了,但汉字众多,须要五个字节存款和储蓄,乌克兰(УКРАЇНА)语与汉字同一时候设一时便于导致零乱,Unicode字符集就是为着减轻字符集这种不宽容的主题材料而产生的,它具有的字符都用八个字节表示,即越南语字符也是用三个字节表示。nchar、nvarchar的长短是在1到伍仟里面。和char、varchar相比:nchar、nvarchar则最多囤积五千个字符,不论是加泰罗尼亚语还是汉字;而char、varchar最多能存储7000个波兰语,4000个汉字。能够看来使用nchar、nvarchar数据类型时决不担忧输入的字符是克罗地亚共和国(Republic of Croatia)语依然汉字,较为便利,但在存款和储蓄菲律宾语时数量上稍加损失。  

  (2)datetime和smalldatetime 

  datetime:从1753年四月1日到9999年十一月13日的日期和岁月数额,正确到百分之三秒。 

  smalldatetime:从1904年四月1日到2079年二月6日的日子和岁月数额,准确到分钟。   

  (3)bitint、int、smallint、tinyint和bit 

  bigint:从-2^63(-9223372036854775808)到2^63-1(9223372036854775807)的整型数据。 

  int:从-2^31(-2,147,483,648)到2^31-1(2,147,483,647)的整型数据。 

  smallint:从-2^15(-32,768)到2^15-1(32,767)的整数数据。 

  tinyint:从0到255的平头数据。 

  bit:1或0的板寸数据。   

  (4)decimal和numeric 

  这两种数据类型是一模一样的。都有三个参数:p(精度)和s(小数位数)。p内定小数点左侧和侧面能够积存的十进制数字的最大个数,p必需是从 1到38之间的值。s钦点小数点左边能够积累的十进制数字的最大个数,s必须是从0到p之间的值,私下认可小数位数是0。   

  (5)float和real 

  float:从-1.79^308到1.79^308期间的浮点数字数据。 

  real:从-3.40^38到3.40^38里头的浮点数字数据。在SQL Server中,real的同义词为float(24)。

1、varchar(n) 长度为 n 个字节的可变长度且非 Unicode 的字符数据。n
必得是三个在意 1 和 8,000
之间的数值。存款和储蓄大小为输入数据的字节的实际尺寸,并不是 n 个字节。
2、nvarchar(n) 包括 n 个字符的可变长度 Unicode 字符数量。n
的值必得介于 1 与 4,000 之间。字节的囤积大小是所输入字符个数的两倍。
举例:两字段分别有字段值:笔者和coffee
,那么varchar字段占2×2+6=12个字节的蕴藏空间,而nvarchar字段占8×2=13个字节的储存空间。
如字段值只是塞尔维亚(Република Србија)语可挑选varchar,而字段值存在相当多的双字节(汉语、丹麦语等)字符时用nvarchar

char,nchar:定长,速度快,占空间大,需管理

在 Microsoft® SQL Server™
中,每种列、局地变量、表明式和参数都有三个相关的数据类型,那是点名对象可具有的数据类型(整型、字符、money
等等)的天性。SQL Server 提供系统数据类型集,定义了可与 SQL Server
一齐行使的全数数据类型。下边列出类别提供的数据类型集。

       Decimal为SQL Server
数据类型,属于浮点数类型。存款和储蓄数据范围是:-1038~1038-1
的固定精度和小数位的数字。四个decimal类型的多寡占用了2~17个字节。

于是日常的话,假诺含有粤语字符,用nchar/nvarchar,要是纯罗马尼亚语和数字,用char/varchar。

money 和 smallmoney

money

通货数据值介于 -2^63 (-922,337,203,685,477.5808) 与 2^63 – 1
(+922,337,203,685,477.5807) 之间,精确到货币单位的千分之十。

smallmoney

通货数据值介于 -214,748.3648 与 +214,748.3647
之间,正确到货币单位的千分之十。

其次个提议:

char,varchar:最多8000个英文,4000个汉字

就疑似数字

float

从 -1.79E + 308 到 1.79E + 308 的浮点精度数字。

real

从 -3.40E + 38 到 3.40E + 38 的浮点精度数字。

                                     char          varchar          
text         nchar          nvarchar          ntext

相关文章