数据定义功能

对象 创建 修改 删除
架构 CREATE SCHEMA DROP SCHEMA
CREATE TABLE ALTER TABLE DROP TABLE
视图 CREATE VIEW ALTER VIEW DROP VIEW
索引 CREATE INDEX ALTER INDEX DROP INDEX

说明:

  • 方括号 [ ] 中的内容表示可选的(即可出现0次或1次)

  • 花括号 { } 与省略号…一起,表示其中的内容可以出现0次或多次。

  • 竖杠 | 表示在多个选项中选择一个

1. 定义架构

架构(schema,也称为模式)是数据库下的一个逻辑命名空间。

CREATE SCHEMA {
<架构名>
| AUTHORIZATION <所有者名>
| <架构名> AUTHORIZATION <所有者名>
} [{ 表定义语句 | 视图定义语句 | 授权语句 | 收权语句 | 拒绝权限语句 }]

2. 删除架构

DROP SCHEMA <架构名> { <CASCADE> | <RESTRICT> }

CASCADE:删除架构的同时将该架构中所有的对象一起删除。

RESTRICT:如果被删除的架构中包含对象,则拒绝删除此架构。

3. 定义表

CREATE TABLE [<架构名>.]<表名>(
<列名> <数据类型> [列级完整性约束定义]
{, <列名> <数据类型> [列级完整性约束定义] … }
[, 表级完整性约束定义 ]

在列级完整性约束定义处可定义的约束:

  • NOT NULL:限制列取值非空。

  • DEFAULT:给定列的默认值。

  • UNIQUE:限制列取值不重。

  • CHECK:限制列的取值范围。

  • PRIMARY KEY:指定本列为主键。

  • FOREIGN KEY:定义本列为引用其他表的外键。

[ FOREIGN KEY (<列名>) ] REFERENCES <外表名>(<外表列名>)

4. 修改表结构

ALTER TABLE [<架构名>.]<表名> {
ALTER COLUMN <列名> <新数据类型>
| ADD <列名> <数据类型> [约束]
| DROP COLUMN <列名>
| ADD [constraint <约束名>] 约束定义
| DROP [constraint] <约束名>
}

5. 删除表

DROP TABLE <表名> {,<表名>}

6. 定义视图

CREATE VIEW <视图名> [ ( 列名 [, …] ) ]
AS
SELSECT 语句

7. 修改视图

ALTER VIEW <视图名> [ ( 列名 [, …] ) ]
AS
SELSECT 语句

8. 删除视图

DROP VIEW <视图名>

9. 创建索引

CREATE [UNIQUE] [ CLUSTERED | NONCLUSTERED ]
INDEX <索引名> ON <表名> ( 列名 [, …] )

10. 删除索引

DROP INDEX <表名>.<索引名>

最新文章

  1. JavaScript自定义浏览器滚动条兼容IE、 火狐和chrome
  2. 【VC++技术杂谈004】使用微软TTS语音引擎实现文本朗读
  3. CSS3实现圆形进度条
  4. gSOAP MTOM
  5. canvas 时钟+自由落体
  6. 2.python的变量与赋值
  7. [转载] extern &quot;C&quot;的用法解析
  8. 运营总监招聘-e袋洗招聘-拉勾网
  9. 【转】Hibernate和IBatis对比
  10. vue以及js的一些坑或常用技巧
  11. Linux下载_Linux系统各种版本ISO镜像下载(redhat,centos,oracle,ubuntu,openSUSE)
  12. R语言读取EXCEL文件的各种方法
  13. webservice学习教程(三)--
  14. C++函数指针与指针函数干货
  15. [angularjs] angularjs系列笔记(五)Service
  16. python eric6 IDE
  17. 【Alpha版本】冲刺阶段——Day5
  18. Python3虚拟环境安装:virtualenv、virtualenvwralpper
  19. 34、iOS App图标和启动画面尺寸
  20. 28-hadoop-hbase入门小程序

热门文章

  1. iOS开发者两分钟学会用GitHub在Mac上托管代码的两种方法
  2. 当你启动Redis的时候,Redis做了什么
  3. 对象方法、类方法、原型方法 &amp;&amp; 私有属性、公有属性、公有静态属性
  4. 你自认为理解了JavaScript?【转】
  5. feign hystrix 线程池伸缩控制
  6. 代码合并:Merge、Rebase 的选择
  7. nodejs安装express以后,使用express显示不是内部或外部命令
  8. python基础===中文手册,可查询各个模块
  9. Python 如何将字符串转为字典
  10. swift中闭包的循环引用