要学习数据库SQL,所以打算写一系列数据库理解,都是基于这两本书
SQL 必知必会、MySQL 必知必会
1、什么是 SQL
1、定义
SQL(发音为字母 S-Q-L或 sequel)是Structured Query Language(结构 化查询语言)的缩写。SQL是一种专门用来与数据库沟通的语言。
与其他语言(如英语或 Java、C、PHP 这样的编程语言)不一样,SQL 中只有很少的词,这是有意而为的。设计 SQL的目的是很好地完成一项 任务——提供一种从数据库中读写数据的简单有效的方法。
2、SQL有如下的优点
- SQL不是某个特定数据库供应商专有的语言。几乎所有重要的 DBMS 都支持 SQL,所以学习此语言使你几乎能与所有数据库打交道。
- SQL简单易学。它的语句全都是由有很强描述性的英语单词组成,而 且这些单词的数目不多。
- SQL虽然看上去很简单,但实际上是一种强有力的语言,灵活使用其 语言元素,可以进行非常复杂和高级的数据库操作。
2、数据库基础
1、数据库(database)
- 定义:保存有组织的数据的容器(通常是一个文件或一组文件)。
- 注意:误用导致混淆,人们通常用数据库这个术语来代表他们使用的数据库软件,这是不正确的,也因此产生了许多混淆。确切地说,数据库软件应称为数据库管理系统(DBMS)。数据库是通过 DBMS 创建和操纵的容器,而具 体它究竟是什么,形式如何,各种数据库都不一样。
2、表(table)
- 定义:某种特定类型数据的结构化清单。 表是一种结构化的文件,可用来存储某种特定类型的数据。表可以保存顾客清单、产品目录,或者其他信息清单。
- 表名:使表名成为唯一的,实际上是数据库名和表名等的组合。有的数据库 还使用数据库拥有者的名字作为唯一名的一部分。也就是说,虽然在 相同数据库中不能两次使用相同的表名,但在不同的数据库中完全可 以使用相同的表名。
3、列和数据类型
- 列(column):表中的一个字段。所有表都是由一个或多个列组成的。 正确地将数据分解为多个列极为重要。例如,城市、州、邮政编码 应该总是彼此独立的列。
- 数据类型:所允许的数据的类型。每个表列都有相应的数据类型,它限制(或允 许)该列中存储的数据。注意:数据类型兼容 数据类型及其名称是 SQL不兼容的一个主要原因。
4、行(row)
- 定义:表中的一个记录(即一行数据)。
- 说明:是记录还是行? 你可能听到用户在提到行时称其为数据库记录(record)。这两个术语 多半是可以交替使用的,但从技术上说,行才是正确的术语。
5、主键(primary key)
- 定义: 一列(或一组列),其值能够唯一标识表中每一行。
- 表中的任何列都可以作为主键,只要它满足以下条件:
- 任意两行都不具有相同的主键值;
- 每一行都必须具有一个主键值(主键列不允许 NULL 值) ;
- 主键列中的值不允许修改或更新;
- 主键值不能重用(如果某行从表中删除,它的主键不能赋给以后的新行)。
图例
用了数据库图形化界面
首先我们先要创建数据库,再创建表,定义表一列的数据类型及表名