sqlServer 데이터베이스 문법 대전
--데이터 제어 GRANT--사용자 접근 권한 부여 DENY--사용자 접근 거부 REVOKE--사용자 접근 권한 해제--트 랜 잭 션 제어 COMMIT--현재 트 랜 잭 션 종료 ROLLBACK--현재 트 랜 잭 션 중지 SET TRANSACTION--현재 트 랜 잭 션 데이터 접근 특징 정의--프로그램 화 SQLDECLARE--조 회 를 위 한 커서 설정 EXPLAN--조회 설명 데이터 접근 계획 OPEN--검색 조회 결과 열기개 커서 FETCH--검색 한 줄 검색 결과 CLOSE--커서 닫 기 PREPARE--동적 실행 을 위 한 SQL 문 구 를 준비 합 니 다 EXECUTE--SQL 문 구 를 동적 으로 실행 합 니 다 DESCRIBE-설명 준 비 된 조회-국부 변수 declare@id char(10)--set@id='10010001'select@id='10010001'
-전역 변수-@으로 시작 해 야 합 니 다.
--IF ELSE
declare @x int @y int @z int
select @x = 1 @y = 2 @z=3
if @x > @y
print 'x > y' -- 'x > y'
else if @y > @z
print 'y > z'
else print 'z > y'
--CASE
use pangu
update employee
set e_wage =
case
when job_level = '1' then e_wage*1.08
when job_level = '2' then e_wage*1.07
when job_level = '3' then e_wage*1.06
else e_wage*1.05
end
--WHILE CONTINUE BREAK
declare @x int @y int @c int
select @x = 1 @y=1
while @x < 3
begin
print @x -- x
while @y < 3
begin
select @c = 100*@x + @y
print @c -- c
select @y = @y + 1
end
select @x = @x + 1
select @y = 1
end
--WAITFOR
-- 1 2 3 SELECT
waitfor delay '01:02:03'
select * from employee
-- 11 8 SELECT
waitfor time '23:08:00'
select * from employee
***SELECT*** select *( ) from table_name( ) where column_name operator value
ex:( )
select * from stock_information where stockid = str(nid)
stockname = 'str_name'
stockname like '% find this %'
stockname like '[a-zA-Z]%' --------- ([] )
stockname like '[^F-M]%' --------- (^ )
--------- like where )
or stockpath = 'stock_path'
or stocknumber < 1000
and stockindex = 24
not stock*** = 'man'
stocknumber between 20 and 100
stocknumber in(10,20,30)
order by stockid desc(asc) --------- ,desc- ,asc-
order by 1,2 --------- by
stockname = (select stockname from stock_information where stockid = 4)
내부 select 가 한 줄 의 값 만 되 돌려 주 는 것 을 확보 하지 않 는 한,그렇지 않 으 면 외부 where 자구 에 in 한정 부 를 사용 해 야 한다select *from table1, table2
where table1.id *= table2.id -------- ,table1 table2 null
table1.id =* table2.id --------
select stockname from table1
union [all] ----- union ,all-
select stockname from table2
***insert*** insert into table_name (Stock_name,Stock_number) value ("xxx","xxxx")
value (select Stockname , Stocknumber from Stock_table2)---value select
***update*** update table_name set Stockname = "xxx" [where Stockid = 3]
Stockname = default
Stockname = null
Stocknumber = Stockname + 4
***delete*** delete from table_name where Stockid = 3
truncate table_name ----------- ,
drop table table_name ---------------
***alter table**---데이터베이스 시트 구조 수정alter table database.owner.table_name add column_name char(2) null .....
sp_help table_name ----
create table table_name (name char(20), age smallint, lname varchar(30))
insert into table_name select ......... ----- ( )
alter table table_name drop constraint Stockname_default ---- Stockname default
통계 함수AVG--평균치 COUNT--통계 수 MAX--최대 치 MIN--최소 치 SUM--구 화
--AVG
use pangu
select avg(e_wage) as dept_avgWage
from employee
group by dept_id
--MAX
--
use pangu
select e_name
from employee
where e_wage =
(select max(e_wage)
from employee)
날짜 함수시스템 함수