카테고리 없음

[멋쟁이사자처럼 부트캠프 그로스마케팅 2기] DAY10 MongoDB 게시판 만들기, Python과 SQL 연동 & 프로젝트

kknag-it 2025. 5. 16. 19:44

목차

  • MongoDB 게시판 만들기
  • Python과 SQL 연동
  • 게시판 구현을 이용한 Database의 CRUD 이해

 

1. MongoDB 게시판 만들기

sudo mkdir 파일이름    #파일 생성

sudo chmod -R 777  파일이름      #모든 파일의 권한을 열어줌 (제일 상위 파일로 가야함)

cd 파일이름 # 하위폴더로 들어가기

cd .. # 이전 폴더로 가기

 

 

각 해당 파일을 위치에 맞게 잘 넣어주기 

다시 SSH로 들어가서 ls 눌러 파일이 잘 들어갔는지 확인하기

python3 파이썬파일이름

# [TMI] 이 게시글을 만들기 위해 노력했답니당,,어제부터 열심히 달려봤지만 mongodb 너란 녀석은 참.. 정을 줬다가도 다시 뺏어가는 마성의 매력이 넘쳐.. 그래도 확실히 결과물이 눈에 보이니 해-삐하네용

 

 

MariaDB ALTER TABLE

ALTER TABLE 문은 MariaDB에서 기존 테이블의 구조를 변경하는 데 사용됩니다. 이를 통해 열 추가, 삭제, 수정, 인덱스 추가, 제약 조건 변경 등의 작업을 수행할 수 있습니다.

 

● 기본 테이블 및 데이터 생성

1) 열 추가 (ADD COLUMN)

새로운 email열을 추가

ALTER TABLE employees ADD COLUMN email VARCHAR(100) AFTER name;

 

2) 열삭제 (DROP COLUMN)

기존 department 열을 삭제

ALTER TABLE employees DROP COLUMN department;

 

3) 열 이름 변경(CANGE COLUMN)

salary 열의 이름을 monthly_salary로 변경

ALTER TABLE employees CHANGE COLUMN salary monthly_salary DECIMAL(10,2) NOT NULL;

 

4) 열 데이터 타입 변경

ALTER TABLE employees MODIFY COLUMN monthly_salary BIGINT NOT NULL;

 

5) 기본 키 변경(ADD/DROP PRIMARY KEY)

ALTER TABLE employees MODIFY id INT;  -- AUTO_INCREMENT 제거
ALTER TABLE employees DROP PRIMARY KEY;
ALTER TABLE employees ADD PRIMARY KEY (email);

기본 id 기본 키를 제거하고 email을 기본키로 설정

기본 키를 변경하려면 email 열이 NOT NULL이어야 함 -> 위 데이터로는 기본키 변경!

 

 

 

6) 테이블 이름 변경(RENAME TO)

ALTER TABLE employees RENAME TO staff;

▷ employees 테이블 이름을 staff로 변경

    desc 쓸때도 desc staff로 해야함

 

7) 인덱스 추가 및 삭제(ADD/DROP INDEX)

# name 열에 인덱스 추가
ALTER TABLE staff ADD INDEX idx_name (name);
# 인덱스 삭제
ALTER TABLE staff DROP INDEX idx_name;

 

 

ALTER TABLE
열 추가 ADD COLUMN
열 삭제 DROP COLUMN
열 이름 변경 CHANGE COLUMN
열 데이터 타입 변경 MODIFY COLUMN
기본 키 변경 ADD/ DROP PRIMARY KEY
테이블 이름 변경 RENAME TO
인덱스 추가 및 삭제 ADD/ DROP INDEX

 

 


 

 

 

2. Python과 SQL 연동

 

pip install mysql-connector-python pandas

 

sublime text에 해당 파이썬 파일을 저장

 

 

 

파일 저장까지 완료한 후 밑에 표로 안에 데이터를 바꾸기

 

 

chatgpt에게 데이터에서 표 데이터로 바꿔달라고 조르기 -

그 후에 파일을 다시 파일질라에 넣고 python3.app.py로 입력해주면 변경!

(되게 쉽게 성공한 척 썼지만 수많은 error와 실수 후에 성공을 했답니당,,)

 

 

 


 

 

 

3. [실습] 게시판 구현을 이용한 Database의 CRUD 이해

 

work 안으로 들어가서

board라는 폴더를 만들고

그 안으로 들어가기

templates, static, uploads 폴더 만들기 한 후

cd .. ( cd 뛰우고 ..)을 친후 

board의 모든 권한을 열어주기

그 다음 파일 질라 들어가서 해당 파일들을 위치에 맞게 잘 넣어준 후 

 

 

그랬는데.. 사이트가 들어가지지 않아 당황을 했지만 MYSQL에선 모델 정의를 테이블로 해줘야 한다고 합니당..!

CREATE TABLE posts (
    id INT AUTO_INCREMENT PRIMARY KEY,
    title VARCHAR(255) NOT NULL,
    content TEXT NOT NULL,
    author VARCHAR(255) NOT NULL,
    created_at VARCHAR(255),  
    image VARCHAR(255)
);

 

다 해주고 외부IP:5001을 해주면!!

 

나만의 게시판 완성!!! 그후 테스트를 진행하고 회고를 하며 오늘 하루를 마칩니당:)

 

 

# [멋사 그로스마케팅 부트캠프 DAY10] 후기 & 회고

이제 아주 쬐금 봤다고 아주 조금 익숙해진 mongodb 하지만 만들었는데 안뜨면 속상해서 계속 보게 된다.. 그래도 만들었다는 것에 의의를 두며 ^,,^ 확실히 실습을 하니 성과가 보여 뿌듯하긴 하지만 내 것이라는 느낌은 아직 안든다. 점차 하면 버퍼링도 줄어들고 조금은 웃을 수 있을거라 생각하며 열심히 배워봅니당. 오늘 회고조를 진행했는데 회고조 할때 가장 힐링됩니다.. 다들 너무 좋으시고 같이 부트캠프 잘 끝냈으면 좋겠다 👍 (이제 이모티콘 쓸 수 있음!) 사실 오늘 자기소개겸 나이 질문을 하셔서 얘기하다가 우연히 내가 젤 막내인걸 알았을때 다른 분 나이를 들었는데 동공지진이 일어났는데,, 그건 너무 다 동안이라 하,, 그래서 표정 관리가 안돼 헉 놀라버렸다.. (hoxy나 이 글을 볼리 없겠지만 본다면 그뜻이 아녔다고 사과하고 싶어유ㅠㅠ)  오늘 그마나 위안이였던건 나만 헤매고 어려워하는게 아니라 다행이다..(?) 함께 이겨낼 사람이 있어서 다행이다 싶다. 확실히 초반 블로그의 의욕뿜뿜일땐 몇 시간을 불태웠는데 시험도 다가오고 해야할 것도 많아 점점 간결해지고 이것 보다는 내가 한 일들을 기록하는 것이 좋을거 같다는 생각이 들어 일단은 이렇게 적고 있다,,@ 아직 모르는 것도 많고 말하는 감자이지만 감자에서 싹이 나고 꽃이 피듯이,,(?) 차근차근 배워가면서 나를 키워봐야겠다! 그럼 다들 주말 잘 보내시고 행복하세요:) 아자아자 화이팅 🙇‍♀️🙆‍♀️🙆‍♀️