数据库基本知识点梳理


1. SQL:结构化查询语言的简称, 是关系数据库的标准语言。SQL 是一种通用的、 功能极强的关系数据库语言, 是对关系数据存取的标准接口, 也是不同数据库系统之间互操作的基础。集数据查询、数据操作、数据定义、和数据控制功能于一体。

2. 数据定义:数据定义功能包括模式定义、表定义、视图和索引的定义。

3. 嵌套查询:指将一个查询块嵌套在另一个查询块的 WHERE 子句或 HAVING 短语的条件中的查询。

4. SQL 数据定义语句的操作对象有:模式、表、视图和索引。

5. 索引可以分为唯一索引、非唯一索引和聚簇索引三种类型。索引相关介绍可参考:【sql server】索引详解

6. 触发器: 触发器是用户定义在基本表上的一类由事件驱动的特殊过程。由服务器自动激活, 能执行更为复杂的检查和操作,具有更精细和更强大的数据控制能力。使用 CREATE TRIGGER 命令建立触发器。

7. 数据库设计的6个基本步骤:需求分析,概念结构设计,逻辑结构设计,物理结构设计,数据库实施,数据库运行和维护。

8. 表相关

  8.1 主键:关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键。若表中单独一列无法成为唯一标识, 需要多个列共同标识,那么多个列的属性组称为这个表的主键。主键约束: 可以在建表的时候设置, 也可以对已存在的表设置:

USE WebShop
GO
create tablehuoying
(
    hy_id  int        not null primary key,   
    hy_name    varchar(30)  notnull
);

alter table huoying
add constraint PK_hy_id
primary key (hy_id);

  8.2 外键:这个表中存在的其他表的主键,即为这个表的外键。外键约束: 在引用表(定义外键的表)与被引用表(外键引用的表)之间创建依赖关系,被引用列必须是主键或者唯一约束,主键和外键可以是同一列。和主键不同,每个表中的外键数目不限制唯一性,在每个表中可以有0~253个外键。唯一的限制是一个给定的列只能引用一个外键。然而,一个外键可以涉及多个列。一个给定的被外键引用的列也可以被很多表引用。

create tablerenhu
(
    r_id       int        not null
       primary key,
    r_name     varchar(30)  notnull,
    r_paibie   varchar(30)  notnull,
    h_id       int        not null
       foreign key references huoyin(h_id)      
)

alter tablerenwu
    add constraint FK_h_id
    foreign key (h_id)references huoyin(h_id)

  8.3 约束:对表中的列进行约束, 目前支持的约束类型有:主键约束,外键约束, 唯一约束, 默认约束, 和检查约束。主键约束和外键约束对应上面的8.1和8.2。唯一约束确保表中的一列数据没有相同的值。与主键约束类似,唯一约束也强制唯一性,但唯一约束用于非主键的一列或者多列的组合,且一个表可以定义多个唯一约束。若在表中定义了默认值约束,用户在插入新的数据行时,如果该行没有指定数据,那么系统将默认值赋给该列,如果我们不设置默认值,系统默认为 NULL Check 约束通过逻辑表达式来判断数据的有效性,用来限制输入一列或多列的值的范围。在列中更新数据时,所要输入的内容必须满足 Check 约束的条件,否则将无法正确输入。比如只能输入男或者女。

区别 主键 外键 索引
定义 唯一标识一条记录,不能有重复的,不允许为空 表的外键是另一表的主键, 外键可以有重复的, 可以是空值 该字段没有重复值,但可以有一个空值
作用 用来保证数据完整性 用来和其他表建立联系用的 是提高查询排序的速度
个数 主键只能有一个 一个表可以有多个外键 一个表只允许有一个唯一聚集索引。

9. 基本SQL 语句

  9.1 数据库相关的操作

CREATE DATABASE [新建数据库名]
ON  --数据文件
(
    NAME='WebShop_data',  --数据库逻辑名称
    FILENAME='E:\data\WebShop_data.mdf',   --数据库物理名称
    SIZE=5,    --初始大小,单位MB
    MAXSIZE=100,      --增长上线,单位MB
    FILEGROWTH=2  --增长量,单位MB、%
   
)
LOG ON --日志文件
(
    NAME='WebShop_log',
    FILENAME='E:\data\WebShop_log.ldf',
    SIZE=2,
    MAXSIZE=500,
    FILEGROWTH=10%
)

ALTER DATABASE [要修改的数据库名(逻辑名称)]
ADD LOG FILE  --添加一个日志文件
(
    NAME='WebShop_log1',
    FILENAME='E:\data\WebShop_log1.ldf'
)
ALTER DATABASE [要修改的数据库名]
MODIFY FILE   --修改文件(数据文件、日志文件)
(
    NAME='WebShop_data', --NAME='WebShop_log'
    MAXSIZE=500   --修改上限
)

USE master
GO
DROP DATABASE WebShop

   9.2 基础运算符

LIKE(相似)运算符
IN(匹配)运算符
介于之间BETWEEN运算符
ORDER BY(排序规则)
GROUP BY(聚合信息) 
    使用GROUP BY 子句时,必须要使用聚合函数
聚合函数: SUM, AVG等
COUNT(*) 查询中返回的行数
HAVING 
    在group by 之前筛选用where,筛选的是分组前的数据;在group by 之后筛选用having,筛选的是分组后的数据
DISTINCT 去除重复行
TOP 查询前*行的的数据
ISNULL 查询,判断如果是null值,则替换为其他
    select isnull(name,'sdsdsdsds')from ren
cast 查询时将列的数据类型转化成其他类型,可以和isnull一起使用
    select ISNULL(CAST(gonghaoasvarchar(30)),'sdsd')from ren

   9.3 数据库分页

   9.4 Join

    sql的join详解

10. 视图

create view vw_goods
as
    select * from goods
    where g_Price>4000;

alter viewv w_goods
as
    select * from goods
    where g_Price<4000;

drop view vw_goods

 11. 存储过程

  11.1 sql server 存储过程 procedure

  11.2 特点: 有点类似与函数,速度相对比较快,因为是提前编译好的,省去了编译的步奏。

create proc spEmployees
as
    select * from Employees

12. 触发器

13. 备份

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM