本书豆瓣链接:SQL必知必会(第四版)
数据库基础
数据库database:以某种有组织的方式存储的数据集合
一般的数据库软件是DBMS(数据库管理系统)
表table:某种特定类型数据的结构化清单,一个表存同类数据,表名字唯一
不过不同数据库中可以使用相同表名
模式schema:描述数据库和表的布局和特性的信息
列column:表的一个字段,所有表都是由一个或多个列组成的
根据自己的需求决定将数据分解到何种程度
数据类型datatype:定义了列可以存储哪些数据种类
创建表时需要特别关注所用的数据类型
数据类型兼容问题:一些高级的数据类型没有一致的支持,相同的数据结构在不同的DBMS有不同的名称,创建表结构时需要记住这些差异
行row:表中的一个记录
记录record也是行的意思,不过行才是正确的术语
主键primary key:表中的每一行都应该可以唯一标识自己,可以靠一列或者几列,这个唯一标识就是主键
应该每个表都需要一个主键,以便数据管理和操作
满足以下条件:
- 任意两行不能有相同主键
- 任意一行主键不为NULL
- 主键列中的值不允许修改或更新
- 主键值不能重用(删除后不允许赋值给新行) //ps:Why???
SQL
发音为字母S-Q-L,或者sequel
Structured Query Language(结构化查询语言)
DBMS通用语言,几乎全部兼容,但是不同DBMS对SQL都有不同的扩展,需要注意
流行的应用程序
描述几个最常用应用中执行SQL语句的步骤
IBM DB2
带有一整套执行SQL语句的客户端工具
一下基于java的Control Center实用程序
- 运行Control Center
- 左侧Object View列出所有可用数据库,展开All Database选择数据库
- 在选择的数据库上右键选择Query,或者从Selected选择
- 在上面的框中输入SQL语句
- 点击Execute按钮,绿色箭头,执行
- 下面窗口显示状态信息,切换到Query Result标签页,可以以网格显示
Microsoft Access
通常用来交互式的创建和管理数据库,Access给出Query Designer,可以用来交互式建立SQL语句
Microsoft SQl server
给出一个SQL server Management Studio的管理工具管理
MySQL
Oracle Express
SQLite
通常在其他语言与应用程序中使用,不单独使用