MySQL学习笔记1—7

1、了解数据库和表   前端

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

2、检索数据数据库

  •   检索单个列: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.

3、排序检索数据后端

关键字: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关键字。

4、过滤数据字符串

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

WHERE子句操做符:BETWEEN 值1 AND 值2;BETWEEN匹配范围中全部的值,包括指定的开始值和结束值搜索

 

5、数据过滤技巧

组合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子句

 

6、使用通配符进行过滤

一、 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个字符不同,_老是匹配一个字符,不能多也不能少

二、 使用通配符的技巧

  • 不要过分使用通配符;
  • 除非绝对有必要,不然不要把它们用在搜索模式的开始处;
相关文章
相关标签/搜索