반응형

[테이블 생성]

table name : calendar

calendar_seq(int) 
date(varchar)
day(varchar)

[yyyymmdd, 요일의 데이터 삽입]
(날짜에 대한 데이터 삽입 공간을 위해서 의미없는 조인과 함께 공간은 만든 후, between 을 통한 날짜를 넣는다.)

INSERT INTO calendar

(calendar_seq, date, day) 

select rnum as calendar_seq,

       date_format((date_add('20050101', interval rnum - 1 day)),'%Y%m%d') as date, 

       dayname(date_format((date_add('20050101', interval rnum - 1 day)),'%Y%m%d')) as day

  from (

        select @rnum := @rnum + 1 as rnum

          from (

                select @rnum := 0 

               ) a, 아무개 table , 아무개 table, 아무개 table  
       ) c

 where date_format((date_add('20050101', interval rnum - 1 day)),'%Y%m%d') between '20100101' and '20151231';


[select 달력 뷰] 

 

             select max(if(a.day = 'sunday', date_format(a.date, '%d'), '')) as 일, 

                      max(if(a.day = 'monday', date_format(a.date, '%d'), '')) as 월,

                      max(if(a.day = 'tuesday', date_format(a.date, '%d'), '')) as 화,

                      max(if(a.day = 'wednesday', date_format(a.date, '%d'), '')) as 수,

                      max(if(a.day = 'thursday', date_format(a.date, '%d'), '')) as 목,

                      max(if(a.day = 'friday', date_format(a.date, '%d'), '')) as 금,

                      max(if(a.day = 'saturday', date_format(a.date, '%d'), '')) as 토

               from calendar a

             where a.date like '201103%'

              group by WEEK(a.date,0)

#  실무에 적용 해본바는 없고 -효용성에 대해서도 잘 모르지만-
   회사에서 내준 숙제(?)이기에 만들어진 SQL 야매 달력뷰


 

반응형
블로그 이미지

Runer

IT / 일상 / 먹방 / 꿀팁 / 유틸

,
반응형
더보기

안녕하세요.

공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!

포스팅 내용이 찾아주신 분들께 도움이 되길 바라며

더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다!


이번 포스팅에서는

 

1. mysql 기본키 삭제 방법

 

2. 여러 컬럼을 기본 키로 변경하는 방법에 대해 

 

공부합니다.

 

이 포스팅에서 가정되어야 할 부분은.

이미 테이블을 생성한 상태이고 어떠한 컬럼을 기본키로 지정한 경우에 해당합니다.

 

 

1. 기본키 삭제

alter table 'tableName'

drop primary key

기본키의 속성에 따라서 삭제가 안되는 경우가 발생하는데요.

하나의 경우가 기본키가 auto_increment 일 경우입니다.

이런 경우에는 먼저 auto_increment 속성을 삭제하고 기본키를 삭제하면 됩니다.

 

2. 다중 컬럼을 기본키로 변경

( 컬럼을 변경할 때는 기본키가 삭제된 상태여야 합니다. 엄밀히 말하면 변경이 아니라 추가겠죠? )

alter table 'tableName'

add constraint primary key (column1, column2, ...)

 

이상입니다. 간단하죠?




반응형
블로그 이미지

Runer

IT / 일상 / 먹방 / 꿀팁 / 유틸

,
반응형

 

- 테이블명 : test

- 컬럼명 : Col2

- 데이터타입 : varchar (255)

 

 

ALTER TABLE `test` 

ADD COLUMN `Col2` varchar(255)


 

기본값 추가 (디폴트값 Null)

 

ALTER TABLE `test` 

ADD COLUMN `Col2` varchar(255) NULL DEFAULT NULL


 

 

캐릭터 Set 지정 (UTF-8)

 

ALTER TABLE `test` 
ADD COLUMN `Col2` varchar(255) CHARACTER SET utf8 COLLATE utf8_

general_ci NULL DEFAULT NULL

 


 

코멘트 및 위치 지정 (코멘트 : 컬럼1, 위치 : Col1 컬럼 뒤)

 

ALTER TABLE `test` 
ADD COLUMN `Col2` varchar(255) CHARACTER SET utf8 COLLATE utf8_

general_ci NULL DEFAULT NULL COMMENT '컬럼1' AFTER `Col1`

 


반응형
블로그 이미지

Runer

IT / 일상 / 먹방 / 꿀팁 / 유틸

,