2024/07 39

국비 지원 IT(웹앱개발) 취업반 강의 26일차 (DB)

어제 내 주셨던 숙제 풀이부터 시작했다.아래는 일단 내 풀이다.# 1. 손흥민의 주문 개수는? ???SELECT t_user.userName, COUNT(t_order.userNo) AS orderCountFROM t_orderINNER JOIN t_user ON t_order.userNo = t_user.idWHERE t_user.userName = '손흥민'GROUP BY t_user.userName;# 2. 손흥민이 산 상품은? ???SELECT DISTINCT t_user.userName, t_order.productNo AS '상품넘버', t_product.pname AS '상품명'FROM t_orderINNER JOIN t_user ON t_order.userNo = t_user.idJO..

Coding History 2024.07.11

2024. 07. 10 SQL 문제 풀이

의외로 빨리 풀었다. 마지막에 강사님이 문제 풀이하실 때는 완전한 답을 가르쳐주신게 아니다. 일단 어떤식으로 문제 풀이를 진행했는지 설명하자면 하나하나 검색해가면서 뭐랑 뭐를 대조해야되는지 직접눈으로 따라가며 한단계식 밟아서 마지막에 결과값을 찾는 식이라고 해야될까? 나도 그런식으로 따로따로 테이블을 조회해가면서 천천히 INNER JOIN ON을 사용해서 결과값에 도달하게끔 하니까 속도는 느려도 눈이랑 머리가 따라가졌다.DROP DATABASE IF EXISTS mall;CREATE DATABASE mall;USE mall;CREATE TABLE t_order(id INT(5) PRIMARY KEY AUTO_INCREMENT,userNo INT(5) NOT NULL,productNo INT(5) NOT ..

Coding History 2024.07.10

국비 지원 IT(웹앱개발) 취업반 강의 25일차 (JDBC, DB)

차가 너무 막혀서 강의실에 오기까지 1시간 반이 걸렸다. 거의 도착할 때 쯤 보니까 신호등이 고장나서 경찰분들이 수신호로 차를 보내고 계시더라. 아마 비 때문에 낙뢰라도 맞아서 그런게 아닌가 싶다. 아무튼 지각은 고사하고 도착하자마자, 어제 내가 구현해 놓은 것들 + detail 기능까지 구현하라고 하셨다. 어제 나머지는 다 해놔서 detail만 하면 됐는데 검증할 수 있는 코드도 만들었고 list기능을 구현해 놓은 곳에서 데이터를 뽑아오는 코드도 있어서 되게 빨리 다 했다.else if (cmd.startsWith("article detail")) { int id = 0; try { id = Integer.parseInt(cmd.spli..

Coding History 2024.07.10

2024. 07. 09 JDBC Study

강사님이 주신 코드로 modify와 delete 까지 일단은 구현해봤다. 조건문만 걸면 되는데 이제 여기서 생각을 좀 해야된다. 근데 뭔가 떠오르지가 않는다. 일단 고친 코드를 보면private int doAction(Connection conn, Scanner sc, String cmd) { if (cmd.equals("exit")) { return -1; } if (cmd.equals("article write")) { System.out.println("==글쓰기=="); System.out.print("제목 : "); String title = sc.nextLine(); ..

Coding History 2024.07.09

국비 지원 IT(웹앱개발) 취업반 강의 24일차 (JDBC)

난 어제 select로 list까지 볼 수 있게끔 만들어서 delete부터 구현하기 시작했다.삭제까지는 했는데 없는 id를 입력해도 삭제를 성공했다는 메세지가 떠서 이걸 내가 번호를 넣었을 때 그 id에 칼럼이 있는지 없는지 존재 여부를 확인하는 코드가 필요했다. 근데 그걸 몰라서 헤메고 있다. 일단은 구현해놓은데 까지는 보자. private static void doDelete() { System.out.println("== 게시물 삭제 =="); try { Class.forName("org.mariadb.jdbc.Driver"); conn = DriverManager.getConnection(url, user, pass); ..

Coding History 2024.07.09

2024. 07. 09 시험문제 (Motivation App)

수월하게 볼 줄 알았는데 연습하지 않았던 상세보기와 명령어가 다르고, 또 날짜까지 넣어야되서 조금 걸렸는데 그래도 걱정했던 것 보다는 수월하게 풀렸다. 반복 연습이 도움이 됐던 것 같다. 이하는 내가 제출한 코드다.public class Main { public static void main(String[] args) { new App().run(); }}import java.util.ArrayList;import java.util.List;import java.util.Scanner;import static org.koreait.MotivationController.*;public class App { static Scanner sc; static int lastId;..

Coding History 2024.07.09

국비 지원 IT(웹앱개발) 취업반 강의 23일차 (JDBC)

새로 프로젝트를 만들어서 article write와 article list 까지 구현하게 시키셨다.이후 myspl과 내 프로젝트를 연결했다. 내가 사용하고 있는 것은 인텔리제이이고 여기에 DB를 연결하는 것 까지는 성공했는데, 이후 코드로 연결시켜서 사용하는데에는 계속해서 실패했다.강사님이 초기 세팅을 알려주셔서 이렇게 일단 연결은 했다,import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;public class JDBCConnTest { public static void main(String[] args) { Connection conn = null; try { ..

Coding History 2024.07.08

DB와 DBMS와 RDBMS를 알아보자

흔히 개발을 할 때, DB에 연결이니, DB의 데이터가 뭐가 어떻니들 많이 한다. 필자도 배우는 입장이라 솔직히 잘 모르지만 글로 정리하는 건 구글링으로 가능하다. 함께 데이터 베이스가 뭔지 알아보자.DB, DBMS, 그리고 RDBMS는 위의 문장 처럼 데이터 관리와 관련된 개념이다. 이들을 쉽게 설명해보면,데이터베이스 (DB)데이터베이스(DB)는 데이터를 체계적으로 저장하고 관리하는 곳. 일상생활에서 사용되는 데이터베이스의 예를 들어보면전화번호부: 이름, 전화번호, 주소 등이 저장되어 있는 DB.학교의 학생 명부: 학생들의 이름, 학년, 성적 등이 저장되어 있는 DB.데이터베이스는 데이터를 저장하고 쉽게 검색하거나 수정할 수 있도록 도와준다.데이터베이스 관리 시스템 (DBMS)데이터베이스 관리 시스템(..

Coding History 2024.07.07

2024. 07. 05 쿼리문 기본 문제 풀이

# 기존에 a2 데이터베이스가 존재 한다면 삭제DROP database IF EXISTS a2;# 새 데이터베이스(`a2`) 생성CREATE DATABASE a2;# 새 데이터베이스(`a2`) 선택use a2;# article 테이블 생성(id, regDate, title, body)CREATE TABLE article(id int,regDate datetime,title char(100),body text );# article 테이블 조회(*)SELECT *FROM article;# article 테이블에 data insert (regDate = NOW(), title = '제목', body = '내용')INSERT into article (regDate, title, body)VALUES ..

Coding History 2024.07.05

국비 지원 IT(웹앱개발) 취업반 강의 22일차 (DB, DBMS, RDBMS)

오늘은 Xampp 설치부터 시작했다. DB를 시작한다는 뜻이다.개발환경 세팅을 쉽게해주는 툴 -> xamppMySql-서버 : 데이터를 전달해준다.-클라이언트웹-서버 (아파치, nginx)-클라이언트 (브라우저(클라이언트 프로그램))클라이언트에 요청을 하면 서버가 전달해준다.MySql != DB, MySql == DBDBMS(MySql) -> 관리MySql은 데이터베이스들을 관리한다.데이터베이스 안에 데이터는 테이블(table)안에 표로 이루어져 있다.터미널에서 확인할 수 있지만 보기 힘들기 때문에 MySqlyog를 다운 받아서 사용한다. 나는 맥 환경이라 다른걸 설치해야한다. 그래서 MySql workench를 설치했다.사용법을 대충 톮아보면,MySql 데이터 타입문자형 데이터 타입데이터 유형정의CHA..

Coding History 2024.07.05