第一篇:建立表和定義完整性約束、數(shù)據(jù)操作 實(shí)驗(yàn)報(bào)告
經(jīng)濟(jì)管理學(xué)院
財(cái)務(wù)管理
專業(yè)
協(xié)作者_(dá)_____________
教師評(píng)定 _____________ 實(shí)驗(yàn)題目
建立表和定義完整性約束、數(shù)據(jù)操作
一、實(shí)驗(yàn)?zāi)康呐c實(shí)驗(yàn)方法
本實(shí)驗(yàn)課程的目的:
本實(shí)驗(yàn)課程的實(shí)驗(yàn)方法:
二、實(shí)驗(yàn)要求
1.用CREATE DATABSE命令建立數(shù)據(jù)庫(kù)
2.用CREATE SCHEMA命令創(chuàng)建模式(自己命名模式名稱)
3.在定義的模式下,參照教材內(nèi)容,使用SQL語(yǔ)言創(chuàng)建教材P43—P44面的樣本數(shù)據(jù)庫(kù)及定義完整性約束
4.使用Insert命令完成記錄的插入操作,要求分別設(shè)計(jì)若干違反實(shí)體完整性、參照完整性和用戶自定義完整性的插入操作,并分析原因。
三、實(shí)驗(yàn)結(jié)果和數(shù)據(jù)
1.用CREATE DATABSE命令建立數(shù)據(jù)庫(kù)
2.用CREATE SCHEMA命令創(chuàng)建模式(自己命名模式名稱)
3.在定義的模式下,參照教材內(nèi)容,使用SQL語(yǔ)言創(chuàng)建教材P43—P44面的樣本數(shù)據(jù)庫(kù)及定義完整性約束
4.使用Insert命令完成記錄的插入操作,要求分別設(shè)計(jì)若干違反實(shí)體完整性、參照完整性和用戶自定義完整性的插入操作,并分析原因。
違反實(shí)體完整性:
違背了primary key 約束,所以執(zhí)行不成功。違反參照完整性:
在執(zhí)行插入操作時(shí),系統(tǒng)會(huì)自動(dòng)計(jì)算院系系列值是7,而院系列參照院系表的編號(hào)值,此時(shí)在院系表中找不到編號(hào)為7的院系。所以插入操作失敗。違反用戶自定義完整性:
結(jié)果是違反了unique約束,因?yàn)樵合当砻Q不允許重復(fù),而名稱為“經(jīng)濟(jì)管理學(xué)院”的院系已經(jīng)存在,所以不成功。
四、問(wèn)題與討論
在創(chuàng)建的過(guò)程中沒(méi)有注意括號(hào)是用英文括號(hào)還是中文括號(hào),所以出現(xiàn)了錯(cuò)誤。應(yīng)該使用英文括號(hào)的。
在同一個(gè)數(shù)據(jù)庫(kù)中是不能同時(shí)創(chuàng)建兩個(gè)相同的對(duì)象的。
心得體會(huì):
數(shù)據(jù)庫(kù)是一門(mén)很難學(xué)的課程,而且,我在平時(shí)比較少關(guān)注這方面的東西,所以,我在做這個(gè)實(shí)驗(yàn)的時(shí)候就覺(jué)得十分的困難。很多的時(shí)候我都需要?jiǎng)e人的幫助。
我是一個(gè)比較粗心的人,因此,我在做這個(gè)實(shí)驗(yàn)的時(shí)候沒(méi)有留意輸入的時(shí)候要用英文符號(hào),要加空格。所以,我總是出現(xiàn)錯(cuò)誤,讓我覺(jué)得很煩惱。
但是,在做這個(gè)實(shí)驗(yàn)的時(shí)候,我覺(jué)得一點(diǎn)快樂(lè)。因?yàn)槲矣纸佑|了以前我從未接觸過(guò)的東西,我又學(xué)了一點(diǎn)新的知識(shí)。
過(guò)程是最重要的,在這個(gè)實(shí)驗(yàn)過(guò)程中我學(xué)會(huì)了新知識(shí),這是最重要的。
第二篇:Oracle05表操作和約束(范文模版)
一、DDL數(shù)據(jù)定義語(yǔ)言 1.創(chuàng)建表:create table 表名要求:
1.必須以字母開(kāi)頭
2.必須在1-30個(gè)字符之間
3.必須只能包含A-Z,a-z,0-9,$,_,# 4.必須不能和用戶定義的其他對(duì)象重名 5.必須不能是Oracle的保留字 例如: 方式一:
create table student(stu_no number(11), name varchar(32), gender char(5), age number(3)default 19//為字段設(shè)置默認(rèn)值);Create table test1(ID char(11), Name carchar2(24), Age number(3)default 19);方式二:子查詢建表
Create table user_info As
select first_name,salary,dept_id From s_emp;2.刪除表:drop table 例如,drop table studentzxf;3.修改表:alter table Create table tal(Stu_no number(11), Name varchar2(32));1.增加一列
Alter table tal add age number(3);2.增加多列
Alter table tal add(address varchar2(32),birthday date);3.刪除一列
Alter table tal drop column address(列名);4.刪除多列
Alter table tal drop(age,birthday);5.邏輯刪除列
Alter table tal set unused column name;Alter talbe tal drop unused columns;//在數(shù)據(jù)庫(kù)不繁忙的時(shí)候用 Oracle在設(shè)計(jì)的時(shí)候,沒(méi)有考慮可逆性 6.修改一列
Alter table tal modify stu_no number(20);//將原來(lái)的長(zhǎng)度為11 修改為長(zhǎng)度為20 修改列時(shí)注意:
考慮現(xiàn)有數(shù)據(jù)的安全性(包括數(shù)據(jù)的類型,長(zhǎng)度),修改長(zhǎng)度是 只能往大改 如果表中有數(shù)據(jù),不可以修改類型,只有當(dāng)表中沒(méi)數(shù)據(jù)了才能修改類型 修改多列
Alter tabale tal modify(stu_no number(11)not null,name char(20));7.重命名列
Alter table tal rename column stu_no to s_no;8.更改約束
Alter table tal add constraint tal_pk primary key(s_no);9.刪掉約束
Alter table test4 drop constraint tal_pk;10.重命名表名
Rename tal to 新表名 11.添加外鍵約束
ALTER TABLE tal ADD CONSTRAINT STUDENT_FK FOREIGN KEY(dept_no)REFERENCES dept(dept_no);
二、DML數(shù)據(jù)操縱語(yǔ)言
1.插入數(shù)據(jù):insert 例如: insert into Student values(1,’Jack’);//按表中的自然順序逐個(gè)插入數(shù)據(jù)
insert into student(stu_no,name)values(1,’Jack’);//指定字段插入值 2.刪除數(shù)據(jù):delete from[tablename]where… 例如: delete from testdefault where age = 19;3.修改數(shù)據(jù):update[tablename]set a = exp1 where b = exp2 如果沒(méi)有限定條件,則會(huì)修改整張表中的數(shù)據(jù),即修改整列。例如: update Student set age = 24 where name = ‘jack’;也可一次性寫(xiě)入多條insert語(yǔ)句一次執(zhí)行完畢。也可加載腳本(.sql文件)命令@+路徑/...sql 4.truncate截?cái)啾?/p>
delete刪除時(shí)會(huì)產(chǎn)生日志信息的。
truncate刪除數(shù)據(jù)時(shí)不生成日志信息,所以效率快,但也不可逆。truncate截?cái)嗪髸?huì)釋放表空間,而delete并不釋放表空間。
三、約束
考慮數(shù)據(jù)庫(kù)的完整性約束 三方面:1.實(shí)體完整性
2.參照完整性
3.用戶自定義完整性 5種約束:
Not null 非空約束
(nk)例:Create table stu_info(S_no char(11)not null, S_name varchar2(24)not null, S_age number(3));Unique 唯一約束(uk)(只保證唯一,不保證不為空,多條記錄的值都可以為空,因?yàn)镹ull和null是不相等的,不會(huì)提示違反了唯一性)方式一:(列級(jí)約束)例:Create table stu_info(S_no char(11)unique not null, S_name varchar2(24)not null, S_age number(3));方式二:(表級(jí)約束)例:Create table stu_info(S_no char(11)not null, S_name varchar2(24)not null, S_age number(3), Constraint stu_info_uk unique(S_no,S_name));//約束名為stu_info_uk Primary key 主鍵約束(pk)唯一且非空 方式一:(列級(jí)約束)例:create table test2(C1 number(3)constraint test2_pk primary key, C2 number(3));方式二:(表級(jí)約束)例:create table test2(C1 number(3), C2 number(3), Primary key(c1,c2));c1 , c2 組合起來(lái)是唯一的,c1,c2單獨(dú)看不一定是唯一的 Atler table tablename add constraint 主鍵名稱primay key
表級(jí)約束可以約束很多列,可以定義聯(lián)合主鍵,而列級(jí)約束是做不到的。
Foreign key 外鍵約束(fk)
要求引用另一張表中已存在的值(主鍵、唯一鍵)
例:create table parent(C1 number(3)primary key, C2 number(3));Create table child(C1 number(3)primary key, C2 number(3)references parent(c1));先建父表再建子表。
不能隨便刪除,刪除時(shí)只能先刪子表記錄再刪父表;刪除表時(shí)同理。插入數(shù)據(jù)時(shí)先給父表插,再給子表插。
Drop table parent cascade cinstraint;//刪除表時(shí),如果想先刪除父表,子表不變 例:create table parent(C1 number(3)primary key, C2 number(3));Create table child(C1 number(3)primary key, C2 number(3)references parent(c1)on delete cascade);//刪除記錄時(shí)切斷關(guān)系,刪除了子表中的記錄再刪除父表
級(jí)聯(lián)刪除:世紀(jì)是先刪除子表的記錄,再刪除父表的記錄。表都存在。學(xué)生表:學(xué)號(hào) 姓名 性別
成績(jī)表:成績(jī)編號(hào) 學(xué)號(hào) 成績(jī) 課程編號(hào) 課程表:課程編號(hào) 課程名稱
外鍵:
成績(jī)表里面學(xué)號(hào)應(yīng)該是學(xué)生表
成績(jī)表里面的課程編號(hào)應(yīng)該是課程表里面的課程編號(hào)
Create table student(sno number primary key, name varchar2(10),sex varchar2(2))Create table score(scno number primary key,sno number not null,sco number(5,2),cno number not null references course(cno))Create table course(cno number primary key,name varchar2(20));Alter table score add constrain fk_stuandscore foreign key(sno)references student(sno);Check 檢查約束(ck)方式一:(列級(jí)約束)
例:create table test3(C1 number(3)check(c1<150), C2 number(3)check(c2 is not null));方式二:(表級(jí)約束)
例:Create table test3(C1 number(3), C2 number(3), Check(c1 = c2));
第三篇:SQL數(shù)據(jù)的定義實(shí)驗(yàn)報(bào)告
實(shí)驗(yàn)1、數(shù)據(jù)定義
班級(jí):計(jì)自班
姓名:
學(xué)號(hào):
1、實(shí)驗(yàn)?zāi)康氖煜QL的數(shù)據(jù)定義語(yǔ)言,能夠熟練地使用SQL語(yǔ)句來(lái)創(chuàng)建和更改基本表,創(chuàng)建和取消索引。
2、實(shí)驗(yàn)內(nèi)容
l
用SSMS創(chuàng)建數(shù)據(jù)庫(kù)University_Mis
l
使用CREATE語(yǔ)句創(chuàng)建基本表。
l
更改基本表的定義:
增加列,刪除列,修改列的數(shù)據(jù)類型。
l
創(chuàng)建表的升、降序索引。
l
刪除基本表的約束、基本表的索引或基本表。
3、實(shí)驗(yàn)步驟
(1)
用SSMS創(chuàng)建數(shù)據(jù)庫(kù)University_Mis
通過(guò)菜單[Microsoft
SQL
Server]→[啟動(dòng)SSMS]。
利用SSMS工具新建數(shù)據(jù)庫(kù)University_Mis
數(shù)據(jù)庫(kù)名稱:University_Mis
數(shù)據(jù)庫(kù)相關(guān)參數(shù)設(shè)置:采用系統(tǒng)默認(rèn)設(shè)置
(2)
在SSMS中用SQL語(yǔ)句創(chuàng)建關(guān)系數(shù)據(jù)庫(kù)基本表:
n
學(xué)生表Students(Sno,Sname,Semail,Scredit,Sroom);
字段名
說(shuō)明
允許空
字段類型
描述
Sno
主鍵
N
Char(3)
學(xué)號(hào)
Sname
不允許為空
N
Char(8)
姓名
Semail
Y
Char(30)
郵箱
Scredit
大于等于0
Y
Float
學(xué)分
Sroom
Y
Char(30)
寢室名
n
教師表Teachers(Tno,Tname,Temail,Tsalary);
字段名
說(shuō)明
允許空
字段類型
描述
Tno
主鍵
N
Char(3)
職工號(hào)
Tname
不允許為空
N
Char(8)
姓名
Temail
Y
Char(30)
郵箱
Tsalary
Y
Float
工資
n
課程表Courses(Cno,Cname,Ccredit);
字段名
說(shuō)明
允許空
字段類型
描述
Cno
主鍵
N
Char(3)
課程號(hào)
Cname
不允許為空
N
Char(20)
課程名稱
Ccredit
Y
Float
學(xué)分
n
成績(jī)表Reports(Sno,Tno,Cno,Score);
字段名
說(shuō)明
允許空
字段類型
描述
Sno
主鍵
N
Char(3)
學(xué)號(hào)
Tno
主鍵
N
Char(3)
職工號(hào)
Cno
主鍵
N
Char(3)
課程號(hào)
Score
Y
Float
分?jǐn)?shù)
其中:Sno、Tno、Cno分別是表Students、表Teachers、表Courses的主鍵,具有唯一性約束,Scredit具有約束“大于等于0”;
Reports中的Sno,Tno,Cno是外鍵,它們共同組成Reports的主鍵。
(3)
更改表Students:增加屬性Ssex(類型是CHAR,長(zhǎng)度為2),取消Scredit“大于等于0”約束。把表Courses中的屬性Cname的數(shù)據(jù)類型改成長(zhǎng)度為30。
(4)
刪除表Students的一個(gè)屬性Sroom。
(5)
刪除表Reports。
(6)
為Courses表創(chuàng)建按Cno降序排列的索引。
(7)
為Students表創(chuàng)建按Sno升序排列的索引。
(8)
創(chuàng)建表Students的按Sname升序排列的唯一性索引。
(9)
刪除Students表Sno的升序索引。
4、實(shí)驗(yàn)要求
實(shí)驗(yàn)之前請(qǐng)細(xì)細(xì)閱讀實(shí)驗(yàn)總體要求與說(shuō)明指導(dǎo)書(shū),在SQL
Server
2005或2008的SSMS環(huán)境中,完成以上實(shí)驗(yàn)(2)-(9)步所有SQL數(shù)據(jù)定義操作,并將操作窗口剪貼到實(shí)驗(yàn)報(bào)告中,按順序標(biāo)號(hào),做必要的說(shuō)明。
在實(shí)驗(yàn)步驟1完成之后,查看創(chuàng)建的數(shù)據(jù)庫(kù)文件名及事務(wù)日志文件名,填入下表中。
項(xiàng)目
內(nèi)容
數(shù)據(jù)庫(kù)所有者
數(shù)據(jù)庫(kù)大小
可用空間
數(shù)據(jù)文件名
數(shù)據(jù)文件物理存放位置
日志文件名
日志文件物理存放位置
5、實(shí)驗(yàn)過(guò)程
一、創(chuàng)建基本表
(1)學(xué)生表Students
(2)教師表Teachers
(3)課程表Courses
(4)成績(jī)表Reports
二、表的刪除與修改
(1)更改表Students:
l
增加屬性Ssex(類型是CHAR,長(zhǎng)度為2)
l
取消Scredit“大于等于0”約束
l
刪除表Students的一個(gè)屬性Sroom
(2)更改表Courses:
把屬性Cname的數(shù)據(jù)類型改成長(zhǎng)度為30
(3)刪除表Reports
三、建立索引
(1)
為Courses表創(chuàng)建按Cno降序排列的索引
(2)
為Students表創(chuàng)建按Sno升序排列的索引
(3)
創(chuàng)建表Students的按Sname升序排列的唯一性索引
(4)
刪除Students表Sno的升序索引
四、項(xiàng)目
內(nèi)容
數(shù)據(jù)庫(kù)所有者
SHOZA7OKW8JOEQW\Administrator
數(shù)據(jù)庫(kù)大小
4.00
MB
可用空間
1.86
MB
數(shù)據(jù)文件名
Chends_University_Mis
數(shù)據(jù)文件物理存放位置
C:\Program
Files\Microsoft
SQL
Server\MSSQL.1\MSSQL\DATA
日志文件名
Chends_University_Mis_log.ldf
日志文件物理存放位置
C:\Program
Files\Microsoft
SQL
Server\MSSQL.1\MSSQL\DATA
第四篇:順序表的操作實(shí)驗(yàn)報(bào)告
順序表的基本操作
一、實(shí)驗(yàn)?zāi)康?/p>
1、復(fù)習(xí)C++語(yǔ)言程序設(shè)計(jì)中的知識(shí)。
2、熟悉線性表的邏輯結(jié)構(gòu)。
3、熟悉線性表的基本運(yùn)算在兩種存儲(chǔ)結(jié)構(gòu)上的實(shí)現(xiàn)。
4、掌握順序表的存儲(chǔ)結(jié)構(gòu)形式及其描述和基本運(yùn)算的實(shí)現(xiàn)。
5、熟練掌握動(dòng)態(tài)鏈表結(jié)構(gòu)及有關(guān)算法的設(shè)計(jì)
二、實(shí)驗(yàn)內(nèi)容
實(shí)現(xiàn)順序表的建立、取元素、修改元素、插入、刪除等順序表的基本操作。[基本要求](1).依次從鍵盤(pán)讀入數(shù)據(jù),建立帶頭結(jié)點(diǎn)的順序表;(2).輸出順序表中的數(shù)據(jù)元素
(3).根據(jù)指定條件能夠取元素和修改元素;(4).實(shí)現(xiàn)在指定位置插入和刪除元素的功能。
三、實(shí)驗(yàn)步驟、調(diào)試及輸出結(jié)果
(—).數(shù)據(jù)結(jié)構(gòu)與核心算法的設(shè)計(jì)描述: #include
/*當(dāng)前的表長(zhǎng)度*/ /*順序表的打印:*/ void PrintList(SeqList *L,int n){int i;printf(“the sqlist isn”);for(i=1;i<=n;i++)printf(“%d ”,L->elem[i]);printf(“n”);}
/*順序表的查找:*/ int LocateList(SeqList *L,int x){int i;i=1;while(((L->elem[i])!=x)&&(i<=10))++i;if((L->elem[i])==x)return(i);else return(0);}
/*順序表的插入:*/ void InsertList(SeqList *L,int x,int i){int j;if(i<1 ||i>L->length+1)printf(“no insert position!n”);else {for(j=L->length;j>=i;j--)L->elem[j+1]=L->elem[j];L->elem[i]=x;L->length++;} } /*順序表的刪除:*/ void DeleteList(SeqList *L,int i){int j;if(i<1 ||i>L->length)printf(“no delete position!n”);else {for(j=i;j<=(L->length)-1;j++)L->elem[j]=L->elem[j+1];L->length--;} } void main(){
SeqList L;int i,x;int n=10;
/*當(dāng)前順序表的長(zhǎng)度*/ L.length=0;CreateList(&L,n);
/*建立順序表*/ PrintList(&L,L.length);
/*輸出順序表*/ printf(“input the research element:”);scanf(“%d”,&x);i=LocateList(&L,x);/*順序表查找*/ printf(“the research position is %dn”,i);printf(“input the position of insert:”);scanf(“%d”,&i);printf(“input the value of insert:”);scanf(“%d”,&x);InsertList(&L,x,i);/*順序表插入*/ PrintList(&L,L.length);
/*輸出順序表*/ printf(“input the position of delete:”);scanf(“%d”,&i);DeleteList(&L,i);/*順序表刪除*/ PrintList(&L,L.length);/*輸出順序表*/ }(二).調(diào)試及輸出結(jié)果 測(cè)試數(shù)據(jù):
1、輸入n個(gè)數(shù);
2、輸出順序列表;
3、順序表的查找;4.順序表的插入;
5、順序表的刪除;
數(shù)據(jù)測(cè)試如下截圖:
四、實(shí)驗(yàn)討論與總結(jié):
通過(guò)這次寫(xiě)實(shí)驗(yàn)報(bào)告,我深切的理解了這門(mén)課的本質(zhì)。剛開(kāi)始學(xué)這門(mén)課時(shí),當(dāng)時(shí)還不清楚這門(mén)課程的目的,現(xiàn)在,我真正的理解了:數(shù)據(jù)結(jié)構(gòu)像是身體的骨骼。數(shù)據(jù)結(jié)構(gòu)是個(gè)框架,模型,抽象數(shù)據(jù)類型中列舉了各種操作,而所用的C++語(yǔ)言,將各種操作描述出來(lái)構(gòu)成算法。
在這次設(shè)計(jì)的過(guò)程中,我知道了順序表是按順序存儲(chǔ)的,用了一維數(shù)組來(lái)存儲(chǔ),但是,在執(zhí)行時(shí)出現(xiàn)了問(wèn)題。后來(lái)問(wèn)同學(xué),指出我的錯(cuò)誤,不過(guò)獲益不少。我又重新整理思路,把順序表的基本操作寫(xiě)好了。雖然走了很多彎路,但是讓我認(rèn)識(shí)到,一定要?jiǎng)?chuàng)新,大膽,不能按照舊的思路去干新的事情。
單鏈表寫(xiě)起來(lái)簡(jiǎn)單多了,這個(gè)很快就搞定了。但是細(xì)節(jié)上出了問(wèn)題。比如說(shuō),有些變量的重復(fù)定義,有些變量又沒(méi)有定義,在調(diào)用函數(shù),就直接復(fù)制過(guò)來(lái),沒(méi)有改參數(shù)……通過(guò)修改,我深刻理解到:細(xì)節(jié)決定成敗,在以后,不管做任何事情都要認(rèn)真,細(xì)心。
這次的實(shí)驗(yàn)報(bào)告,讓我受益匪淺,不僅有知識(shí)方面的,還有生活和精神上的。總之,我會(huì)繼續(xù)我的興趣編程,相信在編程的過(guò)程中,能不斷的提高自己。
第五篇:網(wǎng)絡(luò)數(shù)據(jù)庫(kù)講稿(表數(shù)據(jù)操作)
網(wǎng)絡(luò)數(shù)據(jù)庫(kù)講稿
一、插入數(shù)據(jù)
P131 1.INSERT … VALUES …
(1)VALUES所提供的值的個(gè)數(shù)、順序、數(shù)據(jù)類型,必須與字段名列表中的相一致。(2)關(guān)于NULL 和 DEFAULT
P133 CREATE TABLE NULLDEFAULT(ID SMALLINT IDENTITY(1,2), XM CHAR(8)NOT NULL, XB CHAR(2)DEFAULT '男', NL TINYINT, MZ CHAR(10)NOT NULL DEFAULT '漢族')INSERT NULLDEFAULT values('張三','女',30,'回族')
①如果省略了列名表和值表中的一列,那么當(dāng)該列有默認(rèn)值存在時(shí),將使用默認(rèn)值;如果默認(rèn)值不存在,SQL會(huì)嘗試使用NULL值。
INSERT NULLDEFAULT(XM,MZ)values('張三','回族')INSERT NULLDEFAULT(XM)values('張三')
如果列已聲明了NOT NULL,嘗試的NULL值會(huì)失敗。
INSERT NULLDEFAULT(XM,MZ)values(NULL,'回族')INSERT NULLDEFAULT(MZ)values('回族')②如果在值表中明確指定了NULL,那么即使該列默認(rèn)值存在,也仍會(huì)插入NULL值(假設(shè)該列允許NULL)。
③當(dāng)在一個(gè)允許NULL且沒(méi)有聲明默認(rèn)值的列中使用DEFAULT,會(huì)在該列插入NULL值。
INSERT NULLDEFAULT values('張三',NULL,default,'蒙古族')④如果在一個(gè)聲明NOT NULL且沒(méi)有聲明默認(rèn)值的列中指定NULL或DEFAULT、或者省略了該值,會(huì)導(dǎo)致錯(cuò)誤。
INSERT NULLDEFAULT values(NULL,NULL,default,'蒙古族')INSERT NULLDEFAULT values(DEFAULT,NULL,default,'蒙古族')INSERT NULLDEFAULT(MZ)values('回族')⑤可以把NULL插入到允許NULL且沒(méi)有默認(rèn)值的列中。
INSERT NULLDEFAULT(XM,NL)values('張三',NULL)⑥具有標(biāo)識(shí)屬性的列中不能使用關(guān)鍵字DEFAULT,不能在列名表中和值表中列出具有標(biāo)識(shí)屬性的列和值。
INSERT NULLDEFAULT values(DEFAULT,DEFAULT,NULL,default,'蒙古族')2.INSERT … SELECT … 3.SELECT … INTO …
二、更新數(shù)據(jù)
P137
三、刪除數(shù)據(jù)
P141 1.DELETE 2.TRUNCATE TABLE
四、OUTPUT子句
P307 內(nèi)存邏輯表INSERTED和DELETED。
網(wǎng)絡(luò)數(shù)據(jù)庫(kù)講稿
INSERT NULLDEFAULT(XM)OUTPUT INSERTED.ID,INSERTED.XM,INSERTED.XB,INSERTED.NL,INSERTED.MZ values('趙一')INSERT NULLDEFAULT OUTPUT INSERTED.ID values('錢(qián)二','女',30,'回族')INSERT NULLDEFAULT OUTPUT INSERTED.ID,INSERTED.XM,INSERTED.XB,INSERTED.NL values('孫三',NULL,default,'蒙古族')UPDATE NULLDEFAULT SET MZ='維吾爾族' OUTPUT DELETED.ID,DELETED.XM,DELETED.XB,DELETED.MZ, INSERTED.ID,INSERTED.XM,INSERTED.XB,INSERTED.NL,INSERTED.MZ WHERE XM='趙一'
如果使用INTO子句,INTO子句中的表必須已存在。
CREATE TABLE ABC(ID SMALLINT, XM CHAR(8)NOT NULL, XB CHAR(2)DEFAULT '男', NL TINYINT, MZ CHAR(10)NOT NULL DEFAULT '漢族')
UPDATE NULLDEFAULT SET MZ='維吾爾族' OUTPUT DELETED.ID,DELETED.XM,DELETED.XB,DELETED.NL,DELETED.MZ INTO ABC WHERE XM='張三' OR XM='李四'