營運之資料庫查詢2(簡單入門,從淺入深)通俗易懂

來源:互聯網
上載者:User

   接上面一篇文章,後續。


營運之資料庫查詢1簡單入門,從淺入深)通俗易懂


使用LIMIT限制查詢結果的數量

LIMIT 位置位移量】行數

顯示表查詢結果的前四行。

mysql> SELECT * FROM fruits LIMIT 4;

+------+------+------------+---------+

| f_id | s_id | f_name     | f_price |

+------+------+------------+---------+

| a1   |  101 | apple      |    5.20 |

| b2   |  101 | blackberry |   10.20 |

| c3   |  103 | erry       |    9.20 |

| d4   |  101 | orange     |   11.20 |

+------+------+------------+---------+

4 rows in set (0.00 sec)

在表中,使用LIMIT子句,返回從第五個記錄開始的,行數長度為三的記錄。

mysql> SELECT * FROM fruits LIMIT 4,3;

+------+------+--------+---------+

| f_id | s_id | f_name | f_price |

+------+------+--------+---------+

| e5   |  101 | melon  |    8.20 |

| f6   |  102 | grape  |    8.50 |

| g7   |  102 | berry  |    7.60 |

+------+------+--------+---------+

3 rows in set (0.00 sec)


使用集合函數查詢

函數 作用
AVG) 返回某列的平均值
COUNT)

返回某列的行數

MAX) 返回某列的最大值
SUM) 返回某列值的和


COUNT)函數

查詢表中的總的行數

mysql> select count(*)AS f_name from fruits;

+--------+

| f_name |

+--------+

|     10 |

+--------+

1 row in set (0.00 sec)


SUM)函數,求和函數

求和的這列重新命名輸出

mysql> select SUM(s_id) AS sum_id from fruits;

+--------+

| sum_id |

+--------+

|   1020 |

+--------+

1 row in set (0.00 sec


AVG)函數平均值

在表內查詢s_id 101的平均值

mysql> select AVG(f_price) AS avg__price from fruits where s_id=101;

+------------+

| avg__price |

+------------+

|   8.080000 |

+------------+

1 row in set (0.00 sec)


MAX)函數 返回指定最大值

尋找價格最高的

mysql> select MAX(f_price) AS max_price from fruits;

+-----------+

| max_price |

+-----------+

|     11.60 |

+-----------+

1 row in set (0.00 sec)


有最大就有最小 MIN)函數 返回最小值

mysql> select MIN(f_price) AS max_price from fruits;

+-----------+

| max_price |

+-----------+

|      3.60 |

+-----------+

1 row in set (0.00 sec)


子查詢

帶ANY SOME關鍵字的子查詢 首先建立2個表

返回tb12表的所有num列 然後將tb11中的num1的值與之進行比較,只要大於num的任何一個值,即為符合查詢條件的結果

mysql> create table tb11( num1 INT NOT NULL );

Query OK, 0 rows affected (0.07 sec)


mysql> create table tb12( num INT NOT NULL );

Query OK, 0 rows affected (0.02 sec)


mysql> insert into tb11 values(1),(5),(13),(27);

Query OK, 4 rows affected (0.00 sec)

Records: 4  Duplicates: 0  Warnings: 0


mysql> insert into tb12 values(6),(14),(11),(20);

Query OK, 4 rows affected (0.00 sec)

Records: 4  Duplicates: 0  Warnings: 0


mysql> select num1 from tb11 where num1 > ANY (select num from tb12);

+------+

| num1 |

+------+

|   13 |

|   27 |

+------+

2 rows in set (0.02 sec)


帶ALL關鍵字的子查詢

返回tb11表中比tb12表num 列所有值都大的值

mysql> select num1 from tb11 where num1 > ALL (select num from tb12);

+------+

| num1 |

+------+

|   27 |

+------+

1 row in set (0.00 sec)


帶EXISTS關鍵字的子查詢

查詢表中是否存在s_id=103 ,如果存在則查詢

mysql> select * from fruits where exists (select f_name from fruits where s_id=103);

+------+------+------------+---------+

| f_id | s_id | f_name     | f_price |

+------+------+------------+---------+

| a1   |  101 | apple      |    5.20 |

| b2   |  101 | blackberry |   10.20 |

| c3   |  103 | erry       |    9.20 |

| d4   |  101 | orange     |   11.20 |

| e5   |  101 | melon      |    8.20 |

| f6   |  102 | grape      |    8.50 |

| g7   |  102 | berry      |    7.60 |

| h8   |  101 | coconut    |    5.60 |

| j9   |  103 | xxtt       |   11.60 |

| y10  |  105 | xxxx       |    3.60 |

+------+------+------------+---------+

10 rows in set (0.00 sec)


最後介紹個 工具使用

PowerDesigner我們現在的需求是:希望當接到一個新的工程項目時,程式員只需要根據項目需求,設計出資料庫的結構(表,表的欄位,表間關係),之後只要按 一個按鍵,就能立刻得到基於該資料庫的所有 分層架構代碼檔案.也就是說, 我們希望能在不敲一行代碼的情況下擷取所有我們想要的代碼!而這就是這2個軟體能做到的事情,也是我們安裝它們的目的.

好了,角色已經介紹完了,接著看看它們是如何演繹這場精彩的演出的吧:

首先我們需要建立一個測試資料庫,為了簡單,我們在這個資料庫中只建立一個Student和一個Major.其表結構和關係如下所示.



看看怎樣用PowerDesigner快速的建立出這個資料庫吧.

1.現在開始使用PowerDesigner建立資料庫,首先運行程式,進入主介面:


2.File—New Model—Physical Data Model—Physical Diagram—Model name設定為test,DBMS屬性設定為Microsoft SQL Server 2005


3.首先用表格工具建立一個表格模板



4.雙擊表格模板,設定屬性,我們首先設定Major



5.設定好表名,點擊Columns標籤,設定欄位屬性,設定:



6.因為MajorID欄位我們要設定為自動成長,所以要設定它的進階屬性,選擇MajorID欄位,點擊屬性按鈕,在General面板中勾選上Identity複選框:



7.確定後我們再建立一個Student表,欄位設定:



8.接著是為Student建立一個MajorID外鍵,使用PowerDesigner可以很輕鬆的完成這個工作,選擇關係設定工具,在Student表上按住左鍵不放,拖拽至Major表,便可為Student表添加一個MajorID的外鍵:



9.哈哈,現在測試表已經設定好了,接著設定一下我們要產生的資料庫吧,這些表都將被建立到該資料庫中,我們在設計面板空白處右鍵—Properties,在彈出的屬性設定對話方塊



10好了,在此我們對新資料庫的設定已經完成,但是在SQL中還是空空如也啊,我們要怎麼把這邊設計好的結構移植到SQLServer 2005中呢?執行操作:Database—Generate Database,設定好預存程序匯出目錄和檔案名稱,點擊確定即可



11.到你的匯出目錄,就可以看見匯出的資料庫建立預存程序了,開啟SQL,執行一下,你就會看到資料庫被神奇的建立好了



12.好了,資料庫的準備工作做好了,下一篇我們就將使用該資料庫結合CodeSmith自動批量產生代碼啦~


這個工具 百度上有步驟我就沒自己動手了,直接複製轉載過來了!


PowerDesigner使用教程|使用方法


本文出自 “▁▁技術控ヽ” 部落格,請務必保留此出處http://chenhao6.blog.51cto.com/6228054/1293543

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.