一个用户若想新建一个表,通常先新建一个模式(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;而后再次查看基本表: