zoukankan      html  css  js  c++  java
  • MySQL学习笔记1—7

    一、了解数据库和表   

    • SHOW DATABASES; 返回可用数据库的一个列表
    • SHOW TABLES; 返回当前选择的数据库内可用的列表
    • SHOW COLUMNS FROM 表名; 对每个字段返回一行,行中包括字段名、数据类型、是否允许NULL、键信息、默认值以及其他信息

    二、检索数据

    •   检索单个列:SELECT prod_name FROM products;
    •   检索多个列:SELECT prod_id, prod_name, prod_price FROM products;
    •   检索所有列:SELECT * FROM products;
    •   检索不同行:关键字DISTINCT。SELECT DISTINCT vend_id FROM products; 只返回vend_id不同的行。注意:不能部分使用DISTINCT  此关键字应用于所有列而不仅是前置它的列。如果给出SELECT DISTINCT vend_id, prod_price FROM products;除非指定的两个列都不相同,否则所有行都将被检索出来。
    •   限制结果:关键字:LIMIT。SELECT prod_name FROM products LIMIT 5; 此语句使用SELECT检索单个列。LIMIT 5指示MySQL返回不多于五行;若为LIMIT 5,5 指示MySQL返回从行5开始的5行。注意:检索出来的第一行是行0而不是行1.

    三、排序检索数据

    关键字:ORDER BY子句;

    • 排序数据:SELECT prod_name FROM products PRDER BY prod_name;
    • 按多个列排序:SELECT prod_id, prod_price, prod_name FROM products OEDER BY prod_price, prod_name; 在按多个列排序时,排序完全按所规定的顺序进行
    • 指定排序方向:如果升序,则什么也不需要声明,默认升序;如果降序,需用 DESC 关键字;SELECT prod_id, prod_price, prod_name FROM products ORDER BY prod_price DESC, prod_name;  DESC 关键字只应用到直接位于其前面的列名。如果想在多个列上进行排序,必须对每个列指定DESC关键字。

    四、过滤数据

    使用WHERE子句:WHERE子句在表名(FROM子句)之后给出。在同时使用ORDER BY和WHERE子句时,应该让ORDER BY位于WHERE之后,否则将会产生错位。

    WHERE子句操作符:BETWEEN 值1 AND 值2;BETWEEN匹配范围中所有的值,包括指定的开始值和结束值

    五、数据过滤

    组合WEHRE子句:以AND子句的方式或OR子句的方式使用

    SELECT prod_id, prod_price, prod_name FROM products WHERE vend_id = 1003 

    AND prod_price <= 10; AND:用来指示检索满足所有给定条件的行。

    SELECT prod_name, prod_price FROM products WHERE vend_id = 1002 OR vend_id

    = 1003; OR:用来检索匹配任一条件的行。

            SQL在处理OR操作前,优先处理AND操作符;解决方法就是圆括号明确地分组                   

            相应的操作符。

    IN操作符:IN操作符用来指定条件范围,范围中的每个条件都可以进行匹配

      SELECT prod_name, prod_price FROM products WHERE vend_id IN(1001,1003) ORDER BY prod_name; 检索供应商1002和1003制造的所有产品。IN操作符后跟由逗号分隔的合法值清单,整个清单必须括在圆括号中。

    IN操作符的优点:

    • 在使用长的合法选项清单时,IN操作符的语法更清楚且更直观
    • 在使用IN时,计算的次序更容易管理、
    • IN操作符一般比OR操作符清单执行更快
    • IN的最大优点是可以包含其他SELECT语句,使得能够更动态的建立WHERE子句

    六、使用通配符进行过滤

    1、 LINK操作符

    通配符:用来匹配值的一部分的特殊字符。

    搜索模式:由字面值、通配符或两者组合构成的搜索条件

    (1)、百分号(%)通配符

          在搜索串中,%表示任何字段出现任意次数。

          SELECT prod_id, prod_name FROM products WHERE prod_name LIKE ‘jet%’;

          搜索找出所有以词jet起头的产品

          %可以出现在字符串的前端后端和中间:’s%e’、’%anv%’

          除了一个或多个字符外,%还能匹配0个字符。

    (2)、下划线 (_) 通配符

                  下划线的用途与%一样,但下划线只匹配单个字符而不是多个字符

                  SELECT prod_id, prod_name FROM products WHERE prod_name LIKE ‘_ ton ’;

                  与%能匹配0个字符不一样,_总是匹配一个字符,不能多也不能少

    2、 使用通配符的技巧

    • 不要过度使用通配符;
    • 除非绝对有必要,否则不要把它们用在搜索模式的开始处;
  • 相关阅读:
    Linux_DNS服务器
    Linux_DNS服务器
    Linux_FTP服务器
    Linux_FTP服务器
    Linux_DHCP&DHCP Relay
    分布式内存存储式元数据服务的构建
    如何提高分布式系统的可观察性:Insight Tool的引入
    论分布式系统中Metric框架的设计
    分布式存储系统关于GDPR条例中的数据清除原则
    Pipeline并行处理模型
  • 原文地址:https://www.cnblogs.com/D-LW/p/8799222.html
Copyright © 2011-2022 走看看