본문 바로가기

SQL/Muzi8

[SQL] MySQL 테이블 락 안걸릴 경우 테이블 락을 걸경우에 보통 아래형식으로 테이블 락을 걸어준다START TRANSACTION;SELECT column FROM your_table_name WHERE id = #column# FOR UPDATE;하지만 락이 안걸릴 경우가 있는데 그 이유는 TABLE에 ENGINE 타입이 아니라서 그럴 수 있다.그럼 아래 쿼리문을 돌려보면 테이블별 ENGINE 타입이 나온다.SELECT TABLE_NAME, ENGINEFROM information_schema.TABLESWHERE TABLE_SCHEMA = 'db이름';확인을 하고 타입이 innoDB타입이 아니면아래처럼 락테이블을 새로 하나 만들어서 그 테이블을 락 테이블로 사용하거나CREATE TABLE table_lock ( id VARCHA.. 2024. 8. 27.
더미데이터 만들기 1. EXCEL CONCATENATE()함수로 만들기 (내가 가장 많이 사용함...)1. insert 쿼리문 만들기INSERT INTO TABLE_NAME (talbe_id, table_name, table_phon, table_birth, .... )VALUES ('', '', '', '', ....)  2. 엑셀 함수 CONCATENATE("문자열","문자열")'' 안에 "& 셀번호 &" 넣어주면됨문장이 길 때는 중간중간에 ","로 끊어주면됨=CONCATENATE("")=CONCATENATE("INSERT INTO TABLE_NAME(id, name, phon, birth) VALUES('','','','');")=CONCATENATE("INSERT INTO TABLE_NAME(id, name, ph.. 2024. 4. 2.
SQL 삭제된 데이터 복구 및 되돌리기(오라클 플레시백)Flashback 오라클의 FILE_INFO 의 10분전 데이터를 확인 select * from FILE_INFO as of timestamp( systimestamp - interval '10' minute ); FILE_INFO_backup_20231006 백업 테이블 생성해서 10분전 데이터 백업파일로 옮김 create table FILE_INFO_backup_20231006 as select * from FILE_INFO as of timestamp( systimestamp - interval '10' minute ); FILE_INFO에 백업파일 데이터를 옮김 insert into FILE_INFO select * from FILE_INFO_backup_20231006; 데이터 확인 select * from FI.. 2023. 10. 6.
최프 SQL 쿼리문 --카멜케이스 create or replace FUNCTION FN_GETCAMEL(COLUMN_NAME IN VARCHAR2) RETURN VARCHAR2 IS RSLT VARCHAR2(30); BEGIN --카멜표기로 변환(SITE_NUM -> siteNum) SELECT LOWER(SUBSTR(REPLACE(INITCAP(COLUMN_NAME),'_'),1,1)) || SUBSTR(REPLACE(INITCAP(COLUMN_NAME),'_'),2) INTO RSLT FROM DUAL; --리턴 RETURN RSLT; END; / commit; --구글 카멜변환(https://heavenly-appear.tistory.com/270) SELECT COLUMN_NAME , DATA_TYPE , CASE .. 2023. 9. 27.
sql 연습 --부모 테이블의 기본키가 자식테이블의 외래키로 전이됨 --자식테이블의 외래키가 부모테이블의 기본키를 참조함 --insert --부모테이블 -> 자식테이블(외래키데이터는 부모테이블의 기본키데이터가 있어야함) INSERT INTO BOOK_INFO(BOOK_ID, NAME, UNIT_PRICE, AUTHOR, DESCRIPTION, PUBLISHER , CATEGORY, UNITS_IN_STOCK, TOTAL_PAGES, RELEASE_DATE, CONDITION) VALUES('ISBN1234','이순신의여행',10000,'이순신','내용','삼성출판사' ,'소설',1000,100,'2023-07-12','신규도서'); INSERT INTO ATTACH(SEQ, BOOK_ID, FILENAME) VALU.. 2023. 8. 4.
참조무결성(DB삭제시 자식테이블 삭제) --참조무결성 /* 제한(RESTRICT) : 부모의 기본 데이터를 참조하고 있는 자식 테이블의 외래키가 있을 경우 해당 부모의 기본키 데이터를 삭제할 수 없음 연쇄(CASCADE) : 부모를 삭제하면 해당 기본키 데이터를 참조하고 있는 자식의 데이터도 함께 삭제됨 널값으로 처리(NULLIFY) : 부모를 삭제하면 해당 기본키 데이터를 참조하고 있는 자식의 외래키 데이터만 NULL로 변경 */ 삭제시에는~~~~~~~~~~~~~~~~~~~~~ 작업없음 = 제한 종속 삭제 = 연쇄 널 값으로 설정 = 널 설정 2023. 8. 2.