日记(2016/5/31)

原创 2016年05月31日 03:19:17

龙樱 . 2015 / 5 /31

《SQL必知必会》
数据库的概念:

数据库(保存有组织的数据的容器)
数据库管理系统(DBMS)数据库软件
表(table,某种特定的类型数据的结构化清单,同一类型的数据或清单)
列(column,表由列组成,列存储表中某部分的信息)
*数据类型(所允许的数据的类型,每个表列都有相应的数据类型,)
**注意:数据类型及其名称是SQL不兼容的一个主要原因。虽然大多数的基本数据类型得到了一致的支持,但是许多高级的数据类型却没有。更糟的是,偶然会有相同的数据类型在不同的DBMS中具有不同的名称。对此用户毫无办法。
行(row,表中的一个记录)
主键(primary key,一列或一组列,其值能够唯一标识表中的每一行,唯一标识表中每行的这个列(或几列)称为主键)
**主键列中的值不允许修改或更新。主键值不能重用

SQL是什么

SQl是Structured Query Language的缩写。结构化查询语言。

怎么使用SELECT

SQL语句是由简单的英语单词构成的,这些单词称为关键字,每个SQL语句都是由一个或多个关键字构成的,
为了使用SELECT,必须至少给出两条信息——想选择什么,以及从什么地方选择
(1)检索单个列:
输入:SELECT prod_name
     FROM Products;
意义:上述语句利用SELECT语句从Products表中检索一个名为prod_name的列,所需的列名写在SELECT关键字后,FROM关键字指向从哪个表中检索数据;
输出:prod_name
     ------------
     Fish bean bag toy
     Bird bean bag toy
     Rabbit bean bag toy
     8 inch teddy bear
     12 inch teddy bear
     18 inch teddy bear
     Raggedy Ann
     King doll
     Queen doll
 提示:如果没有明确排序查询结果,则返回的顺序可能是数据被添加到表中的顺序,也可能不是,只要返回相同数目的行,就是正常的。
      多条SQL语句必须用分号分隔,多数DBMS不需要在单条SQL语句后加分号,但是加上没有坏处。
      SQL语句不区分大小写,但是一般对SQL关键字使用大写,而对列名和表明使用小写。
      空格和\n被忽视

(2)检索多个列:
输入:SELECT prod_id,prod_name,prod_price
      FROM Products;
分析:一个表中检索多个列,仍然使用相同的SELECT语句,唯一的不同的是必须在SELECT关键字后给出多个列名,列名之间必须以逗号分隔,但是最后一个列名不能加逗号。
输出:prod_id    prod_name           prod_price
     -------    ----------------    -----------
     BNBG01    Fish bean bag toy     34900
     BNBG02    Bird  bean bag toy    34900
     BNBG03    Rabbit bean bag toy   34900

总结:从上述输出可以看到,SQL语句一般返回原始的、无格式的数据。数据的格式化是表示问题,而不是检索问题。因此,表示,一般在显示该数据的应用数据中规定。通常很少直接使用实际检索出的数据(没有应用程序提供的格式)

(3)检索所有列:
输入:SELECT *
     FROM Products;
分析:如果给定一个通配符(*),则返回表中所有列。列的顺序一般是列在表定义中出现的物理顺序,但并不总是如此。不过,SQL数据很少这样(通常,数据返回给应用程序,根据需要进行格式化,再表示出来) 
警告:除非需要所有列,不然最好不要使用通配符(*)
提示:使用通配符有一个大优点。由于不明确指定列名(因为*检索每一列),所以能检索出名字未知的列。

(4)检索不同的值
假如输入:SELECT vend_id
     FROM Products;
则会输出:
    vend_id
    -------
    BRS01
    BRS01
    BRS01
    DLL01
    DLL01
    DLL01
    FNG01
    FNG01
检索出不同值输入:SELECT DISTINCT vend_id
                FROM Products;
分析:只返回不同的vend_id
           输出:vend_id
                --------
                  BRS01
                  DLL01
                  FNG01
警告:DISTINCT作用于所有的列  

(5)限制结果
使用关键字来限制返回的多少行,但是不同的数据库中使用方法不同
输入:(SQL Server和Access)
    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 bean bag toy
分析:使用了SELECT TOP 5,只检索前5行数据

输入:(DB2)SELECT prod_name
    FROM Products
    FETCH FIRST 5 ROWS ONLY

输入:(Oracle)
    SELECT prod_name
    FROM Products
    WHERE ROWNUM <= 5;  --使用行计数器ROWNUM来计算行

输入:(MySQL、MariaDB)
    SELECT prod_name;
    FROM Products
    LIMIT 5;   --返回不超过5行的数据

输入:SELECT prod_name
    FROM Products
    LIMIT 5 OFFSET 5; 
    #第一个数字指从哪儿开始,第二个数字是检索的行数
    #如果总共只有9行,那么就返回4行。
    #从第0行开始算

注释:SELECT prod_name --这是一条注释
    #这是一台注释,该行从开头到行尾都是注释
    /*   */ 概括的范围内都是注释  

【总结 学习如何检索数据 2016/5/31 03:18】

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

黑马程序员_学习日记31_winphone7开发_控件

1、 通用属性(UIElement) Height/Width:用户设置的控件大小,是预期的大小 ActualHeight/ActualWidth:获取控件的实际大小 MaxHeight/Max...

地方行政编码 2016-7-31

  • 2017-08-07 13:34
  • 192KB
  • 下载

idea报错:[2016-08-31 09:20:10,763] Artifact xxx:war exploded: Error during artifact deployment.

[2016-08-31 09:20:10,763] Artifact newClassProject1:war exploded: Error during artifact deployment. ...

SolidWork 2016 绿色.part31.rar

  • 2016-12-12 10:50
  • 69.5MB
  • 下载

CVPR 2016-10-31

[33] arXiv:1610.09334 [pdf, ps, other] Real-time Online Action Detection Forests using Spatio-temp...

2016/07/31  安装cocoapods 失败 原因:ruby 环境版本必须大雨2.2 --> 更新到2.3后重新安装

[查看博客园文章]http://www.cnblogs.com/Mrliheng/

Leap second to be added on December 31st 2016

Leap second to be added on December 31st 2016  SOLUTION VERIFIED - Updated Saturday at 6:12 PM - ...

VirtualBox + DevStack 2016-12-31

VirtualBox5.1.12 + ubuntu16.04 + devstack(stable/newton) + heat
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)