数据库入门:MySQL必知必会(一)了解SQL


MySQL已经成为世界上 最受欢迎数据库管理系统之一。无论是用在 小型开发项目上,还是用来构建那些声名显赫的 网站,MySQL都证明了自己是个 稳定、可靠、快速、可信的系统,足以胜任任何数据存储业务的需要。

01. 数据库基础

你可能还没有意识到,其实你自己一直在使用数据库。每当你从自己的电子邮件地址簿里查找名字时,你就在使用数据库。如果你在某个因特网搜索站点上进行搜索,也是在使用数据库。如果你在工作中登录网络,也需要依靠数据库验证自己的名字和密码。即使是在自动取款机上使用ATM卡,也要利用数据库进行PIN码验证和余额检查。

  1. 什么是数据库:保存有组织的数据的容器(通常是一个文件或一组文件)
    理解数据库的一种最简单的办法是将其想象为一个文件柜,此文件柜是一个存放数据的物理位置,不管数据是什么以及如何组织的;
  2. 表: 某种特定类型数据的结构化清单
    2.1 在你将资料放入自己的文件柜时,并不是随便将它们扔进某个抽屉就完事了,而是在文件柜中创建文件,然后将相关的资料放入特定的文件中,在数据库领域中,这种文件称为
    2.2 表是一种结构化的文件,可用来存储某种特定类型的数据,可以保存顾客清单、产品目录,或者其他信息清单;
    2.3 数据库中的每个表都有一个名字,用来标识自己,此名字是唯一的,这表示数据库中没有其他表具有相同的名字;
    2.4 模式:关于数据库和表的布局及特性的信息
    表具有一些特性,这些特性定义了数据在表中如何存储,如可以存储什么样的数据,数据如何分解,各部分信息如何命名,等等。描述表的这组信息就是所谓的模式,模式可以用来描述数据库中特定的表以及整个数据库(和其中表的关系);
  3. 列和数据类型:列(column):表中的一个字段,所有表都是由一个或多个列组成的;数据类型(datatype):所容许的数据的类型,每个表列都有相应的数据类型,它限制(或容许)该列中存储的数据
    3.1 理解列的最好办法是将数据库表想象为一个网格:网格中每一列存储着一条特定的信息;例如,在顾客表中,一个列存储着顾客编号,另一个列存储着顾客名,而地址、城市、州以及邮政编码全都存储在各自的列中;
    3.2 数据库中每个列都有相应的数据类型:数据类型定义列可以存储的数据种类;例如,如果列中存储的为数字(或许是订单中的物品数),则相应的数据类型应该为数值类型;如果列中存储的是日期、文本、注释、金额等,则应该用恰当的数据类型规定出来;
  4. 行:表中的一个记录
    表中的数据是按行存储的:所保存的每个记录存储在自己的行内,如果将表想象为网格,网格中垂直的列为表列,水平行为表行;例如,顾客表可以每行存储一个顾客。表中的行数为记录的总数;
  5. 主键:一列(或一组列),其值能够唯一区分表中每个行
    5.1 表中每一行都应该有可以唯一标识自己的一列(或一组列):一个顾客表可以使用顾客编号列,而订单表可以使用订单ID,雇员表可以使用雇员ID或雇员社会保险号;
    5.2 主键用来表示一个特定的行:没有主键,更新或删除表中特定行很困难,因为没有安全的方法保证只涉及相关的行;
    5.3 表中的任何列都可以作为主键,只要它满足以下条件:任意两行都不具有相同的主键值;每个行都必须具有一个主键值(主键列不允许NULL值);
    5.4 主键通常定义在表的一列上,但这并不是必需的,也可以一起使用多个列作为主键;在使用多列作为主键时,上述条件必须应用到构成主键的所有列,所有列值的组合必须是唯一的(但单个列的值可以不唯一);
    5.5 主键的最好习惯: 不更新主键列中的值;不重用主键列的值;不在主键列中使用可能会更改的值。

02. 什么是SQL

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

  1. 与其他语言(如,英语以及Java和Visual Basic这样的程序设计语言)不一样,SQL 由很少的词构成,这是有意而为的;设计SQL的目的是很好地完成一项任务,即提供一种从数据库中读写数据的简单有效的方法;
  2. SQL的优点:
    2.1 SQL不是某个特定数据库供应商专有的语言,几乎所有重要的DBMS都支持SQL,所以,学习此语言使你几乎能与所有数据库打交道;
    2.2 SQL简单易学,它的语句全都是由描述性很强的英语单词组成,而且这些单词的数目不多;
    2.3 SQL尽管看上去很简单,但它实际上是一种强有力的语言,灵活使用其语言元素,可以进行非常复杂和高级的数据库操作。

03.下一篇:MySQL简介

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值