数据定义语言DDL - 视图索引

视图是虚拟表,主要用于方便使用和安全性,如:

  • 按照条件筛选和过滤行
  • 保护敏感数据
  • 降低复杂程度
  • 抽象逻辑数据库

在使用视图时需要注意:

  • 视图中可以包含多张表
  • 视图可以基于视图再次创建
  • 视图也允许增删改
  • 如果排序ORDER BY,则必须使用TOP关键字
  • 不能出现INTO关键字
  • 不能出现变量

创建视图的语法

create view view_detail
as
    select
        g.id as gid, g.name as gname,
        c.id as cid, c.name as cname
    from
        grade g, corse c
        where g.id = c.gradeid
go
create view view_report
as
    select
        gid, count(1) as corseNum
    from view_detail
    group by gid
go

索引是用于提高查询效率的技术,主要有主键索引(自动成为聚集索引)、唯一索引(不允许重复)、聚集索引(一张表只能有一个)、非聚集索引等

创建索引的语句

create nonclustered index idx_studentname on student (name) with fillfactor = 30

其中,fillfactor是填充因子,默认30%

显示指定索引的语句是:

select * from student
with(index=idx_studentname)
where name like ‘%s%‘

创建索引的一些指导原则:

频繁查找的字段

经常作为查询条件的字段

经常排序或者分组的字段

经常作为联接(主外键)的字段

在出现下列情况时,一般不需要创建索引,否则会影响执行效率

表中数据比较少

表中字段有固定选项

时间: 2024-12-24 03:58:24

数据定义语言DDL - 视图索引的相关文章

mysql学习笔记之六(数据定义语言DDL)

SQL语言包括四类种主要程序设计语言类别的语句:数据定义语言(DDL),数据操作语言(DML)及数据控制语言(DCL)还有事务控制语言(TCL). ※  数据定义语言(DDL),例如:CREATE.DROP.ALTER等语句. ※  数据操作语言(DML),例如:INSERT(插入).UPDATE(修改).DELETE(删除)语句. ※  数据查询语言(DQL),例如:SELECT语句.(一般不会单独归于一类,因为只有一个语句). ※  数据控制语言(DCL),例如:GRANT.REVOKE等语

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

1.创建基本表 create table <表名> (<列名><数据类型>[列级完整性约束条件] [,<列名><数据类型>[列级完整性约束条件] ......... [,<表级完整性约束条件>]); 例: create table student( Sno char(5) not null unique, Sname char(20) unique, Ssex char(1), Sage int, Sdept char(15) );

数据定义语言DDL - 建库建表

数据库文件构成:主文件(MDF).次要文件(NDF).日志文件(LDF) 其中主文件和日志文件是必须的,次要文件可以有多个(存放在不同分区以提高速度),也可以没有 创建数据库文件主要用到5个属性: name.filename.size.maxsize.filegrowth use master go if exists (select * from sysdatabases where name='db') drop database db go create database db on pr

DDL(数据定义语言)

1.Oracle中常见的数据类型分类:(A) 1.number(x,y) 数字类型,x表示最大长度,y表示精度对应java中除char外所有基本数据类型(byte.short.int.long.float.double.boolean) 2.varchar2(x) 可变字符串,x表示最大长度.对应java中String 3.char(x) 定长字符串,x表示最大长度. 对应java中String 4.long 长字符串,最大2G.对应java中String 5.Date,日期(年月日时分秒)对应

DDL(Data Definition Language)数据定义语言基础

数据定义语言DDL(Data Definition Language)是SQL语言的三个主要组成部分之一(另外两个分别是数据操作语言DML(Data Mainpulation Language)和数据控制语言(Data Control Language)). 1:创建用户Create User 创建用户使用如下的语法 Create user 用户名 identified by 密码 [default tablespace 缺省表空间] [temporary tablespace 临时表空间].如

oracle sql 基础(四):数据定义语言(创建和管理表、视图)

数据定义语言 (Data Definition Language, DDL) 是SQL语言集中负责数据结构定义与数据库对象定义的语言,由CREATE.ALTER与DROP三个语法所组成.数据库对象包括表.视图.索引.同义词.序列等(TABLE/VIEW/INDEX/SYN/SEQUENCE).我们先对创建和管理表和视图进行一个介绍. 一.创建和管理表 数据表是数据库中一个非常重要的对象,是其他对象的基础.可分为用户表和数据字典两类. 1.创建表(CREATE TABLE) CREATE TABL

ddl(数据定义语言) ,dml (数据操控语言),dcl(数据控制语言)

DDL.DML和DCL的理解 1.DDL 1-1.DDL的概述 DDL(Data Definition Language 数据定义语言)用于操作对象和对象的属性,这种对象包括数据库本身,以及数据库对象,像:表.视图等等,DDL对这些对象和属性的管理和定义具体表现在Create.Drop和Alter上.特别注意:DDL操作的"对象"的概念,"对象"包括对象及对象的属性,而且对象最小也比记录大个层次.以表举例:Create创建数据表,Alter可以更改该表的字段,Dro

Hive 官方手册翻译 -- Hive DDL(数据定义语言)

Hive DDL(数据定义语言) Confluence Administrator创建, Janaki Lahorani修改于 2018年9月19日 原文链接 https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL 翻译:Google Google翻译,金山软件 金山词霸 校对:南大通用 范振勇 (2018.9.26) 一.概述 这里是HiveQL DDL语句的文档,其中包括: CREATE 数据库/SCHEMA,表

mysql学习一 DDL(数据定义语言)

一.mysql的具体安装这里就不多说了,网上有很多.大家可以在网上找找,有安装版本和压缩版本. 二.验证数据库是否安装成功: 在dos的命令行下面输入:mysql -u root -p(默认的是直接回车就可以了,如果你没有设置密码) 如果你设置了密码就得输入密码 就会登录上mysql,有mysql的提示信息. 三.DDL:数据定义语言 简述:什么是DDL呢?Data Definition Language(数据定义语言):我们知道是什么了,接下来应该了解它有什么作用吧?我想我们学习很多东西的时候