본문 바로가기

분류 전체보기

(197)
[MySQL] 물리삭제와 논리삭제 데이터베이스에서 데이터를 삭제하는 방법은 용도에 따라 크게 '물리 삭제'와 '논리 삭제' 두 가지로 나뉜다. 이는 SQL 명령이 두가지 존재한다는 의미가 아닌 데이터를 삭제하는데 두 가지 사고방식이 있다는 뜻이다. 물리삭제 SQL의 DELETE 명령을 사용해 직접 데이터를 삭제하는 사고방식이다. 삭제 대상 데이터는 필요 없는 데이터이므로 DELETE 명령을 실행해서 테이블에서 삭제해버리자 라는 지극히 자연스러운 발상에 의한 삭제 방법이다. 사용자의 개인정보를 다루는 시스템에서 탈퇴한 경우 데이터를 삭제하는 경우 개인정보 유출을 방지하는 측면에서 물리 삭제를 하는 편이 좋은 선택이라 할 수 있다. 논리 삭제 테이블에 '삭제 플래그'와 같은 열을 미리 준비해 둔다. 즉, 테이블에서 실제로 행을 삭제하는 대신..
[Java] 정보 은닉 객체 지향 프로그램에서 예약어를 사용해 클래스 내부의 변수나 메서드, 생성자에 대한 접근 권한을 지정할 수 있는데, 이러한 예약어를 '접근 제어자(access modifier)'라 한다. 클래스 앞에 사용하는 public이라는 예약어는 public이라고 선언한 변수나 메서드는 외부 클래스에서 접근이 가능하며, 외부 클래스가 사용할 수 있다는 뜻이다. 반대로 private로 전언한 변수나 메서드는 외부 클래스에서 사용할 수 없다. [실습] private 사용하기 package hiding; public class Student { int studentID; private String studentName; //studentName 변수를 private로 선언 int grade; String address;..
[programmers] Java - Lv.0 몫 구하기 문제 풀이 class Solution { public int solution(int num1, int num2) { int answer = 0; answer = num1 / num2; return answer; } } 이보다 더 간단하게 풀이하면 class Solution { public int solution(int num1, int num2) { return num1 / num2; } } 이렇게도 코드 작성할 수 있다.
[programmers] MySQL - Lv.2 가격이 제일 비싼 식품의 정보 출력하기 (sum, max, min) 문제 풀이 SELECT * from food_product order by price desc limit 1;
[programmers] MySQL - Lv.1 경기도에 위치한 식품창고 목록 출력하기 (is null) 문제 풀이 SELECT warehouse_id, warehouse_name, address, case when freezer_yn is null then 'N' else freezer_yn end as freezer_yn from food_warehouse where address like '경기도%' order by warehouse_id; CASE문을 활용해서 위처럼 코드를 작성할 수 있고, [MySQL] case문으로 데이터 변환하기 [MySQL] case문으로 데이터 변환하기 임의의 조건에 따라 독자적으로 변환 처리를 지정해 데이터를 변환하고 싶은 경우 case문 이용 [SYNTAX] CASE WHEN 조건식 1 THEN 식 1 WHEN 조건식 2 THEN 식 2 ELSE 식 3 END when절..
[programmers] MySQL - Lv.1 강원도에 위치한 생산공장 목록 출력하기 (select) 문제 풀이 SELECT factory_id, factory_name, address from food_factory where address like '강원도%' order by factory_id; 노트 [MySQL] 패턴 매칭에 의한 검색 [MySQL] 패턴 매칭에 의한 검색 특정 문자나 문자열이 포함되어 있는지를 검색하고 싶은 경우 '패턴 매칭' 또는 '부분 검색' 사용 [SYNTAX] 열 LIKE 패턴 LIKE로 패턴 매칭 하기 패턴을 정의할 때 '%(퍼센트)', '_(언더스코어)' 두 가지 hyunjin1292.tistory.com
[HackerRank] MySQL - The PADS 문제 Generate the following two result sets: Query an alphabetically ordered list of all names in OCCUPATIONS, immediately followed by the first letter of each profession as a parenthetical (i.e.: enclosed in parentheses). For example: AnActorName(A), ADoctorName(D), AProfessorName(P), and ASingerName(S). Query the number of ocurrences of each occupation in OCCUPATIONS. Sort the occurrences in asc..
[MySQL] 데이터 갱신하기 - UPDATE [SYNTAX] UPDATE 테이블명 SET 열명 = 값 WHERE 조건식 RDBMS에서는 UPDATE 명령으로 데이블의 셀 값을 갱신할 수 있다. UPDATE명령은 SET 구를 사용해서 갱신할 열과 값을 지정한다. SET구에 지정한 갱신 내용은 처리 대상이 되는 모든 행에 적용된다. WHERE구에 조건을 지정하면 그에 일치하는 행을 갱신할 수 있지만, WHERE 구를 생략한 경우 테이블의 모든 행이 갱신된다. SET구에서 ' = '은 비교 연산자가 아닌 대입 연산자이기 때문에 이처럼 UPDATE명령에서 증가 연산으로 데이터 갱신이 가능하다. 또한, SET구에서 필요에 따라 콤마( , )를 사용해서 복수 열 갱신도 가능하다. [SYNTAX] UPDATE 테이블명 SET 열명1 = 값1, 열명2 = 값2,..