목록프로그래밍 언어/SQL(DB) (22)
IT 일기장
프로젝트 하면서 어디 좋고 쓸만한 무료 Grid가 없나.. 찾아보던 중에 Toast Grid를 발견하게됐다.여기서 들었던 의문점 중 하나가 "Toast Grid는 많은 데이터들을 커버할 수 있을까?" 였는데계획 및 방법은 다음과 같다. 계획1. 테스트 테이블 toast_test 하나 만들어놓고 데이터를 10만개 정도 넣어본다.2. 화면볼때 이상이 없는지 확인한다.3. 이상이 없다면 10만개씩 더 넣어본다.4. 이를 반복 방법1. Java에서 function 하나 만들어서 DB에 데이터를 집어넣는다.2. 프로시저를 사용해서 DB에 데이터를 집어넣는다.3. INSERT 구문을 이용해서 하나씩 DB에 데이터를 집어넣는다. 참고로 현재 DB 개발환경은 MariaDB 11이다.이정도까지만 생각하고 방법 3가..
DB마다 sql export는 필수인데 그 중에서 접근성이 제일 쉬운게 HeidiSQL인데 방법을 정리해둔다. 1. export할 DB 마우스 우클릭 => "데이터베이스를 SQL로 내보내기" 클릭 2. 데이터베이스, 테이블 생성 체크박스 활성화 (데이터베이스가 있다면 체크 안해도된다.) => 데이터 "INSERT (신규 데이터를 삽입)" 선택 => 폴더 아이콘 클릭 후 저장경로 및 sql 파일명 입력 => 내보내기 클릭
에러 데이터를 삭제 하려는 중에 생긴 일이였다. 원인 MySQL Workbench에서 막아 놓은거 같다. 특정 데이터만 삭제 하는게 아니라 전체 삭제하는 경우에.. 해결 # 1번째 방법 일시적으로 Safe 모드를 해제하는 쿼리를 동작시키는 것 (담에 다시 Workbench 킬 때 안된다) set sql_safe_updates=0; # 2번째 방법 Edit 메뉴 => Preferences... => SQL Editor 클릭 => Safe Updates ( ... ) 체크박스 활성화 그리고 Workbench를 재시작해준다
MySQL Workbench 에서 테이블 컬럼을 생성하는데.. 컬럼 정보를 변경하려고 적용버튼 클릭했더니 요런 에러가 발생했다. 원인 데이터 일부분이 잘렸을때 발생하는 에러. 자료형의 범위를 벗어나는 데이터가 들어가 있을 때 발생하는 에러라고 한다 해결 나 같은 경우에는 새로 생성한 컬럼에 Primay Key(기본키)와 Not Null이 체크 돼있었다. 생성할때 옵션도 안붙였는데 왜 붙었나.. 내가 무의식적으로 눌렀나.. 자동으로 붙여주는 옵션이 설정돼있나 아무튼 체크 해제하고 다시해보니 잘 된다. 만약 컬럼 내에 범위를 벗어난 데이터가 들어가 있다면 그 보다 더 큰 자료형으로 변경해서 해결하면 될 듯 ex) 자료형이 int인 경우 : ALTER TABLE [TABLE NAME] MODIFY [COLUM..
상품관리 시스템을 개발하다가 순서 정렬이 제대로 되지 않는 오류건이 발생했었다. 테스트 Table 하나 만들어서 진행해봤는데.. 순서 정렬하는 컬럼 타입이 varchar2 였다. 데이터 넣고 간단하게 조회해 보고 select * from t_order; 내림차순으로 정렬해보니까 이상하게 나왔다.. select * from t_order order by ord desc; varchar2는 제대로 정렬이 안되는구나 하고 숫자로 변경해줬더니 잘됐다. 순서 정렬할 때는 앞으로 컬럼 타입을 숫자로 바꿔주거나, 이미 데이터가 많이 쌓이고 변경하기 부담스럽다면 CAST 변환을 해주면 될듯 싶다. select * from t_order order by cast(ord as unsigned) desc;
직장 다니면서 자격증 공부하는게 여간 쉽지 않다는걸 느꼈다. 준비가 덜 된 상태에서 3월 12일에 인하공전에 가서 아는 동생과 함께 시험을 보고 오픈카톡이나 카페같은데 가서 시험 봤던 사람들이 복기한 가답안을 통해 채점 해봤는데 공개되지않은 5문제를 제외하고 예상점수 54점이 나왔었다.. 음... 나머지 문제가 기억이 안나서 불합격이려나 싶었는데 4월 8일 성적공고일에 확인해본 결과 60점 턱걸이로 합격했다! 일단 기분이 좋았지만 개발자로서 아직 SQL에 대한 개념이 확실하게 잡혀있진 않은거 같아서 SQLP도 추가로 따보려고 한다.
책 한권을 구매 했었는데 사놓고 공부를 안했다.. 다시 맘잡고 공부하기란 쉽지가 않은거 같다 (재미도 없고 금방 싫증남) 그래도 어떻게 또 번뜩 생각나서 이때 아니면 또 안할거 같아서 여기다 박제를 해놔야겠다 그 유명한 노랭이 책이다. 문제집만 있는걸로 사서 대책없이 산 감이 있긴한데.. 뭐 아무튼 해봐야지. 개념서 필요하면 또 사면 되니까 ㅇㅇ 아무튼 책을 좀 훑어봤는데.. 과목1은 개념 내용이라 지루해지기 쉬워서 과목2부터 할 계획이다 과목2 문제 개수만 146개다 내년 시험이 언제인지는.. 아직 안나왔으니까 시작은 무리없이 1문제 이상이라도 조금씩 풀어볼 계획이다.
쿼리문 중에 ALTER TABLE t_board ALTER COLUMN bd_relevel SET DEFAULT 0; 실행시키다가 먹통이 되면서 홈페이지도 덩달아 먹통이 된 사례가 있었다.. 쿼리 실행속도가 긴 경우, 지금처럼 deadlock 현상에 걸리는 경우가 있는데 이러한 현상이 지속되는 경우 show processlist를 통해 확인 후, kill 명령어를 통해 실행을 중단시킬 수 있다 명령어를 치면 다음과 같이 리스트가 출력이 뜬다 id : 쿼리 아이디. Linux의 PID라고 생각하면 된다. User : 쿼리를 실행한 유저명이다. Host : 연결 host ip이다. db : 데이터베이스 이름이다. Command Time : 쿼리 실행 시간이다. State : 현재 쿼리가 뭘 하고 있는지 나타..