-sql常用命令
--資料的增刪改查
--增加資料(插入資料)
insert into [表名]([字段],[字段]..) values(值,值,值..) --按需要字段填寫
insert into [表名] values(值,值,值..) --插入全部字段,自動增長列不寫
--刪除資料(記得有外來鍵先刪除主鍵表裡的相應內容)
--刪除表裡的內容
delete from [表名]
--要是想刪某一行就加where條件
delete from [表名] where [字段]=值
--修改資料(更新資料)
--修改整個表內的資料
update [表名] set [字段]=值
--要是想修改某一行就加where條件
update [表名] set [欄位1]=值1 where [欄位2]=值2
--查詢
select [字段],[字段] from [表名]
--條件查詢
select [字段],[字段] from [表名] where [字段]=值
--公升降序(一般加在查詢語句末尾)
--公升序(預設)
order by [字段] asc
--降序
order by [字段] desc
--例子
select [字段],[字段] from [表名] order by [字段] desc
--設定使用的資料庫
use [資料庫名]
--建立命令
--建立資料庫
create database [資料庫名]
on(--資料庫資訊
name='aaa', --邏輯名稱aaa
filename='d:\bbb.mdf', --物理名稱bbb(寫全路徑)
size=5mb, --資料庫初始大小
maxsize=100mb, --增長的最大值
filegrowth=15%, --增長率
)log on
(--日誌資訊
name='aaa', --邏輯名稱aaa
filename='d:\bbb.ldf', --物理名稱bbb(寫全路徑)
size=2mb, --資料庫初始大小
filegrowth=1mb, --增長率
)--建立表
create table [表名]
(--[字段] [資料型別] [列的特徵],
id int identity(1,1) not null,--identity(1,1) 是自動增長(起始值,遞增值) ,not null 是不許為空(預設允許為空)
name varchar(20) not null,
)--給表新增約束
alter table [表名]
add constraint [約束名]
--新增主鍵(pk) primary key([欄位名])
--唯一約束(uq) unique ([欄位名])
--預設約束(df) default('預設文字') for [欄位名]
--檢查約束(ck) check([欄位名] between 15 and 40) --填寫的數字在15-40之間
--外來鍵約束(fk) foreign key([欄位名]) references [表名]([欄位名])
--刪除資料庫
--exists檢查是否存在
if exists(select * from sysdatabases where name = '[要刪除的資料庫名]')
drop database [要刪除的資料庫名]
if exists(select * from sysobjects where name = '[要刪除的儲存過程名]')
drop database [要刪除的儲存過程名]
--變數的使用 (宣告和使用要一起進行不然會找不到變數)
declare @[變數名] [資料型別]
--如 declare @name varchar(8)
declare @age int
--變數賦值
set @name =值
select @name =值
--例子
--查詢資訊 查詢張三的資訊
declare @name varchar(8)
set @name = '張三'
select * from [表名] where [字段] = @name
--賦值查詢 查詢與張三同齡的人
declare @name varchar(8)
declare @age int
set @name = '張三'
select @age = [字段] from [表名] where [字段]=@name
select * from [表名] where [字段]=@age
--全域性變數 (兩個@)
@@error 最後乙個t-sql錯誤的錯誤號
@@identity 最後一次插入的標識值
@@rowcount 上乙個sql語句影響行數
--事務
--開始
begin transaction
--提交
commit transaction
--回滾
rollback transaction
--例子
begin transaction
declare @errorsum int --紀錄錯誤
@errorsum = 0 --初始化沒有錯誤
--sql語句
set @errorsum=@errorsum+@@error --累計是否出錯
--sql語句
set @errorsum=@errorsum+@@error
--sql語句
set @errorsum=@errorsum+@@error
if @errorsum <>0 --如果有錯
begin
rollback transaction
endelse
begin
commit transaction
endgo
--儲存過程
--建立
create procedure [儲存過程名]
asdeclare @xx int ,
declare @yy varchar(8) output (帶有output為輸出引數,否則視為輸入引數)
--sql語句
--sql語句
--sql語句
select @yy=值 ...
go--呼叫儲存過程
--無引數
exec [儲存過程名]
--有引數(順序不能變,變數在儲存過程內部的值為預設值)
exec [儲存過程名] @xx=[引數],@yy=[引數]
--有輸出參
declare @yy varchar(8)
exec [儲存過程名] 值,@yy output
sql常用語句
use myoa select from delete from department where departmentid 1 insert department departmentid,departmentname values 1,技術部 update department set depa...
sql常用語句
在sqlserver,簡單的組合sp spaceused和sp msforeachtable這兩個儲存過程,可以方便的統計出使用者 資料表的大小,包括記錄總數和空間占用情況,非常實用,在sqlserver2k和sqlserver2005中都測試通過。1.exec sp spaceused 表名 sq...
sql常用語句
第一種 行列互換思想,外層group by,使用case when then 我有乙個表,有兩個字段 收費專案 唯一值 收費金額。我想用sql按收費專案不同生成不同的字段,對應值是金額。如 房租 100 水電費 50 雜費 50 生成後的格式是 房租 水電費 雜費 100 50 50 請問,如何寫這...