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;