sql 高級 (六)(視圖、SQL Date 函數)

SQL view(視圖)數據庫

        視圖是可視化的表。函數

        在 SQL 中,視圖是基於 SQL 語句的結果集的可視化的表。spa

        視圖包含行和列,就像一個真實的表。設計

        視圖中的字段就是來自一個或多個數據庫中的真實的表中的字段。orm

        能夠向視圖添加 SQL 函數、WHERE 以及 JOIN 語句,也能夠提交數據,就像這些來自於某個單一的表。get

        數據庫的設計和結構不會受到視圖中的函數、where 或 join 語句的影響。產品

SQL create view 語句it

        create view view_name ASio

        SELECT column_name(s)table

        FROM table_name

        WHERE condition

        視圖老是顯示最近的數據。每當用戶查詢視圖時,數據庫引擎經過使用 SQL 語句來重建數據。

SQL CREATE VIEW 實例

        create view  [Current Product List] AS

        select  ProductID,ProductName

        from Products

        where Discontinued=No

查詢上面這個視圖:

        select * FROM [Current Product List]

         Northwind 樣本數據庫的另外一個視圖會選取 Products 表中全部單位價格高於平均單位價格的產品:

        create view [Products Above Average Price] AS

        select  ProductName,UnitPrice

        FROM Products

        where UnitPrice>(SELECT AVG(UnitPrice) FROM Products) 

實例2

        create view [Category Sales For 1997] AS

        select distinct CategoryName,Sum(ProductSales) AS CategorySales

        from [Product Sales for 1997]

        group by  CategoryName 

        向查詢添加條件.僅僅查看 "Beverages" 類的所有銷量:

            SELECT * FROM [Category Sales For 1997]

            WHERE CategoryName='Beverages'

SQL 更新視圖

            SQL create or replace view  Syntax

            create or replace view view_name AS

            select column_name(s)

            from table_name

            where condition

向 "Current Product List" 視圖添加 "Category" 列。

        create view [Current Product List] AS

        select ProductID,ProductName,Category

        from Products

        where Discontinued=No

SQL 撤銷視圖

        DROP VIEW 命令來刪除視圖。

        SQL drop  view Syntax

        drop view view_name

SQL Date 函數

內建日期處理函數

MySQL Date 函數

函數 描述
now() 返回當前的日期和時間
curdate() 返回當前日期
curtime() 返回當前時間
date() 提取日期或日期/時間表達式的日期部分
extract() 返回日期/時間按的單獨部分
date_add() 給日期添加指定的時間間隔
date_sub() 從日期減去指定的時間間隔

datediff() 返回兩個日期之間的天數
date_format() 用不一樣的格式顯示日期/時間

SQL Server Date 函數

函數 描述
getdate() 返回當前日期和時間
datepart() 返回日期/時間的單獨部分
dateadd() 在日期中添加或減去指定的時間間隔
datediff() 返回兩個日期之間的時間
convert() 用不一樣的格式顯示日期/時間

SQL Date 數據類型

        MySQL 使用下列數據類型在數據庫中存儲日期或日期/時間值:

            DATE - 格式 YYYY-MM-DD

            DATETIME - 格式: YYYY-MM-DD HH:MM:SS

            TIMESTAMP - 格式: YYYY-MM-DD HH:MM:SS

            YEAR - 格式 YYYY 或 YY

        SQL Server 使用下列數據類型在數據庫中存儲日期或日期/時間值:

            DATE - 格式 YYYY-MM-DD

            DATETIME - 格式: YYYY-MM-DD HH:MM:SS

            SMALLDATETIME - 格式: YYYY-MM-DD HH:MM:SS

            TIMESTAMP - 格式: 惟一的數字

SQL 日期處理

        不涉及時間部分,能夠輕鬆地比較兩個日期!

            OrderId ProductName         OrderDate

                    1         computer                 2008-12-26

                    2         printer                 2008-12-26

                    3         electrograph         2008-11-12

                    4         telephone          2008-10-19

        從上表中選取 OrderDate 爲 "2008-12-26" 的記錄。

SELECT * FROM Orders WHERE OrderDate='2008-12-26'

OrderId ProductName     OrderDate

    1         computer             2008-12-26 16:23:55

    2         printer             2008-12-26 10:45:26

    3         electrograph     2008-11-12 14:12:08

    4          telephone     2008-10-19 12:56:10

若是咱們使用上面的 SELECT 語句:

SELECT * FROM Orders WHERE OrderDate='2008-12-26'

得不到結果。這是因爲該查詢不含有時間部分的日期。

提示:若是您但願使查詢簡單且更易維護,那麼請不要在日期中使用時間部分!

相關文章
相關標籤/搜索