SQL必知必会(第四版)-1.了解SQL

目录

1.了解SQL

1.1 数据库基础

1.1.1 数据库(database)

1.1.2 表(table)

1.1.3 列和数据类型

1.1.4 行(row)

1.1.5 主键(primary key)

1.2 什么是SQL

1.3 动手实践

1.4 怎么使用MySQL执行SQL


1.了解SQL

1.1 数据库基础

1.1.1 数据库(database)

  • 可以把数据库想象为一个文件柜。这个文件柜是一个存放数据的物理位置,不管数据是什么,也不管数据是如何组织的。
  • 数据库软件应称为数据库管理系统(即DBMS),如Microsoft Access,MySQL,Microsoft SQL Server,Oracle等。

1.1.2 表(table)

  • 虽然在相同数据库中不能两次使用相同的表名,但在不同的数据库中完全可以使用相同的表名。
  • 模式(schema):关于数据库和表的布局及特性的信息。模式代表了数据在表中如何存储,包含存储什么样的数据,数据如何分解,各部分信息如何命名等信息。

1.1.3 列和数据类型

  • 分解数据:正确地将数据分解为多个列极为重要。例如,城市、州、邮政编码应该总是彼此独立的列。通过分解这些数据,才有可能利用特定的列对数据进行分类和过滤(如找出特定州或特定城市的所有顾客)。如果城市和州组合在一个列中,则按州进行分类或过滤就会很困难。你可以根据自己的具体需求来决定把数据分解到何种程度。例如,一般可以把门牌号和街道名一起存储在地址里。这没有问题,除非你哪天想用街道名来排序,这时,最好将门牌号和街道名分开。
  • 数据类型(datatype)定义了列可以存储哪些数据种类。
  • 数据类型兼容
    数据类型及其名称是SQL不兼容的一个主要原因。虽然大多数基本数据类型得到了一致的支
    持,但许多高级的数据类型却没有。更糟的是,偶然会有相同的数据类型在不同的DBMS
    中具有不同的名称。对此用户毫无办法,重要的是在创建表结构时要记住这些差异。

1.1.4 行(row)

你可能听到用户在提到行时称其为数据库记录(record)。这两个术语多半是可以交替使用的,但从技术上说,行才是正确的术语。

1.1.5 主键(primary key)

一列(或一组列),其值能够唯一标识表中每一行。

主键用来表示一个特定的行。没有主键,更新或删除表中特定行就极为困难,因为你不能保证操作只涉及相关的行。应该总是定义主键。表中的任何列都可以作为主键,只要它满足以下条件:

  1. 任意两行都不具有相同的主键值;
  2. 每一行都必须具有一个主键值(主键列不允许NULL值);
  3. 主键列中的值不允许修改或更新;
  4. 主键值不能重用(如果某行从表中删除,它的主键不能赋给以后的新行)。

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

1.2 什么是SQL

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

SQL有如下的优点:

  • SQL不是某个特定数据库供应商专有的语言。几乎所有重要的DBMS都支持SQL,所以学习此语言使你几乎能与所有数据库打交道。
  • SQL简单易学。它的语句全都是由有很强描述性的英语单词组成,而且这些单词的数目不多。
  • SQL虽然看上去很简单,但实际上是一种强有力的语言,灵活使用其语言元素,可以进行非常复杂和高级的数据库操作。

SQL的扩展:许多DBMS厂商通过增加语句或指令,对SQL进行了扩展。这种扩展的目的是提供执行特定操作的额外功能或简化方法。虽然这种扩展很有用,但一般都是针对个别DBMS的,很少有
两个以上的供应商支持这种扩展。

1.3 动手实践

Sams Teach Yourself SQL in 10 Minutes (Fourth Edition) – Ben Forta(含附录)

附录A给出了具体的样例表,并介绍了获得(或创建)它们的详细步骤,便于读者理解每一课讲授的内容。

附录B介绍在各种应用程序中执行SQL所需的步骤。

在进入下一课之前,需要先阅读这两个附录的内容。

1.4 怎么使用MySQL执行SQL

下载mysql,在下载过程中选择下载mysql+mysql workbench+mysql shell。

在workbench中新增mysql connections,自定义connection name。

点击进入一个connection,就可以开始写sql了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值