前言

  最近对写博客产生了兴趣,我认为这是一种整理所学所的有效方式,整理下来也能给自己一点成就感。Java没啥可整理的,网上大神很多,数模以后再说,算法的话看看有没有空吧,总之先从数据库开始。

  


正文

  一个数据库管理系统的实例中,可以建立多个数据库,一个数据库可以建立多个模式,一个模式下通常包括多个表、视图和索引等数据对象。

【数据库】一、数据定义(数据库,模式,表等)

  不过一般在开发中几乎不用模式这个东西,基本上都是直接建数据库,然后再直接建表。


一、模式的定义与删除

定义:  CREATE SCHEMA<模式名>AUTHORIZATION<用户名>

例: CREATE SCHEMA  "S-T" AUTHORIZATION WANG

注:若没有指定<模式名> 默认用户名WANG


删除:DROP SCHEMA <模式名> <CASCADE|RESTRICT>

  CASCADE:级联,表示与此相关的都删除,相当于抄家灭口。

 RESTRICT:只有该模式下没有任何关联的东西才能删除,这个比较仁慈,会网开一面。


模式没什么好讲的,也不怎么用,这个东西偏学术。


二、基本表的定义、删除与修改

1.定义基本表

  定义基本格式:

CREATE TABLE <表名> (

<列名><数据类型>[列即完整性约束条件],

<列名><数据类型>[列即完整性约束条件],

......

例子:

CREATE TABLE Course (

Sno CHAR(9) PRIMARY KEY,

Sname CHAR(20) UNIQUE,

Ssex CHAR(2),

Sage SMALLINT,

);


2.模式与表

三个方法,将表定义在指定的模式下。


方法一:在表名中明显的给出模式名

CREATE TABLE "S-T".Student(...)

模式:  "S-T"

表名:Student


方法二:在创建模式时创建表

CREATE SCHEMA  "S-T" AUTHORIZATION WANG;

CREATE TABLE Student(...);


方法三:设置所属的模式

用户创建表时,默认的是$User,PUBLIC

即先搜索与用户名相同的模式名,如果没有,默认为PUBLIC模式


所以在建表前,需要先设置模式

SET search_path TO "S-T",PUBLIC 

然后再建的表就会在“S-T”模式下


3.修改基本表

定义:

ALERT TABLE <表名>

[ADD <列名><数据类型>]   增加列

[DROP <列名> ]        删除列

[ALERT COLUMN <列名> <数据类型>]        修改列


4.删除表

DROP TABLE Student CASCADE;



关于索引等建立不在此多说。

相关文章:

  • 2022-12-23
  • 2021-11-03
  • 2021-11-03
  • 2021-11-18
  • 2021-08-26
  • 2021-11-14
  • 2021-05-18
猜你喜欢
  • 2021-11-21
  • 2021-11-03
  • 2021-11-03
  • 2022-12-23
  • 2021-12-28
  • 2022-12-23
  • 2021-07-25
相关资源
相似解决方案