前言:

这是我学数据库时整理的学习资料,基本上包括了所以的SQL语句的知识点。

我的教材是人大王珊老师的《数据库系统概论》。

因为是手打的,所以会用一些细节打错了,但都挺明显也不多(考完试后我也没有继续整理)。

1. 模式 SCHEMA

CREATE SCEMA <模式名> AUTHORIZATION <用户名>;

eg:

CREATE SCEMA"S-T" AUTHORIZATION WANG;

Note:

用户可以在定义模式的同时创建基本表、视图,定义授权:

CREATE SCHEMA<模式名> AUTHORIZATION <用户名> [<表定义子句>|

<视图定义子句>|<授权定义子句>];

eg:

CREATE SCHEMA TEST AUTHORIZATION ZHANG

CREATE TABLE TAB1

( COL1 SMALLINT,

COL2 INT,

COL3 CHAR(20),

COL4 NUMERIC(10,3),

COL5 DECIMAL(5,2)

);

DROP SCHEMA <模式名> <CASCADE|RESTRICT>;

eg:

DROP SCHEMA ZHANG CASCADE;

Note:

CASCADE --> 级联 --> 连带将模式中的数据库对象都删除

RESTRICT -> 限制 --> 有下属数据库对象时,不删除

2. 表 TABLE

CREATE TABLE <表名> (<列名> <数据类型> [列级完整性约束条件]

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

                          ...

                         [,<表级约束条件>]);

eg:

CREATE TABLE Course

( Cno CHAR(4) PRIMARY KEY,

Cname CHAR(20) UNIQUE,

Cpno CHAR(4),

Ccredit SMALLINT,

FOREIGN KEY (Cpn) REFERENCES Course(Cno)

);

Note:

1.PRIMARY KEY (Sno,Cno)

2.UNIQUE(Cname)

3.“主码”同时也可以是“外码”

4.“数据类型”见 P83

5.定义“表”所属“模式”:

显示给出模式名:

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

显示当前搜索路径:

SHOW searched_path;

默认值:$user,PUBLIC

数据库管理员设置搜索路径:

SET searched_path TO "S-T",PUBLIC;

DROP TABLE <表名> <CASCADE|RESTRICT>;

Note:
 1.CASCADE --> 级联 --> 连带将模式中的数据库对象都删除
    RESTRICT -> 限制 --> 有下属数据库对象时,不删除
 2.默认:RESTRICT

ALTER TABLE <表名>
[ ADD [COLUMN] <新列名> <数据类型> [完整性约束] ]
[ ADD <表级完整性约束> ]
[ DROP [COLUMN] <列明> <CASCADE|RESTRICT> ]
[ DROP CONSTRAINR <完整性约束名> [RESTRICT|CASCADE] ]
[ ALTER COLUMN <列名> <数据类型> ];

Note:
DROP [COLUMN] <列名> <CASCADE|RESTRICT> 中:
CASCADE --> 自动删除引用了该列的其它对象,如视图
RESTRICT -> 如果该列被其它对象引用,则不删除

3. 视图 VIEW

CREATE VIEW <视图名> [<列名>[,<列名>]...]
AS
<子查询>
[ WITH CHECK OPTION ];

eg:

CREATE VIEW IS_S1(Sno,Sname,Grade)

AS

SELECT Student.Sno,Sname,Grade

FROM Student.SC

WHERE Sdept='IS'

AND Student.Sno=SC.sno

AND SC.Cno='1';

Note:

1.WITH CHECK OPTION --> 对视图进行数据操纵(UPDATE、INSERT、DELETE)

操作时要保证更新、插入、删除的行满足视图定义中<子查询>表达式

2.属性列名要么全指定,要么全省略

省略时默认由<子查询>中各个列的诸字段组成

以下3种情况必须显示指出视图的所有列名:

1) <子查询>中对应的列名是聚集函数或列表达式

2) 多表连接时,选出的视图字段在多个表中是同名字段

3) 需要在视图中为该列启用新的名字

DROP VIEW <视图名> [CASCADE];

eg:

DROP VIEW IS_S1 CASCADE;

Note:

CASCADE --> 级联 --> 将由该视图导出的所有视图都删除

SQL语句整理(二) 数据定义语言DDL的更多相关文章

  1. MySQL之数据定义语言(DDL)

    写在前面 本文中 [ 内容 ] 代表啊可选项,即可写可不写. SQL语言的基本功能介绍 SQL是一种结构化查询语言,主要有如下几个功能: 数据定义语言(DDL):全称Data Definition L ...

  2. ODPS SQL <for 数据定义语言 DDL>

    数据定义语言:(DDL) 建表语句: CREATE TABLE [IF NOT EXISTS] table_name [(col_name data_type [COMMENT col_comment ...

  3. <MySQL>入门三 数据定义语言 DDL

    -- DDL 数据定义语言 /* 库和表的管理 一.库的管理:创建.修改.删除 二.表的管理:创建.修改.删除 创建:create 修改:alter 删除:drop */ 1.库的管理 -- 库的管理 ...

  4. 30441数据定义语言DDL

    数据定义:指对数据库对象的定义.删除和修改操作. 数据库对象主要包括数据表.视图.索引等. 数据定义功能通过CREATE.ALTER.DROP语句来完成. 按照操作对象分类来介绍数据定义的SQL语法. ...

  5. SQLite基础-4.数据定义语言(DDL)

    目录 一.创建数据库 1. 创建方式 2. 数据库命名规范 二. 创建表 1. 基本用法 2. 数据表命名规范 3. 字段命名规范 三. 删除表 一.创建数据库 1. 创建方式 在第二章中我们讲了如何 ...

  6. oracle 数据定义语言(DDL)语法

    DDL语言包括数据库对象的创建(create).删除(drop)和修改(alter)的操作 1.创建表语法 create table table_name( column_name datatype  ...

  7. 【MySQL笔记】数据定义语言DDL

    1.创建基本表   create table <表名> (<列名><数据类型>[列级完整性约束条件]                                 ...

  8. SQL语句汇总(二)——数据修改、数据查询

    首先创建一张表如下,创建表的方法在上篇介绍过了,这里就不再赘述. 添加新数据: INSERT INTO <表名> (<列名列表>) VALUES (<值列表>)  ...

  9. mysql数据库-mysql数据定义语言DDL (Data Definition Language)归类(六)

    0x01 创建数据库并指定字符集和排序规则 -- 三种实例写法 create database temptab2 character set utf8 collate utf8_general_ci; ...

随机推荐

  1. UIScrollView笔记

    UIScrollView必须知道它的contentsize 这就是为啥TableView的row的height必须被计算,即使那些row还没有出现在屏幕. The scroll view must k ...

  2. P1642 规划 01分数规划+树形DP

    $ \color{#0066ff}{ 题目描述 }$ 某地方有N个工厂,有N-1条路连接它们,且它们两两都可达.每个工厂都有一个产量值和一个污染值.现在工厂要进行规划,拆除其中的M个工厂,使得剩下的工 ...

  3. Netty 5 获取客户端IP(非HTTP)

    使用Netty 5.0.0.Alpha2时,想知道客户端的ip以区分客户端,发现网上都是通过解析HTTP头域完成的,这里提供一种比较简单的方法. System.out.println("Cl ...

  4. 01迷宫 BFS

    题目描述 有一个仅由数字000与111组成的n×nn \times nn×n格迷宫.若你位于一格0上,那么你可以移动到相邻444格中的某一格111上,同样若你位于一格1上,那么你可以移动到相邻444格 ...

  5. Schema Workbench 启动慢

    原始是JDBC连接设定的时候需要在参数中增加下列选项 FILTER_SCHEMA_LIST 官方的解释是 就是去搜寻连接数据库的所有的表结构,表越大越慢. 也要把这选项去除,保存数据库链接,并重新登录 ...

  6. JS 与 OC 交互

    WebView与JS的几种交互 IOS中 使用JavaScriptCore 实现OC与JS的交互 JavaScriptCore 使用

  7. 故障排查-linux命令测试端口连通性

    方法一:telnet法 预置条件:安装telnet step 1.rpm -qa telnet-server(无输出表示telnet-server未安装,则执行step2:否则执行step3) ste ...

  8. ZOJ - 3946-Highway Project(最短路变形+优先队列优化)

    Edward, the emperor of the Marjar Empire, wants to build some bidirectional highways so that he can ...

  9. 2019 CCPC-Wannafly Winter Camp Day7(Div2, onsite)

    solve 6/11 补题: A.迷宫 Code:zz Thinking:zz kk 把每个节点的深度都处理出来,同一深度的点的冲突度为 (x-1),x为同层次点数减一. 然后冲突度不断下传(冲突度为 ...

  10. watch深度监测

    假设有如下代码: <div> <p>FullName: {{fullName}}</p> <p>FirstName: <input type=&q ...