[BCGD] 비전공자 백엔드 개발 도전기 (평가)
·
DB(SQL)
1주일 간의 SQL 파트가 종료가 되었다.JAVA 보다는 조금더 이해가 빠르게 되었고, DB관리 및 생성작업을 하면서조금더 백엔드 개발자에 한걸음 더 다가가는 느낌을 받았다. 예전부터 DB 관련 코딩은 어떻게하나? 궁금증이 있었는데드디어 직접 코딩을 통하여 궁금증이 해소가 되어 갈증이 해결되는 기분이였다. 20문제 중 4문제를 틀려 80점으로 1차 합격으로 통과하였다.☑️ SQ.9 다음중 commit 과 rollback 에 대한 설명중 옳지 않은 것은? 1. commit 은 모든 쿼리가 확실할 경우 최종 확정을 하기 위한 명령어 이다.2. select 문은 rollback 과 commit 어느것에도 영향받지 않는다. 3. rollback 은 직전 커밋 지점 까지 되돌리는 기능 이다. 4. auto co..
[BCGD] 비전공자 백엔드 개발 도전기 (27)
·
DB(SQL)
☑️ JDBC : Java Database Connectivity 자바애플리케이션과 DBMS를 연결하기 위한 도구자바에서 데이터베이스에 연결하여, 데이터를 조회하거나 수정할 수 있도록 돕는 API 자바 애플리케이션과 데이터베이스 간의 통신을 가능하게 함☑️ 역할데이터베이스 연결 ( java.sql.Connection )SQL을 담은 내용 ( java.sql.Statement )SQL 요청 응답( java.sql.ResultSet ) ☑️ 동작 흐름JDBC는 Java 애플리케이션 내에서 JDBC API를 사용하여 데이터베이스에 접근하는 단순한 구조이다.JDBC API를 사용하기 위해서는 JDBC 드라이버를 먼저 로딩한 후 데이터베이스와 연결하게 된다. JDBC 드라이버- 데이터베이스와의 통신을 담당하는 인..
[BCGD] 비전공자 백엔드 개발 도전기 (26)
·
DB(SQL)
☑️ DROP (테이블 자체 삭제) - 테이블 자체를 삭제함 (데이터 + 구조 + 인덱스 + 제약 조건 모두 삭제).- ROLLBACK(복구) 불가능 (트랜잭션 미지원).- DELETE보다 훨씬 빠름 (메타데이터도 삭제됨).- 해당 테이블을 다시 사용하려면 CREATE TABLE로 다시 만들어야 함. -- test1 테이블을 제거하기DROP TABLE test1DESC test1 -- 테이블 삭제확인 ☑️ TRUNCATE TABLE (데이터만 빠르게 삭제) - 테이블은 유지하면서 모든 데이터만 삭제.- ROLLBACK 불가능 (DELETE와 다르게 트랜잭션을 지원하지 않음).- AUTO_INCREMENT 값도 초기화됨 (새로운 데이터 삽입 시 ID가 다시 1부터 시작).- DELETE보다 속도가 훨씬 ..
[BCGD] 비전공자 백엔드 개발 도전기 (25)
·
DB(SQL)
☑️ subquery select 구문 내부에 select 구문이 존재where 조건문에서 사용되는 select 구문 subquery 가능 부분- where 조건문 : subquery- from : inline 뷰- 컬럼부분 : 스칼라 subquery ✅ 단일행 서브쿼리- 서브쿼리의 결과가 1개 행인 경우- 사용가능한 연산자 : =, >, =,-- emp 테이블에서 김지애 사원보다 많은 급여를 받는 직원의 정보 조회하기SELECT * FROM emp WHERE salary > (SELECT salary FROM emp WHERE ename='김지애')-- 사원테이블에서 사원직급의 평균급여보다 적게 받는 -- 직원의 사원번호, 이름, 직급, 급여를 출력하기SELE..
[BCGD] 비전공자 백엔드 개발 도전기 (24)
·
DB(SQL)
Join : 여러개의 테이블에서 조회☑️ cross join 두개 테이블을 조인. m*n개의 레코드가 생성됨, 사용시 주의 요망SELECT * FROM emp -- 14r 9cSELECT * FROM dept -- 5r, 3c-- mariadb 방식SELECT * FROM emp, dept -- 14*5 = 70r / 9+3= 12c-- ansi 방식SELECT * FROM emp CROSS JOIN dept -- 14*5 = 70r / 9+3= 12cSELECT empno,ename,job,emp.deptno,dname FROM emp,dept;SELECT empno,ename,job,e.deptno,dname FROM emp e,dept d; -- 테이블명에 별명 설정SELECT e.empno,e...
[BCGD] 비전공자 백엔드 개발 도전기 (23)
·
DB(SQL)
기타함수☑️ ifnull(컬럼,기본값) : 컬럼의 값이 null 인 경우 기본값을 치환-- ifnull(bonus,0) : bonus 칼럼의 값이 null인경우 0으로 치환SELECT NAME,POSITION,salary,bonus,salary+IFNULL(bonus,0) FROM professor;-- ifnull(salary+bonus,salary) : salary+bonus의 결과가 null인 경우 salary를 기본값으로 치환SELECT NAME,POSITION,salary,bonus,ifnull(salary+bonus,salary) FROM professor;-- 교수의 이름,직책,급여,보너스 출력, 보너스 없는 경우: 보너스없음 출력하기SELECT NAME,POSITION,salary,IFNU..
[BCGD] 비전공자 백엔드 개발 도전기 (22)
·
DB(SQL)
☑️ 합집합: union, union allunion : 합집합. 중복을 제거하는 조회 union all : 두개의 쿼리 문자의 결과를 합하여 출력 두 개의 select문의 조회되는 칼럼의 갯수가 같아야한다. SELECT NAME,deptno,salary,salary*12+bonus FROM professor WHERE bonus IS NOT NULLUNIONSELECT NAME,deptno,salary,salary*12 FROM professor WHERE bonus IS NULL; 빈값을 넣어도 칼럼의 갯수가 같으면 조회가능SELECT studno,NAME,major1,major2 FROM student WHERE major1 = 202 UNION SELECT studno,NAME,'',major2..
[BCGD] 비전공자 백엔드 개발 도전기 (21)
·
DB(SQL)
1. Maria DB 설치Download → 11.4.5(Window) → Download MariaDB Foundation - MariaDB.org… Continue reading "MariaDB Foundation"mariadb.org ☑️ 기본설정password : ****, Confirm : **** ☑️ 데이터 베이스 생성명령어 : create database 데이터베이스명 ☑️ HeidiSQL 실행 + 사용자 생성명령어 : create user 'gduser' identified by '1234'*학습용 관리자 용 : 전체권한 설정 + 호스트에서 : 전체범위 ☑️ 관리자용 로그인 autocommit 설정 : set autocommit=trueautocommit 설정해제 : se..