1.基本概念
数据库
数据库是一以某种有组织的方式存储的数据集合。
平常口语中的数据库,也指代操作数据库的软件,这些软件的学名叫数据库管理系统。
表
表是一种结构化的文件,用来存储某种特定类型的数据,是某种特定类型数据的结构化清单。
数据库中的表的名字必须是唯一的。
模式
模式描述了数据库和表的布局以及特性的信息。
模式定义了数据在表中如何存储,包含存储什么样的数据,数据如何分解,各部分信息如何命名等信息。
列
表是由列组成的。
所有的表都是有一个后者多个列组成。
每一列存储着特定的信息。
数据分解
正确的将数据分解为多个列十分重要,只有通过数据分解才能利用特定的列对数据进行分类和过滤。
数据类型
每个表列都有相应的数据雷类型。数据类型限制了该列中存储的数据。
数据类型有助于分类数据和优化磁盘。
数据类型兼容
很多高级的数据类型没有得到一致的支持,在创建表的结构时,要熟悉地知道这些差异。
行
表中的记录是按行存储的
行和记录是交替使用的
主键
表中的每一行都会一列会几个列可以唯一表示这一行。
主键就是唯一标识表中每行的这个列,或这几列。
主键表示某一特定的行。
没有主键,更新或删除表中的特定行就极为困难。
主键的特点是任意两行不相同,不允许为Null,不允许修改或更新,不能重用。
也可以使用多个列作为主键,使用多个键作为主键是,所有列值的组合必须是唯一的,单个列的值可以不唯一。
sql
是结构化查询语言
是由简单的英语单词构成的
sql语句是不区分大小写的
灵活使用其语言元素,可以进行非常复杂和高级的数据操作。
学习sql最好的方法是自己动手实践。
2.检索数据
我们使用select关键字进行检索
sql语句中所有的空格都会被忽略。
检索的情形包括:检索单个列,检索多个列,检索所有列,检索不同的值。
要对检索的结果进行排序,过滤,和其他限制。
检索单个列
sql语句不区分大小写,通常关键字大写,列名,表名小写;
sql语句分成多行更容易阅读和调试;
检索多个列
检索多个列,一定要当心逗号;
选择多个列是,一定要在列名之间加上逗号,但最后一个列名后不加;
sql语句一般返回原始的,无格式的数据。
检索所有列
*叫做通配符。
通配符返回表中所有的列;
检索不需要的列,通常会降低检索和应用程序的性能。
检索所有列,能够检索我们不知道的列,从而了解表中的所有列;
检索不同的值
使用distinct将指示数据库只返回不同的值。
distinct必须直接放在列名的前面。
distinct会作用所有的列,不仅仅作用跟在其后的那一列;
限制结果
oracle通过使用rownum返回第一行或者一定数量的行
使用注释
sql语句复杂市,添加一些描述性的注释,这样便于今后的参考;
碰到一个比较长的sql语句是,只想测试它的一部分,那么应该注释掉一部分代码。
使用两个连字符--;--之后的文本就是注释
使用/**/进行多行注释,注释从/*开始到*/结束,中间的任何部分都是注释