一個用戶若想新建一個表,通常先新建一個模式(schema),讓表做用在模式以內,新建模式的寫法爲: 數據庫
create schema <模式名>,例如要新建一個名爲 s_sc_c 的模式那麼咱們寫 create schema s_sc_c; spa
咱們再次輸入 show databases;能夠看到 database裏多了一個 咱們新建的模式 rest
咱們能夠在新建一個模式用來刪除 輸入 create schema textdrop; 對象
若是咱們要刪除textdrop的話 能夠使用語句 drop schema textdrop; 索引
須要注意的是,drop對應了兩種刪除 table
一、cascade(級聯方式),則當刪除數據庫模式時,該數據庫模式連同其下屬的基本表、試圖、索引等所有都刪除 數據類型
二、restrict(約束方式),則當刪除數據庫模式時,只有該數據庫模式下屬的模式對象:基本表,試圖,索引等都被刪除 方法
eg:drop schema textdrop cascade;(不寫方式時,默認爲cascade) im
咱們如今刪除textdrop,輸入:drop schema textdrop ;再輸入 show databases; 數據
能夠看到 textdrop 不見了
如今在s_sc_c模式上 新建幾個基本表;
新建基本表的方法爲 :
create table <模式名>.<表名>(<列名1> <數據類型> [列完整性約束],<列名2> <數據類型> [列完整性約束],...,<表完整性約束>);
下面新建幾個基本表
create table s_sc_c.student (snumber char(10),sname char(20) not null,sex char(8),age int,dept char(20),primary key (snumber));
其中 not null 規定了sname不容許爲空值,primary key 定義了表的主鍵爲 snumber ,這裏primary key能夠在屬性的後面寫,做爲列級完整性約束,也能夠在屬性以後寫,做爲表級完整性約束。
create table s_sc_c.course(cnumber char(5) primary key,cname char(20) not null,teacher char(20));
create table s_sc_c.sc (snumber char(10),cnumber char(5),grade int,primary key (snumber,cnumber),foreign key (snumber) references student(snumber),foreign key (cnumber) references course(cnumber));
foreign key (snumber) references student(snumber),表示snumber是外鍵,這個外鍵來自student表裏的主鍵snumber。
create table s_sc_c.text(name char(10),address char(20));
這時輸入 show tables 查看 s_sc_c裏的基本表時,看到四個表
將text 表刪除,輸入 drop table text;而後再次查看基本表: