1. 程式人生 > >SQL SERVER-筆記2

SQL SERVER-筆記2

1、複習
    ->建立資料庫的SQL:********
        create database 資料庫名
        on
        (
            name=‘’,
            size=5MB,
            filegrowth=2MB,
            filename="....\data\db.mdf"
        )
        log on
        (
            name=‘_log’,
            size=5MB,
            filegrowth=2MB,
            filename="....\data\db_log.ldf"
        )
    ->建立表的SQL:*******
        create table 表名
        (
            列名 型別 null,
            .....,
            列名  型別 primaryt key not null,--主鍵列
            
            列名  型別 identity(1,1) not null,--自動增長,只能用於資料的型別:int,bigint,float
            
        )
    
    ->NChar和Char的區別?
        ->避免亂碼
        ->N:Unicode,用兩個自己表示一個字元。
    ->資料庫的例項名怎麼理解呢?
        ->區分一臺機器上的不同的資料庫服務例項。
    ->select , delete ,update , Insert************
        ->select 列名,....   from 表  where  表示式1  and 表示式2
        ->delete from 表 where  表示式1  and 表示式2
        ->update 表名  set 列1=值,列2=值
        ->insert into 表名(列1,列2...) values(值1,值2...)    
    
2、約束詳解
    ->約束的目的:保證資料的完整性.  not null
    
    ->預設值約束、可空約束、主鍵約束、外來鍵約束(6遍)、唯一鍵約束、檢查約束
    
    
    ->alter table 新增列,修改列,刪除列:不是重點,練習3遍。
    
    
3、Select查詢詳解
    ->select 常量,系統函式,表示式,列名 ....
    ->查詢結果的別名
        ->列 as 別名(建議用這種)
        ->列 別名
        ->別名=列
    ->聚合函式
        ->Avg()
        ->Count()
        ->Sum()
        ->Min()/Max()
        ->Group
    ->Top擷取和Order 排序
    
    
    ->去除重複:Distinct                                    ->--distinct只能緊跟這select後面,而且是對後面的所有的列都進行去重複操作
    
    ->where條件過濾
        ->常見的表示式過濾:比如 ,select * from 表 where Id>10
        
        ->多條件過濾: and or not(優先順序:not > and >or)  &&  ||  !
        ->區間過濾:between and   和 in
        
        ->模糊查詢
            ->like查詢語法
            ->針對字串查詢的萬用字元: %  _   []
            ->特殊字元轉義。‘’  和 [ 
            
            
        ->空值處理:
            -> 列=Null的結果
            ->is null和is not  null
    ->排序Order by
        ->asc 和 desc
        ->一般放在所有的語句的最後,所有查詢結果進行過濾完成後,再對最後的結果集合進行排序。
        ->預設是asc
    ->資料進行分組:Group by
    select 使用者的ID,Count(1) ,sum(訂單金額)
        from 訂單資訊表
        group by 使用者的ID
    
    ->Having 過濾
    ->Sql語句的執行順序。
        ->from 找到表->where過濾->Group分組->having 篩選分組結果 ->Order 排序
        
    ->join  left join  
    ->表連線
    
4、型別轉換
    ->查詢:比如把一個字串和整數進行相加
    ->Convert型別轉換:Convert(目標型別,表示式,型別))
    ->Cast型別轉換:Cast(表示式 as 型別)
    
5、表聯合
    ->Union
    ->Union all
    
6、一次性插入多條資料
    ->select into
    ->insert into  select
    
7、日期函式
    ->getdate():

8、字串函式的使用
    
9、練習
    ->呼叫中心查詢練習
    ->NorthWind練習:
        ->把訂單的詳細資訊顯示出來。要求:有訂單編號,訂單對應的產品資訊,使用者資訊,產品的型別資訊
        ->統計包含產品最多的3個分類資訊
        
        123  
        123  
123