开始学习数据库部分,之前玩玩打打没有认真看,现在想好好看看。基础太差,想借助《SQL必知必会》这本书来恶补下基础啊。
首先来了解下数据库和SQL相关的一些最基本的概念。
1.学习前知识准备
1.1 什么是数据库?
数据库是一种将数据以某种组织方式来存储的数据集合(通常是一个文件或一组文件)。
1.2 什么是表(table)
某种特定类型数据的结构化清单。数据库中每个表都有一个名字来唯一标识自己,不可重复。
表具有一些特性,这些特性定义了数据应该在数据库中如何存储。描述表的这些特性信息就是所谓的shema(模式),shema可以描述数据库中特定的表,也可以描述整个数据库。
1.3 模式(schema)
描述数据库和表的布局和特性的信息。
1.4 列
表中的一个字段,所有表都是由一个或多个列组成的。
1.5 数据类型
表中的每一列都有相应的数据类型,限制(或允许)该列中存储的数据。限制数据类型有很多好处,例如可以防止在数值类型的字段录入字符串,也可以根据数据类型进行分类,有利于磁盘优化等。
1.6 行
表中的一条记录。表中的数据都是按行存储的。
1.7 主键
表中的每一行都应该有一列(或者多列)来唯一的标识自己。多个列作为主键时,它们的组合必须唯一,但是单个列的值可以不唯一。作为主键的列需要满足一下条件:
1) 任意两行的主键不可相同
2)每一行都必须有主键,且不能为NULL
3)主键列中的值不可以修改
4)主键不可以重用(某行删除,其主键不可作为新添加的行主键)
2.什么是SQL,有什么用?
SQL是结构化查询语句(Structured Query Language)的缩写。它是一门专门用来和数据库沟通的语言。SQL语言只提供了少量的关键字,与其他语言如C ,java等不同。SQL提供了一种从数据库中读写数据的有效的方法。
SQL具有以下优点:
1)不是某家数据库提供商的产品。基本上所有的DBMS(数据库管理系统)都支持SQL,所以学完它可以和几乎所有DBMS打交道。
2)简单易学,极少的关键字,极强的语义化
3)SQL虽然看上去简单,但是很灵活,可以完成很多复杂和高级的数据库操作。
SQL的扩展
不同的数据库提供商会根据自身产品的需求对SQL进行了扩展,主要是提供了一些用来执行特定操作的额外功能或简化方法。虽然这些扩展有时候很有用,但是很少有多家数据库提供商对相同的扩展进行支持。标准SQL由ANS标准委员会管理,从而成为ANSI SQL.,所有的DBMS除了提供一些扩展功能,都会支持ANSI SQL