数据库学习小结@TOC
《SQL必知必会》学习1
数据库基础知识
- 表 :某种特定类型数据的结构化清单。
表名(数据库名+表名)是唯一的。
模式:关于数据库和表的布局及特性的信息。 - 列和数据类型
表由列组成。列存储表中某一部分的信息。
数据类型:所允许的数据的类型。每个表列都有相应的数据类型,它限制(或允许)该列中存储的数据。
3.行
行:表中的一个记录。
表中的数据是按行存储的,所保存的每个记录存储在自己的行内。
如果将表想象为网格,网格中垂直的列为表列,水平行为表行。
4.主键
主键:一列(或一组列),其值能够唯一标识表中每一行。
表中的任何列都可以作为主键,只要它满足以下条件:
- 任意两行都不具有想同你的主键值;
- 每一行都必须具有一个主键值(主键值不允许NULL值);
- 主键列中的值不允许修改或更新;
- 主键值不能重用(如果某行从表中删除,它的主键不能赋给以后的新行)
检索数据–SELECT
- 检索单个列
输入
SELECT prod_name
FROM Products;
分析
上述语句利用SELECT语句从Products表中检索一个名为prod_name的列。所需的列名写在SELECT关键字之后,FROM关键字指出从哪个表中检索数据。
提示
- 多条SQL语句必须以分号(;)分隔;
- SQL语句不区分大小写;
- 在处理SQL语句时,其中所有空格都被忽略。
- 检索多个列
在选择多个列时,一定要在列名之间加上逗号,但最后一个列名后不加。
ex:从Products表中选择3列
SELECT prod_id,prod_name,prod_price
FROM Products;
- 检索所有列
如果在实际列名的位置使用(*)通配符,可以返回表中所有列。
SELECT *
FROM Products;
- 检索不同的值
SELECT语句返回所有匹配的行,但是如果只想检索Products表中所有产品供应商的ID,可以使用DISTINCT关键字,它指示数据库只返回不同的值。
输入
SELECT DISTINCT vend_id
FROM Products;
输出
vend_id
----------
FNG01
FNG01
DLL01
注意
DISTINCT关键字作用于所有的列,不仅仅是跟在其后的那一列。例如,你指定SELECT DISTINCT vend_id,prod_price,除非指定的两列完全相同,否则所有的列都会被检索出来。
5. 限制结果
在SQL Server和Access中使用SELECT时,可以使用TOP关键字来限制最多返回多少行,
输入
SELECT TOP 5 prod_name
FROM Products;
输出
prod_name
------------
8 inch teddy bear
12 inch teddy bear
18 inch teddy bear
Fish bean bag toy
Bird beam=n bag toy
上面代码使用SELECT TOP 5 语句,只检索前5行数据。
6. 使用注释
- 行内注释1
SELECT prod_name -- 这是一条注释
FROM Products;
- 行内注释2
# 这是一条注释
SELECT prod_name
FROM Products;
- 多行注释
/* SELECT prod_name, vend_id
FROM Products; */
SELECT prod_name
FROM Products;