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

二、 使用通配符的技巧

  • 不要過分使用通配符;
  • 除非絕對有必要,不然不要把它們用在搜索模式的開始處;
相關文章
相關標籤/搜索