728x90

Database 19

(MS-SQL) convert 함수로 날짜관련 데이터 변환 방법

MSSQL CONVERT 함수 사용하여 다양한 날짜 형식 표현하기 MSSQL에서 CONVERT 함수는 데이터 형태를 변환 할 수 있는 함수이다. 즉 CONVERT 함수는 데이터를 다른 유형으로 변환할 때 사용하는 함수이다. 특히 다양한 형식의 날짜를 표현할 때 자주 사용된다. CONVERT 함수 사용하는 방법 CONVERT ( data_type [ ( length ) ] , expression [ , style ] ) CONVERT함수 사용 예제 SELECT CONVERT(CHAR(19), GETDATE(), 20) 2019-07-29 17:27:41 - 오늘 날짜를 YYYY-MM-DD HH:MM:SS 형태로 표현할 수 있다. GETDATE 함수 GETDATE 함수는 오늘 날짜를 연, 월, 일, 시, 분..

Database 2022.11.14

(MSSQL) SELECT INTO, INSERT SELECT를 이용한 특정 필드 복사

MSSQL 특정 테이블 복사 DB작업시 전체백업을 항상 꼼꼼하게 한 뒤에 작업해야 겠지만, 한 두개의 테이블에 UPDATE, DELETE 작업을 할 때 예상치 못한 만일의 사태에 대비하기 위해서 또는 긴급하게 데이터를 원복하기 위해 개별 테이블 단위의 백업도 자주하게 됩니다. 이번 글에서는 SELECT INTO, INSERT SELECT 구문을 활용한 데이터복사와 테이블복사, JOIN을 활용한 데이터복사 및 조건절을 통한 필터링에 대해 알아보겠습니다. 아래의 테이블 카피 구문을 사용하면 간단한 쿼리로 신속하게 데이터를 백업하고 유사시 쉽게 원복할 수 있습니다. 예제로 사용할 테이블 Fruit Seq Name Flavor Rank 1 딸기 새콤하다 1 2 바나나 달콤하다 2 3 사과 향긋하다 3 Fruit..

Database 2022.11.02

(MS-SQL 복합키) primary key가 2개일 때

MS-SQL에서 기본키 2개인 복합키를 생성하는 방법 table 생성 CREATE TABLE test_table( id numeric(10,0), sub_id numeric(10,0), content varchar(100), PRIMARY KEY(id, sub_id) ) data insert insert into test_table( id, sub_id, content ) values( 1, 1, 'test' ) Table을 생성했으면 위의 쿼리로 데이터를 두번넣으면 기본키가 중복되어 오류가 나는 것을 확인 할 수 있습니다. (같은 PK의 데이터가 2번 들어갔기 때문..!) 추가로 alter 명령어로 기본키를 추가 하는 방법은 아래와 같습니다. ALTER TABLE TEST_TABLE ADD CONSTR..

Database 2022.11.02

(DB 구조) 마스터-슬레이브 구조

개요 소프트웨어를 개발하는데 가장중요한것은 DB를 설계하는 것이라고 생각합니다. 많은 소스를 보면서 DB구조가 Master & Slave로 되어있는것 을 볼 수 있었는데, 자세한 개념을 알아 보도록 하겠습니다. Master & Slave 개념 MySQL Replication(복제)은 말 그대로 DB인 데이터를 갖다가 물리적으로 복사해 다른곳에 넣어두는 기술을 의미합니다. 복제 매커니즘 - Master DB에서 DATA변경이 일어나면(1), 이를 Master DB에 반영합니다(2). - 변경이력을 Binary Log로 저장합니다(3). - 관련 이벤트를 Slave DB들에게 넘깁니다(4). - Slave IO Thread에서 이벤트를 캐치하면(5) Binary Log를 Slave DB 각각의 Relay L..

Database 2022.10.14

INNER JOIN, LEFT JOIN, RIGHT JOIN의 차이

예제 테이블 mysql> select * from demo_people; name phone pid Mr brown 01225 708225 1 Miss Smith 01225 899360 2 Mr Pullen 01380 724040 3 mysql> select * from demo_property; pid spid selling 1 1 Old House Fram 3 2 The Willows 3 3 Tali Trees 3 4 the Melksham Florist 4 5 Dun Roamin 1. 기본 JOIN (= INNER JOIN) - 기본적으로 JOIN은 교집합이다. select name, phone, selling from demo_people join demo_property on demo_peopl..

Database 2022.07.17

MySQL 랜섬웨어 후 대처법(Z_README_TO_RECOVER)

MySQL 랜섬웨어 때문에(Z_README_TO_RECOVER 라는 테이블만 남아있음, root 비번도 초기화), 비밀번호 초기화가 필요했다. ① 설정 > 시스템에서 Mysql80 시스템을 종료하거나 cmd를 관리자 권한으로 열어 >> net stop MySql80 ② mysql이 program Files에, Program Data에 모두 존재할텐데 Program Data의 MySQL 폴더를 선택해준다. Data 폴더까지 들어가 해당 경로를 복사한다. >> mysqld --datadir="C:\ProgramData\MySQL\MySQL Server 8.0\Data" --console --skip-grant-tables --shared-memory 이렇게 되면 sql에 패스워드 없이 접속 가능하다! ③ 그..

Database 2022.07.15

(MySQL) Unique Index로 컬럼에 중복값이 못들어오도록 하려면..

PK 컬럼말고 따로 고유 값을 받아야 하는 컬럼이 있을 때 -> 유니크 인덱스(Unique Index)로 유니크 컬럼을 만들면 된다. 찾아보니 방법은 두가지가 있다. 매 쿼리문에서 방지 - 'where not exists' (비추천) INSERT INTO BOARD_LIKE (BOARD_IDX, USER_IDX) VALUES (11, 13) WHERE NOT EXISTS (SELECT BOARD_LIKE_IDX FROM BOARD_LIKE WHERE BOARD_IDX = 11 AND USER_IDX = 13) 컬럼 속성 설정 (추천하는 방식) 중복되면 안되는 컬럼 조합을 UNIQUE INDEX로 설정한다. UNIQUE INDEX ALTER TABLE BOARD_LIKE ADD UNIQUE INDEX (U..

Database 2022.03.21

[MySql] Cannot delete or update a parent row: a foreign key constraint fails 에러 해결 방법

ERROR 1451 (23000): Cannot delete or update a parent row: a foreign key constraint fails mysql에서 DB 테이블이나 Row를 삭제하려고 할때 위와 같은 메시지가 발생할 때가 있다. 말그대로 현재 삭제하려고 하는 테이블 또는 행이 다른 곳에서 참조하고 있기 때문에 발생하는 문제다. 이 문제를 해결하는 방법은 아래와 같다. 1. 해당 테이블 또는 행을 참조하는 데이터를 삭제후 삭제를 한다. 가장 안전한 방법이고 초기 DB 설계자의 의도된 대로 데이터의 관계를 유지할 수 있다는 장점이 있다. (이 때, 참조하고 있는 테이블들의 행을 전부 찾아서 삭제 후, 원하는 테이블의 행을 삭제할 수 있으므로 주의하여야 한다.) 2. 외래키 체크 설정..

Database 2022.03.18

Communications link failure 에러(MySQL)

[08S01] Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate) 하단에 있는 Test Connection 을 눌러주는데 에러(Communications link failure)가 발생하였다. 상단에 있는 Driver가 MySQL로 되어있는데, 이걸 Amazon Auor..

Database 2022.03.15
728x90