创建与使用数据表SQL创建和操作表.ppt
- 文档编号:1285575
- 上传时间:2022-10-20
- 格式:PPT
- 页数:53
- 大小:628KB
创建与使用数据表SQL创建和操作表.ppt
《创建与使用数据表SQL创建和操作表.ppt》由会员分享,可在线阅读,更多相关《创建与使用数据表SQL创建和操作表.ppt(53页珍藏版)》请在冰豆网上搜索。
创建与使用数据表,复习,1.主键定义?
功能?
2.外键定义?
功能?
3.其他约束有哪些?
功能?
关系表方法:
1.使用管理器2.SQL代码,定义表:
创建、修改、删除,定义表的约束:
主键、外键、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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 创建 使用 数据表 SQL 操作