【数据库系统概论】第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 数据字典

相关推荐
2401_85049165几秒前
如何处理SQL注入敏感源_记录所有不安全的SQL请求
jvm·数据库·python
彳亍101几秒前
如何防御SQL注入的SQL畸形查询_利用语法分析器检测
jvm·数据库·python
m0_741481782 分钟前
如何使用 AWS Lambda 和 Python 获取 EMR 集群的标签列表
jvm·数据库·python
m0_690825823 分钟前
宝塔面板如何检查服务器安全风险_运行宝塔安全扫描功能
jvm·数据库·python
刘~浪地球4 分钟前
MongoDB入门与安装配置:开启NoSQL数据库之旅
数据库·mongodb·nosql
2301_7950997410 分钟前
c++怎么在Linux下通过文件描述符获取详细的Inode节点信息【底层】
jvm·数据库·python
阿正呀12 分钟前
Bootstrap与Vite打包 Bootstrap项目如何使用Vite构建
jvm·数据库·python
m0_5967490914 分钟前
Python编写Flask接口如何防止爬虫抓取_使用User-Agent与频率限制
jvm·数据库·python
神明93115 分钟前
c++如何判断一个路径是否是符号链接_is_symlink函数用法【附代码】
jvm·数据库·python
神明93118 分钟前
如何实现SQL存储过程动态排序_配合参数过滤与排序逻辑
jvm·数据库·python