1.索引添加索引,設計界面,在任何一列前右鍵--索引/鍵--點擊進入添加某一列為索引 2.視圖 視圖就是我們查詢出來的虛擬表創建視圖:create view 視圖名 as SQL查詢語句,分組,排序,in 等都不能寫視圖的用法: select * from 視圖名 3.SQL編程 定義變數:decl ...
1.索引
添加索引,設計界面,在任何一列前右鍵--索引/鍵--點擊進入添加某一列為索引
2.視圖
視圖就是我們查詢出來的虛擬表
創建視圖:create view 視圖名
as
SQL查詢語句,分組,排序,in 等都不能寫
視圖的用法: select * from 視圖名
3.SQL編程
定義變數:declare @變數名 數據類型 declare @a int
變數賦值:set @變數名 = 值 set @a=10
select @a --直接列印在結果框中
set @a = 10 --也是賦值,不列印
select @a; --列印在結果集中
print @a; --列印在消息框中
查汽車表中名稱含有寶馬兩個字的
declare @name varchar(20)
set @name='寶馬'
select * from car where Name like '%'+@name+'%'
查汽車表中所有汽車的平均值並輸出
declare @price decimal(10,4)
select @price = AVG(Price) from Car
print '所有汽車的平均價格為:'+cast(@price as varchar(20))
if ... else 的用法,if後面沒有小括弧,花括弧用begin end 替代
if 判斷條件
begin
要執行的語句
end
else
begin
要執行的語句
end
declare @a int
declare @b int
declare @c int
set @a =10;
set @b =5;
if @a>@b
begin
set @c = @a + @b;
end
else
begin
set @c = @a - @b;
end
print @c
C#里的Switch case 變形到資料庫里用法
declare @ccname varchar(20)
set @ccname = '寶馬'
select * from Car where Name like
case --switch...case的開頭
when @ccname='寶馬' then '%寶馬%'
when @ccname='奧迪' then '%奧迪%'
else '%'
end --switch...case的結尾
迴圈:
註意迴圈四要素
declare @str varchar(20)
set @str = '你好'
declare @i int
set @i = 1
while @i<=10
begin
print @str + cast (@i as varchar(20))
set @i = @i + 1
end
whie(條件)
{
迴圈體
}
註意:語句結束之後不要寫分號或逗號
1.數學函數:操作一個數據,返回一個結果
--取上限ceiling
select code,name,ceiling(price) from car ;
--取下限 floor
select floor(price) from car
--ABS 絕對值
--派 PI(),圓周率,括弧里不需要加東西
--ROUND 四捨五入
select ROUND(3.76,0)
--SQRT 開根號
--SQUARE 平方,乘以自己
2.字元串函數:
--轉換大寫 upper
select upper(pic) from car;
--轉換小寫 lower
--去空格
select ltrim (' 123 ') 去左空格
select ' 123123 ' 可以不查數據,直接這樣顯示出來
--space() 裡面放幾個數字,就列印出來幾個空格
--LEFT,類似於SubString,從左邊開頭截取
select LEFT('123456',3);
--len,長度
select len('aaaaaa'); 返回幾個長度
--replace 替換
select replace('aaaaabbaaaaa','bb','haha');把第一個字元串中的bb替換成haha
--reverse 翻轉
select reverse('abc'); 結果是 cba
--字元串轉換函數 str
select str(1.567,3,1);
把1.567轉換成字元串,最多留3位,小數點算一位,保留小數點後1位
--字元串截取 SUBSTRING
select substring('abcdefg',2,3);
從第2位開始截取3位,索引從1開始
3.時間日期函數:
--獲取當前系統時間 GetDate()
select getdate();
sysdatetime() 獲取資料庫服務的時間戳
--獲取年月日 year month day
select year('1999-1-1');
--判斷日期是否正確,isdate 返回bit
select isdate('2000-2-31')返回bit類型,false是0,true是1
--添加時間 dateadd
select dateadd(year,5,'2000-1-1');
添加什麼類型,加多少,給誰加
--返回星期幾 datename,返回的值是字元串
select datename(weekday,'2000-1-1');
也可以返回第幾天,按月
select datename(day,'2000-1-1');
一年中第幾天
select datename(dayofyear,'2000-1-1');
datepart 一樣可以返回周幾,但是返回的是int類型