본문 바로가기

분류 전체보기277

[Restful API] 가상환경 설정 + 필요한 프레임워크와 라이브러리 설치 우선, 서버를 serverless 형태로 사용할 것이기 때문에 AWS 홈페이지에 접속 - 모든 서비스 보기 - 컴퓨팅 - Lambda - 함수 생성 후 지원 언어 버전을 확인한다. 그 후 Anaconda prompt 실행 후 serverless로 작업할 새로운 가상환경을 만든다. -> 람다용 파이썬 가상환경 : conda create -n 가상환경이름 python=3.10 설치 후 conda activate 가상환경이름 입력, 해당 가상환경 접속 후 필요한 프레임워크와 라이브러리 설치해준다. -> pip install flask , pip install flask-restful 2023. 12. 5.
[Restful API] API, Restful API란? 통신을 위한 REST 구성 자원(Resource) : http:// .. 라는 형태의 URI(URL) 행위(Method) : GET/POST/PUT/DELETE와 같은 메소드 표현(Message) : JSON, XML 등의 형태를 이용해 표현 URI(URL) 구성 명칭 2023. 12. 5.
[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.
[MySQL] case문 작성법 -- 출판년도가 2000년 이상인 책들은 최근책 이라고 하고 그렇지 않은 책들은 예전책 이라고 하여 -- type 이라는 컬럼을 추가해서 가져오기 select *, case when released_year >= 2000 then "최근책" else "예전책" end as type from books; case when 컬럼명 조건 then 수행할거1 else 수행할거2 end 2023. 11. 30.