SQL语句整理(二) 数据定义语言DDL
前言:
这是我学数据库时整理的学习资料,基本上包括了所以的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的更多相关文章
- MySQL之数据定义语言(DDL)
写在前面 本文中 [ 内容 ] 代表啊可选项,即可写可不写. SQL语言的基本功能介绍 SQL是一种结构化查询语言,主要有如下几个功能: 数据定义语言(DDL):全称Data Definition L ...
- ODPS SQL <for 数据定义语言 DDL>
数据定义语言:(DDL) 建表语句: CREATE TABLE [IF NOT EXISTS] table_name [(col_name data_type [COMMENT col_comment ...
- <MySQL>入门三 数据定义语言 DDL
-- DDL 数据定义语言 /* 库和表的管理 一.库的管理:创建.修改.删除 二.表的管理:创建.修改.删除 创建:create 修改:alter 删除:drop */ 1.库的管理 -- 库的管理 ...
- 30441数据定义语言DDL
数据定义:指对数据库对象的定义.删除和修改操作. 数据库对象主要包括数据表.视图.索引等. 数据定义功能通过CREATE.ALTER.DROP语句来完成. 按照操作对象分类来介绍数据定义的SQL语法. ...
- SQLite基础-4.数据定义语言(DDL)
目录 一.创建数据库 1. 创建方式 2. 数据库命名规范 二. 创建表 1. 基本用法 2. 数据表命名规范 3. 字段命名规范 三. 删除表 一.创建数据库 1. 创建方式 在第二章中我们讲了如何 ...
- oracle 数据定义语言(DDL)语法
DDL语言包括数据库对象的创建(create).删除(drop)和修改(alter)的操作 1.创建表语法 create table table_name( column_name datatype ...
- 【MySQL笔记】数据定义语言DDL
1.创建基本表 create table <表名> (<列名><数据类型>[列级完整性约束条件] ...
- SQL语句汇总(二)——数据修改、数据查询
首先创建一张表如下,创建表的方法在上篇介绍过了,这里就不再赘述. 添加新数据: INSERT INTO <表名> (<列名列表>) VALUES (<值列表>) ...
- mysql数据库-mysql数据定义语言DDL (Data Definition Language)归类(六)
0x01 创建数据库并指定字符集和排序规则 -- 三种实例写法 create database temptab2 character set utf8 collate utf8_general_ci; ...
随机推荐
- Notepad++给自己打造一款PowerQuery M语言编辑器【转】
Excel 使用Notepad++给自己打造一款PowerQuery M语言编辑器 Excel 使用Notepad++给自己打造一款PowerQuery M语言编辑器-Power BI-ExcelHo ...
- 点击按钮添加一行,和本行的删除功能,序号变动,name属性更改
<!--html结构--> <div> <input type="button" value="添加一行" onclick=&qu ...
- 使用Pytesseract+Tesseract-OCR识别图片的简单步骤
1.首先安装Pytesseract,这个很简单,直接输入命令 pip install pytesseract即可 2.Tesseract-OCR https://pan.baidu.com/s/1sV ...
- redis 学习笔记(一)
redis 基本类型 String 基本操作: GET 获取存储在给定键中的值 SET 设置存储在给定键中的值 DEL 删除存储在给定键中的值 List 基本操作: LPUSH/RPUSH 从左/右推 ...
- 分享自建的 Jrebel License Server 激活 Jrebel
使用在线验证服务器激活 Jrebel 与 Idea 说明 代码来自于开源项目: gsls200808 / JrebelLicenseServerforJava 自建的服务地址 http://jrebe ...
- React第一篇: 搭建React + nodejs + express框架
前提: 需要安装Node.js (>6)版本 1.cmd进到本地某个目录, 逐行输入以下指令(以下括号为注释) npm install -g create-react-app (全局安装cr ...
- PHP 五大运行模式
查看当前php 运行模式 php_sapi_name(); 运行模式 关于PHP目前比较常见的五大运行模式: 1)CGI(通用网关接口/ Common Gateway Interface) 2)Fas ...
- makedown学习笔记(以后可能会用makedown写博客)
学习手册 https://www.zybuluo.com/mdeditor?url=https%3A%2F%2Fwww.zybuluo.com%2Fstatic%2Feditor%2Fmd-help. ...
- python 封装,隐藏属性,绑定方法classmethod和staticmethod
[封装] 隐藏对象的属性和实现细节,仅对外提供公共访问方式. [好处] 1. 将变化隔离: 2. 便于使用: 3. 提高复用性: 4. 提高安全性: [封装原则] 1. 将不需要对外提供的内容都隐藏起 ...
- iis+php(FastCGI)
1. 安装 IIS 时选择添加 CGI 功能 2. 安装 PHP, 2.1 下载 nts 版本 (非线程安全版本) zip 压缩包,下载对应的 vc++ 运行时(php官网下载页面左侧有下载链接) 2 ...