数据库学习小结@TOC

《SQL必知必会》学习1

数据库基础知识

  1. :某种特定类型数据的结构化清单。
    表名(数据库名+表名)是唯一的。
    模式:关于数据库和表的布局及特性的信息。
  2. 列和数据类型
    表由组成。列存储表中某一部分的信息。
    数据类型:所允许的数据的类型。每个表列都有相应的数据类型,它限制(或允许)该列中存储的数据。
    3.行
    :表中的一个记录。
    表中的数据是按存储的,所保存的每个记录存储在自己的行内。
    如果将表想象为网格,网格中垂直的列为表列,水平行为表行。
    4.主键
    主键:一列(或一组列),其值能够唯一标识表中每一行。
    表中的任何列都可以作为主键,只要它满足以下条件:
  • 任意两行都不具有想同你的主键值;
  • 每一行都必须具有一个主键值(主键值不允许NULL值);
  • 主键列中的值不允许修改或更新;
  • 主键值不能重用(如果某行从表中删除,它的主键不能赋给以后的新行)

检索数据–SELECT

  1. 检索单个列
输入
SELECT prod_name
FROM Products;
分析

上述语句利用SELECT语句从Products表中检索一个名为prod_name的列。所需的列名写在SELECT关键字之后,FROM关键字指出从哪个表中检索数据。

提示
  • 多条SQL语句必须以分号(;)分隔;
  • SQL语句不区分大小写;
  • 在处理SQL语句时,其中所有空格都被忽略。
  1. 检索多个列
    在选择多个列时,一定要在列名之间加上逗号,但最后一个列名后不加。
    ex:从Products表中选择3列
SELECT prod_id,prod_name,prod_price
FROM Products;
  1. 检索所有列
    如果在实际列名的位置使用(*)通配符,可以返回表中所有列。
SELECT *
FROM Products;
  1. 检索不同的值
    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;