DB、DBMS、MySQL、SQL

Posted on 2021-03-08 12:20  金色的省略号  阅读(443)  评论(0编辑  收藏  举报

  数据库系统(Database System)

  整体上可以分为五个部分,数据库(DB),数据库管理系统(DBMS),数据库应用,计算机系统以及数据库管理员(DBA) 

  一、DB、DBMS、MySQL  

  1、DB,database(数据库),存储数据的仓库,它保存了一系列有组织的数据

  数据库的好处可以持久化数据到本地、结构化查询

  数据库存储数据的特点:数据存放到表中,然后表再放到库中;一个库中可以有多张表,每张表具有唯一的表名用来标识自己;表中有一个或多个列,列又称为“字段”,相当于Java中的“属性”;表中的每一行数据,相当于Java中“对象”

  2、DBMS,database management system(数据管理系统)

  数据库(DB)是通过DBMS创建和操作的容器

  常见的数据库管理系统,MySQL Oracle Db2 SqlServer等

  3、MySQL,是基于客户机-服务器的DBMS(C/S,客户端 / 服务端),有别于基于共享文件系统的DBMS,如Access

  二、与DBMS(数据库管理系统)交互,使用SQL语言

    (一)、什么是SQL

  SQL ( structure query language ) ,专门与DBMS通信的语言,结构化查询语言,是一种非过程化的语言(在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的,由数据库管理系统完成),SQL,是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言

    (二)、SQL为什么是一种非过程化的语言

  这里的非过程化指的并不是编程语言里面的那个面向过程,而是数据库的Data Manipulation Language ( DML,数据操纵语言 ) 这类语言的一个分类。

  DML这类语言分为两个大类,声明式(Declarative DMLs)和过程式(Procedural DMLs)前者我们也称为非过程式的DML(Non-procedural DMLs)。两者之间的区别是,声明式的DML只需要声明我们需要什么样的数据,像是SQL就是这样的语言。而过程式DML不仅需要声明需要什么样的数据,而且需要给出如何得到数据的方法,类似的DML是relational algebra。

    (三)、SQL是声明式的非过程语言,那么,查询是如何实现的

  SQL进行数据操作时,只需要考虑做什么,不需要考虑怎么做,用户也无需了解存取路径,存取路径的选择以及SQL的操作过程由DBMS(数据库管理系统)完成

    (四)、SQL语言的分类

  1、数据查询语言DQL(Data Query Language )
  数据查询语言DQL基本结构是由SELECT子句,FROM子句,WHERE子句组成的查询块:

  SELECT <字段名表>
  FROM <表或视图名>
  WHERE <查询条件>

  2、数据操纵语言DML(Data Manipulation Language)
  数据操纵语言DML主要有三种形式:

  插入:INSERT
  更新:UPDATE
  删除:DELETE

  3、数据定义语言DDL(Data Definition Language)
  DDL主要是用在定义或改变表的结构,数据类型,表之间的链接和约束等初始化工作上

  如:CREATE、ALTER、DROP

  4、数据控制语言DCL(Data Control Language)
  数据控制语言DCL用来授予或回收访问数据库的某种特权,并控制数据库操纵事务发生的时间及效果,对数据库实行监视等。 

  授权:GRANT
  取消授权:REVOKE

  5、事务控制语言TCL(Transaction Control Language)  

  保存点: SAVEPOINT
  设置事务: SET TRANSACTION
  提交:COMMIT
  回滚:ROLLBACK

    (五)、SQL语言的数据类型

  int,datetime,timestamp,char,varchar,BLOB (binary large object),double,float

  char类型的长度是固定的,varchar的长度是可变的