이전에 텍스트 파일을 활용하여 단어장을 만들었던 경험이 있습니다.
https://integin1212.tistory.com/28
Python 21. 단어장!
파일 입출력을 이용해서 단어장을 만들어 보겠습니다. 다음 조건들을 만족시켜 영어 단어장을 만들어보도록 합시다! 아래 조건을 만족하는 영어 단어장을 만들어보자 등록하기, 2. 출력하기, 3.
integin1212.tistory.com
이번에는 MySQL의 DB에 연동하여 데이터 삽입, 수정, 삭제등 이용하여 텍스트를 활용하여 단어장과 비슷한 단어장을 만들어보겠습니다.
1. 등록하기, 2.출력하기, 3. 검색하기, 4. 수정하기, 5. 삭제하기, 6. 종료하기
MySQL Workbench로 접속하여 데이터베이스를 만들어줍니다.
데이터베이스를 만들어주었습니다.
여러 클래스를 만들어 단어장을 만들어보겠습니다.
1개의 클래스를 생성하여 set, get 메소드를 사용할 수 있도록 합니다. set, get 메소드는 외부에서 값에 직접 접근하는 것을 막기위해서 필요합니다. 값에 직접 접근하게 되면 값이 변할 가능성이 있기 때문에 set, get메소드를 이용하도록 class를 만들어줍니다.
또 1개의 클래스를 생성하여 MySQL에 연결하는 메소드, 연결을 끊는 메소드, 데이터베이스에 데이터를 삽입하는 메소드, 데이터를 select하는 메소드, like연산자를 이용하여 패턴으로 문자열을 검색하는 메소드, 데이터를 수정하는 메소드, 데이터를 삭제하는 메소드를 추가합니다.
위의 클래스에서 여러 메소드를 생성하였습니다. 위의 메소드를 이용하여 1개의 클래스를 생성하여 등록하기, 출력하기, 검색하기, 수정하기, 삭제하기, 종료하기의 메소드를 만들어줍니다. 각 메소드에 input()함수를 사용하여 값을 입력받고 위의 클래스의 메소드를 활용하여 구체적으로 구현합니다.
마지막으로 숫자에 따라 위의 클래스의 메소드가 적절히 실행되도록 클래스를 만들어줍니다. 이때에 무한 루프를 만들어서 6 종료하기를 제외하고는 무한루프를 돌려 프로그램이 멈추지 않고 실행하도록 설정합니다.
위의 절차대로 코드를 작성해보면 다음과 같습니다.
위의 코드를 작성하면서 set, get()메소드를 작성하지 않고 접근하려고 시도했는데 set, get() 메소드를 생성하여 접근해야 더 용이하다는 것을 깨달았습니다.
또 앞서 언급했듯이 문법만을 배워서 사용할 때에는 구글링을 통해서 찾거나 기억했던 코드를 작성하면 어렵지 않았는데 단어장을 만들기 위해서는 어떠한 클래스들을 만들고 또 어떤 메소드를 만들어 연결해야 할지 고민해야하는데 이 부분이 쉽지 않았던 것 같습니다. 특히 self.메소드.메소드()를 이용하는데 이때 어떤 메소드를 먼저 만들고 어떻게 연결해야하는지 너무 복잡했던 것 같습니다. 이 부분은 파일 입출력을 이용하여 단어장을 만들 때에도 어려움을 겪었던 부분이었습니다. 어떤 메소드를 생성하고 생성한 메소드들을 연결하는 그 부분의 시행착오를 겪어야 프로그램을 만드는 생각의 범주가 넓어질 것으로 기대합니다.
따라서 다음에는 주제와 메뉴얼을 직접 만들어 DB를 설계하고 파이썬 코드를 만들어 연결하는 것까지 해보도록 하겠습니다...!
공공데이터 호출 (0) | 2024.05.03 |
---|---|
DB TEST. (0) | 2024.04.05 |
수강 신청 (0) | 2024.03.28 |
디렉토리 관리 시나리오 (0) | 2024.03.25 |
주민번호 유효성 검사 프로그래밍(through Python) (0) | 2024.03.19 |