《SQL必知必会》第1课 了解SQL

1.1 数据库基础

1.1.1 数据库

数据库(database) :保存有组织的数据的容器(通常是一个文件或一组文件)。

数据库软件(DBMS):数据库管理系统。

注意:误用导致混淆

        数据库是通过DBMS创建和操纵的容器,而具体它究竟是什么,形式如何,各种数据库都不一样。

1.1.2 

表(table) : 某种特定类型数据的结构化清单。表可以保存顾客清单、产品目录,或者其他信息清单。

说明:

        存储在表中的数据是同一种类型的数据或清单。决不应该将顾客的清单与订单的清单存储在同一个数据库表中。应该创建两个表,每个清单一个表。

         数据库中的每个表都有一个名字,且名字唯一,没有重复。同一个数据库的表名不能相同,但不同数据库的表名可以相同。


模式(schema):关于数据库和表的布局及特性的信息。

进一步解释:

        表具有一些特性,这些特性定义了数据在表中如何存储,包括存储什么样的数据,数据如何分解,各部分信息如何命名等信息。

        描述表的这组信息就是所谓的模式(schema),模式可以用来描述数据库中特定的表,也可以用来描述整个数据库(和其中表的关系)。

1.1.3 列和数据类型

列(column) :表中的一个字段。所有表都是由一个或多个列组成的。表由列组成。列存储表中某部分的信息。

进一步解释:例如,在顾客表中,一列存储顾客编号,另一列存储顾客姓名,而地址、城市、州以及邮政编码全都存储在各自的列中。

提示:

数据分解:例如,城市、州、邮政编码应该总是彼此独立的列。例如,一般可以把门牌号和街道名一起存储在地址里。


数据类型(datatype):允许什么类型的数据。每个表列都有相应的数据类型,它限制(或允许)该列中存储的数据。(数值、日期、文本、注释、金额)

注意:数据类型兼容

        数据类型及其名称是SQL 不兼容的一个主要原因。虽然大多数基本数据类型得到了一致的支持,但许多高级的数据类型却没有。更糟的是,偶然会有相同的数据类型在不同的 DBMS 中具有不同的名称。对此用户毫无办法,重要的是在创建表结构时要记住这些差异。

1.1.4 

行(row)表中的一个记录。

说明:

        网格中垂直为表列,水平为表行。

        表中的行编号为记录的编号。

        行和数据库记录(record)互通,但技术上上,行是正确的术语。

1.1.5 主键

主键(primary key)一列(或几列),其值能够唯一标识表中每一行。没有主键,更新或删除表中特定行就极为困难,因为你不能保证操作只涉及相关的行,没有伤及无辜。

提示:应该总是定义主键

        虽然并不总是需要主键,但多数数据库设计者都会保证他们创建的每个表具有一个主键,以便于以后的数据操作和管理。


表中的任何列都可以作为主键,只要它满足以下条件:

        任意两行都不具有相同的主键值;

        每一行都必须具有一个主键值(主键列不允许空值NULL);

        主键列中的值不允许修改或更新;

        主键值不能重用(如果某行从表中删除,它的主键不能赋给以后的新行)。


        在使用多列作为主键时,上述条件必须应用到所有列,所有列值的组合必须是唯一的(但其中单个列的值可以不唯一)。

        还有一种非常重要的键,称为外键,我们将在第12 课中介绍。

1.2 什么是SQL

SQL(发音为字母 S-Q-L 或 sequel)是Structured Query Language(结构化查询语言)的缩写。SQL 是一种专门用来与数据库沟通的语言。


        与其他语言(如英语或Java、C、PHP 这样的编程语言)不一样,SQL中只有很少的词,这是有意而为的。设计SQL 的目的是很好地完成一项任务——提供一种从数据库中读写数据的简单有效的方法。


SQL优点:

        SQL不是某个特定数据库厂商专有的语言。绝大多数重要的 DBMS 支 持 SQL,所以学习此语言使你几乎能与所有数据库打交道。

        SQL简单易学。它的语句全都是由有很强描述性的英语单词组成,而且这些单词的数目不多。

        SQL虽然看上去很简单,但实际上是一种强有力的语言,灵活使用其语言元素,可以进行非常复杂和高级的数据库操作。

说明:SQL的扩展

        标准SQL 由 ANSI 标准委员会管理,从而称为 ANSI SQL。所有主要的DBMS,即使有自己的扩展,也都支持 ANSI SQL。各个实现有自己的名称,如 Oracle 的 PL/SQL、微软 SQL Server 用的 Transact-SQL 等。

1.3 动手实践

需要一个数据库和用来测试SQL 语句的应用系统。

MySQL,MySQL Workbench

Microsoft SQL Server Express,SQL Server Management Studio

Oracle的 Live SQL 和 IBM 的云端 DB2,它们提供的免费版本有 Web 界面,你只需要在浏览器里输入 SQL 语句就可以了。

1.4 小结

数据库基础知识、SQL是什么以及为啥有用。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,869评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,716评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,223评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,047评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,089评论 6 395
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,839评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,516评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,410评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,920评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,052评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,179评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,868评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,522评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,070评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,186评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,487评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,162评论 2 356

推荐阅读更多精彩内容

  • 一、数据库基础 1、数据库 概念:保存有组织的数据的容器(通常是一个文件或一组文件)。在本书中数据库是一个以某种有...
    此我非彼我隆隆阅读 127评论 0 0
  • 数据库基础 1.1.1 什么是数据库 数据库是一个以某种有组织的方式储存的数据集合,可以把数据库想象成一个文件柜 ...
    张轶渤阅读 148评论 0 0
  • 数据库基础 重点是理解以下概念,脑海中能大概想出模型即可。 数据库 database数据库是保存有组织的数据的...
    Camero的code之旅阅读 139评论 0 0
  • 几个基本概念 数据库(database)保存有组织的数据的容器(通常是一个文件或一组文件) 表(table)某种特...
    禅与发现的乐趣阅读 657评论 0 1
  • 1. 什么是数据库? 将大量数据保存起来,通过计算机加工而成的可以进行高效访问的数据集合成为数据库(Databas...
    xinyiyake阅读 270评论 0 1