前言:

这是我学数据库时整理的学习资料,基本上包括了所以的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. 04day->python列表和元祖

    一.列表 1.索引.切片     索引:根据索引值获取,里表里的值     切片:和字符串相似 2.增     1)append(object),在列表的末端添加     2)insert(index ...

  2. BZOJ - 2741 分块维护最大连续异或和

    题意:给定\(a[l...r]\),多次询问区间\([l,r]\)中的最大连续异或和\(a_i⊕a_{i+1}⊕...⊕a_{j},l≤i≤j≤r\) 一眼过去认为是不可做的,但题目给出\(n=1.2 ...

  3. 线性代数与simplex

    线性方程组: \(i:1-n\) \(j:1-m\) \({\begin{cases}a_{11}x_1+a_{12}x_2+a_{13}x_3+\cdots+a_{1n}x_n=b_1\\a_{21 ...

  4. 在MonoGame中SetRenderTarget会把后备缓冲区清除的解决方法

    在MonoGame中SetRenderTarget会把后备缓冲区清除的解决方法: 在构造函数中添加事件:graphics.PreparingDeviceSettings += Graphics_Pre ...

  5. OPPO R11s在哪里打开Usb调试模式的简单方法

    就在我们使用pc链接安卓手机的时候,如果手机没有开启usb调试模式,pc则不能够成功读到我们的手机,如果遇到此情况我们需要找方法将手机的usb调试模式打开,本文我们记录一下OPPO R11s如何开启u ...

  6. vue html页面打印功能vue-print

    vue项目中,HTML页面打印功能.在项目中,有时需要打印页面的表格, 在网上找了一个打印组件vue-print-nb 使用方式 安装 npm install vue-print-nb --save ...

  7. PCB中的SOLD MASK和阻抗开窗

    应用场合:1 PCB中的贴片的焊盘是不过油的,需要暴露出来用于焊接:对于电机驱动需要大电流的走线需要将走线保留暴露出来不过油,然后在上面走一层锡,增大锡箔,铜箔厚度,增大过流和防过热能力. 方法:先在 ...

  8. 【爬虫】-爬取猫眼TOP100

    原文崔庆才<python3网络爬虫实战> 本文为自学记录,如有侵权,请联系删除 目标: 熟悉正则表达式,以及爬虫流程 获取猫眼TOP100榜单 1.网站分析 目标站点为http://www ...

  9. Delphi对话框初始地址InitialDir

    我的电脑:SaveDialog1.InitialDir := '::{20D04FE0-3AEA-1069-A2D8-08002B30309D}';// My Computer {20D04FE0-3 ...

  10. Spark on YARN模式的安装(spark-1.6.1-bin-hadoop2.6.tgz + hadoop-2.6.0.tar.gz)(master、slave1和slave2)(博主推荐)

    说白了 Spark on YARN模式的安装,它是非常的简单,只需要下载编译好Spark安装包,在一台带有Hadoop YARN客户端的的机器上运行即可.  Spark on YARN简介与运行wor ...