zoukankan      html  css  js  c++  java
  • 数据库学习 day2 检索数据

    上一节我们介绍了什么是数据库,以及一些基本的数据库术语

    这一课介绍使用SELECT语句从表中检索一个或多个数据列。

    关键字(Keyword)

    作为SQL组成部分的保留字。关键字不能用作表和列的名字(类比C语言中的int、print等)。

    1 SELECT语句

    它是在SQL语句中最常使用的语句,作用是从一个或多个表中检索信息。

    使用SELECT检索表数据,需要知道两个信息,我们要从哪里进行搜索,搜索哪些内容。

    1.2 检索单列

    SELECT column_name -- 列名
    FROM table_name; -- 表名

    解释:上述语句用 SELECT 语句从 table_name 表中检索一个名为 column_name 的列。

    列名跟在SELECT后     表名跟在FORM后,这与我们的自然语言相同

    注意:

    • 没有明确排序查询的结果,则返回的数据没有特定的顺序,这个规定我们将在下一节进行介绍。
    • 多条SQL语句必须加分号
    • SQL不区分大小写。
    • 使用空格和回车的作用相同,所以SQL语句和写在一行或多行,但为了代码清晰易查建议分为多行

    1.3 检索多列

    想从一个表中检索多个列,仍然需要使用 SELECT 语句。唯一的不同就是SELECT后面检索的内容需用逗号隔开。

    SELECT column_name,column_name1,column_name2 -- 列名
    FROM table_name; -- 表名

    在本例中我们指定了3个列名,彼此用逗号相隔。

    注意:

    从SQL中检索出的数据都是原始的数据,无格式数据。规定其格式一般在具体应用该数据的应用程序中进行。

    1.4 检索所有列

    SELECT语句还可以检索出所有列而不必逐个列出它们的名字。在实际列名的位置使用星号(*)通配符可以做到这一点。

    SELECT * -- 使用通配符
    FROM table_name; -- 表名

    给定通配符(*),则返回所有的列。使用通配符的可以检索出名字未知的列。

    1.5 检索出不同的值

    当检索结果中出现多个重复值时,我们希望每个只出现一次怎么办?比如搜索一个年级学生的班级信息就会出现大量的重复,我们只需要不同的班级值

    办法就是使用DISTINCT关键字,顾名思义,它指示数据库返回不同的值。

    SELECT DISTINCT column_name -- 检索不同的值
    FROM table_name -- 表名

    如果使用DISTINCT关键字,它必须放在列名前。

    若DISTINCT关键字后有多列,不仅仅是作用于一列,而是所有列。

    1.6 限制结果

    SELECT返回指定列中的所有匹配列,而你想返回1列或指定数量的列怎么办呢?这在数据库操作中是可行的,但各个SQL软件实现方法不同。

    这里只说明MySQL的实现方法,其他软件的可以根据需要自行查讯。

    MySQL中需要使用LIMIT子句,像这样

    SELECT column_name -- 列名
    FROM table_name -- 表名
    LIMIT 5;

    LIMIT 5指示 MySQL 等 DBMS 返回不超过5行的数据。

    为了得到后5行的数据,我们还需指定从哪里开始检索

    SELECT column_name -- 列名
    FROM table_name -- 表名
    LIMIT 5 OFFSET 5;

    注意:

    第一个被检索的行是第0行,而不是第一行。所以,LIMIT 5 OFFSET 5 会检索第6行而不是第5行。

    2 使用注释

    我上面的语句均使用了注释,使用“--”后面空一格跟需要注释的内容

    当然还有多行注释

    /*this is a note
    SELECT   FROM
    */
    SELECT column_name -- 列名
    FROM table_name -- 表名
    LIMIT 5 OFFSET 5;

    这在我们调试代码时很有用,可以让你无需将错误的代码删除,只需注释掉它们就行了

  • 相关阅读:
    USACO Training Section 1.2 [USACO1.2]回文平方数
    USACO Training Section 1.2 双重回文数 Dual Palindrom
    USACO Training Section 1.2 双重回文数 Dual Palindrom
    USACO Training Section 1.2 [USACO1.2]方块转换 Transformations
    USACO Training Section 1.2 [USACO1.2]方块转换 Transformations
    USACO Training Section 1.2 挤牛奶Milking Cows
    USACO Training Section 1.2 挤牛奶Milking Cows
    FZU 1894 志愿者选拔
    FZU 1894 志愿者选拔
    Java实现 LeetCode 705 设计哈希集合(使用数组保存有没有被用过)
  • 原文地址:https://www.cnblogs.com/Wen117/p/9152987.html
Copyright © 2011-2022 走看看