【数据库系统概论】第3章-关系数据库标准语言SQL(1)

文章目录

    • [3.1 SQL概述](#3.1 SQL概述)
    • [3.2 学生-课程数据库](#3.2 学生-课程数据库)
    • [3.3 数据定义](#3.3 数据定义)
      • [3.3.1 数据库定义](#3.3.1 数据库定义)
      • [3.3.2 模式的定义](#3.3.2 模式的定义)
      • [3.3.3 基本表的定义](#3.3.3 基本表的定义)
      • [3.3.4 索引的建立与删除](#3.3.4 索引的建立与删除)
      • [3.3.5 数据字典](#3.3.5 数据字典)

3.1 SQL概述

  • 动词
  • 分类
  • 三级模式

3.2 学生-课程数据库

3.3 数据定义

3.3.1 数据库定义

  1. 创建数据库

    tips: 表示可选,<>表示必选
    举例:

  2. 修改数据库

    举例:

  3. 删除数据库

    Drop database mydb

  4. 打开数据库

    use mydb

例题:先判断数据库存在再删除

sql 复制代码
use master
go
if exists(select * from sysdatabases
			where name = 'mydb')
drop database mydb

3.3.2 模式的定义

模式(SCHEMA)相当于一个namespace,可定义该模式下的其他的数据库对象:基本表,视图,索引等,防止不同用户命名冲突。

  1. 创建

    举例:zhang后面没 ;
  2. 删除

3.3.3 基本表的定义

  1. 创建

  2. 约束
  3. 修改

  4. 删除
  5. 模式与表

3.3.4 索引的建立与删除

建立索引的目的:加快查询速度。按列取值的不可重复性(包括NULL)分为唯一索引(unique index)和一般索引(index)。其中聚簇索引是唯一的,且只有一个;非聚簇索引可以是唯一的,也可以是不唯一的,可有多个。
详细索引介绍

  1. 创建
sql 复制代码
create clustered index Stusno on Student(sno)  // 默认升序索引
create unique index Stusno on Student(sno)
create index Stuson Stusno on Student(sno desc)
  1. 修改
sql 复制代码
alter index old_name rename to new_name
  1. 删除
sql 复制代码
drop index Stusname

3.3.5 数据字典

相关推荐
ClouGence19 小时前
Oracle 数据同步为什么会出现数据不一致?长事务是常被忽略的原因
数据库·后端·oracle
飞将1 天前
从零实现数据库(2)——HashIndex + IndexManager
数据库
Nturmoils2 天前
订单列表慢查询,先看 WHERE、ORDER BY 和 LIMIT
数据库
渣波2 天前
拒绝 SQL 焦虑!手把手带你用 NestJS + Prisma + DTO 写出“防弹”级后端代码
javascript·数据库·后端
倔强的石头_3 天前
KingbaseES 新版MySQL 兼容版体验:旧版迁移 + 功能实测
数据库
zzzzzz3104 天前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql
倔强的石头_6 天前
《Kingbase护城河》——数据库存储空间全景探测与精细化瘦身实战
数据库
云技纵横6 天前
唯一索引 INSERT 死锁实战:5 秒复现交叉插入的 S 锁循环等待
sql·mysql
冬奇Lab6 天前
每日一个开源项目(第134篇):Zvec - 阿里开源的嵌入式向量数据库,向量搜索界的 SQLite
数据库·人工智能·llm
ClouGence7 天前
Oracle CDC 架构优化:从主库直连到 DataGuard 备库同步
数据库·后端·oracle