数据库(二)

数据库基础

数据库(database:保存有组织的数据的容器(通常是一个文件或一组文件)

表(table):某种特定类型数据的结构化清单(存储在表中的数据是同一种类型的数据或清单)

²  数据库中的每个表都有一个名字来标识自己。这个名字是唯一的,即在同一个数据库中没有其他的表具有相同的名字。在不同的数据库中可以使用相同的表名。

²  模式:关于数据库和表的布局及特性的信息。(可以用来描述数据库中特定的表,也可以用来描述整个数据库和其中表的关系)

列(column):表中的一个字段,所有表都是由一个或多个列组成的。

²  表由列组成。列存储表中某部分的信息。

数据类型:所允许的数据的类型。每个表列都有相对应的数据类型,它限制或允许该列中存储的数据。(在创建表时必须特别关注所用的数据类型)

²  数据类型限定了可存储在列中的数据种类(例如,防止在数值字段中录入字符值)。数据类型还帮助正确地分类数据,并在优化磁盘使用方面起重要作用。

行(row):表中的一个记录。(表中的数据是按行存储的,所保存的每个记录存储在自己的行内。如果将表格想象为网格,网格中垂直的列为表列,水平为表行)

 

表列

表行

 

 

 

 

 

 

 

主键(primary key):一列(或一组列),其值能够唯一标识表中每一行。

²  表中的任何列都可以作为主键,只要它满足以下条件:

Ø  任意两行都不具有相同的主键值;

Ø  每一行都必须具有一个主键值(主键列不允许NULL值);

Ø  主键列中的值不允许修改或更新;

Ø  主键值不能重用(如果某行从表中删除,它的主键不能赋给以后的新行)。

²  主键通常定义在表的一列上,但并不是必需这么做,也可以一起使用多个列作为主键。在使用多列作为主键时,上述条件必须应用到所有列,所有列值的组合必须是唯一的(但单个列的值可以不唯一)。

²  SQL语句是由简单的英语单词构成的,这些单词称为关键字,每个SQL语句都是由一个或多个关键字构成的。不区分大小写。所有空格都被忽略,SQL语句可以写成长长的一行,也可以分写在多行。

²  关键字(keyword):作为SQL组成部分的保留字。关键字不能用作表或列的名字。

 

检索数据

1、        SELECT语句:(从一个或多个表中检索信息)

²  为了使用select检索表数据,必须至少给出两条信息—想选择什么,以及从什么地方选择。

l  检索单个列:

select列名 from 表名;

l  检索多个列:(最后一个列名后不加逗号)

select 列名1,列名2,列名3  from 表名

l  检索所有列:

select  *  from  表名;

±  注意使用通配符 * :一般而言,除非确实需要表中的每一列,否则最好别使用通配符。虽然使用通配符能让自己省事,不用明确列出所需列,但检索不需要的列通常会降低检索和应用程序的性能。

±  检索未知列:使用通配符的一个大优点。由于不明确指定列名(因为星号检索每一列),所以能检索出名字未知的列。

l  检索不同的值:

select distinct 列名 from 表名;

±  distinct 关键字必须直接放在列名的前面。distinct 关键字作用于所有的列,不仅仅是跟在其后的那一列。

l  限制结果:

±  SQL SeverAccess中使用select时,可以使用top关键字来限制最多返回多少行

select  top 5  列名  from  表名;

±  DB2

select 列名 from 表名 fetch first 5 rows only

±  Oracle

select 列名 from 表名 where rownum <=5

±  MysqlMariaDBPostgreSQLSQLite

select 列名from 表名 limit 5

select 列名 from 表名 limit 4 offset 5limit 45);

(从第4行起的后面5行数据)

±  第一个被检索的行是第0 行,而不是第1行。因此,limit 1 offset 1会检索第2行,而不是第1行。

l  使用注释

±  -- (后面有一个空格)

±  #

 

±  /*   */

数据库基础

数据库(database:保存有组织的数据的容器(通常是一个文件或一组文件)

表(table):某种特定类型数据的结构化清单(存储在表中的数据是同一种类型的数据或清单)

²  数据库中的每个表都有一个名字来标识自己。这个名字是唯一的,即在同一个数据库中没有其他的表具有相同的名字。在不同的数据库中可以使用相同的表名。

²  模式:关于数据库和表的布局及特性的信息。(可以用来描述数据库中特定的表,也可以用来描述整个数据库和其中表的关系)

列(column):表中的一个字段,所有表都是由一个或多个列组成的。

²  表由列组成。列存储表中某部分的信息。

数据类型:所允许的数据的类型。每个表列都有相对应的数据类型,它限制或允许该列中存储的数据。(在创建表时必须特别关注所用的数据类型)

²  数据类型限定了可存储在列中的数据种类(例如,防止在数值字段中录入字符值)。数据类型还帮助正确地分类数据,并在优化磁盘使用方面起重要作用。

行(row):表中的一个记录。(表中的数据是按行存储的,所保存的每个记录存储在自己的行内。如果将表格想象为网格,网格中垂直的列为表列,水平为表行)

 

表列

表行

 

 

 

 

 

 

 

主键(primary key):一列(或一组列),其值能够唯一标识表中每一行。

²  表中的任何列都可以作为主键,只要它满足以下条件:

Ø  任意两行都不具有相同的主键值;

Ø  每一行都必须具有一个主键值(主键列不允许NULL值);

Ø  主键列中的值不允许修改或更新;

Ø  主键值不能重用(如果某行从表中删除,它的主键不能赋给以后的新行)。

²  主键通常定义在表的一列上,但并不是必需这么做,也可以一起使用多个列作为主键。在使用多列作为主键时,上述条件必须应用到所有列,所有列值的组合必须是唯一的(但单个列的值可以不唯一)。

²  SQL语句是由简单的英语单词构成的,这些单词称为关键字,每个SQL语句都是由一个或多个关键字构成的。不区分大小写。所有空格都被忽略,SQL语句可以写成长长的一行,也可以分写在多行。

²  关键字(keyword):作为SQL组成部分的保留字。关键字不能用作表或列的名字。

 

检索数据

1、        SELECT语句:(从一个或多个表中检索信息)

²  为了使用select检索表数据,必须至少给出两条信息—想选择什么,以及从什么地方选择。

l  检索单个列:

select列名 from 表名;

l  检索多个列:(最后一个列名后不加逗号)

select 列名1,列名2,列名3  from 表名

l  检索所有列:

select  *  from  表名;

±  注意使用通配符 * :一般而言,除非确实需要表中的每一列,否则最好别使用通配符。虽然使用通配符能让自己省事,不用明确列出所需列,但检索不需要的列通常会降低检索和应用程序的性能。

±  检索未知列:使用通配符的一个大优点。由于不明确指定列名(因为星号检索每一列),所以能检索出名字未知的列。

l  检索不同的值:

select distinct 列名 from 表名;

±  distinct 关键字必须直接放在列名的前面。distinct 关键字作用于所有的列,不仅仅是跟在其后的那一列。

l  限制结果:

±  SQL SeverAccess中使用select时,可以使用top关键字来限制最多返回多少行

select  top 5  列名  from  表名;

±  DB2

select 列名 from 表名 fetch first 5 rows only

±  Oracle

select 列名 from 表名 where rownum <=5

±  MysqlMariaDBPostgreSQLSQLite

select 列名from 表名 limit 5

select 列名 from 表名 limit 4 offset 5limit 45);

(从第4行起的后面5行数据)

±  第一个被检索的行是第0 行,而不是第1行。因此,limit 1 offset 1会检索第2行,而不是第1行。

l  使用注释

±  -- (后面有一个空格)

±  #

±  /*   */

posted @ 2019-03-26 08:50  New7  阅读(199)  评论(0编辑  收藏  举报