数据库的基本结构定义、常用的完整性约束、集合运算、约束、连接、嵌套查询、数据修改、视图

本文详细介绍了SQL语言的基础知识,包括数据库的创建与管理、表的创建与修改、数据的增删改查、视图的使用及各种连接方式等,并对常用的完整性约束进行了说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、数据库的基本结构定义

  • 主文件:mdf
  • 次要文件或从文件:ndf
  • 事务日志:ldf

创建数据库的语言:

           create database <数据库名称>

     修改数据库语言:

              alter database <数据库名称>                                                                                                                                         add  file: 添加数据库的文件             modify file:修改数据库的文件

          删除数据库语言:

                  drop database<数据库名称>

创建表的语言:

          create table <表的名称>

     修改表的语言

             alter table <基表名>

                 add子句:添加新列和新的完整性约束         drop子句:删除指定的完整性约束条件

二、常用的完整性约束

  • 主键约束:primary key
  • 唯一性约束:union
  • 非空值约束:not null
  • 参照完整性约束:foreign key

三、集合运算

  • union运算实现集合运算
  • expect运算实现集合运算
  • intersect运算实现集合运算

四、连接

  • 内连接   From 表1,表2  WHERE<连接条件>        From   表1,[inner]表2 ON  <连接条件>     From   表1,[inner]JOIN 表2 USING <连接条件>   (名字相同的列才能连接列名)
  • 外连接                                外连接分为三种:        左外连接、右外连接、全外连接                       左外连接:FROM  表1  LEFT   OUTER  JOIN 表2 ON <连接条件>                                                       右外连接:  FROM  表1  RIGHT  OUTER  JOIN 表2 ON <连接条件>                                                       全外连接:FROM  表1  FULL  OUTER  JOIN 表2 ON <连接条件>
  • 自然连接  FROM 表1 NATURAL JOIN 表2

五、嵌套查询

  • 运算符IN和NOT IN   IN表示数据是属于某个集合的,NOT IN 是指数据不属于某个集合
  • EXISTS 和NOT EXISTS     如果EXISTS限定的子查询有查询记录返回,那么条件为真,否则为假        如果NOT EXISTS 子查询返回值为空,则条件为真,负责为假
  • ALL和ANY  ALL是指所有结果集全部满足条件,运算为真          ANY 是指只要有一个满足,则为真

六、数据修改

  • 数据插入(insert) 插入元组  INSERT INTO <基表名>[(<属性列表>)] VALUES (<属性值列表>)      插入子查询    INSERT INTO <基表名>[(<属性列表>)]     子查询
  • 修改语法          UPDATE  <基表名> SET <属性列名>=<表达式>[,<属性列名>=<表达式>,….]             [WHERE <行选择条件>]
  • 删除语句   delete  from <基表名>    [WHERE<行选择条件>]

七、视图

  • 视图是一个虚表
  • 数据库只存储视图的定义,对视图数据操作时,数据库根据视图定义与视图相关联的基本表
  • create view <视图名>       as  <子查询>                 [with check option]
  • 视图必须有一个单一的表源
  • 视图 不能使用 having 、group by 、distinct上午那个语句
  • 必须包含表源的所有not null列
  • 使用update 更新视图   格式如下:update <表名>   set  
  • 删除视图   drop view 要删除的视图名
  • 视图在一定程度上保存了数据的逻辑独立性

八、完整性约束

  • 主键约束: 一个表中只能有一个主键
  • primary key 子句中每个属性取值都必须为not null
  • union约束:
  1. 在一个关系中,primary key 只能约束一个,但是union能够约束多个
  2. UNION 约束和PRIMARY KEY约束不能在同一个属性上
  3. UNION约束允许属性取空值,允许多个空值同时存在
  • check约束:通常用于保证属性满足指定的条件
  • 如果违反了实体完整性和用户自定义完整性规则:sql一般拒绝操作
  • 违反参照完整性:拒绝操作或者接受这个操作,同时执行一些附加的操作,以保证数据库的状态正确
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值