--[1] 쿼리편집기사용하기
-- '--'(Double-hyphen)은주석문으로처리... /* ~ */ 도주석으로처리
-- SQL 구문실행은해당구문을블럭을씌운후F5나실행버튼을누른다.
-- ※SQL문에서문자열은반드시작은따옴표(')로묶는다.
-- SQL을연습할때는항상SQL 2008 온라인설명서(도움말)를적극활용한다.
--연습용테이블생성(관리도구로만들어도됨)
-- Drop Table dbo.Memos
CREATE Table dbo.Memos
(
Num Int Identity(1, 1) NOT NULL Primary Key, -- 번호
[Name] VarChar(25) Not Null, -- 이름
Email VarChar(50) NULL, -- 이메일
Title VarChar(150) NULL, -- 한줄메모(제목)
PostDate DateTime NULL Default(GetDate()) -- 작성일
)
Go
-- Name을묶은대괄호([ ])는'이미존재하는키워드(예를들어"Name")'를 필드명으로사용하고싶거나, 또는필드명에공백이들어갈때(예를들어"Na me"와같이) 대괄호로묶어서사용하면된다.
-- Memos 테이블에대한속성을보여주는명령어
Exec sp_help Memos
Go
Execute sp_help Memos
Go
sp_help Memos
Go
--[2] 1. Insert(삽입)문
--정의) Insert TableName(FieldNameList,...) Values(FileldValueList,...)
--[3] Memos에데이터삽입.
Insert Memos(Name, Email, Title, PostDate)
Values('홍길동','hong@hong.com','하늘',GetDate())
Go
-- 부연설명: 위구문에서날짜함수인GetDate() 사용: 현재시스템의날짜시간을반환.
-- 2001-08-19 01:07:20.070식으로출력.
Select GetDate() -- 현재시간을검색. : .NET에서의DateTime.Now와같은역할
Go
Select Year(GetDate()), Month(GetDate()), Day(GetDate()) -- 오늘의날짜(년/월/일)
Go
Select DateDiff(DD, GetDate(), '2010-12-25') -- 2010년크리스마스가얼마나남았는지계산(DD는일수)
Go
--(퀴즈) 내가지금까지몇일살아왔는지?
Select DateDiff(dd, '1982-02-05', GetDate())
Go
--검색결과를'표' 형태로보고싶으면[메뉴]-[쿼리]-[표형태로결과표시(Ctrl+D)]를선택한다.
--검색결과를'텍스트' 형태로보고싶으면[메뉴]-[쿼리]-[텍스트로결과표시(Ctrl+T)]를선택한다.
Insert Memos(Name, Email, Title, PostDate)
Values('백두산','hong@hong.com','백두산',GetDate())
Go
Insert Into Memos(Name, Email, Title, PostDate)
Values('한라산','hong@hong.com','하늘',GetDate())
Go
Insert Memos(Email, Name, PostDate, Title)
Values('nimda@nimda.com', '임꺽정', GetDate(), '님걱정')
Go
--해당필드이름은생략가능하다. 단, 필드이름순서대로데이터를삽입해야한다.
Insert Memos Values('홍길동','hong@hong.com','서울',GetDate())
Go
--[4] Title 영역에'(작은따옴표) 삽입
-- 작은따옴표두개를연속으로붙여쓰면SQL에서는'(작은따옴표) 인식한다.
Insert Memos(Name, Email, Title, PostDate)
Values('홍길동','hong@hong.com','하''늘',GetDate())
--Select * From Memos
Select '하''늘' -- 하'늘출력
Select '하''' -- 하' 출력
--[5] Memos테이블에1000건의레코드기록(참고:Declare부터~End까지실행시켜야함.)
--Declare : 변수선언
--Set : 값할당
DECLARE @i Int --변수선언
SET @i = 1 --변수값할당
WHILE @i <= 200
BEGIN
Insert Memos(Name, Email, Title, PostDate) Values('백두산','hong@hong.com','백록담',GetDate())
Insert Memos(Name, Email, Title, PostDate) Values('한라산','hong@hong.com','제주도',GetDate())
Insert Memos(Name, Email, Title, PostDate) Values('지리산','hong@hong.com','지루함',GetDate())
Insert Memos(Name, Email, Title, PostDate) Values('계룡산','hong@hong.com','계룡대',GetDate())
Insert Memos(Name, Email, Title, PostDate) Values('홍길동','hong@hong.com','홍길순',GetDate())
SET @i = @i + 1
END
GO