반응형

MariaDB 13

INSERT/UPDATE template(feat. 엑셀 CONCATENATE)

엑셀의 CONCATENATE() 함수를 이용해서 간단한 UPDATE template을 만들었다. 그냥 단순히 table명과 업데이트 시 key값, 업데이트 할 컬럼을 입력 받아서 문자열을 이어붙여 UPDATE문을 완성한 뒤 SQL문 확인 후 DB 클라이언트 프로그램에서 실행하면 된다. 아래 동영상을 보면 바로 이해가 될 듯 하다. 예제는 업데이트 1건만 실행했지만 여러개 입력해서 SQL 드래그 후 다량의 업데이트도 가능하다. 사실 다량 업데이트 때문에 만든거다. INSERT QUERY

IT/development 2023.03.05

[SQL] update에서 case when절 사용

update에서 case when절로 조건에 맞게 수정 아래처럼 temp_user 테이블에 데이터가 들어 있다. 아래처럼 update문을 실행하면 조건에 맞게 수정된다. update temp_user set user_name = case when user_seq = 1 then '슈' when user_seq = 2 then '퍼' when user_seq = 3 then '그' when user_seq = 4 then '랑' when user_seq = 5 then '조' when user_seq = 6 then '도' when user_seq = 7 then '막' when user_seq = 8 then '사' when user_seq = 9 then '라' end ; 결과값

IT/DBMS 2023.03.04

[MySQL/MariaDB] Update join...

MySQL/MariaDB updae join... 😅 mysql에서 테이블을 조인해서 update를 실행해야 되는 경우 아래처럼 조인해서 업데이트를 하면 된다. 자주 쓰일 듯 하니 메모 해둠 -- mainTable과 subTable을 no로 조인한 뒤 no가 같은 데이터만 use_yn값을 'Y'로 변경 -- (양쪽 모두 있는 데이터만 가져오기 위해 inner join 사용) update mainTable a inner join subTable b on a.no = b.no set a.use_yn = 'Y' where a.no = b.no ;

IT/DBMS 2022.11.29

[MySQL/MariaDB]테이블 필드의 공백, 개행, 캐리지리턴 치환

목차 MariaDB 테이블 필드의 공백, 개행, 캐리지리턴 치환 csv파일을 불러오거나 때에 따라 테이블에 공백 혹은 특수문자가 삽입된 경우 아래처럼 치환해야 함 -- 공백 치환 update table set field = replace(field, ' ', ''); -- 개행문자 치환 update table set field = replace(field, '\r\n', ''); -- 탭 치환 update table set field = replace(field, 'char(9)', ''); -- 라인피드 치환 update table set field = replace(field, 'char(10)', ''); -- 캐리지리턴 치환 update table set field = replace(field, ..

IT/DBMS 2022.11.25

[MySQL/MariaDB]문자열 붙이기(concat, concat_ws)

목차 oracle에서는 ||로 붙이면 되지만 mysql에서는 concat()을 이용해서 붙임 select concat('동해물과','|','백두산이') 애국가1; result : 동해물과|백두산이 -- concat같은 경우 인자값에 null이 있는 경우 null이 return되니 주의 할 것 select concat('동해물과','|','백두산이',null) 애국가1; result : {null} -- 동일한 구분자를 기준으로 계속 문자열을 붙이는 경우는 concat_ws()를 사용하면 됨 select CONCAT_WS('|', '동해물과', '백두산이', '마르고 닳도록', '하느님이', '보우하사', '우리나라', '만세') 애국가1; result : 동해물과|백두산이|마르고 닳도록|하느님이|보우하사..

IT/DBMS 2022.11.25

[MySQL/MariaDB]'테이블명' doesn't exist

목차 테이블이 있는데 테이블이 없다고 나오는 경우 여러이유가 있을 수 있지만 대소문자 구분하는지 확인해 볼 필요가 있음 윈도우는 기본적으로 대소문자 구분이 없이 mariadb가 설치 되지만 리눅스는 대소문자 구분해서 설치하는 경우가 있음 mysql 계정으로 접속 후 아래의 쿼리를 보낸 후 값을 확인해야 함 show variables like 'lower_case_table_names'; 쿼리 질의 값이 0인 경우 대소문자를 구분, 1인 경우 대소문자 구분안하는 걸 의미 만일 0으로 되어 있으면 1로 변경 vi로 /etc/my.cnf을 열어서 [mysqld]안에 lower_case_table_names = 1를 넣어줌(경로는 다를 수 있음) 그 후 mariadb or mysql 서비스 재시작

IT/DBMS 2022.11.23

[MySQL/MariaDB] 테이블/테이블 목록 조회

목차 Mysql/MariaDB 테이블 조회 information_schema DB를 활용(절대 information_schema의 정보를 수정하면 안됨) Mysql 혹은 MariaDB의 메타데이터 정보를 담고 있는 information_schema를 활용해서 다양하게 사용 가능(빈 테이블 조회 등) -- 빈 테이블 조회 SELECT TABLE_NAME AS 테이블명, table_comment AS 코멘트, table_rows AS 행 FROM information_schema.tables WHERE table_schema = '스키마명'AND table_rows

IT/DBMS 2022.11.23
반응형