《數(shù)據(jù)庫上機(jī)實(shí)驗(yàn)報(bào)告sql數(shù)據(jù)庫實(shí)驗(yàn)報(bào)告》由會(huì)員分享,可在線閱讀,更多相關(guān)《數(shù)據(jù)庫上機(jī)實(shí)驗(yàn)報(bào)告sql數(shù)據(jù)庫實(shí)驗(yàn)報(bào)告(7頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、數(shù)據(jù)庫上機(jī)實(shí)驗(yàn)報(bào)告sql數(shù)據(jù)庫實(shí)驗(yàn)報(bào)告數(shù)據(jù)庫上機(jī)實(shí)驗(yàn)報(bào)告試驗(yàn)內(nèi)容1、 數(shù)據(jù)表的建立基本表簡單的帶有主鍵帶有外碼約束的(外碼來自其他表或者本表)2、 數(shù)據(jù)表的修改添加刪除列修改列屬性類型添加刪除約束(約束名)元組的添加,修改,刪除刪除數(shù)據(jù)表試驗(yàn)過程1、create table student(sno char(9) primary key , /*sno是主碼 列級(jí)完整性約束條件*/sname char(20) unique, /*sname取唯一值*/ssex char(2),sage smallint, /*類型為smallint*/sdept char(20) /*所在系*/);creat
2、e table course(cno char(4) primary key, /*列級(jí)完整性約束條件,cno是主碼*/cname char(40),cpno char(4), /*cpno的含義是先行課*/ccredit smallint,foreign key (cpno) references course(cno)/*表級(jí)完整性約束條件,cpno是外碼,被參照表是course,被參照列是cno*/);create table sc(sno char(9),cno char(4),grade smallint,primary key (sno,cno),/*主碼有兩個(gè)屬性構(gòu)成,必須作為表
3、級(jí)完整性進(jìn)行定義*/foreign key (sno) references student(sno),/*表級(jí)完整性約束條件,sno是外碼,被參照表是student*/foreign key (cno) references course(cno),/*表級(jí)完整性約束條件,cno是外碼,被參照表示course*/);例1、create table s(cno varchar(3), /*變長的字符串,輸入2個(gè)字符就是兩個(gè)字符不會(huì)補(bǔ)空格*/sname varchar(20),status int,city varchar(20),constraint pk_sno primary key(sn
4、o), /*約束條件的名字為pk_sno*/);create table p(pno varchar(3),pname varchar(20),color varchar(3),weight int,constraint pk_pno primary key (pno), /*約束條件的名字是pk_pno*/);create table j(jno varchar(3),jname varchar(20),city varchar(20),constraint pk_jno primary key(jno) /*約束條件的名字為pk_jno*/);例2、create table spj(sno
5、 varchar(3), /*第一個(gè)表中的主碼*/pno varchar(3),jno varchar(3),qty int, /*數(shù)量*/constraint pk_spj primary key(sno,pno,jno), /*主碼由3個(gè)屬性組成*/foreign key(sno) references s(sno),/*表級(jí)完整性約束條件,sno是外碼,被參照表是s*/foreign key(pno) references p(pno),/*表級(jí)完整性約束條件,pno是外碼,被參照表是p*/foreign key(jno) references j(jno),/*表級(jí)完整性約束條件,jn
6、o是外碼,被參照表是j*/);2、數(shù)據(jù)表的更改在s表中添加一個(gè)concat 列alter table s add concat varchar(20)在s表中刪除concat 列alter table s drop column concat更改s表 concat列的屬性 把長度由20改為30alter table s alter column concat varchar(30)聯(lián)系方式 名字為concat 修改屬性為唯一的 屬性名為con_concatalter table s add constraint con_concat unique(concat)刪除約束關(guān)系con_concat
7、alter table s drop constraint con_concat/*插入一個(gè)元組*/insert into s valus(s1,精益,20,天津) /*20不能寫成20*/試驗(yàn)中的問題的排除與總結(jié):1、在創(chuàng)建spj時(shí)有三個(gè)實(shí)體所以從3個(gè)實(shí)體中取主碼,還有一個(gè)數(shù)量屬性也要寫上主碼由那3個(gè)主碼確定2、更改一個(gè)數(shù)據(jù)庫中數(shù)據(jù)表時(shí)一定要先使該數(shù)據(jù)庫處于正在使用狀態(tài)3、constraint是可選關(guān)鍵字,表示 primary key、not null、unique、foreign key 或 check 約束定義的開始。約束是特殊屬性,用于強(qiáng)制數(shù)據(jù)完整性并可以為表及其列創(chuàng)建索引。4、-go
8、可以不加但是要注意順序 注:go -注釋 提示錯(cuò)誤5、注意添加一個(gè)空元素用 null附 sql備份-創(chuàng)建一個(gè)數(shù)據(jù)庫 studentcreate database studentgo-在數(shù)據(jù)庫student中創(chuàng)建表student course sc 注意順序use student - create table student ( sno char(9) primary key, /*sno是主碼 列級(jí)完整性約束條件*/ sname char(10) unique, /*sname取唯一值*/ ssex char(2), sage smallint, /*類型為smallint*/ sdept char(20) /*所在系*/ ); /*;要加*/ -第 7 頁 共 7 頁