이번포스팅에서는 SQL Server를 사용하여
로또 전체회차 데이타를 DB화 시켜보겠습니다.
이러한 공부를 로또번호 데이타를 가지고 공부해보도록 하겠습니다.
우선 SSMS를 열어 내가 사용하는 데이타베이스를 선택 한 후에
테이블을 선택하고 오른쪽버튼을 눌러 새로만들기 ==> 테이블을 선택합니다.
테이블 만들기
그러면 위 그림처럼 우측에 필드를 입력할수 있는 창이 나타납니다.
여기에 하나하나 필드명들을 입력하고 데이타 타입을 선택합니다.
이렇게 한 후에 저장버튼을 눌러 테이블명을 입력합니다.
저는 lotto_main 이라는 테이블에 저장했습니다.
다른방법으로는 스크립트로 테이블을 생성하는 방법도 있습니다.
CREATE TABLE [ensoft104].[lotto_main](
[no] [int] NOT NULL,
[seldate] [varchar](10) NULL,
[no1] [int] NULL,
[no1m] [varchar](50) NULL,
[no2] [int] NULL,
[no2m] [varchar](50) NULL,
[no3] [int] NULL,
[no3m] [varchar](50) NULL,
[no4] [int] NULL,
[no4m] [varchar](50) NULL,
[no5] [int] NULL,
[no5m] [varchar](50) NULL,
[sel1] [int] NULL,
[sel2] [int] NULL,
[sel3] [int] NULL,
[sel4] [int] NULL,
[sel5] [int] NULL,
[sel6] [int] NULL,
[selb] [int] NULL,
[selsum] [int] NULL,
CONSTRAINT [PK_lotto_main] PRIMARY KEY CLUSTERED
(
[no] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'회차' , @level0type=N'SCHEMA',@level0name=N'ensoft104', @level1type=N'TABLE',@level1name=N'lotto_main', @level2type=N'COLUMN',@level2name=N'no'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'추첨일' , @level0type=N'SCHEMA',@level0name=N'ensoft104', @level1type=N'TABLE',@level1name=N'lotto_main', @level2type=N'COLUMN',@level2name=N'seldate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'1등당첨수' , @level0type=N'SCHEMA',@level0name=N'ensoft104', @level1type=N'TABLE',@level1name=N'lotto_main', @level2type=N'COLUMN',@level2name=N'no1'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'1등당첨금액' , @level0type=N'SCHEMA',@level0name=N'ensoft104', @level1type=N'TABLE',@level1name=N'lotto_main', @level2type=N'COLUMN',@level2name=N'no1m'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'2등당첨수' , @level0type=N'SCHEMA',@level0name=N'ensoft104', @level1type=N'TABLE',@level1name=N'lotto_main', @level2type=N'COLUMN',@level2name=N'no2'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'2등당첨금액' , @level0type=N'SCHEMA',@level0name=N'ensoft104', @level1type=N'TABLE',@level1name=N'lotto_main', @level2type=N'COLUMN',@level2name=N'no2m'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'3등당첨수' , @level0type=N'SCHEMA',@level0name=N'ensoft104', @level1type=N'TABLE',@level1name=N'lotto_main', @level2type=N'COLUMN',@level2name=N'no3'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'3등당첨금액' , @level0type=N'SCHEMA',@level0name=N'ensoft104', @level1type=N'TABLE',@level1name=N'lotto_main', @level2type=N'COLUMN',@level2name=N'no3m'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'4등당첨수' , @level0type=N'SCHEMA',@level0name=N'ensoft104', @level1type=N'TABLE',@level1name=N'lotto_main', @level2type=N'COLUMN',@level2name=N'no4'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'4등당첨금액' , @level0type=N'SCHEMA',@level0name=N'ensoft104', @level1type=N'TABLE',@level1name=N'lotto_main', @level2type=N'COLUMN',@level2name=N'no4m'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'5등당첨수' , @level0type=N'SCHEMA',@level0name=N'ensoft104', @level1type=N'TABLE',@level1name=N'lotto_main', @level2type=N'COLUMN',@level2name=N'no5'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'5등당첨금액' , @level0type=N'SCHEMA',@level0name=N'ensoft104', @level1type=N'TABLE',@level1name=N'lotto_main', @level2type=N'COLUMN',@level2name=N'no5m'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'당첨번호1' , @level0type=N'SCHEMA',@level0name=N'ensoft104', @level1type=N'TABLE',@level1name=N'lotto_main', @level2type=N'COLUMN',@level2name=N'sel1'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'당첨번호2' , @level0type=N'SCHEMA',@level0name=N'ensoft104', @level1type=N'TABLE',@level1name=N'lotto_main', @level2type=N'COLUMN',@level2name=N'sel2'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'당첨번호3' , @level0type=N'SCHEMA',@level0name=N'ensoft104', @level1type=N'TABLE',@level1name=N'lotto_main', @level2type=N'COLUMN',@level2name=N'sel3'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'당첨번호4' , @level0type=N'SCHEMA',@level0name=N'ensoft104', @level1type=N'TABLE',@level1name=N'lotto_main', @level2type=N'COLUMN',@level2name=N'sel4'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'당첨번호5' , @level0type=N'SCHEMA',@level0name=N'ensoft104', @level1type=N'TABLE',@level1name=N'lotto_main', @level2type=N'COLUMN',@level2name=N'sel5'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'당첨번호6' , @level0type=N'SCHEMA',@level0name=N'ensoft104', @level1type=N'TABLE',@level1name=N'lotto_main', @level2type=N'COLUMN',@level2name=N'sel6'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'보너스당첨번호' , @level0type=N'SCHEMA',@level0name=N'ensoft104', @level1type=N'TABLE',@level1name=N'lotto_main', @level2type=N'COLUMN',@level2name=N'selb'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'당첨번호합' , @level0type=N'SCHEMA',@level0name=N'ensoft104', @level1type=N'TABLE',@level1name=N'lotto_main', @level2type=N'COLUMN',@level2name=N'selsum'
GO
이러면 테이블이 완성되었고 여기에 데이타를 만들기 위해 동행복권 사이트에서 회차별 당첨정보를
엑셀로 다운받습니다.
그리고 난 후에 A열의 년도는 삭제하고 1회부터 마지막회차까지 선택한 후에
lotto_main 테이블을 열어 붙여넣기를 하면 아래와같이 데이타가 들어갑니다.
전체데이타를 조회하려면 아래그림 처럼
테이블을 선택하고 오른쪽버튼을 눌러 모든행선택을 틀릭하면 전체데이타를 조회할 수 있습니다.
그리고 제가 여기에 selsum 이라는 필드를 하나더 넣었는데이 이것는 6개 번호의 합을 구한 필드이고
sql문으로
update lotto_main set selsum = sel1+ sel2+ sel3+ sel4+ sel5+ sel6
위 sql 문장을 실행하면 6개 숫자의 합이 구해집니다.
SQL Server에서 데이터 타입은 데이터베이스 설계와 쿼리 성능에 큰 영향을 미쳐요. 데이터 타입을 잘 이해하고 활용하는 것이 데이터베이스 관리의 기본이죠. 이번 포스팅에서는 SQL Server의 다양한 데이터 타입에 대해 알아보고, 데이터 타입 변환 방법과 예제도 함께 살펴볼게요.
SQL Server에서 사용되는 데이터 타입은 크게 몇 가지로 나눌 수 있어요. 숫자형, 문자형, 날짜 및 시간형, 이진형 등 다양한 데이터 타입이 존재하죠. 각 데이터 타입의 특징을 살펴보면 다음과 같아요.
이러한 데이터 타입들은 각각의 특성과 용도가 있으니, 상황에 맞게 적절한 타입을 선택하는 것이 중요해요.
데이터 타입 선택 시 고려사항
적절한 데이터 타입을 선택하는 것은 데이터베이스 성능에 큰 영향을 미쳐요. 데이터 타입을 선택할 때는 다음과 같은 사항을 고려해야 해요.