【数据原理及应用 学习总结】第二章 关系数据库标准语言SQL(1)

2.1SQL语言介绍

2.1.1SQL数据库的体系结构

 

SQL用户可以是应用程序,也可以是终端用户。SQL语言可以被嵌入在宿主语言的程序(如PythonC++Java等)中使用,也可以作为独立的用户接口在DBMS环境下被用户直接使用

SQL用户可以用SQL语言对基本表和视图进行查询
一个视图是从若干基本表或其他视图上导出的表。数据库中只存放该视图的定义,而不存放该视图所对应的数据,这些数据仍然存放在导出该视图的基本表中。因此,可以说视图是一个虚表
一个或一些基本表对应于一个数据文件。一个基本表也可以存放在若干数据文件中。一个数据文件对应于存储设备上的一个存储文件
一个基本表可以带若干索引。索引也存放在数据文件中
一个表空间可以由若干个数据文件组成
一个数据库可以由多个存储文件组成

2.1.2SQL的特点

(1)综合统一

SQL集数据定义语言DDL、数据操纵语言DML、数据控制语言DCL的功能于一体,语言风格统一,可以独立完成数据库生命周期中的全部活动,包括:

①定义关系模式,插入数据,建立数据库

②对数据库中的数据进行查询和更新

③数据库重构和维护

④数据库安全性、完整性控制

(2)高度非过程化 

非关系数据模型的数据操纵语言是“面向过程”的,用“过程化”语言完成某项请求,必须指定存储路径

SQL进行数据操作,只要提出“做什么”,而无须指明“怎么做”,因此无需了解存储路径。存储路径的选择以及SQL的操作过程由系统自动完成。这样可以减轻用户的负担,也提高了数据独立性

(3)面向集合的操作方式

非关系数据模型得采用提面向记录的操作方式,操作对象是一条记录

SQL采用集合操作方式,不仅操作对象、查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合

(4)以同一种语法结构提供多种使用方式

SQL既是独立的语言,又是嵌入式语言

作为独立的语言,它能够独立地用于联机交互的使用方式,用户可以在终端键盘上直接键入SQL命令对数据库进行操作

作为嵌入式语言,SQL语句能够嵌入到高级语言(如PythonC++Java)程序中,供程序员设计程序时使用

而在两种不同的使用方式下,SQL的语法结构基本上是一致的

(5)语言简洁,易学易用 

SQL功能极强,完成核心功能只用了9个动词,接近英语口语,所以容易学习,易于使用

①数据定义                        CREATE      DROP         ALTER

②数据操纵                        SELECT      INSERT      UPDATE       DELETE

③数据控制                        GRANT        REVOKE

2.1.3SQL语言的组成

(1)数据定义语言(DDL)

DDL用来定义、修改、删除数据库中的各种对象。包括创建、修改、删除或者重命名模式对象(CREATEALTERDROPRENAME)的语句,以及删除表中所有行但不删除表(Truncate)的语句等

(2)数据操纵语言(DML)

DML的命令用来查询、插入、修改、删除数据库中数据。包含用于查询数据(Select)、添加新行数据(Insert)、修改现有行数据(Update)、删除现有行数据(Delete)的语句等

(3)数据控制语言(DCL)

用于事务控制、并发控制、完整性和安全性控制等

2.2.数据的定义

2.2.1数据库的定义和删除

(1)创建数据库

CREATE  DATABASE  数据库名;

(2)选择数据库

USE  数据库名;

(3)删除数据库

DROP  DATABASE  数据库名;

2.2.2数据类型

(1)字符串类型

CHAR,描述定长的字符串,说明格式为:CHAR(L)

VARCHAR,描述变长的字符串,说明格式为:VARCHAR(L)

字符串值用单引号或双引号括起来。如'abc'、"女",习惯使用单引号

(2)数值类型

INT,用于表示整数,存储长度默认为4个字节。说明格式为:INT

DECIMAL,可以用来表示所有的数值数据。说明格式为:DECIMAL(p,s)

(3)日期和时间类型

DATE,用来保存固定长度的日期数据。说明格式为:DATE

TIME,用来保存固定长度的时间数据。说明格式为:TIME

DATETIME,用来保存固定长度的日期时间数据。说明格式为:DATETIME

日期值格式为'YYYY-MM-DD';时间值格式为'HH:MM:SS';日期时间值格式为' YYYY-MM-DD HH:MM:SS'

(4)布尔类型

BOOLEAN,只有两个值:TRUE和FALSE,即真值和假值

2.2.3基本表的定义、删除和修改

(1)创建表

CREATE  TABLE  表名

( <列名>   <数据类型>  [DEFAULT   <默认值>]

[,…]

);

说明:DEFAULT选项是给指定列设置默认值

(2)利用子查询来创建表

CREATE  TABLE  <表名>

SELECT语句;

(3)修改表的结构

①在一个表中增加一个新列

ALTER  TABLE  <表名>

 ADD  [COLUMN]  <列名>   <数据类型>

       [DEFAULT  <默认值>]

②修改一个表中已有的列

ALTER  TABLE  <表名>

 MODIFY  [COLUMN]  <列名>  <数据类型> 

    [DEFAULT  <默认值>]

③从一个表中删除一列

ALTER  TABLE   <表名>

 DROP  [COLUMN]  <列名>

(4)截断表和删除表

①截断表

TRUNCATE   TABLE  <表名>

②删除表

DROP  TABLE  <表名>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值