SQLITE 를 이용하여 쿼리문을 테스트하였으니 참고하시기 바랍니다.
*테스트 테이블 TBL_USER 정보
1 2 3 4 5 6 7 | CREATE TABLE `TBL_USER` ( `FLD_ID` TEXT NOT NULL, `FLD_PW` TEXT NOT NULL, `FLD_NAME` TEXT NOT NULL, `FLD_ADDRESS` TEXT NOT NULL, PRIMARY KEY(`FLD_ID`) ); | cs |
- INSERT
- INSERT INTO {0}({1}) VALUES({2});
e.g.
1INSERT INTO TBL_USER (FLD_ID, FLD_PW, FLD_NAME, FLD_ADDRESS) VALUES('ID', 'PW', 'NAME', 'ADDRESS');cs - INSERT INTO {0} VALUES({2});
e.g.
1INSERT INTO TBL_USER VALUES('ID', 'PW', 'NAME', 'ADDRESS');cs - INSERT INTO {0}({1}) SELECT {2} WHERE NOT EXISTS(SELECT 1 FROM {0} WHERE {3});
e.g.
1234567INSERT INTO TBL_USER (FLD_ID, FLD_PW, FLD_NAME, FLD_ADDRESS)SELECT 'ID', 'PW', 'NAME', 'ADDRESS'WHERE NOT EXISTS (SELECT 1FROM TBL_USERWHERE FLD_ID='ID' AND FLD_PW='PW' AND FLD_NAME='NAME' AND FLD_ADDRESS='ADDRESS' );cs IF NOT EXISTS (SELECT 1 FROM {0} WHERE {3}) BEGIN INSERT INTO {0} ({1}) VALUES ({2}) END;
SQLITE에는 IF-THEN-ELSE가 없음
e.g.
12345678IF NOT EXISTS( SELECT 1FROM TBL_USERWHERE FLD_ID='ID' AND FLD_PW='PW' AND FLD_NAME='NAME' AND FLD_ADDRESS='ADDRESS')BEGININSERT INTO TBL_USER (FLD_ID, FLD_PW, FLD_NAME, FLD_ADDRESS) VALUES('ID', 'PW', 'NAME', 'ADDRESS')END;cs - {0} : 테이블 이름.
- {1} : 필드 이름(s). 복수의 경우 콤마(,)를 통하여 구분.
- {2} : 필드에 해당하는 값(s). 복수의 경우 콤마(,)를 통하여 구분. Text 타입의 경우, 값을 따옴표(')로 감싸준다
- {3} : INSERT 대상 정보가 이미 해당 테이블에 존재하는지 확인하는 조건
- UPDATE
- UPDATE {0} SET {1} WHERE {2};
e.g.1UPDATE TBL_USER SET FLD_PW='UPDATED PW', FLD_ADDRESS='UPDATED ADDRESS' WHERE FLD_ID='ID';cs - {0} : 테이블 이름
- {1} : 업데이트 내용. 복수의 경우 콤마(,)를 통하여 구분.
- {2} : 업데이트 대상을 찾는 조건문.
- DELETE
- DELETE FROM {0} WHERE {1};
e.g.1DELETE FROM TBL_USER WHERE FLD_ID='ID';cs - {0} : 테이블 이름
- {1} : 삭제 대상을 찾는 조건문.