본문 바로가기

전체 글

(143)
SQL 문법 JOIN, 여러 테이블의 데이터를 합치기 ⭐ join 두 개 이상의 테이블에서 데이터를 결합 크게 2가지로 구분 inner join, outer join outer join 은 다시 2가지로 구분 outer join (left join, right join) ⭐ inner join on 조건 없이 사용할때 inner join 을 cross join이라고 부른다. 즉, cross join은 inner join의 한 형태다. 잘 쓰이지는 않는다. inner join을 쓸때 on이라는 조건을 설정한다. on tb_student.no = tb_grade.no이렇게 매번 칼럼명을 작성하는 것은 불편하다. 이때는 별칭을 사용하면 된다. 👍대부분의 경우 join(inner join) 과 left join 만을 사용한다. 💀 join 활용시 주의사항1.o..
Java.time, 시간과 관련된 클래스들의 모음 ⭐Java.time 패키지시간과 관련된 클래스들을 모아뒀다.java1.1때 만들어진 Date, Calendar 클래스는 여러 문제점을 안고 있었다. 이에 따라 java8에서 새로운 클래스들이 만들어졌다. java.time의 주요 클래스LocalDate 날짜만LocalTime 시간만LocalDateTime 날짜 + 시간Period 날짜 간격Duration 시간 간격 예제)구버전 시간 클래스Date now = new Date();System.out.println("현재시간" + now);//Calendar cal = new Calendar(); //new 못때리게 개발자가 막아놨다.Calendar cal = Calendar.getInstance();cal.set(2025,4,14); //0부터 시작(4= 5..
JDBC, java에서 db에 접근해 select 날려보기 ⭐JDBC 구성 요소 Driver 특정 데이터베이스와의 연결을 처리하는 인터페이스 구현. DriverManager JDBC 드라이버를 관리하고 데이터베이스 연결을 설정. Connection 데이터베이스와의 세션을 나타냄. Statement SQL 쿼리를 실행. ResultSet 쿼리 결과를 저장하고 탐색. SQLException JDBC 작업 중 발생하는 예외 처리. ⭐Driver (jdbc가 대체) 특정 데이터베이스와의 연결을 처리 데이터베이스 연결 설정, SQL 쿼리 실행 지원 ⭐ DriverManager JDBC 드라이버를 관리하고 데이터베이스 연결을 설정하는 클래스 url, user, password 기반으로 적절한 드라이버를 찾아 Connection 객체를 반환 ⭐ Connection 데이터베이..
SQL 문법, 데이터타입 적절한 데이터 타입을 선택해야데이터 무결성을 보장하고저장 공간을 효율적으로 사용할 수 있다. SQL의 자료형은 숫자, 문자, 날짜, 논리형의 4가지다. 숫자 INT, BIGINT, FLOAT, DOUBLE문자 VARCHAR, CHAR, TEXT, BLOB날짜 DATE, TIME, DATETIME, TIMESTAMP논리 BOOLEAN, BOOL 등... 예제)-- 대표적인 데이터 타입 사용해보기 -- 테이블 생성 (DDL)-- DROP database school;-- create database school;use school;CREATE TABLE student( student_id INT PRIMARY KEY, name VARCHAR(50) NOT NULL, grade TINYINT NO..
SQL 문법, DCL 데이터 제어 언어 (통신/연결) DCL데이터 제어 언어Data Control Language 주요명령어GRANTREVOKE-- DCL 데이터 제어 언어-- 현재 root 계정 (최고관리자)create database mydb2;use mydb2;-- 사용자 생성 및 비밀번호 설정-- 로컬에서만 접근 가능한 계정 user1 생성-- 버전 5와 8의 명령어가 다르다. 현재 8 사용중create user 'user1'@'localhost' identified by 'password123';-- user1에 조회 권한만 부여해보자.grant select on school.student to 'user1'@'localhost';-- user1 계정 조회 권한 회수revoke select on school.student from 'user1'@'..
SQL 문법, DML 데이터 조작 언어 (입력 조회 수정 삭제) ⭐DML 데이터 조작 언어 Data Manupulation Language데이터를 추가 조회 수정 삭제(CRUD)한다. 주요명령어 INSERT SELECT UPDATE DELETE-- DML에 대해 알아보자.-- INSERT, SELECT, UPDATE, DELETE-- drop database school;-- 혹시 모를 사고예방을 위해 drop 같은 민감한 명령어는 주석처리create database school;use school;create table student( id int primary key, name varchar(50), age int);-- DML의 사용-- 데이터 추가insert into student(id, name, age) values(1, '김철수', 20);in..
SQL 문법, DDL 데이터 정의 언어 (DB/테이블/칼럼 편집) ⭐SQL은 다양한 질의어(쿼리)로 구성돼있다. 이 질의어들은 크게 3갈래로 나눌 수 있다.DDL, DML, DCL DDL 데이터 정의 언어 Data Definition Languagedb구조를 만드는 명령어 도서관의 책장을 설계하는 단계 주요명령어 CREATE ALTER DROP-- DDL에 대해 알아보자.-- db의 구조를 만드는 명령어다.-- create, alter, drop-- school 데이터베이스 생성create database school;-- 해당 db를 사용하겠다 useuse school;-- 테이블 생성 create-- name char(50) 고정길이의 공간을 배분한다. 문자열 50개-- name varchar(50) 가변길이의 공간을 배분한다. 최대 50개create table s..
래퍼클래스 WrapperClass, 데이터를 객체로 취급하고 싶다면 ⭐래퍼 클래스 wrapper class 기본 자료형(Primitive Type)을 객체로 다루기 위해서 사용하는 클래스 👍 기본 자료형을 객체로 감싼다(Boxing)고 생각하면 된다.프로그래밍을 하다 보면 기본 타입 데이터를 객체로 표현해야 할 때가 있다.byte Byteshort Shortint Integerlong Longfloat Floatdouble Doublechar Characterboolean Boolean⭐박싱 Boxing 기본 > 래퍼 기본 데이터를 래퍼 클래스 객체로 변환하는 과정 ⭐언박싱 Unboxing 래퍼 > 기본 래퍼 클래스 객체를 기본 타입 데이터로 변환하는 과정 이들은 많이 사용되기에 자바 5부터 간..