본문 바로가기

개발/Database

(18)
sql db table 중복 찾아내기 sql db table 중복 찾아내기 정규화 하거나 db정비 할 때 씀 12345678SELECT gidx, gtype, home_name, away_name, COUNT(*)FROM live_base_gameGROUP BY gameidx, gtype, dc_home_tid, dc_away_tidHAVING COUNT(*) > 1Colored by Color Scriptercs having 썼을 때 특정 필드만 추출하기.join을 이용함. 1234567891011select * from player_mapwhere source_id in (select pm.source_id from player_map pminner join ( select *, count(*) from player_map group b..
datetime으로 되어있는 field에서 time빼고 date로만 개수 세기 datetime으로 되어있는 field에서 time빼고 date로만 개수 세기 select cast(entry_time as date), count(*) from live_eleven_schedulewhere entry_time between "2016-02-01" and date_add("2016-02-01", interval 1 month)group by cast(entry_time as date) 아래와 같이 date_time으로 되어있는 field도 이렇게 정리 되어서 뽑힘 end.
SQL Select, Insert, Update문과 spring jdbc예제 Select select * from car_model Spring Jdbc spring jdbc에서는 .query()를 사용합니다. public List getAll() { return this.jdbcTemplate.query("select * from car_model", this.rowMapper); } Insert INSERT INTO important_game (gidx, show_finish_date, show_finish_time) VALUES (123, "2016-04-29", "15:20:22"); ex) insert into car_model (id, name, level, login, recommend) values(?, ?, ?, ?, ?) Spring Jdbc spring jdb..
MySql 날짜 1일 더하기 빼기, String 타입 날짜를 date로 변환, date에 format 적용 MySql 날짜 1일 더하기 빼기, String 타입 날짜를 date로 변환, date에 format 적용 select * from game where start_datetime >= date_add(curdate(), interval -1 day) and start_datetime '20150910') ) or (a.gdate='20150910' and (a.gstatus = '2' and a.gdate = date_format(now(), '%Y%m%d') ) ) or (a.gdate='20150910' and (a.gstatus = '1' or a.gstatus = '3')) ) order by gtime,dc_lid,home_name 위 쿼리는 아래 내용이 구현된 쿼리 입니다. 1.join 2.날..
MySQL 날짜에 기간을 설정 하는 방법 SELECT * FROM TABLE t WHERE t.date BETWEEN DATE_SUB('2010-07-29', INTERVAL 1 DAY) AND '2010-07-29' 이거임 http://stackoverflow.com/questions/3366765/how-to-get-one-day-ahead-of-a-given-date 여기에서 봤뜸. end.
중복된 record 찾는 query, 개수 세는 쿼리 having으로 count(*)에 조건 걸기 select T2.* from ( select name from dc_baseball_player group by concat(name, birth) having count(*) > 1 ) T1 inner join dc_baseball_player T2 on(T1.name = T2.name) order by T1.name asc 월별 개수세기 select DATE_FORMAT(created_at,"%Y-%m" )as date, count(*) from wallet where currency = "USD" group by date 일별 개수세기 select DATE_FORMAT(created_at,"%Y-%m-%d" )as date, count(*) from w..
DB용어 - record, row DB용어 - record, row DB를 공부하거나 가르치다보면 "용어가 여러가지라서 헷갈려요"라는 말을 자주 듣는다. 나도 이 부분에 대해 공감하는 부분이 있어서 이 글을 쓴다. 위 그림에서 'Row'라고 표시되어 있는게 Row 이다. Row는 '로' 또는 '로우'라고 읽는다. Table(테이블:표)에서 가로 한줄을 의미 한다. 여러개의 줄이면 'Rows'라고 쓰고 '로우스'라고 읽는다. 'Record'라는 말도 쓰는데 Row 라고 보면 된다. Row는 'Table의 한개의 줄'이라는 뜻이 담겨있고 Record는 '데이터 한 줄'이라는 의미를 담아서 구분해서 쓴다. 구분을 해서 쓰지만 같이 써도 뜻은 통하므로 처음에는 입에 붙는걸로 쓰다가 쓰다보면 감이 잡힌다. end.
Database Modeling을 해보자 - 제2편 Table 만들기 Database Modeling을 해보자 - 제2편 Table 만들기 어떤 작가가 어떤 책을 썼는지에 대한 데이터를 저장하는 table을 만들거야. 필드는 아래와 같이 총 4개 만들꺼야author(저자)title(제목)isbn(분류번호)pages(페이지수) 일단은 만들어보자.db에 마우스 우클릭 - 새로 생성 - 테이블 그러면 이런 화면이 나와.table이름을 'author_title'라고 해줬어.코멘트는 나중에 다른사람이 이 테이블을 보고 어떤 기능인지를 알 수 있게 넣어주면 되. 중간쯤에 '추가'버튼이 있어 이걸 누르면 field를 추가 할 수 있어.한번 눌러보자. 누르면 이렇게 한줄이 추가되. 위에 적어 놓은 4개 필드 중에 맨 위에꺼인 'author'를 넣고 데이터 유형은 'int'... 말고 텍..