修改基本表

2021-08-01 20:06:20 字數 2232 閱讀 5183

alter

table

《表名》

[ add

《新列名》 《資料型別》 [ 完整性約束 ] ]

[ drop

《完整性約束名》 ]

[ alter

column

《列名》 《資料型別》 ];

 《表名》: 要修改的基本表

 add子句:增加新列和新的完整性約束條件

 drop子句:刪除指定的完整性約束條件

 alter

column子句:用於修改列名和資料型別

[例8]向student表增加「入學時間」列,其資料類

型為日期型。

 alter

table student add s_entrance date;

 不論基本表中原來是否已有資料,新增加的列一律為

空值。[例9]將年齡的資料型別由字元型(假設原來的數

據型別是字元型)改為整數。

 alter

table student alter

column sage int;

[例10]增加課程名稱必須取唯一值的約束條件。

 alter

table course add

unique(cname);

drop

table

《表名》[ restrict| cascade];

restrict: 刪除表是有限制的。

 欲刪除的基本表不能被其他表的約束所引用

 如果存在依賴該錶的物件,則此表不能被刪除

cascade:刪除該錶沒有限制。

 在刪除基本表的同時,相關的依賴物件一起刪除

如果選擇cascade時可以刪除表,檢視也自動被刪除

drop

table student cascade;

--notice: drop cascades to view is_student

select * from is_student;

--error: relation 「 is_student 」 does not exist

建立索引

語句格式

create [unique] [clusters] index 《索引名》 on

《表名》(《列名》[《次序》][,《列名》[《次序》] ]…);

 用《表名》指定要建索引的基本表名字

 索引可以建立在該錶的一列或多列上, 各列名之間用逗號分隔

 用《次序》指定索引值的排列次序, 公升序: asc, 降序: desc。 缺

省值: asc

 unique表明此索引的每乙個索引值只對應唯一的資料記錄

 clusters表示要建立的索引是聚簇索引

為學生-課程資料庫中的student, course, sc三

個表建立索引。其中student表按學號公升序建唯一索引,

course表按課程號公升序建唯一索引, sc表按學號公升序

和課程號降序建唯一索引。

create

unique index stusno on student(sno);

create

unique index coucno on course(cno);

create

unique index scno on sc(sno asc, cno

desc);

建立聚簇索引後, 基表中資料也需要按指定的聚簇屬性值

的公升序或降序存放。 也即聚簇索引的索引項順序與表中記

錄的物理順序一致

例:create clusters index stusname on

student(sname);

在student表的sname( 姓名) 列上建立乙個聚簇索引, 而

且student表中的記錄將按照sname值的公升序存放

在乙個基本表上最多只能建立乙個聚簇索引

 聚簇索引的用途:對於某些型別的查詢,可以

提高查詢效率

 聚簇索引的適用範圍

 很少對基表進行增刪操作

 很少對其中的變長列進行修改操作

刪除索引

drop index 表名 .索引名

 刪除索引時,系統會從資料字典中刪去有關該

索引的描述。

[例7] 刪除student表的stusname索引。

 drop index student.stusname;

SQL 修改和刪除基本表

sql語言用alter table語句修改基本表,其一般格式如下 alter table 表名 add 列名 資料型別 列級完整性約束 drop constraint 完整性約束名 drop column 列名 alter column 列名 資料型別 說明 表名 是要更改的表的名字 add字句用於...

pg學習 基本表定義 修改表結構

修改表結構 1 增加字段 highgo d test1 table public.test1 column type modifiers id integer name character varying highgo alter table test1 add addr varchar 20 al...

hive array基本操作 建表 查詢 修改

資料準備 cat root person.txt zhangsan beijing,shanghai,tianjin,hangzhou lisi changchu,chengdu,wuhan建立表 create table users name string,worklocations array ...