sql 基礎語法

sql 基礎語法:

建立數據庫:sql

CREATE DATABASE 數據庫名
on
(
	name ='數據庫名',--主文件邏輯名稱
	filename='數據庫文件位置',  --主文件存放位置
	size = 5,--主文件初始大小
	filegrowth= 10% --主文件增加方式
)
log on
(
	name='日誌文件名',--日誌文件的邏輯名稱
	filename= '日誌文件位置',--日誌文件的位置
	size= 5, --日誌文件的初始大小
	filegrowth= 10% --日誌文件的增加方式
)

約束:

1.primary key 主鍵約束
2.identity 自增約束 通常用於主鍵
3.check check約束 限制列中的值的範圍
4.not null 非空約束
5.default 默認值約束



shell

邏輯表達式:

and :而且 如 (表達式一) and (表達式二)
or :或者 如 (表達式一) or (表達式二)
not :取反 如查找 age不爲20的人 not(age=20)

數據庫

插入語句

一次插入一行數據

insert into 表名稱 (列名稱一,列名稱二,列名稱三,…)
values (列一對應的值,列二對應的值,列三對應的值,…)
一次插入多行
INSERT INTO table1 (列一,列二,列三)
SELECT(‘aa’,b,c)union
SELECT(‘bb’,d,0)union
SELECT(‘dd’,s,1)





c#

刪除語句

刪除一條數據

delete from 表名稱 where 列的值=‘想要刪除的值’
刪除一張表的數據
delete table 表名稱

bash

修改語句

update 表名稱 set 列名稱1=‘修改的值1’,列名稱2=‘修改的值2’ide

查詢語句

查詢一個表的數據
select * from 表名稱
查詢一個表中的任何一列的數據
select 列名稱1,列名稱2,from 表名稱
查詢一個表中一條數據
select * from 表名稱 where 列名稱=‘值’




函數

order by 子句:對結果集排序 ,asc表示升序,desc表示降序,默認的是升序 asc加密

distinct 去掉重複的信息 select distinct 列名稱 from 表名稱spa

as關鍵字 改列名稱 select 列名稱1 as 姓名,列名稱2 as 年齡 from 表名稱日誌

查詢一個表中固定的幾行數據
select top 2(寫幾就返回多少行 能夠把2換成 50 percent:返回百分之50的數據) * from 表名稱

sql內置函數

CharIndex(‘ab’,‘cdab’)返回3 返回’ab’ 在’cdab’中的位置,返回第一個字母的位置
Len(‘我是誰’)返回3 返回字符串的長度
Upper(‘abc好’) 返回ABC好 轉換字母爲大寫
Replace(‘abb’,‘b’,‘z’) 返回 ‘azz’ 把b換成z


日期函數

GetDate() 返回電腦當前時間
DareAdd(mm,2,‘2009-10-08’) 像日期指定部分添加數據 yy年 mm月 dd日 hh時 mi分 ss秒
DateDiff(dd,‘2009-09-09’,‘2010-09-09’)返回365 返回兩個日期中的日 dd換成mm就是12
DateName(DW,‘2009-09-09’)返回星期三 字符串的形式返回某個日期的指定部分


數學函數

Abs(-1) 返回:1 求絕對值
Ceiling(24.1) 返回:25 大於24.1的最小的整數
Floor(24.1) 返回:24 小於24.1的最小的整數
Power(2,3)返回:8 計算2的3次方
Round(748.32,1)返回:748.30 返回一個數值,舍入到指定長度或精度
Sign(100) 返回:1 正整數返回1 負整數返回-1
Sqrt(4) 返回:2 開平方





系統函數

Convert(varchar(3),123) 返回:123 轉換數據類型
DateLength(‘12中國’) 返回:6 返回任何數據類型的字節數 「中國」是漢字,一個漢字等於2個字節 因此返回 6

模糊查詢

select * from 表名稱 where name like ‘_e%’ 獲得一個條數據 name列第二個字母等於e的這一條數據
select * from 表名稱 where name like ‘%e[a,b,c,d]’ 獲得一個條數據 name列最後個字母不等於(a,b,c,d)的這一條數據

聚合函數

SUM() 返回選取結果全部值的總和
MAX() 返回選取結果全部值中的最大值
MIN() 返回選取結果全部值中的最小值
AVG() 返回選取結果全部值的平均值
CUNT() 返回選取結果集中行的數目



多表鏈接查詢

select 表1.列1,表1.列2,
表2.列1,表2.列2,
from 表1 inner join 表2
on 表1.列1=表2.列1
where 表1.列1 in(‘表1的列1’,‘表2的列1’)
and 表2的列2 like ‘c%’
左外鏈接:left Outer join 右外鏈接:Righte Outer join 全外鏈接:Full Outer join





sql 高級語法:

declare @varname DateType @varname爲局部變量,declare爲聲明變量 DateType爲數據類型
SET @varname=value SELECT @varname=value 左邊兩種都是將肯定value值賦給@varname

全局變量

@@ERROR 返回執行的上一行 Transact-SQL 語句的錯誤號
@@IDENTITY 返回最後插入的標示值
@@ROWCOUNT 返回上一語句影響的行數。若是行數大於20億,使用ROWCOUNT_BIG

輸出語句

PRINT 局部變量或者字符串

流程控制語句

IF 條件
語句塊
else
語句塊


IF 條件
BEGIN
語句塊
END
ELSE
BEGIN
語句塊
END
BEGIN END 至關於c#語言中的if語句的( )







子查詢

select * from 表一 wher id=(select max(id) from 表二) 查出表一中id和表二中id對應的一整條數據

高級子查詢

in 用法:select * from Employ where empno in(select empno from Expertise group by empon having MAX(skillevel)>3) in後面的子查詢查出的是一個數據集 不能用= 只能用 in
not in 用法:就是反之 not in後面的子查詢的結果 與前面的父查詢不匹配的數據被查出來。

事物:

開始事物:BEGIN TRANSACTION 提交事物:COMMTT TRANSACTION 回滾事物:ROLLBACK TRANSACTION

select * from sysobjects 查詢表的信息

系統存儲過程:

sp_stored_procedure 列出前環境中全部的存儲過程 sp_helptext 顯示默認值,未加密的存儲過程,用戶定義的存儲過程,觸發器或者視圖的實際文本 xp_cmdshell 使用DOS命令操做文件或目錄

相關文章
相關標籤/搜索