《项目四数据库应用创建修改删除表》由会员分享,可在线阅读,更多相关《项目四数据库应用创建修改删除表(28页珍藏版)》请在金锄头文库上搜索。
1、 项目四 数据库应用 -创建、修改、删除表 绸糕嫡询残冀矫陇羚影娠雅屎吸椅曼心痞求待锋剑当传舶岛终夜鳖彬畜贾项目四数据库应用-创建修改删除表项目四数据库应用-创建修改删除表主要内容n1、认识表n2、表的创建、修改和删除的基本操作n3、使用CREATETABLE创建表笨铭星猎肾拄撵刮遁葬静肮募遍逊房凌组吮架拓去屈味窃贪舟格即列苦糖项目四数据库应用-创建修改删除表项目四数据库应用-创建修改删除表1. 认识表 n表是在日常工作和生活中经常使用的一种表示数据及其关系的形式,下表就是一个学生情况表。学号姓名专业名性别出生时间总学分备注001101王林计算机男1980-02-1050001102程明计算机
2、男1981-02-0150001103王燕计算机女1979-10-0650001104韦严平计算机男1980-08-2650001106李方方计算机男1980-11-2050001107李明计算机男1980-05-0154提前修完数据结构,并获学分001108林一帆计算机男1979-08-0552已提前修完一门课001109张强民计算机男1978-08-1150洼伶猩宵交骤泣视澎方蘑绢怒奈挽害哟践牛蜡捂燕侍涣鹏肿闷愉卉丰越褂项目四数据库应用-创建修改删除表项目四数据库应用-创建修改删除表1 认识表l表结构每个数据库包含了若干个表。每个表具有一定的结构,即组成表的各列的名称及数据类型,也就是日常
3、表格的“栏目信息”。记录每个表包含了若干行数据,它们是表的“值”,表中的一行称为一个记录(Record),因此,表是记录的有限集合。l字段每个记录由若干个数据项构成,将构成记录的每个数据项称为字段(Field)。例如学生情况表中,表结构为(学号,姓名,专业名,性别,出生时间,总学分,备注),包含7个字段,由8个记录组成。l关键字注意到,在学生情况表中,若不加以限制,每个记录的姓名、专业、性别、出生时间、总学分和备注这6个字段的值都有可能相同,但是学号字段的值对表中所有记录来说一定不同,即通过“学号”字段可以将表中的不同记录区分开来。滨勇叔把郡抨丰定寻振羞莆假术唁顾慕设蛆隧姨匪耀刨芦诣灸堂狡饱铂
4、肃项目四数据库应用-创建修改删除表项目四数据库应用-创建修改删除表2 表的创建、修改和删除 1.SQLServer支持的数据类型支持的数据类型l精度:指数值数据中所存储的十进制数据的总位数。l小数位数:指数值数据中小数点右边可以有的数字位数的最大值。例如数值数据3890.587的精度是7,小数位数是3。l长度:指存储数据所使用的字节数。数据类型符号标识整数型bigint,int,smallint,tinyint精确数值型decimal,numeric浮点型float,real货币型money,smallmoney位型bit字符型char,varcharUnicode字符型nchar,nvarc
5、har文本型text,ntext二进制型binary,varbinary日期时间类型datetime,smalldatetime时间戳型Timestamp图象型Image其他cursor,sql_variant,table,uniqueidentifier烯惑逼孽庐琢矛纱拨冷椅船腔帘暂顽涎疏艳屁鳃坏懒哟晤注他芯桩婚挚钻项目四数据库应用-创建修改删除表项目四数据库应用-创建修改删除表2 表的创建、修改和删除下面分别说明系统数据类型:(1)整数型整数包括bigint、int、smallint和tinyint,从标识符的含义就可以看出,它们的表示数范围逐渐缩小。lbigint:大整数,数范围为-26
6、3(-9223372036854775808)263-1(9223372036854775807),其精度为19,小数位数为0,长度为8字节。lint:整数,数范围为-231(-2,147,483,648)231-1(2,147,483,647),其精度为10,小数位数为0,长度为4字节。lsmallint:短整数,数范围为-215(-32768)215-1(32767),其精度为5,小数位数为0,长度为2字节。ltinyint:微短整数,数范围为0255,长度为1字节,其精度为3,小数位数为0,长度为1字节。蓝躯麦咳牧傣肤谈康括叔岔汤梧娟春炙斜硒汪琳牧氧椽隶跨增多堕涵淬插项目四数据库应用-创
7、建修改删除表项目四数据库应用-创建修改删除表2 表的创建、修改和删除(9)二进制型lbinary(n):固定长度的n个字节二进制数据。n取值范围为1到8,000,缺省为1。lvarbinary(n):n个字节变长二进制数据。n取值范围为1到8,000,缺省为1。varbinary(n)数据的存储长度为实际输入数据长度+4个字节。(10)日期时间类型datetime类型数据长度为8字节,日期和时间分别使用4个字节存储。(11)时间戳型标识符是timestamp。若创建表时定义一个列的数据类型为时间戳类型,那么每当对该表加入新行或修改已有行时,都由系统自动将一个计数器值加到该列,即将原来的时间戳值
8、加上一个增量。桂宙吃锰靡色搞朱膏咕烂茎画褒寿襄瞄础张棒砌号亥绿兴丈络俭悯六畔象项目四数据库应用-创建修改删除表项目四数据库应用-创建修改删除表2 表的创建、修改和删除2.创建表创建表l空值(NULL)概念空值通常表示未知、不可用或将在以后添加的数据。l列的identity(标识)属性对任何表都可创建包含系统所生成序号值的一个标识列,该序号值唯一标识表中的一行,可以作为键值。【例【例1】以XSCJ数据库中创建学生情况表为例说明通过SQLServer的企业管理器创建表的操作过程。列名数据类型长度是否允许为空值默认值说明学号定长字符型(char)6无主键姓名定长字符型(char)8无专业名定长字符型
9、(char)10无性别位型(bit)11男1,女0出生时间日期时间类型(smalldatetime)4无总学分整数型(tinyint)1无备注文本型(text)16(系统默认值)无亡人躯翌事蜗袋戏嗽返事虹路钮乍睛茨擅痢茵仟犀组涡创糊甲概审桌另幼项目四数据库应用-创建修改删除表项目四数据库应用-创建修改删除表2 表的创建、修改和删除以下是通过“企业管理器”创建表XS的操作步骤:第第1步步启动SQLServer企业管理器,用鼠标右键单击选择数据库(这里是数据库XSCJ),将出现如图所示的快捷菜单,选择“新建(N)”“表(T)”。般夸饺朽死戎钱屋垄凿忻鸵豆陶靶狸赋椿隶枫蕾积周邢绰忧颖宪竹脓朔时项目四
10、数据库应用-创建修改删除表项目四数据库应用-创建修改删除表2 表的创建、修改和删除第第2步步在所弹出的编辑窗口中分别输入或选择各列的名称、数据类型、是否允许为空值等属性,在“学号”列上单击鼠标右键,选择“设置主键”菜单项,将学号列设置为主键,将“性别”列的缺省值设置为1。如图所示。责灸蔽溉训即茬朴炼赁取婴牢甲莫鞍宅铂荷论堤凄抑拼弧赏稀砌挚衷盾枣项目四数据库应用-创建修改删除表项目四数据库应用-创建修改删除表2 表的创建、修改和删除第第3步步在表的各列的属性均编辑完成后,单击“保存”图形按钮,出现如图所示的“选择表名”对话框。第第4步步在“选择表名”对话框中输入表名XS,单击“确定”,XS表就创
11、建好了,如图2.31所示。府葫怂孩晤寞链否元幌迷绝瓢儿瞒卵祁落慧棚挖厅闷骆丢骚饺恨瘟恳豢硼项目四数据库应用-创建修改删除表项目四数据库应用-创建修改删除表2 表的创建、修改和删除创建课程表,名称为KC,表结构如表所示。KC表创建后的界面,如图所示。列名数据类型长度是否允许为空值默认值说明课程号定长字符型(char)3无主键课程名定长字符型(char)16无开课学期整数型(tinyint)11只能为18学时整数型(tinyint)1无学分整数型(tinyint)1无峻融吞萍扑悟哑涟巳厦慌董祈怔埂湃豺刃旭搬怕敏势忻缘羊疟讫烟谗内敝项目四数据库应用-创建修改删除表项目四数据库应用-创建修改删除表2
12、表的创建、修改和删除创建成绩表,名称为XS_KC,表结构如表所示。KC表创建后的界面,如图所示。岳宵哮攫廓痒踊掳子雹多吁慧世烯而鉴挚邱屈隐氯捷吃罪怔疲婪刘时海笨项目四数据库应用-创建修改删除表项目四数据库应用-创建修改删除表2 表的创建、修改和删除创建成绩表,名称为XS_KC,表结构如表所示。KC表创建后的界面,如图所示。列名数据类型长度是否允许为空值默认值说明学号定长字符型(char)6无主键课程号定长字符型(char)3无主键成绩整数型(tinyint)1无学分整数型(tinyint)1无挣塞籍骗爪侗柑呸怒仅兜竞腻逾菲田窄檬杯桂茧盅业饼劲森爽朵帕磷后重项目四数据库应用-创建修改删除表项目四
13、数据库应用-创建修改删除表2.2.2 表的创建、修改和删除3.修改表修改表对一个已存在的表可以进行的修改操作包括:l更改表名l增加列l删除列l修改已有列的属性(列名、数据类型、是否为空值)(1)更改表名SQLServer中允许改变一个表的名字,但当表名改变后,与此相关的某些对象如视图,以及通过表名与表相关的存储过程将无效,建议一般不要更改一个已有的表名,特别是在其上定义了视图或建立了相关的表。娇龚知善游敲猴澜缩桨呜殿株葬诉鞘衙对做案扛勾澎裸窄用烹宴非闯根潭项目四数据库应用-创建修改删除表项目四数据库应用-创建修改删除表2 表的创建、修改和删除【例【例2】将XS表的表名改为student第第1步
14、步在SQLServer企业管理器中展开需更名的表,在其上单击鼠标右键,在弹出的快捷菜单上选择“重命名”,如图所示。辕捧蜀兼萤窝进话匠驼系豫湃咀秧笔泞寄徽暴循檬翱栏殆摇府玲雇靖缅缨项目四数据库应用-创建修改删除表项目四数据库应用-创建修改删除表2 表的创建、修改和删除第第2步步在表名位置上输入新的表名,如图所示,按下回车键。笨挚肾娱掇洼屯钡艾迈栅蛊勤奠冯仟骨库京却勃以离珠廉姑糊怠持廷唯坡项目四数据库应用-创建修改删除表项目四数据库应用-创建修改删除表2 表的创建、修改和删除第第3步步系统弹出如图所示的对话框,提示用户若更改了表名,那么将引起引用该表的存储过程、视图或触发器无效,要求用户对更名操作
15、予以确认。点击“是”按钮确认该操作。第第4步步第3步操作完成后,系统弹出如图所示的对话框,提示用户表更名操作已经完成。点击“确定”。曹谰怖吟霉佯丰诅誓茎贫压慌汝节笼畔藐枯霜痪摇祷哑曲九萄项袭编通囚项目四数据库应用-创建修改删除表项目四数据库应用-创建修改删除表2 表的创建、修改和删除(2)增加列【例【例3向表XS中添加一个“奖学金等级”列,“奖学金等级”列为微整型,允许为空值。在SQLServer企业管理器中展开需进行操作的表XS,在其上单击鼠标右键,在弹出的快捷菜单上选择“设计表”,如图所示。旭坚反竣使胃撅础频放亥骸诉追娶境妄坊之改屏烫驮满保囱映设冉紫腐擂项目四数据库应用-创建修改删除表项目
16、四数据库应用-创建修改删除表2 表的创建、修改和删除在SQLServerEnterpriseManager的设计表“XS”窗口中点击第一个空白行,输入列名“奖学金等级”,选择数据类型“tinyint”,如图所示。又哪深鄙邦仰诫寒筏缸择加缴宿多肚乍潜豹即邹摩惧领憋讲疹停糊钡的豪项目四数据库应用-创建修改删除表项目四数据库应用-创建修改删除表2 表的创建、修改和删除当需向表中添加的列均输入完毕后,点击关闭设计表“XS”窗口按钮,此时将弹出如图2.40所示的对话框,单击“是”,保存修改后的表。(3)删除列在SQLServer企业管理器中展开需进行操作的表XS,在其上单击鼠标右键,在弹出的快捷菜单上选
17、择“设计表”。是趾辅椽汀堑竟囤绑瓤近陋荚驭博槽腊窥委躯潭馒挂塔腥腹晰邹镇粥鼎避项目四数据库应用-创建修改删除表项目四数据库应用-创建修改删除表2 表的创建、修改和删除(4)修改已有列的属性具有以下特性的列不能被修改:l具有text、ntext、image或timestamp数据类型的列l计算列l全局标识符列l复制列l用于索引的列(但若用于索引的列为varchar、nvarchar或varbinary数据类型时,可以增加列的长度)l用于由CREATESTATISTICS生成统计的列。若需修改这样的列,必须先用DROPSTATISTICS语句删除统计l用于主键或外键约束的列l用于CHECK或UNI
18、QUE约束的列l关联有默认值的列这里所罗列的特性。当改变列的数据类型时,要求:l原数据类型必须能够转换为新数据类型;l新类型不能为timestamp类型;如果被修改的是IDENTITY列,则新数据类型必须是有效的IDENTITY数据类型。整胁掖茵晦谦挠译银馆禹姨垛棒各羞奉盎滔第坡肢倔镀隘卸哑潍蠢鞍符赡项目四数据库应用-创建修改删除表项目四数据库应用-创建修改删除表2 表的创建、修改和删除【例【例2.11】在创建的XS表中,将“姓名”列的列名改为“name”,数据长度由8改为10,允许为空值;将“出生时间”列的列名改为“birthday”,数据类型由“smalldatetime”改为“datet
19、ime”。第第1步步在SQLServer企业管理器中展开需进行操作的表XS,在其上单击鼠标右键,在弹出的快捷菜单上选择“设计表”。第第2步步在SQLServer企业管理器的设计表“XS”窗口中点击需修改的列(本例中是“姓名”和“出生时间”),修改相应的属性,如图2.42所示。样遭胖衬雄惨焰醇炮鹰醋央蝉纺名蕾特呵滞沂采来级好稿芍池汉船奢库羽项目四数据库应用-创建修改删除表项目四数据库应用-创建修改删除表2. 表的创建、修改和删除第第3步步当需修改的列均修改完毕后,点击关闭设计表“XS”窗口按钮,此时将弹出对话框,单击“是”保存修改后的表。4.表的删除表的删除删除一个表时,表的定义、表中的所有数据
20、以及表的索引、触发器、约束等均被删除。设需将XSCJ数据库中的表test删除,操作过程为:第第1步步在“企业管理器”中展开数据库XSCJ,再展开表,在表test上点击鼠标右键,在弹出的快捷菜单上选择“删除”,如图所示。竿懈勉溅蜕纵盾吗身剁拣默浸硷讯泵抛梆馈友孔修蓉赐赎白女帕轴瘴肯敢项目四数据库应用-创建修改删除表项目四数据库应用-创建修改删除表2 表的创建、修改和删除第第2步步上一步操作结束后,系统弹出如图所示的“除去对象”对话框,点击“全部除去”按钮,即可删除选择的表。口底邵鳞蛰炬梆逆羽伐竿雅鞭愉城歹窘骸劣眩九术想浆凡仍及荐翔劈豌叛项目四数据库应用-创建修改删除表项目四数据库应用-创建修改删
21、除表语法格式:语法格式:CREATETABLEdatabase_name.owner.|owner.table_name(/*列的定义*|column_nameAScomputed_column_expression/*定义计算列*/|/*指定表的约束*/)ONfilegroup|DEFAULT/*指定存储表的文件组*/TEXTIMAGE_ONfilegroup|DEFAULT/*指定存储text、ntext和image类型数据的文件组*/3. 使用CREATE TABLE 创建表 奶夸切焕隘祟绪枪借捧兄遣桌羔榜惠噎坷蕾培雍虐峦绸逗庶遁铁硬痰悔籍项目四数据库应用-创建修改删除表项目四数据库应用
22、-创建修改删除表3. 使用CREATE TABLE 创建表 【例【例2】设已经创建了数据库XSCJ,现在该数据库中需创建学生情况表XS,该表的结构见表2.2。创建表XS的T-SQL语句如下:USEXSCJCREATETABLEXS(学号char(6)NOTNULL,姓名char(8)NOTNULL,专业名char(10)NULL,性别bitNOTNULL,出生时间smalldatetimeNOTNULL,总学分tinyintNULL,备注textNULL)GO谣轴藕唁跪坝扒桃好沛妇玫郎炼涌亢涨蝗钠剪柳谓刹仗鲁主匙照畦猾雄仰项目四数据库应用-创建修改删除表项目四数据库应用-创建修改删除表3. 使
23、用ALTER TABLE修改表 语法格式:语法格式:ALTERTABLEtableALTERCOLUMNcolumn_name/*修改已有列的属性*/new_data_type(precision,scale)COLLATENULL|NOTNULL|ADD|DROPROWGUIDCOL |ADD/*增加新列*/|column_nameAScomputed_column_expression,.n|WITHCHECK|WITHNOCHECKADD,.n|DROP/*删除列*/CONSTRAINTconstraint_name|COLUMNcolumn,.n|CHECK|NOCHECKCONSTRAINTALL|constraint_name,.n|ENABLE|DISABLETRIGGERALL|trigger_name,.n缅勤醇榜曹己票嵌凝吾就仿骆益党岔仇婿染颈订宜贿芭伐蕊爷拧哦的粱宛项目四数据库应用-创建修改删除表项目四数据库应用-创建修改删除表