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