第一章SQL概念综述:
1.1 SQL定义及历史
如果数据被保存在数据库中,这种机制称为数据库管理系统(DBMS)。
SQL定义:结构化查询语言
数据库:数据库就是数据集合。。我们可以把数据库看成这样一种有组织的机制:它能够存储信息,用户能够以有效且高效的方式检索其中的信息。
关系型数据库:
关系型数据库由被称为表的逻辑单元组成,这些表在数据库内部彼此关联。系型数据库可以将数据分解为较小的、可管理的逻辑单元,从而在公司这一级别上更易维护,并提供更优化的数据库性能
客户端/服务器模型:
在客户端/服务器系统里,主机被称为服务器,可以通过网络进行访问(通常是局域网或广域网)。访问服务器的通常是个人计算机(PC)或其他服务器,而不是哑终端。
1.2 SQL会话:
SQL会话是用户利用SQL命令与关系型数据库进行交互时发生的事情。
当用户与数据库创建连接时,会话就被创建了。在SQL会话范围之内,用户可以输入有效的SQL命令对数据库进行查询,操作数据库里的数据,定义数据库结构(比如表)。
connect :
当用户连接到数据库时,SQL会话就被初始化了。命令CONNECT用于创建与数据库的连接,它可以申请连接,也可以修改连接。
disconnect & exit:
当用户与数据库断开连接时,SQL会话就被结束了。命令DISCONNECT用于断开用户与数据库的连接。当中断与数据库的连接之后,用户所使用的程序可能显得还在与数据库通信,但实际上已经没有连接了
。当使用EXIT命令离开数据库时,SQL会话就结束了,而且用于访问数据库的软件通常会关闭。
1.3 SQL命令的类型:
这些功能包括绑定数据库对象、操作对象、用数据填充数据库表、更新表里的现有数据、删除数据、执行数据库查询、控制数据库访问和数据库管理。
主要的分类包括:
数据定义语言(DDL);
数据操作语言(DML);
数据查询语言(DQL);
数据控制语言(DCL);
数据管理命令;
事务控制命令。
定义数据库结构:
数据定义语言(DDL)用于创建和重构数据库对象
create table
alter table
drop table
create index
alter index
drop index
drop view
create view
数据操作语言(DML)用于操作关系型数据库对象内部的数据。
3个基本DML命令:
insert
update
delete
虽然只具有一个命令,但数据查询语言(DQL)是现代关系型数据库用户最关注的部分,它的基本命令是SELECT。
这个命令具有很多选项和子句,用于构成对关系型数据库的查询。查询是对数据库进行的信息调查,一般通过程序界面或命令行提示符向数据库发出。
SQL里的数据控制语言用于控制对数据库里数据的访问。这些数据控制语言(DCL)命令通常用于创建与用户访问相关的对象,以及控制用户的权限。
alter password
grant
revoke
create synonum
数据管理命令用于对数据库里的操作进行审计和分析,还有助于分析系统性能。
start audit
stop audit
面这些命令可以用于管理数据库事务:
COMMIT:保存数据库事务。
ROLLBACK:撤销数据库事务。
SAVEPOINT:在一组事务里创建标记点以用于回退(ROLLBACK)。
SET TRANSACTION:设置事务的名称。
1.4 使用的数据库:
表命名规则:
_TBL & _INX
表的构成:
存储和维护有价值的数据是数据库存在的原因。
1) 字段:每个表都可以分解为更小的项,这些项被称为“字段”。字段是表里的一列,用于保持每条记录的特定信息
2) 记录或一行数据:记录,也被称为一行数据,是表里的各行。在关系型数据库的表里,一行数据是指一条完整的记录。
3) 列:列是表里垂直的一项,包含表里特定字段的全部信息。一列包含了表里每条记录中特定字段的全部信息。
4) 主键:主键用于区分表里每一条数据行。主键的特性确保了所有产品标识都是唯一的,
5) NULL值:NULL是表示“没有值”的专用术语。如果表中某个字段的值是NULL,其表现形式就是字段为空,其值就是没有值。NULL并不等同于0或空格。值为NULL的字段在表创建过程中会保持为空。
1.5 测验:
1.缩写“SQL”的含义是什么?
SQL表示结构化查询语言。
2.SQL命令的6个主要类别是什么?
数据定义语言(DDL)
数据操作语言(DML)
数据查询语言(DQL)
数据控制语言(DCL)
数据管理命令(DAC)
事务控制命令(TCC)
3.4个事务控制命令是什么?
commit,rollback,savepoint,set transactions
4.对于数据库访问来说,客户端/服务器模型与Web技术之间的主要区别是什么?
主要区别在于与数据库的连接。使用客户端连接会登录到服务器,直接连接到数据库;而使用Web时,我们会登录到能够到达数据库的互联网上。
5.如果一个字段被定义为NULL,这是否表示这个字段必须要输入某些内容?
不是。如果某个字段被定义为 NULL,表示字段可以不必输入任何内容。如果字段被定义为NOT NULL,则表示字段必须输入数据。