1. 程式人生 > >SQL語句(1)

SQL語句(1)

1、建表及插入資料

Student表:

create table Student(Sno char(9) primary key, Sname char(20) unique, Ssex char(2),Ssage smallint , Sdept char(20));

Course表:

create table Course (Cno char(4) primary key , Cname char(40) not null , Cpno char(4), Ccredit smallint );

SC表:

create table SC (Sno char(9), Cno char(4), Grade smallint , primary key(Sno,Cno));

2、SQL

2.1 、 模式的定義與刪除

2.1.1、定義模式

create  schema <模式名> authorization <使用者名稱>;

【例 1】為使用者WANG定義一個學生-課程模式

create  schema "S-T" authorization WANG;

2.1.2、刪除模式

drop schema <模式名> <cascade| restrict>;

cascade表示級聯刪除 ,在刪除模式時同時把該模式中的所有資料庫物件全部刪除。選擇restrict ,表示如果該模式中已經定義了下屬資料庫物件,則拒絕刪除。

【例 2】drop schema ZHANG cascade;

2.2、基本表的定義、刪除與修改

2.2.1 定義基本表

create table <表名>(<列名><資料型別>[列級完整性約束條件][,<列名><資料型別>[列級完整性約束條件]]

[表級完整性約束條件]);

【例3】建立一個學生表:student

create table student (Sno char(9) primary key, Sname char(20) unique , Ssex cahr(2));

2.2.2、修改基本表

alter table <表名> [add [column]<新列名><資料型別>[完整性約束]」 [add<表級完整性約束>] [DROP [COLUMN] <列名>[CASCADE |RESTRICT]] [drop constraint<完整性約束名>[CASCADE |RESTRICT]] [alter column<列名><資料型別>]

其中<表名>是要修改的基本表,ADD子句用於增加新列、新的列級完整性約束條件和新的表級完整性約束條件。drop column子句

用於刪除表中的列,如果指定了cascade短語,則自動刪除引用了該列的其他物件,比如檢視:如果指定了RESTRCT短語,則如果該列

被其他物件引用,RDBMS將拒絕刪除該列。DROP CONSTRAINT子句用於刪除指定的完整性約束條件。ALTER COLUMN子句用

於修改原有的列定義,包括修改列名和資料型別。

【例4】向Student表中增加 入學時間 列,起資料型別為日期型

alter table Student add S_entrance date;

[例5] 將年齡由資料型別由字元型改為整型

alter table Student alter Sage int;

2.2.3、刪除基本表

一般格式:DROP TABLE <表名> [RESTRICT|CASCADE];

restrict:限制刪除,如果定義在該基本表上有檢視,觸發器,引用……此表不能被刪除

cascade:級聯刪除,刪除表的同時,刪除定義在該表上的所有依賴關係。

【例6】刪除Student表

drop table Student cascade;