零基础学习SQL第一节

零基础学习SQL第一大节

第一节:数据库与SQL

我们身边的数据库
大家都有过下面这样的经历吧?
收到曾经为自己诊治过的牙医寄来的明信片,上面写着“距上次检查已有半年,请您再来做个牙齿健康查”。
●在生日的前一个月,收到曾入住过的旅店或宾馆发来的“生日当月入住优惠”的邮件或者明信片。
●在网上商城购物之后,收到内附“推荐商品列表”的邮件。这可能是因为牙医、旅店或商城的经营者掌握了顾客上一次的就诊日期、生日和购买历史等信息,并且拥有能够从大量汇总信息中快速获取所需信息(比如你的住址或爱好)的设备(计算机系统)。如果利用人工完成同样的工作,真不知道要多长时间呢。另外,现在所有地区的图书馆都配备了计算机,实现了图书的自动查询。使用该系统,可以通过检索书名或出版年份快速查找出希望借阅的图书的所在位置,以及是否已经借出等信息。正是因为拥有了可以保存图书名称、出版年份以及保管位置和外借情况等信息,并且可以按需查询的设备,才使这一切成为可能。像这样将大量数据保存起来,通过计算机加工而成的可以进行高效访问的数据集合称为数据库( Database,DB)。将姓名、住址、电话号吗邮箱地址、爱好和家庭构成等数据保存到数据库中,就可以隨时迅遠取想要的信息了。用来管理数据库的计算机系统称为数据库管理系线Database Management System**,DBMs**)°。系统的使用者通常无法直接接触到数据库。因此,在使用系统的时往往意识不到数据库的存在。其实大到银行账户的管理,小到手机的电话簿,可以说社会的所有系统中都有数据库的身影
为什么DBMS那么重要
那么,为什么要使用专用系统(DBMS)来管理数据呢?我们通过计算机管理数据的时候,通常使用文本文件。或者 Excel那样的电子制表就件就可以完成了,非常简单。确实,通过文本文件或者电子制表软件来管理数据的方法非常简便但也有不足。下面就举几个有代表性的例子。
●无法多人共享数据
保存在已连接网络的计算机中的文件,可以通过共享设定实现多个用户在线阅读或编辑。但是,当某个用户打开该文件的时候,其他用户就法进行编辑了。如果是网上商城的话,当某个用户购买商品的时候,其用户就无法购买了。
●无法提供操作大量数据所需的格式
要想瞬间从几十万或者上百万的数据中获取想要的数据,必须把数保存为适当的格式,但是文本文件和Exce工作表等无法提供相应的格
●实现读写自动化需要编程能力
通过编写计算机程序(以下简称程序)可以实现数据读取和编辑自化,但这必须以了解数据结构为前提,还需具备一定的计算机编程技术
●无法应对突发事故
当文件被误删、硬盘出现故障等导致无法读取的时候,可能会造要数据丢失,同时数据还可能被他人轻易读取或窃用DBMS可以克服这些不足,实现多个用户同时安全简单地操作大量数据。
DBMS的种类
DBMS主要通过数据的保存格式(数据库的种类)来进行分类,现阶段主要有以下5种类型。
●层次数据库( Hierarchical Database,HDB)
最古老的数据库之一,它把数据通过层次结构(树形结构)的方式表现出来。层次数据库曾经是数据库的主流,但随着关系数据库的出现和普及,现在已经很少使用了。
●关系数据库( Relational Database,RDB)
关系数据库是现在应用最广泛的数据库。关系数据库在1969年诞生可谓历史悠久。和 Excel工作表一样,它也采用由行和列组成的二维表来管理数据,所以简单易懂。同时,它还使用专门的SQL( Structured Query Language,结构化查询语言)对数据进行操作。
●面向对象数据库( Object Oriented Database,OODB)
编程语言当中有一种被称为面向对象语言的语言°。把数据以及对数据的操作集合起来以对象为单位进行管理,因此得名。面向对象数据库就是用来保存这些对象的数据库。
●XML数据库( XML Database, XMLDB)
最近几年,作为在网络上进行交互的数据的形式逐渐普及起来XML数据库可以对XML形式的大量数据进行高速处理
●键值存储系统(Key- Value Store,KVs)
这是一种单纯用来保存查询所使用的主键(Key)和值( Value)的组合的数据库。具有编程语言知识的读者可以把它想象成关联数组或者散列(hash)。近年来,随着键值存储系统被应用到 Google等需要对大量数据
进行超高速查询的Web服务当中,它正逐渐为人们所关注。本讲将向大家介绍使用SQL语言的数据库管理系统,也就是关系数据库管理系统( RDBMS)的操作方法。接下来还会深入讲解 RDBMS。如无特殊说明,本讲所提到的数据库以及DBMS都是指 RDBMS。另外,有的 RDBMS也可以像XML数据库那样操作XML形式的数据或者具有面向对象数据库的功能。

第二节 数据库的结构

这里不过多赘述,我们主要探讨数据库中的结构,参照excel表格,
注意几个重要的法则:
1.关系数据库以行为单位读写数据。
2.一个单元格只能输入一个数据。

|商品编号 |商品名称|
|00000001| T恤衫 |
|00000002| 打孔器 |
*

第三节 SQL概要

SQL语句及其种类

SQL用关键字、表名、列名等组合而成的一条语句(SCL语句)来描述操作的内容。关键字是指那些含义或使用方法已事先定义好的英质词,存在包含“对表进行查询”或者“参考这个表”等各种意义的关键字根据对 RDBMS赋予的指令种类的不同,SQL语句可以分为以下三类
●DDL
DDL( Data Definition Language,数据定义语言)用来创建或者删除存数据用的数据库以及数据库中的表等对象。DDL包含以下几种指令CREATE:创建数据库和表等对象DROP:删除数据库和表等对象ALTER:修改数据库和表等对象的结构
●DML
DML( Data Manipulation Language,数据操纵语言)用来查询或者变表中的记录。DML包含以下几种指令SELECT:查询表中的数据
INSERT:向表中插入新数据
UPDATE:更新表中的数据
DELETE:删除表中的数据

●DCL
DCL Data Control Language
数据控制语言)用来确认或者取消对数据库中的数据进行的变更。除此之外,还可以对 RDBMS的用户是否有权限,操作数据库中的对象(数据库表等)进行设定。DCL包含以下几种指令。
COMMIT:确认对数据库中的数据进行的变更
ROLLBACK:取消对数据库中的数据进行的变更
GRANT:赋予用户操作权限
REVOKE:取消用户的操作权限

实际使用的SQL语句当中有90%属于DML

■SQL的基本书写规划
书写SQL语句时必须要遵守一些规则。这些规则都非常简单,接下来就让我们逐一认识一下吧。
SQL语句要以分号(;)结尾
条SQL语句可以描述一个数据库操作。在 RDBMS当中,SQL语句也是逐条执行的。众所周知,我们在句子的句尾加注标点表示结束,中文句子以句号(。)结尾,英文以点号(.)结尾,而SQL语句则使用分号(;)结尾。
■SQL语句不区分大小写
SQL不区分关键字的大小写。例如,不管写成 SELECT还是 select,解释都是一样的。表名和列名也是如此。虽然可以根据个人喜好选择大写还是小写(或大小写混杂),但为了理解起来更加容易,本讲使用以下规则来书写SQL语句
关键字大写
表名的首字母大写
其余(列名等)小写

关键字不区分大小写
但是插入到表中的数据是区分大小写的。例如,在操作过程中,数据Computer、 COMPUTER或 computer,三者是不一样的。

■常数的书写方式是固定的
SQL语句常常需要直接书写字符串0、日期或者数字。例如,书表中插入字符串、日期或者数字等数据的SQL语句在SOL语句中直接书写的字符串、日期或者数字等称为常数。常数的书写方式如下所示。
sqL语句中含有字符串的时候,需要像’abc‘这样,使用单引号
将字符串括起来用来标识这是一个字符串。
SQL语句中含有日期的时候,同样需要使用单引号将其括起来。日期
的格式有很多种(’26 Jan 2010‘ )或者(’10/01/26‘)等
本讲统一
使用(’2010-01-26‘)这种’年一月一日‘的格式
*
在SQL语句中书写数字的时候,不需要使用任何符号标识,直接写
成1000这样的数字即可。*

■单词需要用半角空格或者换行来分隔
SQL语句的单词之间需使用半角空格或换行符来进行分隔。如下这种未加分隔的语句会发生错误,无法正常执行
O CREATE TABLE Product
X CREATETABLE Product
X CREATE TABLEProduct

但是不能使用全角空格作为单词的分隔符,否则会发生错误,出现无法预期的结果。

下一节将会讲解入门的数据库创建和表的创建。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值