创建及删除表_第1页
创建及删除表_第2页
创建及删除表_第3页
创建及删除表_第4页
创建及删除表_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

(续),Transact-SQL语言,2.创建及删除表(p86),(1)创建新表的基本语法:CREATETABLEdatabase_name.owner.|owner.table_name(column_namedata_typeDEFAULTconstant_expression|IDENTITY(seed,increment)ROWGUIDCOLNULL|NOTNULLPRIMARYKEY|UNIQUE,.n),(1)创建新表的基本语法:CREATETABLEdatabase_name.owner.|owner.table_name(column_namedata_typeDEFAULTconstant_expression|IDENTITY(seed,increment)ROWGUIDCOLNULL|NOTNULLPRIMARYKEY|UNIQUE,.n),创建新表的关键词。,(1)创建新表的基本语法:CREATETABLEdatabase_name.owner.|owner.table_name(column_namedata_typeDEFAULTconstant_expression|IDENTITY(seed,increment)ROWGUIDCOLNULL|NOTNULLPRIMARYKEY|UNIQUE,.n),要在其中创建表的数据库名称。,(1)创建新表的基本语法:CREATETABLEdatabase_name.owner.|owner.table_name(column_namedata_typeDEFAULTconstant_expression|IDENTITY(seed,increment)ROWGUIDCOLNULL|NOTNULLPRIMARYKEY|UNIQUE,.n),新数据表的所有者名。,(1)创建新表的基本语法:CREATETABLEdatabase_name.owner.|owner.table_name(column_namedata_typeDEFAULTconstant_expression|IDENTITY(seed,increment)ROWGUIDCOLNULL|NOTNULLPRIMARYKEY|UNIQUE,.n),新数据表名称。,举例:CreatTableAppDta.dbo.Customer在本例中,建立新表的数据库为AppDta,所有者为dbo(默认用户名),新建表为Customer。使用小圆点“.”作为限定名称的分隔符。,当创建数据库对象时,一般建议在代码中明确指定数据库名称和所有者名称,这样可以归类表的数据库和所有者。,CreatTableCustomer如果省略了数据库名称,就会在当前数据库中创建表。,通常在Use语句中指定数据库。UseAppDtaGoCreatTableCustomer,总结:数据库表名称的3种设置格式:格式一:CREATETABLEAppDta.dbo.Customer格式二:CREATETABLEAppDta.Customer格式三:CREATETABLECustomer,(1)创建新表的基本语法:CREATETABLEdatabase_name.owner.|owner.table_name(column_namedata_typeDEFAULTconstant_expression|IDENTITY(seed,increment)ROWGUIDCOLNULL|NOTNULLPRIMARYKEY|UNIQUE,.n),新数据表的字段名称。,(1)创建新表的基本语法:CREATETABLEdatabase_name.owner.|owner.table_name(column_namedata_typeDEFAULTconstant_expression|IDENTITY(seed,increment)ROWGUIDCOLNULL|NOTNULLPRIMARYKEY|UNIQUE,.n),新数据表的字段类型。,(1)创建新表的基本语法:CREATETABLEdatabase_name.owner.|owner.table_name(column_namedata_typeDEFAULTconstant_expression|IDENTITY(seed,increment)ROWGUIDCOLNULL|NOTNULLPRIMARYKEY|UNIQUE,.n),新数据表的字段的默认值。,(1)创建新表的基本语法:CREATETABLEdatabase_name.owner.|owner.table_name(column_namedata_typeDEFAULTconstant_expression|IDENTITY(seed,increment)ROWGUIDCOLNULL|NOTNULLPRIMARYKEY|UNIQUE,.n),其他选项的含义,通过举例来说明。,例:在book_manage数据库中建表tb_bookinfoUSEbook_manageGOCREATETABLEtb_bookinfo(book_IDchar(6)NOTNULL,booknamechar(30)NOTNULL,pricedecimal(18,2)NOTNULL,authorIDchar(4),publishIDchar(4),字段之间以逗号分割,最后一个字段后没有逗号。,例:在book_manage数据库中建表tb_bookinfoUSEbook_manageGOCREATETABLEtb_bookinfo(book_IDchar(6)NOTNULL,booknamechar(30)NOTNULL,pricedecimal(18,2)NOTNULL,authorIDchar(4),publishIDchar(4),如果没有定义NULL|NOTNULL约束,则系统默认允许空值。,例创建表tb_authorinfoUSEbook_manageGOCREATETABLEtb_authorinfo(authorIDchar(4)NOTNULL,authnamechar(20)NOTNULL,sexchar(2),agetinyint,authaddresschar(30),例创建带有默认值的表。CREATETABLEtmpls1(tmpIDchar(5)NOTNULL,tmpnamevarchar(30)NOTNULLDEFAULTunknown),注意:在新建的tmpls1表中只有2个字段。,例创建带有identifier列的表CREATETABLEtmpls2(tmpIDsmallintidentity(5,2)NOTNULL,tmpnamevarchar(30)NOTNULL),Identity(seed,increment)定义字段标识属性,允许字段自动编号。seed为自动编号的开始值,默认为1。increment为自动编号的增量,默认值为1。,例创建带有uniqueidentifier列的表CREATETABLEtmpls3(tmpIDuniqueidentifierDEFAULTNEWID()NOTNULL,tmpnamevarchar(30)NOTNULL),Uniqueidentifier数据类型NEWID()创建uniqueidentifier类型的唯一值。,(2)用系统存储过程查看表的信息sp_helpobjname=namesp_help存储过程只用于当前的数据库,其中objname=name子句指定对象的名称。如果不指定对象名称,sp_help存储过程就会列出当前数据库中的所有对象名称、对象的所有者和对象的类型。,例显示company数据库中temployee表的信息。usecompanygoexecsp_helpemployee,执行命令,(3)修改表ALTERTABLE语句用来修改一个已经存在的表的定义,包括添加、修改和删除字段。添加、修改、删除、关闭和启用约束等操作。ALTERTABLE语句不能修改数据库表的表名和字段名。ALTERTABLE语句的语法结构与创建新表类似。,例向表tmp1中增加一新列col_new,其数据类型为varchar,长度为20。ALTERTABLEtmp1ADDcol_newVarChar(20)NULL,例从表tmp1中删除一列col_new。ALTERTABLEtmp1DROPCOLUMNcol_new,例向表tmp1中增加一个带有惟一性约束(UNIQUE约束)的新列col_new。ALTERTABLEtmp1ADDcol_newVARCHAR(20)NULLCONSTRAINTexb_uniqueUNIQUE,例创建一个order_firm表然后修改firm_introduce列的数据类型。createtableorder_firm(order_firm_idchar(8)primarykey,firm_namevarchar(50)notnull,firm_introducechar(50)null)altertableorder_firmaltercolumnfirm_introducevarchar(200)null,(4)删除表删除表的命令用来删除表及其中的所有数据、索引、触发、约束等。但引用了该表的视图和存储过程不能被自动删除,必须使用DROPVIEW或DROPPROCEDURE命令来删除。删除表的格式是:DROPTABLEtable_name该命令不能删除系统表。,例删除当前数据库中的表titles。DROPTABLEtitles,例删除pubs数据库中的表authors。DROPTABLEpubs.dbo.authors,练习1:建立mydb数据库。,对应T-SQL:D:mydatabase练习_表,练习2:在mydb数据库中建立test1数据表。其中包括以下字段:编号,int数据类型,标识属性(1,1)学号,char(8)成绩,numeric(3,1),默认值0。,练习3:在mydb数据库中建立test2数据表。其中包括以下字段:编号,int数据类型,非空学号,char(8)成绩,numeric(3,1),默认值0,允许空。,练习4:在mydb数据库中建立test3数据表。其中包括以下字段:编号,int,主键学号,char(8)成绩,numeric(3,1),默认值0,允许空,制定检查约束,约束名为ck_test3_成绩,约束表达式为:0成绩100,练习5:将test3数据表中的“学号”字段修改为chr(10)和非空。,练习6:将test3数据表中添加“班级”字段,其数据类型为varchar,长度为20,默认值为“06级数据库应用”。,练习7:删除在t

温馨提示

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

评论

0/150

提交评论