SQL数据库字段类型详解

SQL数据库字段类型详解
SQL数据库字段类型详解

本文由liuhaiji贡献

doc1。

SQL 数据库字段类型详解

数据类型 类型 描 述

bit 数据类型是整型,其值只能是 0、1 或空值。 bit 整型 这种数据类型用于存储只有两种可能值的数据, 如 Yes 或 No、True 或 Fa lse 、On 或 Off int 数据类型可以存储从- 231(-2147483648)到 231 int 整型 (2147483 647)之间的整数。 存储到数据库的几乎所 有数值型的数据都可以用这种数据类型。这种数 据类型在数据库里占用 4 个字节 smallint 数据类型可以存储从- 215(-32768)到 smallint 整型 215(32767)之间的整数。这种数据类型对存储一些 常限定在特定范围内的数值型数据非常有用。这 种数据类型在数据库里占用 2 字节空间 tinyint 数据类型能存储从 0 到 255 之间的整数。 tinyint 整型 它在你只打算存储有限数目的数值时很有用。 这 种数据类型在数据库中占用 1 个字节 numeric 精确数值型 numeric 数据类型与 decimal 型相同 decimal 数据类型能用来存储从-1038-1 到 1038-1 的 固定精度和范围的数值型数据。使用这种数据类 decimal 精确数值型 型时,必须指定范围和精度。 范围是小数点左右 所能存储的数字的总位数。精度是小数点右边存 储的数字的位数 money 数据类型用来表示钱和货币值。这种数据 money 货币型 类型能存储从-9220 亿到 9220 亿之间的数据,精 确到货币单位的万分之一 smallmoney 数据类型用来表示钱和货币值。这种 smallmoney 货币型 数据类型能存储从-214748.3648 到 214748.3647 之间的数据,精确到货币单位的万分之一 float 数据类型是一种近似数值类型,供浮点数使 float 近似数值型 用。说浮点数是近似的,是因为在其范围内不是 所有的数都能精确表示。浮点数可以是从 -1.79E+308 到 1.79E+308 之间的任意数 real 数据类型像浮点数一样,是近似数值类型。 real 近似数值型 它可以表示数值在-3.40E+38 到 3.40E+38 之间的 浮点数 datetime 数据类型用来表示日期和时间。 这种数据 datetime 日期时间型 类型存储从 1753 年 1 月 1 日到 9999 年 12 月 3 1 日间所有的日期和时间数据, 精确到三百分之一 秒或 3.33 毫秒

smalldatetime 数据类型用来表示从 1900 年 1 月 1 Smalldatetime 日期时间型 日到 2079 年 6 月 6 日间的日期和时间,精确到一 分钟 cursor 数据类型是一种特殊的数据类型,它包含 cursor 特殊数据型 一个对游标的引用。这种数据类型用在存储过程 中,而且创建表时不能用 timestamp 数据类型是一种特殊的数据类型,用来 创建一个数据库范围内的唯一数码。 一个表中只 timestamp 特殊数据型 能有一个 timestamp 列。每次插入或修改一行时, timestamp 列的值都会改变。尽管它的名字中有 “time”, 但 timestamp 列不是人们可识别的日期。 在一个数据库里,timestamp 值是唯一的 Uniqueidentifier 数据类型用来存储一个全局唯一 标识符,即 GUID。GUID 确实是全局唯一的。这 Uniqueidentifier 特殊数据型 个数几乎没有机会在另一个系统中被重建。可以 使用 NEWID 函数或转换一个字符串为唯一标识 符来初始化具有唯一标识符的列 char 数据类型用来存储指定长度的定长非统一编 码型的数据。当定义一列为此类型时,你必须指 char 字符型 定列长。当你总能知道要存储的数据的长度时, 此数据类型很有用。例如,当你按邮政编码加 4 个字符格式来存储数据时,你知道总要用到 10 个 字符。此数据类型的列宽最大为 8000 个字符 varchar 数据类型,同 char 类型一样,用来存储非 统一编码型字符数据。与 char 型不一样,此数据 varchar 字符型 类型为变长。当定义一列为该数据类型时,你要 指定该列的最大长度。 它与 char 数据类型最大的 区别是,存储的长度不是列长,而是数据的长度 text 数据类型用来存储大量的非统一编码型字符 text 字符型 数据。这种数据类型最多可以有 231-1 或 20 亿个 字符 nchar 数据类型用来存储定长统一编码字符型数 据。统一编码用双字节结构来存储每个字符,而 nchar 统一编码字符型 不是用单字节(普通文本中的情况)。它允许大量的 扩展字符。此数据类型能存储 4000 种字符,使用 的字节空间上增加了一倍 nvarchar 数据类型用作变长的统一编码字符型数 nvarchar 统一编码字符型 据。此数据类型能存储 4000 种字符,使用的字节 空间增加了一倍 ntext 统一编码字符型 ntext 数据类型用来存储大量的统一编码字符型 数据。这种数据类型能存储 230 -1 或将近 10 亿个

字符,且使用的字节空间增加了一倍 binary 数据类型用来存储可达 8000 字节

长的定长 binary 二进制数据类型 的二进制数据。当输入表的内容接近相同的长度 时,你应该使用这种数据类型 varbinary 数据类型用来存储可达 8000 字节长的 varbinary 二进制数据类型 变长的二进制数据。当输入表的内容大小可变时, 你应该使用这种数据类型 image 二进制数据类型 image 数据类型用来存储变长的二进制数据, 最大 可达 231-1 或大约 20 亿字节

Mysql支持的数据类型(总结)

一.数值类型 Mysql支持所有标准SQL中的数值类型,其中包括严格数据类型 (INTEGER,SMALLINT,DECIMAL,NUMBERIC),以及近似数值数据类型(FLOAT,REAL,DOUBLE PRESISION),并在此基础上进行扩展。 扩展后增加了TINYINT,MEDIUMINT,BIGINT这3种长度不同的整形,并增加了BIT类型,用来存放位数据。 整数类型字节范围(有符号)范围(无符 号)用途 TINYINT 1字节(-128,127) (0, 255) 小整数值 SMALLINT 2字节 (-32 768,32 767) (0,65 535) 大整数值 MEDIUMINT 3字节(-8 388 608,8 388 607) (0,16 777 215) 大整数值 INT或INTEGER 4字节 (-2 147 483 648,2 147 483 647) (0,4 294 967 295) 大整数值 BIGINT 8字节 (-9 233 372 036 854 775 808,9 223 372 036 854 775 807) (0,18 446 744 073 709 551 615) 极大整数值 FLOAT 4字节 (-3.402 823 466 E+38,1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38) 0,(1.175 494 351 E-38,3.402 823 466 E+38) 单精度浮点数值 DOUBLE 8字节 (1.797 693 134 862 315 7 E+308,2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) 0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) 双精度浮点数值DECIMAL 对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2 依赖于M和D的值依赖于M和D的值小数值 INT 类型: 在 MySQL 中支持的 5 个主要整数类型是 TINYINT,SMALLINT,MEDIUMINT,INT 和BIGINT。这些类型在很大程度上是相同的,只有它们存储的值的大小是不相同的。MySQL 以一个可选的显示宽度指示器的形式对 SQL 标准进行扩展,这样当从数据库检索一个值时,可以把这个值加长到指定的长度。例如,指定一个字段的类型为 INT(6),

数据库表及字段命名、设计规范

数据库表及字段命名、设计规范1、命名规范 1.1数据表的命名规范: 1)表的前缀应该用系统或模块的英文名的缩写(全部大写或首字母大写)。如果系统功能简单,没有划分为模块,则可以以系统英文名称的缩写作为前缀,否则以各模块的英文名称缩写作为前缀。例如:如果有一个模块叫做BBS(缩写为BBS),那么你的数据库中的所有对象的名称都要加上这个前缀:BBS_ + 数据库对象名称,BBS_CustomerInfo标示论坛模块中的客户信息表。 2)表的名称必须易于理解,使用能表达表功能的英文单词或缩写英文单词,无论是完整英文单词还是缩写英文单词,单词首字母必须大写。如果当前表可用一个英文单词表示的,请用完整的英文单词来表示;例如:系统资料中的客户表的表名可命名为:SYS_Customer。如果当前表需用两个或两个以上的单词来表示时,尽量以完整形式书写,如太长可采用两个英文单词的缩写形式;例如:系统资料中的客户物料表可命名为:SYS_CustItem。 3)表的名称一般使用名词或者动宾短语 4)表名称不应该取得太长(一般不超过三个英文单词)。 5)在命名表时,用单数形式表示名称。例如,使用Employee,而不是Employees。 6)对于有主明细的表来说。明细表的名称为:主表的名称+ 字符Dts。例如:采购定单的名称为:PO_Order,则采购定单的明细表为:PO_OrderDts 对于有主明细的表来说,明细表必须包含两个字段:主表关键字、SN,SN字段的类型为int 型,目的为与主表关键字联合组成明细表的关键字,以及标示明细记录的先后顺序,如1,2,3……。 7)表必须填写描述信息

mysql数据类型属性总结(方便大家建数据库设定类型参考)

MySQL数据类型和常用字段属性总结●日期和时间数据类型 ●数值数据类型 整型

上面定义的都是有符号的,当然了,也可以加上unsigned关键字,定义成无符号的类型,那么对应的取值范围就要翻翻了,比如: tinyint unsigned的取值范围为0~255。 ●浮点型 我在MySQL中建立了一个表,有一列为float(5, 3);做了以下试验: 1.插入123.45678,最后查询得到的结果为99.999; 2.插入12 3.456,最后查询结果为99.999; 3.插入12.34567,最后查询结果为12.346; 所以,在使用浮点型的时候,还是要注意陷阱的,要以插入数据库中的实际结果为准。 ●字符串数据类型

1.char(n)和varchar(n)中括号中n代表字符的个数,并不代表字节个数,所以当使用了中文的时候(UTF8)意味着可以插入m个中文,但是实际会占用m*3个字节。 2.同时char和varchar最大的区别就在于char不管实际value都会占用n个字符的空间,而varchar只会占用实际字符应该占用的空间+1,并且实际空间+1<=n。 3.超过char和varchar的n设置后,字符串会被截断。 4.char的上限为255字节,varchar的上限65535字节,text的上限为65535。 5.char在存储的时候会截断尾部的空格,varchar和text不会。 6.varchar会使用1-3个字节来存储长度,text不会。 1.enum(“member1″, “member2″, … “member65535″) enum数据类型就是定义了一种枚举,最多包含65535个不同的成员。当定义了一个enum的列时,该列的值限制为列定义中声明的值。如果列声明包含NULL属性,则NULL将被认为是一个有效值,并且是默认值。如果声明了NOT NULL,则列表的第一个成员是默认值。

数据库数据类型

MySQL 数据类型在MySQL 中,有三种主要的类型:文本、数字和日期/时间类型。 Text类型 数据类型描述 CHAR(size) 保存固定长度的字符串(可包含字母、数字以及特殊字符)。在括号中指定字符串的长度。最多255 个字符。 VARCHAR(size) 保存可变长度的字符串(可包含字母、数字以及特殊字符)。在括号中指定字符串的最大长度。最多255 个字符。注释:如果值的长度大于255,则被转换为TEXT 类型。 TINYTEXT 存放最大长度为255 个字符的字符串。 TEXT 存放最大长度为65,535 个字符的字符串。 BLOB 用于BLOBs (Binary Large OBjects)。存放最多65,535 字节的数据。MEDIUMTEXT 存放最大长度为16,777,215 个字符的字符串。 MEDIUMBLOB 用于BLOBs (Binary Large OBjects)。存放最多16,777,215 字节的数据。LONGTEXT 存放最大长度为4,294,967,295 个字符的字符串。 LONGBLOB 用于BLOBs (Binary Large OBjects)。存放最多4,294,967,295 字节的数据。 ENUM(x,y,z,etc.) 允许你输入可能值的列表。可以在ENUM 列表中列出最大65535 个值。如果列表中不存在插入的值,则插入空值。 注释:这些值是按照你输入的顺序存储的。可以按照此格式输入可能的值:ENUM('X','Y','Z') SET 与ENUM 类似,SET 最多只能包含64 个列表项,不过SET 可存储一个以上的值。 Number类型: 数据类型描述 TINYINT(size) -128 到127 常规。0 到255 无符号*。在括号中规定最大位数。 SMALLINT(size) -32768 到32767 常规。0 到65535 无符号*。在括号中规定最大位数。 MEDIUMINT(size) -8388608 到8388607 普通。0 to 16777215 无符号*。在括号中规定最大位数。 INT(size) -2147483648 到2147483647 常规。0 到4294967295 无符号*。在括号中规定最大位数。 BIGINT(size) -9223372036854775808 到9223372036854775807 常规。0 到18446744073709551615 无符号*。在括号中规定最大位数。 FLOAT(size,d) 带有浮动小数点的小数字。在括号中规定最大位数。在d 参数中规定小数点右侧的最大位数。DOUBLE(size,d) 带有浮动小数点的大数字。在括号中规定最大位数。在d 参数中规定小数点右侧的最大位数。DECIMAL(size,d) 作为字符串存储的DOUBLE 类型,允许固定的小数点。 这些整数类型拥有额外的选项UNSIGNED。通常,整数可以是负数或正数。如果添加UNSIGNED 属性,那么范围将从0 开始,而不是某个负数。

批量修改数据库表字段类型

实际使用例子: /*--将所需表的某特定数值类型批量转换为其他类型--*/ /*--调用示例:E1T04_1996 char(10)-转换为nvarchar(100) --*/ set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go CREATE procedure [dbo].[p_set] as declare tb cursor for SELECT sql='alter table ['+https://www.360docs.net/doc/9d8884320.html,+'] alter column ['+https://www.360docs.net/doc/9d8884320.html,+'] nvarchar' +' (100)' FROM syscolumns a left join systypes b on a.xtype=b.xusertype inner join sysobjects d on a.id=d.id and d.xtype='U' and https://www.360docs.net/doc/9d8884320.html,='E1T04_1996' where https://www.360docs.net/doc/9d8884320.html, ='char' AND a.length='10' declare @sql varchar(1000) open tb fetch next from tb into @sql while @@fetch_status = 0 begin exec(@sql) fetch next from tb INTO @sql end close tb deallocate tb -- --DECLARE @sql VARCHAR(1000) --select @sql='alter table ['+https://www.360docs.net/doc/9d8884320.html,+'] alter column ['+https://www.360docs.net/doc/9d8884320.html,+'] nvarchar' -- +'(100)' FROM syscolumns a -- left join systypes b on a.xtype=b.xusertype -- inner join sysobjects d on a.id=d.id and d.xtype='U' and https://www.360docs.net/doc/9d8884320.html,='E1T04_1996' where https://www.360docs.net/doc/9d8884320.html, ='char' AND a.length='10' -- -- PRINT @sql --------------------------------------------------------------------------------------

mysql字段类型

1. mysql的数据类型 在mysql中有如下几种数据类型: (1)数值型 数值是诸如32 或153.4 这样的值。mysql 支持科学表示法,科学表示法由整数或浮点数后跟“e”或“e”、一个符号(“+”或“-”)和一个整数指数来表示。1.24e+12 和23.47e-1 都是合法的科学表示法表示的数。而 1.24e12 不是合法的,因为指数前的符号未给出。 浮点数由整数部分、一个小数点和小数部分组成。整数部分和小数部分可以分别为空,但不能同时为空。 数值前可放一个负号“-”以表示负值。 (2)字符(串)型 字符型(也叫字符串型,简称串)是诸如“hello,world!”或“一个馒头引起的血案”这样的值,或者是电话号码这样的值。既可用单引号也可用双引号将串值括起来。 初学者往往分不清数值和字符串的区别。都是数字啊,怎么一个要用数值型,一个要用字符型呢?关键就在于:数值型的是要参与计算的,比如它是金融中的一个货款总额;而字符型的是不参与计算的,只是表示电话号码,这样的还有街道号码、门牌号码等等,它们都不参与计算。 (3)日期和时间型 日期和时间是一些诸如“2006-07-12”或“12:30:43”这样的值。mysql还支持日期/时间的组合,如“2006-07-12 12:30:43”。 (4)null值 null表示未知值。比如填写表格中通讯地址不清楚留空不填写,这就是null 值。 我们用create table语句创建一个表(参看前面的章节),这个表中包含列的定义。例如我们在前面创建了一个joke表,这个表中有content和writer 两个列: create table (

MySQL常用数据类型和建库策略

1. MYSQL 5数据类型,长度范围 1.1数值类型 MySQL支持所有标准SQL数值数据类型.这些类型包括严格数值数据类型(INTEGER,SMALLINT,DECIMAL和NUMERIC),以及近似数值数据类型 (FLOAT,REAL 和DOUBLE PRECISION).关键字INT是INTEGER的同义词,关键字DEC是DECIMAL 的同义词. BIT 数据类型保存位字段值,并且支持MyISAM,MEMORY,InnoDB和BDB表.作为SQL标准的扩展,MySQL也支持整数类型 TINYINT,MEDIUMINT和BIGINT.下面的表显示了需要的每个整数类型的存储和范围. MySQL还支持选择在该类型关键字后面的括号内指定整数值的显示宽度(例 如,INT(4)).该可选显示宽度规定用于显示宽度小于指定的列宽度的值时从左侧填满宽度. 显示宽度并不限制可以在列内保存的值的范围,也不限制超过列的指定宽度的值的显示. 当结合可选扩展属性ZEROFILL使用时, 默认补充的空格用零代替.例如,对于声明为INT(5) ZEROFILL的列,值4检索为00004.请注意如果在整数列保存超过显示宽度的一个值,当MySQL为复杂联接生成临时表时会遇到问题,因为在这些情况下MySQL相信数据适合原列宽度. 所有整数类型可以有一个可选(非标准)属性UNSIGNED.当你想要在列内只允许 非负数和该列需要较大的上限数值范围时可以使用无符号值. 浮点和定点类型也可以为UNSIGNED.同数类型,该属性防止负值保存到列中.然而,与整数类型不同的是,列值的上范围保持不变. 如果为一个数值列指定ZEROFILL,MySQL自动为该列添加UNSIGNED属性. 对于浮点列类型,在MySQL中单精度值使用4个字节,双精度值使用8个字节. FLOAT类型用于表示近似数值数据类型.SQL标准允许在关键字FLOAT后面的括号内选择用位指定精度(但不能为指数范围).MySQL还支持可选的只用于确定存储大小的精度规定.0到23的精度对应FLOAT 列的4字节单精度.24到53的精度对应DOUBLE列的8字节双精度. MySQL允许使用非标准语法:FLOAT(M,D)或 REAL(M,D)或DOUBLE PRECISION(M,D).这里,"(M,D)"表示该值一共显示M位整数,其中D位位于小数点后面.例如,定义为FLOAT(7,4)的一个列可以显示为-999.9999.MySQL保存值时进行四舍五入,因此如果在FLOAT(7,4)列内插入999.00009,近似结果是999.0001.

SQL语句修改字段类型长度

sql语句修改字段属性 如果数据量非常大,达到几百万条记录以上,使用企业管理器来更改字段类型,很多时候会超时,更改不成功,这时可以使用sql语句来更改,如下: a、更改字段类型长度 alter table 表 alter column 字段名类型的长度--varchar(60) 例:把城市表的城市名字段有原来的长度20改为30 alter table testcity alter column cityname varchar(30) b、更改字段类型 alter table 表 alter column 字段名更改后的类型 例:把城市表的城市名字段有原来的varchar类型改为int类型 alter table testcity alter column cityname int 如果sno字段原来不为空: alter table student alter column sno varchar(10) not null 如果sno字段原来为空: alter table student alter column sno varchar(10) 因为不管以前的字段是否允许为空,执行 alter table student alter column sno varchar(10) 后该字段都会变为允许为空。还有就是执行这类修改操作时最好是空表,如果有数据,可能会失败。因为有些数据类型之间可能不能隐式的转换或者根本就不能转化,比如“abc”要转换成int型。所以,一切还要自己注意控制。 c、添加not null约束 alter table 表 alter column 字段名 int not null 例:把cid不能输入空值 alter table testcity alter column cid int not null d、设置主键 alter table 表 add constraint 主键名 primary key(字段名) 例:把cid设为主键 alter table testcity add constraint pk_cid primary key(cid) e、更改字段名 exec sp_rename 表名.字段名,更改后的字段名,column f、添加字段名 alter table 表 add 字段名字段类型 default null篇二:用sql语句添加删除修改字段 1.增加字段 alter table docdsp add dspcode char(200) 2.删除字段 alter table table_name drop column column_name 3.修改字段类型 alter table table_name alter column column_name new_data_type 4.sp_rename 改名 exec sp_rename [dbo].[table_1].[filedname1], filedname2, column 更改当前数据

MySQL 数据类型 (列表)

MySQL数据类型(列表) 数据类型描述字节推荐使用 SMALLINT整数,从-32000到+32000范围2存储相对比较小的整数。 比如:年纪,数量 INT整数,从-2000000000到 +2000000000范围4存储中等整数 例如:距离 BIGINT不能用SMALLINT或INT描述的 超大整数。8存储超大的整数 例如:科学/数学数据 FLOAT单精度浮点型数据4存储小数数据 例如:测量,温度 DOUBLE双精度浮点型数据8需要双精度存储的小数数据 例如:科学数据 DECIMAL用户自定义精度的浮点型数据变量;取决于精度与长度以特别高的精度存储小数数据。 例如:货币数额,科学数据 CHAR固定长度的字符串特定字符串长度(高达255字符)存储通常包含预定义字符串的变量 例如:定期航线,国家或邮编 VARCHAR具有最大限制的可变长度的字符 串变量;1+实际字符串长度(高 达255字符) 存储不同长度的字符串值(高达一个特定的 最大限度). 例如:名字,密码,短文标签 TEXT没有最大长度限制的可变长度的 字符串Variable;2+聽actual string length 存储大型文本数据 例如:新闻故事,产品描述 BLOB二进制字符串变量;2+实际字符串长度存储二进制数据 例如:图片,附件,二进制文档 DATE以yyyy-mm-dd格式的日期3存储日期 例如:生日,产品满期 TIME以hh:mm:ss格式的时间3存储时间或时间间隔 例如:报警声,两时间之间的间隔,任务开 始/结束时间 DATETIME以yyyy-mm-ddhh:mm:ss格式结合 日期和时间8存储包含日期和时间的数据 例如:提醒的人,事件 TIMESTAMP以yyyy-mm-ddhh:mm:ss格式结合 日期和时间4记录即时时间 例如:事件提醒器,“最后进入”的时间标 记 YEAR以yyyy格式的年份1存储年份 例如:毕业年,出生年 ENUM一组数据,用户可从中选择其中 一个1或2个字节存储字符属性,只能从中选择之一 例如:布尔量选择,如性别 SET一组数据,用户可从中选择其中 0,1或更多。从1到8字节;取决于设置的大小存储字符属性,可从中选择多个字符的联 合。 例如:多选项选择,比如业余爱好和兴趣。

SQL数据库字段类型说明

SQL数据库字段类型说明

1)char、varchar、text和nchar、nvarchar、ntext char和varchar的长度都在1到8000之间,它们的区别在于char是定长字符数据,而varchar是变长字符数据。所谓定长就是长度固定的,当输入的数据长度没有达到指定的长度时将自动以英文空格在其后面填充,使长度达到相应的长度;而变长字符数据则不会以空格填充。text存储可变长度的非Unicode数据,最大长度为2^31-1(2,147,483,647)个字符。 后面三种数据类型和前面的相比,从名称上看只是多了个字母n,它表示存储的是Unicode数据类型的字符。写过程序的朋友对Unicode应该很了解。字符中,英文字符只需要一个字节存储就足够了,但汉字众多,需要两个字节存储,英文与汉字同时存在时容易造成混乱,Unicode字符集就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示。nchar、nvarchar的长度是在1到4000之间。和char、varchar比较:nchar、nvarchar则最多存储4000个字符,不论是英文还是汉字;而char、varchar 最多能存储8000个英文,4000个汉字。可以看出使用nchar、nvarchar数据类型时不用担心输入的字符是英文还是汉字,较为方便,但在存储英文时数量上有些损失。 (2)datetime和smalldatetime datetime:从1753年1月1日到9999年12月31日的日期和时间数据,精确到百分之三秒。 smalldatetime:从1900年1月1日到2079年6月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)。

Mysql数据库学习总结

Mysql数据库学习总结 数据库的基本操作:创建删除查瞧 Create database school; 用于创建数据库,并且数据库的名字不可以更改 Show create database; show databases; 用来查瞧创建数据库的语句 Drop database; 用于删除数据库 表的基本操作: Create table; 用于创建表,table后面加表名称 Create table student{ Id int; Name varchar(10); Sex Boolean; } Show tables; 用于显示数据库中的所有表 Describe student; 这里显示了字段、数据类型、就是否为空、主外键、默认值与额外信息Show create table; 显示创建表时的详细信息 Drop table student; 删除表的操作 完整性约束

就是对字段进行限制,从而该字段达到我们期望的效果 设置表的主键:主键能够标识表中的每条信息的唯一性。(primary key) 创建主键的目的在于快速查找到表中的某一条信息 多字段主键:由多个属性组合而成 例如:primary key(id,course_id); 设置表的外键; 设置表的外键的作用在于建立与父表的联系 比如表A中的id就是外键,表B中的id就是主键 那么就可以称表B为父表,表A为子表 比如表B中id为123的学生删除后,表A中id为123的记录也随着消失这样做的目的在于保证表的完整性。 设置表的非空约束: 设置表中的字段不为空 设置表的唯一性约束 唯一性约束指表中该字段的值不能重复出现,也就就是给表中某个字段加上unique 设置表的属性值自动增加: auto_increment 主要用于为表中插入的新纪录自动生成唯一ID 一个表中只能由一个字段使用此约束,并且该字段必须为主键的一部分,约束的值ibixu 就是整型值。 设置表中属性的默认值 在表中插入一体哦新的记录时,如果没有为该字段赋值,那么数据库系统就会为该字段附上一条默认值。 修改表 修改表需要用到alter table 修改表名:

SQL修改数据库表的列属性

SQL修改数据库表的列属性(ALTER语句) 我们可以用客户端的语句改写,psql比如把数据库表journal里的keyword,ekeyword属性改为character(350),原来为character(200),那么我们可以这样操作: psql postgres -c "ALTER TABLE journal ALTER keyword TYPE character(350)" psql postgres -c "ALTER TABLE journal ALTER ekeyword TYPE character(350)" 好了,修改结束。 附ALTER语句的文档。 ---------------------- ALTER TABLE [ ONLY ]name[ * ] action[, ... ] ALTER TABLE [ ONLY ]name[ * ] RENAME [ COLUMN ]column TO new_column ALTER TABLE name RENAME TO new_name ALTER TABLE name SET SCHEMA new_schema 这里action是下列之一: ADD [ COLUMN ]columntype[column_constraint[ ... ] ] DROP [ COLUMN ]column[ RESTRICT | CASCADE ] ALTER [ COLUMN ]column TYPE type[ USING expression] ALTER [ COLUMN ]column SET DEFAULT expression ALTER [ COLUMN ]column DROP DEFAULT ALTER [ COLUMN ]column{ SET | DROP } NOT NULL ALTER [ COLUMN ]column SET STATISTICS integer ALTER [ COLUMN ]column SET STORAGE { PLAIN | EXTERNAL | EXTENDED | MAIN } ADD table_constraint DROP CONSTRAINT constraint_name[ RESTRICT | CASCADE ] DISABLE TRIGGER [trigger_name| ALL | USER ] ENABLE TRIGGER [trigger_name| ALL | USER ] CLUSTER ON index_name SET WITHOUT CLUSTER SET WITHOUT OIDS OWNER TO new_owner SET TABLESPACE new_tablespace描述 ALTER TABLE变更一个现存表的定义。它有好几种子形式: ADD COLUMN 这种形式用和CREATE TABLE里一样的语法向表中增加一个新的字段。 DROP COLUMN 这种形式从表中删除一个字段。请注意,和这个字段相关的索引和表约束也会被自动删除。如果任何表之外的对象依赖于这个字段,你必须说CASCADE,比如,外键参考,视图等等。 ALTER COLUMN TYPE

有用的字段类型和数据类型

有用的字段类型和数据类型 在vfp中,共有13种字段类型和7种数据类型.13种字段类型是:字符型,数值型,浮点型,双精度型,整型,货币型,日期型,日期时间型,逻辑型,备注型,通用型,二进制字符型和二进制备注型;而7种数据类型是:字符型,数值型,货币型,日期型,日期时间型,逻辑型和通用型.字段为表文件所特有,而数据既可做表文件中的字段内容,也可以做内存变量或常量使用. 1.字符型字段和字符型数据: 字符型字段用于存放字符型数据.字符型数据是指一切可印刷的字符,包括英文字母,阿拉伯数字,各种符号,汉字及空格. 上述"职工档案"表中的"编号"和"姓名"字段就属于字符型字段,而其中存储的编号和姓名就属于字符型数据.字符型字段的宽度为1~字节. 2.数值型,浮点型,双精度型,整型字段与数值型数据: 数值型字段按每位数1个字节存放数值型数据,而浮点型字段存放浮点型数据.这两者最大宽度为20位.整型字段存放整数,用该类型字段存放较大的整数可节省存储容量,因为它只占4个字节.双精度型字段用于存放双精度型数,常用于科学计算,可得15位精度,但只占8个字节.这些字段中存放在数据统称为数值型数据. 3.货币型字段和货币型数据:货币型字段用于存放货币型数据,但只占8个字节. 4.日期型字段和日期型数据:日期型字段用于存放日期型数据.常用格式为:"年.月.日"和"月/日/年".在"职工档案"表中,"出生日期"字段就是日期型字段,而其中存放的数据就是日期型数据. 5.日期时间型字段和日期时间型数据:日期时间型字段存放日期时间型数据,格式为:年.月.日小时:分:秒Am或pm. 6.逻辑型字段和逻辑型数据:逻辑型字段用于存放逻辑型数据.逻辑型数据只有两个值,即"真"和"假",常用于描述只有两种状态的数据.例如:在"职工档案"表中,"婚否"字段就是逻辑型字段,用"真"表示已婚,"假"值表示未婚.在输入逻辑型数据时,可用T,t,Y,y中的任一个代表"真",而用F,f,N,n中的任一个代表"假". 7.备注型字段:备注型字段用于存放字符型,如文本、源代码等,使其得到了广泛应用.它常用于记录可有可无、可长可短的情况.例如,假如要在"职工档案"表中增加一个"简历"字段,定义成备注型最合适,因为有些人的简历可能长些,有些人的简历可能短些.此外,备注型字段还可用于提供运行时的帮助. 记录在备注型字段中的,实际上并不存放在表文件中,而是存放在与表文件同名,但扩展名为.fpt的文件中.当创建表文件时,假如定义了备注型字段,则相应的备注文件会自动生成,会随表文件的打开而自动打开.

数据库、表、字段的命名规则

数据库、表、字段的命名规则 每个公司或者企业数据库、表、字段等都有自己命名规则,数据库开发时数据库、表、字段、视图、触发器、存储过程、变量名、主键、外键、索引等的命名规则。 一、数据库(Database) 数据库名称 = 数据库内容标识(首字大写)。 二、表(Table) 命名应尽量反映存储的数据内容。 表名前缀:以该表及与该表相关联的一系列表的内容而得到一个代表统一的标识。 表名称 = T +‘_’+ 表名前缀+‘_’+ 表内容标识(首字大写) 。 如客户端信息ClientInfo相关联的一系的表以ci作为前缀,Record记录表即有表名:T_ci_Record。 数据库中不论是表名还是字段名,都一律用英文,不准出现其它语言;且保留原来的字段名,保留它们的规范。 为了不增加数据库当中的表名的长度,一般不允许出现如Form或者Table的字样,如:记录表:应为Record,而不是RecordTable。 数据库当中的表名的命名,一般不准出现空格,假如有几个单词出现的话,每个单词之间不允许留有空格,用”_”隔开如人事信息表:应为Human_Info,而不是Human Info;每个单词的第一个字母必须大写;如果太长,为了不增加编程的难度可采用缩写的方式,每个单词可取三到四个字母表示,也可根据实际情况,实际习惯进行缩写。 三、字段(Field) 字段是数据库中的用途最广泛的,它的类型非常多,所以必须加类型前缀来标示它的类型。 字段名称 = F + 字段类型前缀 + 字段内容标识(首字大写) 。 为了编程的方便性,可在前面加上字段类型的前缀,一般取用类型的三个字母,但是不需要下化线,而且这三个字母必须小写;如姓名字段为字符型的话就应该为chrName;尝用字段类型的缩写可参考下面的形式: 缩写- 类型 chr- char nvr- nvarchar vcr -varchar num -number flt -float dtm -date lng -long clb- clob blb- blob 四、视图名(View) 视图的名称 = "v_" + 视图内容标识(首字大写) 如 v_Record。 五、触发器名(Triger)

用sql语句添加删除修改字段

1.增加字段 alter table docdsp add dspcode char(200) 2.删除字段 ALTER TABLE table_NAME DROP COLUMN column_NAME 3.修改字段类型 ALTER TABLE table_name ALTER COLUMN column_name new_data_type 4.sp_rename 改名 EXEC sp_rename '[dbo].[Table_1].[filedName1]', 'filedName2', 'COLUMN' 更改当前数据库中用户创建对象(如表、列或用户定义数据类型)的名称。 语法 sp_rename [ @objname = ] 'object_name' ,[ @newname = ] 'new_name',分类信息; [ , [ @objtype =] 'object_type' ] 如:EXEC sp_rename 'newname','PartStock' 5.sp_help 显示表的一些基本情况 sp_help 'object_name' 如:EXEC sp_help 'PartStock' 6.判断某一表PartStock中字段PartVelocity是否存在 if exists (select * from syscolumns where id=object_id('PartStock') and name='PartVelocity') print 'PartVelocity exists' else print 'PartVelocity not exists' 另法: 判断表的存在性: select count(*) from sysobjects where type='U' and name='你的表名' 判断字段的存在性: select count(*) from syscolumns where id = (select id from sysobjects where type='U' and name='你的表名') and name = '你要判断的字段名' 一个小例子 --假设要处理的表名为: tb --判断要添加列的表中是否有主键 if exists(select 1 from sysobjects where parent_obj=object_id('tb') and xtype='PK')

MySQL数据类型

int 允许从-2,147,483,648 到2,147,483,647 的所有数字。 4 字节bigint 允许介于-9,223,372,036,854,775,808 和9,223,372,036,854,775,807 之间的所有数字。8 字节decimal(p,s) 固定精度和比例的数字。允许从-10^38 +1 到10^38 -1 之间的数字。 p 参数指示可以存储的最大位数(小数点左侧和右侧)。p 必须是1 到38 之间的值。默认是18。 s 参数指示小数点右侧存储的最大位数。s 必须是0 到p 之间的值。默认是0。 5-17 字节 numeric(p,s) 固定精度和比例的数字。允许从-10^38 +1 到10^38 -1 之间的数字。 p 参数指示可以存储的最大位数(小数点左侧和右侧)。p 必须是1 到38 之间的值。默认是18。 s 参数指示小数点右侧存储的最大位数。s 必须是0 到p 之间的值。默认是0。 5-17 字节 smallmoney 介于-214,748.3648 和214,748.3647 之间的货币数据。 4 字节money 介于-922,337,203,685,477.5808 和922,337,203,685,477.5807 之间的货币数据。8 字节 float(n) 从-1.79E + 308 到 1.79E + 308 的浮动精度数字数据。参数n 指示该字段保存 4 字节还是8 字节。 float(24) 保存4 字节,而float(53) 保存8 字节。n 的默认值是53。4 或8 字节 real 从-3.40E + 38 到3.40E + 38 的浮动精度数字数据。 4 字节

Northwind数据库表字段介绍

Northwind数据库表字段介绍 2010-06-03 10:30:08| 分类:SQL | 标签:|举报|字号大中小订阅 ①Categories:种类表 相应字段: CategoryID :类型ID; CategoryName:类型名; Description:类型说明; Picture:产品样本 ②CustomerCustomerDemo:客户类型表1 相应字段: CustomerID:客户ID; CustomerTypeID:客户类型ID ③CustomerDemographics:客户类型表2 相应字段: CustomerTypeID:客户类型ID; CustomerDesc:客户描述 ④Customers:客户表 相应字段: CustomerID:客户ID; CompanyName:所在公司名称; ContactName:客户姓名; ContactTitle:客户头衔; Address:联系地址; City:所在城市; Region:所在地区; PostalCode:邮编; Country:国家 Phone:电话; Fax:传真 ⑤Employees:员工表 相应字段: EmployeeID:员工代号; LastName + FirstName:员工姓名; Title:头衔; TitleOfCourtesy:尊称; BirthDate:出生日期; HireDate:雇用日期; Address:家庭地址; City:所在城市; Region:所在地区;

PostalCode:邮编; Country:国家用; HomePhone:宅电; Extension:分机; Photo:手机; notes:照片; ReportsTo:上级; PhotoPath:照片 ⑥EmployeeTerritories:员工部门表相应字段: EmployeeID:员工编号; TerritoryID:部门代号 ⑦Order Details:订单明细表 相应字段: OrderID:订单编号; ProductID:产品编号; UnitPrice:单价; Quantity:订购数量; Discount:折扣 ⑧Orders:订单表 相应字段: OrderID:订单编号; CustomerID:客户编号; EmployeeID:员工编号; OrderDate:订购日期;RequiredDate:预计到达日期; ShippedDate:发货日期; ShipVia:运货商; Freight:运费; ShipName:货主姓名; ShipAddress:货主地址 ShipCity:货主所在城市; ShipRegion:货主所在地区;ShipPostalCode:货主邮编; ShipCountry:货主所在国家 ⑨Products:产品表 相应字段: ProductID:产品ID; ProductName:产品名称; SupplierID:供应商ID; CategoryID:类型ID;QuantityPerUnit:数量;

Navicat与Mysql详解

Navicat与mysql详解 第一部分对Navicat的操作 1.连接 创建新连接 首先启动Navicat for MySQL,点击左上角的【连接】(如图): 点击之后便会出现如图所示的界面(如图): 连接名可以任意取,主机名或IP地址则填写你需要连接数据库的IP地址,如是本地,则填localhost,但推荐填写,这表示回送地址,指本地机,一般是用来测试的。端口默认为3306,用户名默认是root,而密码则是安装时自己填写的密码。 填写完后,可点击该界面左下角的测试连接,如显示连接成功则可操纵数据库,如失败,请仔细检查,或度娘。

2.数据库 创建新数据库 双击你创建的连接,你会发现有几个MySQL预先创建好的数据库,这个你可暂且不管。自己新建几个数据库。 右击你新建的连接,点击新建数据库。 数据库名自取,字符集一般选uft8,排序规则可自选。 3.表 创建新表 双击你创建的数据库,如图,我创建的数据库名叫test,双击之后会变出现一些选项。 右击表,新建表。 如图所示,每一行数据有六列,从左到右分别是:数据的名称(最好是英文),该数据的类型(可度娘MySQL的数据类型,可对应java的基本数据类型),该数据允许的长度,允许保留的小数点位数,允不允许可以为空值,最后一个是设置主键。 一个表最好有一个主键,同一个表里每一行数据的主键值各不相同,这样才能将同一表的数据区分开来,操纵数据也方便得多。 如图填写完之后,点击左上角的保存,此时会弹出一个窗口让你填写表名,表名写入之后返回Navicat主窗口,就会发现自己新建的数据库里多了一个表。 依次,我们新建四个表,并且使四个表之间相互联系。

相关文档
最新文档