创建与使用数据表SQL创建和操作表优质PPT.ppt

上传人:b****1 文档编号:14203333 上传时间:2022-10-20 格式:PPT 页数:53 大小:628KB
下载 相关 举报
创建与使用数据表SQL创建和操作表优质PPT.ppt_第1页
第1页 / 共53页
创建与使用数据表SQL创建和操作表优质PPT.ppt_第2页
第2页 / 共53页
创建与使用数据表SQL创建和操作表优质PPT.ppt_第3页
第3页 / 共53页
创建与使用数据表SQL创建和操作表优质PPT.ppt_第4页
第4页 / 共53页
创建与使用数据表SQL创建和操作表优质PPT.ppt_第5页
第5页 / 共53页
点击查看更多>>
下载资源
资源描述

创建与使用数据表SQL创建和操作表优质PPT.ppt

《创建与使用数据表SQL创建和操作表优质PPT.ppt》由会员分享,可在线阅读,更多相关《创建与使用数据表SQL创建和操作表优质PPT.ppt(53页珍藏版)》请在冰豆网上搜索。

创建与使用数据表SQL创建和操作表优质PPT.ppt

主键、外键、NULL、默认、Check、唯一性,操作表:

插入、修改、删除,复习,6.2.3使用Transact-SQL创建数据表使用T-SQL创建表的语法如下。

CREATETABLEdatabase_nameschema_name|schema_nametable_name(|,n)onpartition_scheme_name(partition_column_name)|filegroup|“default”TEXTIMAGE_ONfilegroup|“default”其中:

包括:

column_nameFILESTREAMCOLLATEcollation_nameNULL|NOTNULLCONSTRAINTconstraint_nameDEFAULTconstant_expression|IDENTITY(seed,increment)NOTFORREPLICATIONROWGUIDCOL.n,使用Transact-SQL语句中的CREATETABLE命令创建表,其语法最简格式如下:

CREATETABLEtable_name(Col_namecolumn_properties,)提示:

每个不同项目之间用空格隔开,列名,列的数据类型及长度,可以有若干列,用逗号分割开,表名,切换数据库命令:

USELibraryGO提示:

GO命令是一个批执行命令,后面会详细解释。

执行上述命令后,后续的创建表命令等命令,均在该数据库(Library库)中运行。

使用Transact-SQL语句创建表,【例】利用CREATETABLE命令创建“book”。

USELibraryGOCREATETABLEbook(编号CHAR(8)NOTNULL,ISBN号CHAR(13)NOTNULL,书名VARCHAR(200),定价MONEY,出版社VARCHAR(200),出版日期DATETIME),使用Transact-SQL语句创建表,使用Transact-SQL语句中的CREATETABLE命令创建表,其语法较完整格式:

CREATETABLE(,);

使用Transact-SQL语句创建表,定义约束的类型的,1)CHECK约束2)DEFAULT约束3)PRIMARYKEY约束4)FOREIGNKEY约束5)UNIQUE约束6)NULL7)NOTNULL,-检测约束,-默认约束,-主键约束,-外键约束,-唯一约束,-允许为空约束,-非空约束,定义约束是在创建表或修改表的命令中实现的,约束均为可选项,默认为NULL,NULL|NOTNULL|PRIMARYKEY|DEFAULT|CHECK|UNIQUE|NOTNULLUNIQUENULL空,默认值NOTNULL非空PRIMARYKEY,当表中只有一个列是主键,在该列数据类型说明后添加PRIMARYKEY,列的完整性约束说明,PRIMARYKEYSQL的句法:

在该列数据类型说明后添加PRIMARYKEY例如:

专业表(专业代码,专业名称)CREATETABLE专业表(专业代码CHAR(4)PRIMARYKEY,专业名称VARCHAR(30)NOTNULL);

看看P80页例题6-1,【例6-1】使用CREATETABLE语句创建“Book”表,“Book”表用存放图书的各种信息,包括图书编号、图书名称、图书类别号、作者、出版社、出版日期、入库日期、价格、状态等属性。

USELibraryCREATETABLEBook(BookIdchar(10)notnullprimarykey,BookNamevarchar(50)notnull,BkCateIdvarchar(6)notnull,Authorvarchar(20)notnull,Publishvarchar(50)notnull,PubTimedatenull,CheckIndatenotnull,Pricemoneynull,BookStatuschar

(2)notnull),DEFAULT设置缺省值,对暂时不输入数据的数字列施加DEFAULT约束,以避免数据操作错误,格式:

DEFAULT()例如:

DEFAULT(0)DEFAULT(男)DEFAULT(2012-3-12)UNIQUE惟一性约束NOTNULLUNIQUE该列非空且惟一,CHECK指出该列取值约束条件内的值,格式:

CHECK()例如:

学生信息表(学号,姓名,性别,生日,籍贯,专业号,班级)CREATETABLE学生信息表(学号CHAR(10)PRIMARYKEY,姓名CHAR(8)NOTNULL,性别CHAR

(2)CHECK(性别=男or性别=女)DEFAULT(男),生日DATETimeNOTUNLL,籍贯CHAR(20)DEFAULT(合肥),专业代码CHAR(4)NOTNULL,班级CHAR(4)NOTNULL);

表的完整性约束说明:

主键约束子句用于主键多于一个(,)外键约束子FOREIGNKEY()REFERENCES(),本表列名,主键表的表名,主键表对应列名,单主键约束案例:

例:

课程设置表(课号,课程名称,学分)CREATETABLE课程设置表(课号CHAR(4)PRIMARYKEY,课程名称varchar(40),学分INTDEFAULT

(2),例:

成绩表(学号,课号,成绩)CREATETABLE成绩表(学号CHAR(10),课号CHAR(4),成绩INTDEFAULT(0),PRIMARYKEY(学号,课号),多主键约束案例:

多属性主键,例:

成绩表(学号,课号,成绩)CREATETABLE成绩表(学号CHAR(10),课号CHAR(4),成绩INTDEFAULT(0),PRIMARYKEY(学号,课号),FOREIGNKEY(课号)REFERENCES课程设置表(课号),FOREIGNKEY(学号)REFERENCES学生信息表(学号);

多主键约束+外键案例:

检验约束子句CHECK(值的约束条件或包含SELECT语句的SQL语句)注意:

SQL语句以“;

”号结束,在交互式使用中是一条命令,例:

成绩表(学号,课号,成绩)CREATETABLE成绩表(学号CHAR(9),课号CHAR(7),成绩INTDEFAULT(0),PRIMARYKEY(学号,课号),FOREIGNKEY(课号)REFERENCES课程设置表(课号),FOREIGNKEY(学号)REFERENCES学生信息表(学号),CHECK(成绩=0AND成绩=100);

6.3修改表结构,已经建立的表格,如果不符合要求,可以进行修改。

SQLServer2008提供两种修改数据表的方法:

SQLServerManagementStudio修改表使用Transact-SQL语句修改表,6.3.1使用SQLServerManagementStudio修改数据表结构修改数据表结构包括修改某列的数据类型、列宽度、添加和删除某列、修改列的约束等。

选中表如Usercate右键设计打开设计界面进行各类修改,约束设置,6.3.2使用Transact-SQL修改数据表结构使用T-SQL修改数据表结构的语法如下:

ALTERTABLEdatabase_nameschema_name|schema_nametable_nameALTERCOLUMNcolumn_name-修改列定义new_data_type(precision,scale)COLLATENULL|NOTNULL|ADD|DROPROWGUIDCOL|ADD-添加列|column_nameAScomputed_column_expression,n|WITHCHECK|WITHNOCHECKADD-添加约束,n|DROPCONSTRAINTconstraint_name-删除约束|COLUMNcolumn,n-删除列|CHECK|NOCHECKCONSTRAINT-启用或禁用约束ALL|constraint_name,n|ENABLE|DISABLETRIGGER-启用或禁用触发器ALL|trigger_name,n,【例6-4】在“UserTb”表中,为“UserBkNum”字段添加一个检查约束,所输入的已借书数量必须大于等于零的约束代码:

USELibraryGoALTERTABLEUserTbADDCONSTRAINTU_checkCHECK(UserBkNum=0),【例6-5】在“UserTb”表中添加一个字段“UserOcc”表示读者的职业,varchar(6)。

随后再删除掉:

ALTERTABLEUserTbADDUserOccvarchar(6)nullGOALTERTABLEUserTbDROPCOLUMNUserOcc,此处需要注意的是:

当使用AlterTable添加列时,如果要求该列不为空,则必须要指定一个默认值,否则不能添加成功。

若不允许为空又不需指定默认值,只能先添加一个允许为空的列,再通过altercolumn修改该列为非空。

如:

ALTERTABLEUserTbADDUserOccvarchar(6)nullGOALTERTABLEUserTbALTERCOLUMNUserOccvarchar(6)notnull即设置了添加的列“UserOcc”非空。

【例6-6】在表“UserTb”中,添加一个禁用,用于限制在【例6-4】中创建的约束。

NOCHECKCONSTRAINT与ALTERTABLE一起使用,以禁用该约束并使正常情况下会引起约束违规的插入操作得以执行。

CHECKCONSTRAINT重新启用该约束。

在查询标签页中键入以下命令,并运行即可。

ALTERTABLEUserTbNOCHECKCONSTRAINTU_check,6.4数据表中插入、修改与删除数据,创建好数据表的结构之后,表中并没有纪录。

本节介绍在建立好的表中如何插入、修改和删除数据。

方法:

1.使用管理器2.SQL代码,插入数据时有什么注意事项?

6.4.1向数据表中插入数据选中表右键编辑前200行打开数据编辑界面,2.使用Transact-SQL语言向数据表中插入数据SQLServer支持多种向数据表中插入数据的方法,最常用的是使用INSERT语句和INSERTSELECT语句。

(1)使用INSERT语句基本语法为:

INSERTINTOtable_or_view_name(column_list)VALUESexpression_list其中:

table_or_view_name:

要插入数据的表或视图名字。

column_list:

由逗号分隔的列名列表,用来指定为其提供数据的列。

如果没有指定,表示向表或视图中的所有列都输入数据。

expression_list:

要插入的数据值的列表。

值被指定为逗号分隔的表达式列表,表达式的个数、数据类型、精度必须与column_list列表对应的列一致。

使用INSERT语句每次只能向数据表中输入一条记录。

使用INSERT语句向表中插入数据,即:

INSERTINTO()VALUES();

1.全部列输入且与值表顺序一致可以省略2.部分列输入:

1)要列名;

2)省略部分需允许为空,【例6-7】向读者表中添加一行新记录(T003,刘刚,true,研究生,计算机系,3-118,34567,当前时间,2)。

INSER

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 畜牧兽医

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1