본문 바로가기

MySQL29

[MySQL] 데이터 삽입시에 Primary Key(PK)나 Unique Key(UK)가 중복되었을 때 무시하고 삽입하는 명령어 INSERT IGNORE INTO ~ INSERT IGNORE INTO-> MySQL에서 사용되는 문법으로, 데이터 삽입 시에 Primary Key(PK)나 Unique Key(UK)가 중복되었을 때 무시하고 삽입하는 명령어입니다.이 명령어를 사용하면 중복된 키가 발생하더라도 오류를 발생시키지 않고 무시하고 삽입합니다. 예시)INSERT IGNORE INTO 테이블명 (컬럼1, 컬럼2) VALUES (값1, 값2); 위 예제에서는 "테이블명" 테이블에 "컬럼1"과 "컬럼2"에 대한 값이 삽입되는데, 만약 이 과정에서 Primary Key나 Unique Key가 중복되어 발생한다면 해당 데이터는 무시되고 삽입이 진행됩니다. 2024. 5. 27.
[MySQL] 데이터 삽입시에 Primary Key(PK)나 Unique Key(UK)가 중복되었을 때 지정된 데이터를 업데이트하는 법 ON DUPLICATE KEY UPDATE ON DUPLICATE KEY UPDATE-> 데이터 삽입 시에 Primary Key(PK)나 Unique Key(UK)가 중복되었을 때 지정된 데이터를 업데이트하는 명령어입니다.주로 이 명령어는 데이터베이스에 데이터를 삽입할 때 중복된 키가 발생할 수 있는 경우에 사용됩니다. 이때, 중복된 키가 발생하면 해당 키에 대한 데이터를 업데이트하고, 중복된 키가 없는 경우에는 새로운 데이터를 삽입합니다. 예시)CREATE TABLE users ( id INT PRIMARY KEY, name VARCHAR(50), age INT);여기서 "id"가 Primary Key로 정의되어 있습니다. 이제 이 테이블에 데이터를 삽입할 때 "id"가 중복되는 경우에는 해당 데이터의 "age"를 업데이트하는 .. 2024. 5. 27.
[MySQL] MySQL 테이블에 있는 데이터 csv, json 파일로 옮기는 방법 -> 해당 테이블 우클릭 - Table Data Export Wizard 클릭 -> 필요한 컬럼만 선택 후 Next 클릭 -> 저장할 Path 선택, 확장자 csv or json 선택한 후 Next 클릭 - finish 클릭 -> 잘 옮겨진 모습이다. 존재하는 테이블이 아닌 select 한 결과를 저장하는 법) -> 나온 결과에 위 사진의 Export 아이콘 표시를 클릭하면 된다. 2023. 12. 13.
[MySQL] foreign key의 on delete cascade 설정 방법과 동작 방법 설정 방법) -> 원하는 테이블에 마우스를 올린 후 스패너 모양 클릭 후 Foreign Keys 탭에 들어간다. -> Foreign key Name(p_userid_3)을 정해주고 참조할 테이블(users)과 현재 테이블의 어떤 컬럼(user_id)을 외래키로 설정할건지, 또 참조할 테이블의 어떤 컬럼(id)을 참조할건지 선택해주고 우측에 보이는 Foreign Key Options에 On Delete 값을 CASCADE로 바꿔주고 Apply로 설정완료 한다. on delete cascade를 설정해 놓으면, 부모테이블(users)테이블에서 id = 1인 데이터를 삭제할 때, users 테이블의 id를 참조하는 테이블의 컬럼에 있는 데이터도 같이 삭제된다. 설정해 놓지 않으면, users의 id = 1 인.. 2023. 12. 4.
[MySQL] Error Code : 1062. Duplicate entry가 나오는 이유 앞의 글에서, 중복될 수 없는 데이터들을 한 쌍으로 묶어 unique 제약조건을 걸어줬다. 이미 follower_id = 2와 followee_id = 1이 존재하는 상황에서, insert into follows (follower_id, followee_id) values (2, 1); -> 똑같은 값으로 데이터를 생성 시 -> 이 오류가 뜬다. Error Code : 1062. Duplicate entry가 나오는 이유) 데이터베이스에 중복된 레코드를 삽입하려고 할 때 발생하고, 이 오류는 주로 유일한 제약 조건을 위반하거나 primary key 또는 unique 인덱스와 관련이 있다고 나온다. follow_id, followee_id 두 컬럼을 한 쌍으로 묶어 unique 제약조건을 걸어줬기 때문에 .. 2023. 12. 4.
[MySQL] 테이블에 unique 설정하는 방법 테이블의 컬럼에서 중복된 값이 있으면 안되는 경우에 unique 처리를 하면 된다. 하는 방법) -> 해당 테이블에 마우스를 올려서 스패너모양을 클릭한다. -> 아래 Indexes 탭 클릭 -> Index Name엔 자유롭게 작명, Type엔 unique로 설정 후 오른쪽탭에서 unique처리 되어야 하는 컬럼을 체크한다. (팔로우와 팔로잉 같은 경우는 활성화시 데이터가 들어가고 비활성화시 삭제되기 때문에 중복으로 있을 수 없다. 그러므로 한 쌍을 유니크 처리) 2023. 12. 4.
[MySQL] join과 left join 하는 방법과 예시 -> 부모테이블 students -> 자식테이블 papers , student_id 컬럼은 외래키(foreign key)로써, students 테이블의 id를 참조한다. join) select * from students s join papers p on s.id = p.student_id; -> join은 두 테이블 간에 조건을 만족하는 행만 반환한다. -> join은 inner join 이라고도 부른다. left join) select * from students s left join papers p on s.id = p.student_id; -> left join은 왼쪽 테이블(students)의 모든 행을 유지하면서 오른쪽 테이블(papers)과의 일치 여부에 따라 NULL 값을 가질수도 있는 경.. 2023. 12. 1.
[MySQL] 테이블 생성 시 foreign key(외래키) 설정하는 법 foreign key(외래키) 란, 데이터베이스는 여러 개의 테이블로 구성되기 마련이다. 이들 테이블은 특정 키(혹은 필드)를 매개로 서로 연결이 되는데, 이 키를 외래키(foreign key)라고 한다. RDBMS(Relational database management system)에서 명시적으로 테이블을 연결(relation)해주는 장치다. 설정하는 법) -> 먼저 부모 테이블을 생성한다. -> 자식 테이블을 만든다. 자료형은 참조할 부모테이블의 컬럼과 타입이 같아야 한다. 그리고 Foreign Key 탭을 누른다. -> 다음으로, foreign key의 이름을 원하는 대로 설정하고, [Referenced Table]에 부모 테이블을 설정한다. [Column]에서 foreign key로 사용할 열(C.. 2023. 12. 1.
[MySQL] ifnull() 함수 사용법 ifnull() = 해당 컬럼에 null이 있으면 다른걸로 세팅하고 없으면 기존값을 세팅한다. -- 재고 컬럼에 null이 있으면 0으로 세팅 select * , ifnull(stock_quantity, 0) from books; -> ifnull(컬럼, 원하는값) 2023. 11. 30.
[MySQL] if() 함수 작성법 조건이 2개인 경우에는 case문을 사용해도 되고 if() 함수를 사용해도 된다. -> 조건이 2개일때는 if함수가 더 편하다. select * , if(released_year >= 2000, "최근책", "예전책") as type from books; -> if(조건, true값, else값) 2023. 11. 30.