数据库操做—数据定义

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

相关文章
相关标签/搜索