資源描述:
《sql語句創(chuàng)建sqlserver數(shù)據(jù)庫和表(附答案)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、實驗四用SQL語句創(chuàng)建SQLServer數(shù)據(jù)庫和表(2學時)一.實驗的目的1)熟悉企業(yè)管理器環(huán)境。2)掌握使用查詢分析器的方法3)熟練掌握數(shù)據(jù)庫創(chuàng)建、表創(chuàng)建與修改、索引創(chuàng)建與刪除的語法4)熟悉SQLSERVER的數(shù)據(jù)類型5)熟練使用SQLSERVER的聯(lián)機幫助系統(tǒng)二、相關(guān)知識點1建立數(shù)據(jù)庫2創(chuàng)建數(shù)據(jù)庫的語句請參見SQLSERVER的幫助CREATEDATABASE,以下僅作參考USES_T的結(jié)果是讓此處顯示s_t數(shù)據(jù)庫,表明以下的所有操作都是在S-T數(shù)據(jù)庫中進行的2定義表的語句:CREATETABLE<表名>(<列名><數(shù)據(jù)類型>[<列級完整性約束條
2、件>][,<列名><數(shù)據(jù)類型>[<列級完整性約束條件>]]…[,<表級完整性約束條件>]);[例]1修改表的語句:ALTERTABLE<表名>[ADD<新列名><數(shù)據(jù)類型>[完整性約束]][DROP<完整性約束名>][ALTERCOLUMN<列名><數(shù)據(jù)類型>];[例]2刪除表的語句:DROPTABLE<表名>3增加、刪除索引三.實驗內(nèi)容1.創(chuàng)建學生-課程數(shù)據(jù)庫(命名為S_T),然后在S_T數(shù)據(jù)庫中創(chuàng)建學生情況表Student,課程表Course,學生選課表SC。各種表的表結(jié)構(gòu)如下:表3-1student表結(jié)構(gòu)列名描述數(shù)據(jù)類型長度是否允許為空值默認值
3、說明Sno學號Char11N主鍵Sname姓名Char8NSsex性別Char2NSage年齡TinyintNSdept所在系Char10N表3-2Course表結(jié)構(gòu)列名描述數(shù)據(jù)類型長度是否允許為空值說明Cno課程號Char3N主鍵Cname課程名Char20NCpno先修課Char10Ccredit學分Tinyint取值1-6的整數(shù)表3-3SC表結(jié)構(gòu)列名描述數(shù)據(jù)類型長度是否允許為空值說明Sno學號Char11N外鍵Cno課程號Char3N外鍵Grade成績numeric(3,1)0-100之間1)修改表結(jié)構(gòu)l將course表的cpno的長度改為3l
4、將student表中的sdept列的長度改為50l給student表中的ssex列的增加默認約束,默認值為“男”l為course表增加一列teacher,char(8)l刪除course表的teacher列l(wèi)為sc增加主鍵約束,約束建立在sno,cno兩列上,命名為s_c答案--修改表中字段列的長度--將course表的cpno的長度改為3--將student表中的sdept列的長度改為50altertablecoursealtercolumnCpnochar(3)altertablestudentaltercolumnsdeptchar(50)--
5、修改表位列增加約束--給student表中的ssex列的增加默認約束,默認值為“男”altertablestudentaddconstraintdf_stu_sexdefault('男')forSsex--修改表增加新列--為course表增加一列teacher,char(8)altertablecourseaddteacherchar(8)--修改表刪除列:?刪除course表的teacher列altertablecoursedropcolumnteacher--修改表添加主鍵約束:?為sc增加主鍵約束,約束建立在sno,cno兩列上,命名為s_c
6、altertableSCaddconstraintpk_SC_scprimarykey(Sno,Cno)1.完成課后練習的SPJ數(shù)據(jù)庫及相應(yīng)的S、P、J表的建立,并按照以下的要求補充:l為每個表設(shè)一個主鍵l為S表增加一個唯一索引s_snol為p表增加一個索引p_pno,要求降序l為J表增加一個索引j_jnol為SPJ表加外鍵約束l為SPJ表增加列qty的檢查約束,要求qty>0l為SPJ表增加索引spj_sno_pno_jno,要求索引列sno用降序,pno、jno用升序2.預(yù)習INSERTINTO語句的用法,完成以上所有數(shù)據(jù)庫表的記錄輸入答案use
7、master--進入當前需要使用的數(shù)據(jù)庫go--創(chuàng)建spj數(shù)據(jù)庫createdatabasespjON--數(shù)據(jù)文件(name='spj_db',filename='E:SQLServer2005databasespj_db.mdf',size=3,maxsize=10,filegrowth=1)logon--日志文件(name='spj_log',filename='E:SQLServer2005databasespj_log.ldf',size=1,maxsize=10,filegrowth=1)gousespjgo--在spj數(shù)據(jù)庫中
8、創(chuàng)建表createtables--創(chuàng)建供應(yīng)商表(Snochar(5)notnullprimarykey,--