SQL介绍

1. 数据库简介

1.1 文件存储方式保存数据的弊端:

l 缺乏对数据的整体管理,数据不便修改

l 不利于数据分析和共享

l 数据量急剧增大,大量数据不可能长期保存在文件中

1.2 DB和DBMS

l DB:数据库(Database)是指按照数据结构来组织、存储和管理数据的仓库

l DBMS:数据库管理系统(Database Management System),管理数据库的软件。

1.3 关系数据库简介

l 关系:描述两个元素间的关联或对应关系

l 使用关系模型把数据组织到二维数据表(Table)中

l 产品化:

n Oracle

n DB2

n Sybase

n SQL Server

n MySQL

1.4 表的概念

l 一个关系数据库由多个数据表(Table)组成,数据表是关系数据库的基本存储结构。

l 表是二维的,由行和列组成

l 表的行(Row)是横排数据,也被称作记录(Record)

l 表的列(Column)是纵列数据,也被称作字段(Field)

l 表和表之间存在关联关系

1.5 主流关系型数据库

1.5.1 Oracle

Oracle是当今著名的Oracle(甲骨文)公司的数据库产品,是世界上第一个商品化的关系型数据库管理系统,也是第一个推出和数据库结合的第四代语言开发工具的数据库产品。Oracle采用标准的SQL结构化查询语言,支持多种数据库类型,提供面向对象的数据支持,具有第四代语言开发工具,支持UNIX、WINDOWS、OS/2等多种平台。Oracle公司的软件产品丰富,包括Oracle服务器产品,Oracle开发工具和Oracle应用软件,其中最著名的是Oracle数据库,目前最新的版本是Oracle 12c。

1.5.2 DB2

DB2是IBM的关系型数据库管理系统,DB2有很多不同的版本,可以运行在从掌上产品到大型机不同的终端机器上。DB2 Universal Database Personal Edition和DB2 Universal Database Workgroup Edition分别是OS/2和Windows系统的单用户和多用户提供的数据库管理系统。DB2在高端数据库的主要竞争对手是Oracle。

1.5.3 Sybase

Sybase是美国Sybase公司研发的一种关系型数据库系统,是较早采用C/S技术的数据库厂商,是一种典型的UNIX或Windows NT平台上客户机/服务器环境下的大型数据库系统。Sybase通常与Sybase SQL Anywhere用于客户机/服务器环境,前者作为服务器数据库,后者为客户机数据库,采用公司研制的PowerBuilder为开发工具,在国内大中型系统中具有广泛的应用。

Sybase主要有三种版本,一是UNIX操作系统下运行的版本;二是Novell Netware环境下运行的版本;三是Windows NT环境下运行的版本。UNIX操作系统目前广泛应用的为Sybase 10及Sybase 11 for SCO UNIX。

2010年Sybase被SAP收购。

1.5.4 SQL Server

Microsoft SQL Server是运行在Windows NT服务器上,支持C/S结构的数据库管理系统。它采用标准SQL语言,微软公司对它进行了部分扩充而成为事务SQL。

1.5.5 MySQL

MySQL是一个开放源码的小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。MySQL被广泛应用在Internet上的中小型网站中。2008年被Sun正式收购,2009年4月20日,Sun被Oracle公司收购。

1.6 SQL概述

1.6.1 结构化查询语言

SQL(Structured Query Language)是结构化查询语言的缩写。SQL是在关系数据库上执行数据操作、检索及维护所使用的标准语言,可以用来查询数据,操纵数据,定义数据,控制数据,所有数据库都使用相同或者相似的语言。

SQL可分为:

l DDL:数据定义语言,用于建立、修改、删除数据库对象,包括创建语句CREATE、修改语句ALTER、删除语句DROP,这类语言不需要事务的参与,自动提交。

l DML:数据操纵语言,用于改变数据库数据,包括INSERT、UPDATE、DELETE三条语句。DML语言和事务是相关的,执行完DML操作后必须经过事务控制语句提交后才真正的将改变应用到数据库中。

l TCL:事务控制语言,用来维护数据一致性的语句,包括COMMIT、ROLLBACK、SAVEPOINT三条语句。

l DQL:数据查询语言,用于查询所需要的数据,使用最广泛,语法灵活复杂。

l DCL:数据控制语言,用于执行权限的授予和收回操作、创建用户等,包括GRANT、REVOKE语句、CREATE USER语句。DCL也不需要事务的参与,是自动提交的。

原文地址:https://www.cnblogs.com/jmwm/p/7289631.html