sql管理数据表_第1页
sql管理数据表_第2页
sql管理数据表_第3页
sql管理数据表_第4页
sql管理数据表_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第 3 章管 理 数 据 表创建、修改和删除表创建、修改和删除表插入、修改和删除数据插入、修改和删除数据管理完整性约束管理完整性约束 使用使用 Transact-SQL 语句语句创建、创建、修改和删除表:修改和删除表: 使用使用create命令创建表非常灵活,它允许对表设置几种不同的选项,命令创建表非常灵活,它允许对表设置几种不同的选项,包括表名、存放位置和列的属性等。包括表名、存放位置和列的属性等。 其完整语法形式如下其完整语法形式如下:CREATE TABLE database_name.owner.|owner. table_name ( |column_name AS computed

2、_column_expression | ,n) ON filegroup | DEFAULT TEXTIMAGE_ON filegroup|DEFAULT := column_name data_type DEFAULT constant_expression |IDENTITY(seed,increment ) .n 其中,各参数的说明如下:其中,各参数的说明如下: database_name:用于指定所创建表的数据库名称。:用于指定所创建表的数据库名称。 owner:用于指定新建表的所有者的用户名。:用于指定新建表的所有者的用户名。 table_name:用于指定新建表的名称。:用于指定

3、新建表的名称。 column_name:用于指定新建表的列名。:用于指定新建表的列名。 computed_column_expression:用于指定计算列的列值表达式。:用于指定计算列的列值表达式。 ON filegroup | DEFAULT:用于指定存储表的文件组名。:用于指定存储表的文件组名。 TEXTIMAGE_ON:用于指定:用于指定 text、ntext 和和 image 列的数据存储的文件组。列的数据存储的文件组。 data_type:用于指定列的数据类型。:用于指定列的数据类型。 DEFAULT:用于指定列的默认值。:用于指定列的默认值。 constant_expressio

4、n:用于指定列的默认值的常量表达式、可以为一个常:用于指定列的默认值的常量表达式、可以为一个常量或量或NULL或系统函数。或系统函数。 IDENTITY:用于将列指定为标识列。:用于将列指定为标识列。Seed:用于指定标识列的初始值。:用于指定标识列的初始值。Increment:用于指定标识列的增量值。:用于指定标识列的增量值。 column_constraint 和和 table_constraint:用于指定列约束和表约束。:用于指定列约束和表约束。 举例:举例:- 分别创建分别创建 名为名为 student 的表的表- 创建列,并定义其数据类型和可空性创建列,并定义其数据类型和可空性cr

5、eate table student( sno char(10) not null primary key, sname char(10) not null, ssex char(2), sage int, sdept char (10); 举例:举例:- 分别创建分别创建 名为名为 course的表的表- 创建列,并定义其数据类型和可空性创建列,并定义其数据类型和可空性create table course( cno char(10) not null primary key, cname char(10) not null, ccredit int); 举例:举例:- 分别创建分别创建 名

6、为名为 score的表的表- 创建列,并定义其数据类型和可空性创建列,并定义其数据类型和可空性create table score( sno char(10) not null foreign key references student(sno), cno char(10) not null foreign key references course(cno), grade numeric(9), primary key (sno,cno);系统提供的数据类型:系统提供的数据类型:种类种类数据类型数据类型 数字数字整数整数int, bigint, smallint, tinyint精确数值精

7、确数值decimal, numeric近似数值近似数值float, real货币货币money, smallmoney日期和时间日期和时间 datetime, smalldatetime字符字符Non-Unicodechar, varchar, varchar(max), textUnicodenchar, nvarchar, nvarchar(max), ntext二进制二进制 binary, varbinary, varbinary(max)图像图像 image全局标识符全局标识符 uniqueidentifierXMLxml特殊特殊 bit, cursor, timestamp, sys

8、name, table, sql_variant 整数类型:整数类型: 它主要用来存储数值,可以直接进行数据运算,而不必使用函数转换。它主要用来存储数值,可以直接进行数据运算,而不必使用函数转换。整数类型包括以下四类:整数类型包括以下四类:(1)Bigint:Bigint数据类型可以存储一定范围之间的所有整型数据。数据类型可以存储一定范围之间的所有整型数据。每个每个Bigint数据类型值存储在数据类型值存储在8个字节中。个字节中。(2)Int(Integer):):Int(或(或integer)数据类型可以存储一定范围之间)数据类型可以存储一定范围之间的所有正负整数。每个的所有正负整数。每个I

9、nt数据类型值存储在数据类型值存储在4个字节中。个字节中。(3)Smallint:可以存储一定范围之间的所有正负整数。每个:可以存储一定范围之间的所有正负整数。每个smallint类型的数据占用类型的数据占用2个字节的存储空间。个字节的存储空间。(4)Tinyint:可以存储从:可以存储从0255范围之间的所有正整数。每个范围之间的所有正整数。每个tinyint类类型的数据占用型的数据占用1个字节的存储空间。个字节的存储空间。 位数据类型:位数据类型: Bit称为位数据类型,其数据有两种取值:称为位数据类型,其数据有两种取值:0和和1,长度为,长度为1字节。在输字节。在输入入0以外的其他值时,

10、系统均把它们当以外的其他值时,系统均把它们当1看待。这种数据类型常作为逻辑变看待。这种数据类型常作为逻辑变量使用,用来表示真、假或是、否等二值选择。量使用,用来表示真、假或是、否等二值选择。 Decimal数据类型和数据类型和Numeric数据类型数据类型 Decimal和和Numeric数据类型完全相同,它们可以提供小数所需要数据类型完全相同,它们可以提供小数所需要的实际存储空间,但也有一定的限制,可以用的实际存储空间,但也有一定的限制,可以用517个字节来存储一定范个字节来存储一定范围之间的固定精度和小数位的数字。围之间的固定精度和小数位的数字。 可将其写为可将其写为Decimal(p,s

11、)的形式,)的形式,p和和s确定了精确的总位数和确定了精确的总位数和小数位。其中小数位。其中p表示可供存储的值的总位数,默认设置为表示可供存储的值的总位数,默认设置为18;s表示小数表示小数点后的位数,默认设置为点后的位数,默认设置为0。例如:。例如:decimal(10,5),表示共有),表示共有10位位数,其中整数数,其中整数5位,小数位,小数5位。位。 货币数据类型:货币数据类型: Money:用于存储货币值,存储在:用于存储货币值,存储在money数据类型中的数值以一个数据类型中的数值以一个正数部分和一个小数部分存储在两个正数部分和一个小数部分存储在两个4字节的整型值中,精确到货币单位

12、字节的整型值中,精确到货币单位的千分之十。的千分之十。 Smallmoney:与:与money数据类型类似,但范围比数据类型类似,但范围比money数据类型数据类型小,精确到货币单位的千分之十。小,精确到货币单位的千分之十。 当为当为money或或smallmoney的表输入数据时,必须在有效位置前面的表输入数据时,必须在有效位置前面加一个货币单位符号。加一个货币单位符号。 近似数字类型包括近似数字类型包括Real和和Float两大类。两大类。 Real:可以存储正的或者负的十进制数值,最大可以有:可以存储正的或者负的十进制数值,最大可以有7位精确位数。位精确位数。每个每个Real 类型的数据

13、占用类型的数据占用4个字节的存储空间。个字节的存储空间。 Float:可以精确到第:可以精确到第15位小数。如果不指定位小数。如果不指定Float 数据类型的长度,它数据类型的长度,它占用占用8个字节的存储空间。个字节的存储空间。Float数据类型也可以写为数据类型也可以写为Float(n)的形式,)的形式,n指指定定Float数据的精度,数据的精度,n为为115之间的整数值。之间的整数值。 当当n取取17时,实际上是定义了一个时,实际上是定义了一个Real 类型的数据,系统用类型的数据,系统用4个字节存个字节存储它;当储它;当n取取815时,系统认为其是时,系统认为其是Float类型,用类型

14、,用8个字节存储它。个字节存储它。 日期和时间数据类型日期和时间数据类型 Datetime:用于存储日期和时间的结合体,其精确度可达:用于存储日期和时间的结合体,其精确度可达3.33毫秒。毫秒。 Datetime数据类型所占用的存储空间为数据类型所占用的存储空间为8个字节。当存储个字节。当存储Datetime数数据类型时,默认的格式是据类型时,默认的格式是MM DD YYYY hh:mm A.M./P.M,当插入数据或,当插入数据或者在其他地方使用者在其他地方使用Datetime类型时,需要用单引号把它括起来。类型时,需要用单引号把它括起来。 默认的时间日期是默认的时间日期是January 1

15、,1900 12:00 A.M。可以接受的输入格式。可以接受的输入格式如下:如下:Jan 4 1999、JAN 4 1999、January 4 1999等。等。Smalldatetime:与:与Datetime数据类型类似,但其日期时间范围较小。数据类型类似,但其日期时间范围较小。 SmallDatetime数据类型使用数据类型使用4个字节存储数据,个字节存储数据,SQL Server 2000用用2个字个字节存储日期节存储日期SmallDatetime的精度为的精度为1分钟。分钟。 字符数据类型:字符数据类型: 它可以用来存储各种字母、数字符号和特殊符号。在使用字符数据类它可以用来存储各种

16、字母、数字符号和特殊符号。在使用字符数据类型时,需要在其前后加上英文单引号或者双引号。型时,需要在其前后加上英文单引号或者双引号。 Char:其定义形式为:其定义形式为Char(n),当用),当用Char数据类型存储数据时,每个数据类型存储数据时,每个字符和符号占用一个字节的存储空间。字符和符号占用一个字节的存储空间。n 表示所有字符所占的存储空间。表示所有字符所占的存储空间。若不指定若不指定n值,系统默认值,系统默认n的值为的值为1。如果定义了一个。如果定义了一个Char数据类型,而且数据类型,而且允许该列为空,则该字段被当作允许该列为空,则该字段被当作Varchar来处理。来处理。 Var

17、char:其定义形式为:其定义形式为Varchar(n)。用)。用Char数据类型可以存储长达数据类型可以存储长达8000个字符的可变长度字符串,和个字符的可变长度字符串,和Char类型不同的是类型不同的是Varchar类型的存储空类型的存储空间是根据存储在表的每一列值的字符数变化的。间是根据存储在表的每一列值的字符数变化的。 Text:用于存储文本数据,实际应用时要根据硬盘的存储空间而定存:用于存储文本数据,实际应用时要根据硬盘的存储空间而定存储量。储量。 Unicode 字符数据类型字符数据类型(Nchar、Nvarchar、Ntext三种):三种): Nchar:其定义形式为:其定义形式

18、为Nchar(n)。)。Nchar数据类型采用数据类型采用Unicode标准字标准字符集,符集,Unicode标准用两个字节为一个存储单位,其一个存储单位的容纳量标准用两个字节为一个存储单位,其一个存储单位的容纳量就大大增加了,可以将全世界的语言文字都囊括在内,在一个数据列中就就大大增加了,可以将全世界的语言文字都囊括在内,在一个数据列中就可以同时出现中文、英文、法文等,而不会出现编码冲突。可以同时出现中文、英文、法文等,而不会出现编码冲突。 Nvarchar:其定义形式:其定义形式Nvarchar(n)。它与)。它与Varchar数据类型相似,数据类型相似,Nvarchar数据类型也采用数据

19、类型也采用Unicode标准字符集,标准字符集,n的取值范围为的取值范围为14000。 Ntext:与与Text数据类型类似,存储在其中的数据通常是直接能输出到数据类型类似,存储在其中的数据通常是直接能输出到显示设备上的字符,显示设备可以是显示器、窗口或者打印机。显示设备上的字符,显示设备可以是显示器、窗口或者打印机。 二进制数据类型:二进制数据类型: Binary:其定义形式为其定义形式为Binary(n),数据的存储长度是固定的,当),数据的存储长度是固定的,当输入的二进制数据长度小于输入的二进制数据长度小于n时,余下部分填充时,余下部分填充0。 二进制数据类型的最大长度(即二进制数据类型

20、的最大长度(即n的最大值)为的最大值)为8000,常用于存储图,常用于存储图像等数据。像等数据。 Varbinary:其定义形式为其定义形式为Varbinary(n),数据的存储长度是变),数据的存储长度是变化的,它为实际所输入数据的长度加上化的,它为实际所输入数据的长度加上4字节。其他含义同字节。其他含义同Binary。 Image:用于存储照片、目录图片或者图画。其存储数据的模式与用于存储照片、目录图片或者图画。其存储数据的模式与Text数据类型相同,通常存储在数据类型相同,通常存储在Image字段中的数据不能直接用字段中的数据不能直接用Insert语句直接输入。语句直接输入。 特殊数据类

21、型:特殊数据类型:(1)Sql_variant:用于存储除文本、图形数据和:用于存储除文本、图形数据和Timestamp类型数据外的类型数据外的其他任何合法的其他任何合法的SQL Server数据。此数据类型极大地方便了数据。此数据类型极大地方便了SQL Server的的开发工作。开发工作。(2)Table:用于存储对表或者视图处理后的结果集。这种新的数据类型:用于存储对表或者视图处理后的结果集。这种新的数据类型使得变量可以存储一个表,从而使函数或过程返回查询结果更加方便、使得变量可以存储一个表,从而使函数或过程返回查询结果更加方便、快捷。快捷。(3)Timestamp:亦称时间戳数据类型,它

22、提供数据库范围内的惟一值:亦称时间戳数据类型,它提供数据库范围内的惟一值,反应数据库中数据修改的相对顺序,相当于一个单调上升的计数器。,反应数据库中数据修改的相对顺序,相当于一个单调上升的计数器。 当它所定义的列在更新或者插入数据行时,此列的值会被自动更新当它所定义的列在更新或者插入数据行时,此列的值会被自动更新,一个计数值将自动地添加到此,一个计数值将自动地添加到此Timestamp数据列中。数据列中。(4)Uniqueidentifier:用于存储一个:用于存储一个16字节长的二进制数据类型,它是字节长的二进制数据类型,它是SQL Server根据计算机网络适配器地址和根据计算机网络适配器

23、地址和CPU时钟产生的全局惟一标识符时钟产生的全局惟一标识符代码为代码为GUID。 此数字可以通过调用此数字可以通过调用 SQL Server 的的 newid()函数获得,在全球各()函数获得,在全球各地的计算机经由此函数产生的数字不会相同。地的计算机经由此函数产生的数字不会相同。(5)XML :可以存储:可以存储XML数据的数据类型。利用它可以将数据的数据类型。利用它可以将 XML 实例存实例存储在字段中或者储在字段中或者 XML 类型的变量中。注意存储在类型的变量中。注意存储在 XML 中的数据不能超中的数据不能超过过 2GB。(6)Cursor:这是变量或存储过程:这是变量或存储过程O

24、UTPUT 参数的一种数据类型,这些参数的一种数据类型,这些参数包含对游标的引用。使用参数包含对游标的引用。使用 Cursor 数据类型创建的变量可以为空。数据类型创建的变量可以为空。- 修改修改 course 表的定义表的定义- 在表中添加名为在表中添加名为tno的列,并定义其数据类型,指其不可空的列,并定义其数据类型,指其不可空 ALTER TABLE course ADD tno char(10) NOT NULL使用使用Transact-SQL语句创建、语句创建、修改修改和删除表:和删除表:举例:举例:- 在前面定义的在前面定义的 course 表中添加列和更改列的可空性。表中添加列和

25、更改列的可空性。使用使用Transact-SQL语句创建、修改和语句创建、修改和删除表:删除表:若要删除数据库中的表除了用若要删除数据库中的表除了用“SSMS”在在【对象资源管理器对象资源管理器】进行删进行删除外,还可以用除外,还可以用DROP TABLE 语句来实现。语句来实现。举例:举例:删除删除score表。表。 DROP TABLE score; 在这个交互式多媒体中,你可以了解在这个交互式多媒体中,你可以了解如何使用如何使用 SQL Server Management Studio 创建表,请注意你需要为表指定一创建表,请注意你需要为表指定一个自动增长的列作为个自动增长的列作为ID,同时另外一列将,同时另外一列将拥有默认值。拥有默认值。使用使用Transact-SQL语句语句插入插入、修改和删除数据、修改和删除数据插入数据-INSERT语句n INSERT语句的基本语法形式INSERT INTO table_or_view_name (column_list) VALUES (expression)使用使用Transact-SQL语句语句插入插入、修改和删除数据、修改和删除数据插入

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论