본문 바로가기

제로베이스59

[MySQL] Primary Key, Foreign Key 1. Primary Key(기본 키)란 - 테이블의 각 레코드를 식별 - 중복되지 않은 고유값을 포함 - NULL 값을 포함할 수 없음 - 테이블 당 하나의 기본키를 가짐 2. Primary Key 생성 문법1 Create table시 변수 설정할 때 primary key를 설정할 컬럼을 마지막에 나열한다. Constraint constraint_name Primary Key (컬럼1, 컬럼2, ...)를 마지막에 써준다. 이 때 Constraint constraint_name은 생략이 가능하고 Primary Key (컬럼1, 컬럼2, ...)만 적어도 된다. constraint_name 는 primary key의 이름으로 지정할 이름을 넣어주면 된다. CREATE TABLE tablename ( col.. 2023. 3. 5.
[MySQL] Python으로 SQL 사용하기 - VSCode 혹은 Web Browser를 통해 SQL을 실행하고, workspace 환경에서 작업한다. - Jupyter notebook(쓸 경우에)과 mysql은 모두 sql_ws 파일 경로에서 사용한다. - AWS RDS로 생성한 database-1을 모두 사용한다. 앞서 database-1의 zerobase의 police_station 테이블의 데이터를 모두 지워준다. 주의사항으로 AWS RDS에서 쓸 때는 --set-gtid-purged=OFF 라는 옵션을 줘야한다. 이렇게 하지 않으면 다른 옵션들이 들어가서 쿼리 실행 시 오류가 날 수 있기 때문이다. mysqldump --set-gtid-purged=OFF -h "endpoint주소" -P 3306 -u admin -p zerobase po.. 2023. 2. 28.
[Python] CSV 파일 열 때 codec 오류 오류문구 'utf-8' codec can't decode byte 0xd6 in position 136: invalid continuation byte 이유 codec 에러로 한글인 경우 맥과 윈도우의 한글 인코딩 방식 차이 때문입니다. 맥은 utf-8 방식을 쓰고 윈도우는 cp949 방식을 씁니다. 윈도우에서 엑셀로 파일을 열고 저장을 하면 cp949방식으로 저장을 하기 때문이다. 해결방안 한글일 경우 : utf-8보다 윗 단계인 cp949를 사용하거나 euc-kr을 쓴다. encoding='cp949' encoding='euc-kr' 영어일 경우 : utf-8이 아닌 ISO-8859-1을 사용한다. encoding='ISO-8859-1' 2023. 2. 25.
[MySQL] Table 삭제 시 오류 : foreign key 가 있는데 truncate/delete 하는 경우 오류문구 mysql> truncate table 테이블명; ERROR 1701 (42000): Cannot truncate a table referenced in a foreign key constraint (`데이터베이스명`.`테이블명`, CONSTRAINT `테이블명_ibfk_1`) 이유 SQL에서 truncate table할 때 ERROR 1701 (42000): Cannot truncate a table referenced in a foreign key constraint (~~) 라는 오류가 뜨는 경우, foreign key가 남아있어서 이런 오류가 뜨는 것이다. 해결방안 SET FOREIGN_KEY_CHECKS = 0; -- Disable foreign key checking. TRUNCATE.. 2023. 2. 24.
728x90