这是个人学习笔记,不对之处请多多指教,同时学习视频资源也提供。哔哩哔哩上的黑马程序员出的视频。
https://www.bilibili.com/video/av15351498
数据库简介
数据库概念
数据库(database)是按照数据结构来组织、存储和管理数据的建立在计算机存储设备上的仓库。
数据库:存储数据的仓库。
数据库分类
网络数据库
网络数据库是指把数据库技术引入到计算机网络系统中,借助于网络技术将存储于数据库中的大量信息及时发布出去,而计算机网络借助于成熟的数据库技术对网络中的各种数据进行有效管理,并实现用户与网络中的数据库进行实时动态数据交互。
层级数据库
层次结构模型实质上是一种有根结点的定向有序树(在数学中‘树’被定义为一个无回的连通图)
关系数据库
关系数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。
数据库的另外一种区分方式:基于存储介质
存储介质分为两种:磁盘和内存
关系型数据库:存储在磁盘中
非关系型数据库:存储在内存中
关系型数据库
基本概念
关系数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。关系模型由关系数据结构、关系操作集合、关系完整性约束三部分组成
关系数据结构:指的是数据以什么方式来存储,是一种二维表的形式存储。
关系操作集合:如何来关联和管理对应的存储数据,SQL指令。
关系完整性约束:数据内部有对应的关联关系,以及数据与数据之间也有对应的关联关系。
表内约束:对应的具体列只能放对应的数据(不能乱放)
表间约束:自然界各实体都是有着对应的关联关系(外键)
典型关系型数据库
Oracle、DB2、Microsoft SQL Server、Microsoft Access、MySQL、SQLite
小型关系型数据库:Microsoft Access,SQLite
中型关系型数据库:Microsoft SQL Server,MySQL(开源免费)
大型关系型数据库:Oracle,DB2
MySQL当前跟Oracle是一个公司的,隶属于Oracle。
SQL介绍
SQL基本介绍
结构化查询语言(Structured Query Language),简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统,同时也是数据库脚本文件的扩展名
SQL就是专门为关系型数据库而设计出来的。
SQL分类
1、数据查询语言(DQL:Data Query Language):
其语句,也称为“数据检索语句”,用以从表中获得数据,确定数据怎样在应用程序中给出。保留字SELECT是DQL(也是所有SQL)用的最多的动词,其他DQL常用的保留字有WHERE,ORDER BY,GROUP BY和HAVING。这些DQL保留字常与其他类型的SQL语句一起使用。
专门用于查询数据,代表语句为select/show。
2、数据操作语言(DML:Data Manipulation Language):
其语句包括动词INSERT,UPDATE和DELETE。它们分别用于添加、修改和删除表中的行。也称为动作查询语言。
专门用于写数据:代表指令为insert、update和delete。
3、事务处理语言(TPL):
它的语句能确保被DML语句影响的表的所有行及时得以更新。TPL语句包括BEGIN,TRANSACTION,COMMIT和ROLLBACK。(不是所有的关系型数据库都提供事务安全处理)
专门用于事务安全处理:transaction
4、数据控制语言(DCL):
它的语句通过GRANT和REVOKE获得许可,确定单个用户和用户组对数据库对象的访问。某些ROBMS可用GRANT和REVOKE控制对表单各列的访问。
专门用于权限管理:代表指令为grant和revoke
5、数据定义语言(DDL):
其语句包括动词CREAT和DROP。在数据库中创建新表或删除表(CREAT TABLE 或 DROP TABLE);为表加入索引等。DDL包括许多与人从数据库目录中获得数据有关的保留字。它也是动作查询的一部分。
专门用于结构管理:代表指令create和drop(alter)