정보처리기사를 1회차 부터 시작하였습니다. 필기는 독학으로 7일 정도 기출문제 풀이 (10회) 만으로 합격할 수 있었습니다.  하지만 실기부터는 유튜브에서 비전공자는 어렵다고 해서 흥달쌤을 접하게 되었습니다.

 

2023년도 1회차 필기

68점 합격

 

2023년도 1회차 실기 

48점 불합격

변명을 좀 하자면 하루 전에 한국장학재단 시험도 있고 집중을  잘 하지 못했습니다. 그리고 시험장을 나왔을 때는 가뿐하게 합격할 줄 알았는데 생각보다 부분점수가 까다롭다는 것을 알게 되었습니다.

 

<부분점수>

첫째, 코딩은 무조건 완벽하게 맞아야 됩니다.

둘째, SQL도 완벽하게 맞아야 됩니다. 코딩을 해서 답이 똑같이 나와야 된다고 생각하면 편할 것입니다.

셋째, 정답 수가 5 개인 것은 한 개당 1점입니다.

넷째, 정답 수가 2 개인 것은 한 개 3점, 두 개 5점입니다.

 

이렇게 알게 된 결과 저는 2회차 때는 62-63 점정도 나올 것 같았는데 정확하게 적중 할 수 있었습니다.

 

2023년도 2회차 실기


흥달쌤의 장점

1. 일단 쉽게 가져갈 수 있는 점수를 잘 챙길 수 있게 해 줍니다. 코딩에서 40점 정도의 비중을 차지하는데 저는 이쪽을 집중 공략을 해서 30점 정도 챙겨갈 수 있습니다.

 

코딩문제에서 낚시 문제 한 문제 꼭 한 개 씩 있는데 다 틀린 것 같습니다. 너무 쉬우면 의심해봐야 되는데... 전체적으로 너무 어려웠어서.... 공짜도 있구나 생각했다가 당했습니다ㅠㅠ..

그리고 새로운 유형의 문제가 나오는데 이것도 대처하기는 어려운 것 같습니다. 전공자는 쉽게 풀 수 있을 것이라 판단이 듭니다. 그래도 이 두 문제를 다틀려도 충분히 합격권이 가능합니다.

 

2. 적중률이 높습니다. 정보처리기사는 문제은행식이 아니라서 적중하기 어려운데 쉽게 가져가는 문제가 두 개 정도 있을 수 있습니다. 이번에는 2회차 스텁, 드라이버 1회차 AJAX, 가상회선,데이터그램, PROXY 이런 걸 예로 들 수 있습니다.

 

3. 정리에 정리를 해주십니다. 첫번째로 이론을 하고 그 이론에 대한 정리 강의를 해주십니다. 그리고 정리에 대한 정리강의가 또 있습니다.

여기서 뼈대를 잡고 공부를 하면 머리에 쏙쏙 들어 옵니다.

<합격팁>

저는 실기 전체 문제를 다 풀어보는 것을 적극 권장드립니다. 1회차 실기 때 똑같은 문제가 있다는 것을 파악하고 이번에는 그부분을 다 맞추겠다고 생각을 하고 다 풀었습니다.

 이번에는 2회차 engneing, 조건 커버리지, BCD 1회차{'중국', '베트남', '홍콩', '태국', '한국'} 화이트박스 분기 커버리지것이 다 기출이었던 것 같았습니다.

 

마지막으로 흥달쌤에게 정말 감사하다는 생각이 들었습니다. 재수를 할 때는 내가 왜 나에게 너무 과대평가를 해서 연장신청을 안했지 자책을 많이 했었지만 그래도 두번째 만에 합격을 해서 정말 다행이라는 생각이 들었습니다. 

 

 

 

 

흥달쌤 링크

첫번째 시험에서는 이론을 위주로 보고 두번째 볼 때는 정리강의와 코딩강의만 들었습니다.

 

유튜브 링크

https://youtube.com/@HeungSsaem?si=_8VGRmALoUDl1lE4

 

흥달쌤

흥달쌤과 함께하는 IT 채널입니다. 정보처리기사 자격증 관련된 강의 및 실무 노하우, 프로그래밍 언어(JAVA, C언어, Python) 특강 등이 진행됩니다. 앞으로 진행 예정인 동영상은 IT 관련된 이야기

www.youtube.com

https://www.njobler.net/search?cate&order&q=%ED%9D%A5%EB%8B%AC%EC%8C%A4 

 

1억뷰 N잡│N잡러 60만 시대, 오늘부터 시작하는 N잡러 성공기!

창업/커머스/자격증/공예/디자인까지! N잡러가 되는 N개의 방법, 지금 바로 확인해보세요.

www.njobler.net

append()

리스트에 원소를 하나 삽입할 때 사용한다.

sort()

기본정렬기능으로 오름차순으로 정렬한다.

reverse()

원소의 순서를 뒤집어 놓는다.

insert()

특정한 위치에 원소를 삽입할 때 사용한다.

count()

특정한 값을 가지는 데이터의 수를 셀 때 사용한다.

remove()

특정한 값을 가지는 데이터를 제거할 때 사용한다.

'코딩테스트 > 파이썬 기본기' 카테고리의 다른 글

파이썬 입출력  (0) 2023.01.26

input()

함수 한줄의 문자열을 입력받는 함수

n = input

 

map()

함수 리스트의 모든 원소에 각각 특정한 함수를 적용할 때 사용

map(int, input().split())

'코딩테스트 > 파이썬 기본기' 카테고리의 다른 글

리스트 관련 메서드  (0) 2023.01.26

MVC 패턴중,  Controller에 해당됩니다.

각 뷰와 나뉘어 작업을 관리한다고 하여 컨트롤러라고 명칭을 붙이게 되었습니다.

중간관리자라고 생각하면 직관적으로 이해하기 쉽습니다.

 

 

'백엔드 > JSP' 카테고리의 다른 글

Servlet  (0) 2023.01.11

servlet은 서버에서 웹페이지 등을 동적으로 생성하거나 데이터 처리를 수행하기 위해 자바로 작성된 프로그램입니다.

servlet은 Java코드 안에 HTML 태그가 삽입 되어 있고 자바언어도 사용됩니다.

 

보통은 컨트롤러의 역할을 하고 있으며 쉽게 생각하여 select, delect, update등 과 같은 역할을 수행하는 비즈니스 모델의 일종이라고 생각하면 쉽다.

 

MVC모델을 알고 있다면 MVC에서 C인 컨트롤러의 역할을 한다고 보면 된다. 이렇게 함으로써 유지보수에 용이해 질 수 있다.

'백엔드 > JSP' 카테고리의 다른 글

Controller  (0) 2023.01.11

자바스크립트와 jsp가 같은 것인 줄 알았다
22.12.30(금)
1. 동빈나 실패 클론코딩을 youtube를 보면서 하는 어려운점 
2. 외국인 실패 DB연동이 잘 되지 않음.
3. 매칭서비스를 만들기로 결정(책의 내용을 참고하기로 함)

22.12.31(토)
1. 그리드를 만드는데 어려움을 가짐
2. 부트스트랩을 활용하여 해결함
3. 업로드를 할 때도 사진을 쓰려고 하니 어려움이 있었음
4. multipart를 사용하였다. request를 multi로 바꿔줘야한다.
5. addmember 입력형식도 multipart로 바꿔줘야한다 <!-- enctype 을 multipart/form-data로 바꿔줘야 한다. -->
6. processAddmember // 클라이언트 name = "photo" -> 임시저장소 -> 지정한 위치 파일명으로 저장
22.1.1(일)
1. 오늘의 카드 시작
2.<!-- 상품목록 -->오늘의 카드
3.<!-- 상품등록 -->내정보
4.<!-- 상품수정 -->설정
5.<!-- 상품삭제 -->상품삭제
6. 오늘의 카드 가져오기 성공
7. 프로필 만들기 session값으로 가져오기
8. 오늘의 카드 수정(products)
23.1.2(월)
1. resultmember에서 session값으로 gender를 가지고 옴
2. menu에서 접근 자체를 하지 못하게 함.
3. 버튼을 만들어서 해당 아이디에게 수락버튼을 날림
23.1.2(화)
1. 매칭서비스 사람이 여러명이 좋아요를 눌릴 때 초기화 되는 문제점

23.1.3(수)
1. 아래의 server에 들어가서 톰캣을 더블클릭을 한다
2. 아래의 overview와 module이 있는데 module에 들어가서 /webmarket을 /로 바꿨다
3. 다음날에는 다른 사람을 배정해준다.

이클립스 프로그램을 사용할 때 JAVA가 설치된 위치를 찾게 해 주기 위해 해 주어야 된다.

쉽게 말하면 어디서든지 개발을 할 수 있게 하는 것이다.

원래는 자바가 구축된 환경에서만 개발이 가능하다.

 

제어판에 시스템 보안을 선택한다.

  

 

고급 시스템 설정을 선택한다.

 

JAVA_HOME
변수 값 지정. 
C:\Program Files\Java\jdk-11.0.2
!

 

Path에
C:\Program Files\Java\jdk-11.0.2\bin
추가.

CLASSPATH 
확인.
C:\Program Files\Java\jdk-11.0.2\lib;.; 
뒤에 ";.; "확인. 

'백엔드 > java' 카테고리의 다른 글

자바 환경변수 설정  (0) 2023.01.10

필수 사항은 아니지만, 나중에 라이브러리 관리 시스템 도구인 
MAVEN 등에서 JAVA_HOME 환경변수를 찾는 경우가 있어
미리 설정 진행하는게 좋음. 

//windows + Pause(break)
// 고급시스템설정 -> 환경변수 

제어판 -> 시스템 -> 고급 시스템 설정 
시스템 (변수)속성 창에서 환경변수 버튼 클릭. 
새로 만들기 클릭하여. 설정. 
변수이름 
JAVA_HOME
변수 값 지정. 
C:\Program Files\Java\jdk-11.0.2
!
Path에
C:\Program Files\Java\jdk-11.0.2\bin
추가.

CLASSPATH 
확인.
C:\Program Files\Java\jdk-11.0.2\lib;.; 
뒤에 ";.; "확인. 

'백엔드 > java' 카테고리의 다른 글

자바 환경 변수 설정  (0) 2023.01.10

깃허브에서 잘못 올린 파일 삭제하는 방법

1. cmd 에 들어간다.

2. 삭제하고 싶은 폴더를 cd를 통해 로컬저장소로 이동한다

3. git rm -rf 삭제하고 싶은 폴더명

4. git commit -m "remove file"으로 변경된 내용을 커밋

5. git push -u origin master

절대 경로와 상대 경로의 정의

 절대 경로는 처음부터 시작하여 목적지까지의 절대적인 경로를 의미합니다. 시작 지점부터 목표지점까지의 어느 누가 봐도 절대적으로 이곳을 가리킬 수 있는 곳입니다. 특징은 최상위 /를 포함하고 있습니다.

 

상대 경로는 현재 위치를 기준으로 하여 목적지까지의 상대적인 경로를 의미합니다. 자신보다 앞에 있는가? 뒤에 있는가? 동서남북으로 어느 방향으로 가야 하는가? 등, 누가 어디서 시작하느냐에 따라서 도착지가 달라질 수가 있습니다. 특징은 최상위 /를 거치지 않고도 이동이 가능합니다

 

 상대경로

기호 기능
./ 현재 위치
../ 현재 기준, 상위 디렉토리 위치
../../ 현재 기준, 위로 두칸
./mollang/ 현재 기준, 하부 mollang 디렉토리 위치

 

핵심은 경로에는 위로 올라가는 것과 아래로 내려가는 두가지로 구분된다는 것이다.

상대경로는 절대경로에서는 없는 위로 올라가는 것 (ex) ./ , ../ , ../../  ) 이 추가된 것이다.

1. 학사 시스템 정규화

2. 컴퓨터 재고 정규화

3. 출판사 정규화

'백엔드 > 데이터베이스2' 카테고리의 다른 글

DELIMITER  (0) 2022.12.13
프로시저  (0) 2022.12.13
트리거  (0) 2022.12.13
트랜젝션  (0) 2022.12.13
INDEX  (0) 2022.12.13

프로시저, 트리거에서 사용, 지정한 문자를 만나기 전까지 실행을 보류, 프로지서 및 트리거 생성 시 내부에 ; 기호가 있으면 프로시저 및 트리거가 완료되지 않기 때문에 종료 문자를 변경

 

IN : 프로시저를 호출하기 위한 정보로 함수의 매개변수에 해당함
DECLARE : 프로시저 내부에서 변수를 선언할 때 사용
SET : 프로시저 내부에서 변수에 값을 설정할때 사용

 

<사용법>

IF THEN END, IF ELSE THEN IF END : 프로시저 내부에서 if문 사용
사용법
IF score >= 95 THEN
SET level = 'A+';
END IF;
IF score >= 90 THEN
SET level = 'A';
ELSE
IF score >= 80 THEN
SET level = 'B';
END IF;


CALL 프로지저명(매개변수) : 프로시저 호출하기

'백엔드 > 데이터베이스2' 카테고리의 다른 글

1차 정규화, 2차 정규화, 3차 정규화 예제  (0) 2022.12.20
프로시저  (0) 2022.12.13
트리거  (0) 2022.12.13
트랜젝션  (0) 2022.12.13
INDEX  (0) 2022.12.13

전용 함수를 생성해서 해당 함수를 실행 시 지정되어 있는 쿼리문을 동작시키는 명령어

 

<사용법>

DELIMITER //
CREATE PROCEDURE 프로시저명
BEGIN
실행할 쿼리
END

 // DELIMITER ;

'백엔드 > 데이터베이스2' 카테고리의 다른 글

1차 정규화, 2차 정규화, 3차 정규화 예제  (0) 2022.12.20
DELIMITER  (0) 2022.12.13
트리거  (0) 2022.12.13
트랜젝션  (0) 2022.12.13
INDEX  (0) 2022.12.13

데이터베이스의 테이블에 어떠한 신호가 전달되었을 때 미리 정해진 활동이 자동적으로 실행되는 것, INSERT, UPDATE, DELETE 와 같은 DML이 실행되었을 경우 지정한 데이터 베이스 테이블의 수행 내용을 자동으로 실행

 

해당 명령에 따라 BEFORE/AFTER로 나누어짐
BEFORE : 특정 명령어가 실행되기 이전에 먼저 실행
AFTER : 특정 명령어가 실행된 후 실행
NEW : 가상 변수, INSERT/UPDATE에서 사용 가능, 신규 데이터, UPDATE 시 변경된 이후의 데이터 
OLD : 가상 변수, UPDATE/DELETE에서 사용 가능, 기존 데이터, UPDATE 시 변경되기 전의 데이터

 

<사용법>

 DELIMITER //
CREATE TRIGGER 트리거이름
BEFORE/AFTER INSERT/UPDATE/DELETE
ON 테이블명
FOR EACH ROW
BEGIN
 트리거 동작 시 수행할 쿼리문
END
// DELIMITER ;

 

'백엔드 > 데이터베이스2' 카테고리의 다른 글

DELIMITER  (0) 2022.12.13
프로시저  (0) 2022.12.13
트랜젝션  (0) 2022.12.13
INDEX  (0) 2022.12.13
VIEW  (0) 2022.12.13

데이터베이스에 입력, 수정, 삭제 시 바로 데이터 베이스에 적용하는 것이 아니라 특정 세이브 포인트를 설정해 두고 입력, 수정, 삭제를 진행 후 아무런 문제가 없을 경우 데이터베이스에 적용하고, 문제가 있을 경우 복구하는 기술

 

트랜젝션 예외

DDL명령어 (CREATE, DROP, ALTER, RENAME, TRUNCATE)는 트랜젝션의 ROLLBACK 대상이 아님

 

<사용법>

START TRANSACTION : 트랜젝션 사용 준비
COMMIT : 데이터 베이스에 적용
ROLLBACK : 지정한 포인트의 상태로 데이터 베이스 복구
SAVEPOINT 이름 : 지정한 포인트로 ROLLBACK 할 수 있는 위치 설정
SET AUTOCOMMIT = 0/1 : 자동 COMMIT 사용 여부, 0 : OFF, 1 : ON

'백엔드 > 데이터베이스2' 카테고리의 다른 글

DELIMITER  (0) 2022.12.13
프로시저  (0) 2022.12.13
트리거  (0) 2022.12.13
INDEX  (0) 2022.12.13
VIEW  (0) 2022.12.13

테이블의 조회 속도를 높이기 위해서 일부 컬럼의 데이터만 빠르게 검색할 수 있도록 하는 자료구조

<사용법>

인덱스 생성

CREATE INDEX 인덱스이름 ON 테이블명 (컬럼명);

인덱스 조회

SHOW INDEX FROM 테이블명;

인덱스 삭제

ALTER TABLE 테이블명 DROP INDEX 인덱스명;

 

SHOW INDEX FROM salaries;

 

'백엔드 > 데이터베이스2' 카테고리의 다른 글

DELIMITER  (0) 2022.12.13
프로시저  (0) 2022.12.13
트리거  (0) 2022.12.13
트랜젝션  (0) 2022.12.13
VIEW  (0) 2022.12.13

가상 테이블로 실제 데이터를 존재하지 않고, 기존의 테이블 및 뷰의 데이터를 가져다가 사용하는 테이블, 보안과 편의성을 위해서 사용함, 데이터의 입력, 수정, 삭제가 어려움, 뷰는 한번 생성되면 수정이 불가함

 

<사용법>

 

생성 : CREATE VIEW 뷰이름 AS SELECT 쿼리문
삭제 : DROP VIEW 뷰이름
조회 : SHOW CREATE VIEW 뷰이름

 

CREATE VIEW emp_copy AS SELECT * FROM employees LIMIT 100;

CREATE VIEW emp_maria AS SELECT * FROM employees WHERE first_name = 'maria' AND gender = 'F';

CREATE VIEW emp_csy AS SELECT * FROM employees WHERE first_name = 'luigi' AND gender = 'M';

'백엔드 > 데이터베이스2' 카테고리의 다른 글

DELIMITER  (0) 2022.12.13
프로시저  (0) 2022.12.13
트리거  (0) 2022.12.13
트랜젝션  (0) 2022.12.13
INDEX  (0) 2022.12.13

서브쿼리

<사용법>
SELECT 컬럼명1, 컬럼명2, ... FROM 테이블명 WHERE 조건컬럼명
IN (SELECT 조건컬럼명 FROM 서브테이블명 WHERE 조건식)

이름이 Chirst Demos인 사람의 급여 정보

SELECT emp_no, salary, from_date, to_date
FROM salaries
WHERE emp_no IN (SELECT emp_no
        FROM employees
        WHERE first_name = 'Demos'
AND last_name = 'Christ');



2개 이상의 테이블을 JOIN

SELECT *
FROM employees AS e
JOIN salaries AS s
JOIN titles AS t
ON e.emp_no = s.emp_no
AND e.emp_no = t.emp_no;

'백엔드 > 데이터베이스1' 카테고리의 다른 글

JOIN  (0) 2022.11.24
기본 문제 풀이  (0) 2022.11.24
BETWEEN, 오름차순, AS  (0) 2022.11.24
IN, OR, LIKE  (0) 2022.11.24
WILD CARD, LIKE  (0) 2022.11.24

JOIN

관련 있는 데이터를 가지고 있는 둘 이상의 테이블을 결합하기 위해 사용
 INNER JOIN : 일반적인 JOIN, INNER 는 생략 가능, 두 테이블에서 동일하게 가지고 있는 데이터들을 모아서 하나의 테이블인 것처럼 출력(교집합)
LEFT OUTTER JOIN : OUTTER는 생략 가능, 두 테이블 중 왼쪽에 있는 테이블의 모든 내용을 출력하고, 오른쪽에 있는 테이블의 내용 중 왼쪽 테이블에 해당하는 내용을 출력
RIGHT OUTTER JOIN : OUTTER는 생략 가능, 두 테이블 중 오른쪽에 있는 테이블의 모든 내용을 출력하고, 왼쪽에 있는 테이블의 내용 중 오른쪽 테이블에 해당하는 내용을 출력
CROSS JOIN : 양쪽 테이블의 모든 내용을 출력
SELF JOIN : 왼쪽 테이블 및 오른쪽 테이블을 하나의 테이블로 구성하여 결과를 출력하는 방식

 <사용법>
 SELECT 테이블명1.컬럼명1, 테이블명1.컬럼명2, ...,
테이블명2.컬럼명1, 테이블명2.컬럼명2, ...
FROM 테이블명1

JOIN 테이블명2
ON 테이블명1.동일한데이터컬럼 = 테이블명2.동일한데이터컬럼
AND 조건식

JOIN으로 두 테이블의 모든 컬럼 출력

SELECT * FROM employees
JOIN salaries
ON employees.emp_no = salaries.emp_no;


두 테이블에서 필요한 컬럼만 출력

SELECT employees.emp_no, employees.birth_date,
employees.first_name, employees.last_name, employees.gender, 
employees.hire_date, salaries.salary, salaries.from_date, salaries.to_date
FROM employees
JOIN salaries
ON employees.emp_no = salaries.emp_no;



AS 명령어로 별칭을 사용한 JOIN

SELECT e.emp_no, e.birth_date, e.first_name, e.last_name, 
e.gender, e.hire_date, s.salary, s.from_date, s.to_date
FROM employees AS e
JOIN salaries AS s
ON e.emp_no = s.emp_no
AND e.emp_no = 10009;

'백엔드 > 데이터베이스1' 카테고리의 다른 글

서브쿼리  (0) 2022.11.24
기본 문제 풀이  (0) 2022.11.24
BETWEEN, 오름차순, AS  (0) 2022.11.24
IN, OR, LIKE  (0) 2022.11.24
WILD CARD, LIKE  (0) 2022.11.24

문제 1) 사원 테이블(employees)에서 이름(first_name)중 시작 글자가 ma로 시작하는 사람 중 여성인 사람을 모두 검색하세요

SELECT * FROM employees WHERE gender = 'F' AND first_name LIKE 'ma%';



문제 2) 사원 테이블에서 성(last_name) 중 끝 글자가 do로 끝나고 글자가 수가 6자인 사람 중 남성을 모두 검색하세요

SELECT * FROM employees WHERE gender = 'M' AND last_name LIKE '____do';

 

문제 3) 사원 테이블에서 이름이 'mary', 'maria', 'jouko' 이며, 성별이 여성이면서, 사번이 30000번 보다 빠른 사람을 모두 검색하세요 (IN 사용)

 

SELECT * FROM employees
WHERE emp_no < 30000 AND gender = 'F' AND first_name IN ('mary', 'maria', 'jouko');


문제 4) 사원 테이블에서 이름 중 시작 글자가 ma인 사람과 jo이며 성별이 여성이 사람을 모두 검색하세요 (OR 사용)

SELECT * FROM employees
WHERE emp_no < 30000 AND gender = 'F' AND (first_name LIKE 'ma___' OR first_name LIKE 'jo%');

 

문제 5) 생일이 '1962-12-01' ~ 1962-12-15'인 사람 중 남자인 사람만 모두 검색하세요

SELECT * FROM employees WHERE gender = 'M' AND birth_date BETWEEN '1962-12-01' AND '1962-12-15';


문제 6) 입사일이 '1997-10-16' ~ '1997-10-30'인 사람 중 남자이며, 성의 글자수가 5자 이상인 사람만 모두 검색하세요 (BETWEEN 방식, 비교 연산자 방식 둘다 생성)

SELECT * FROM employees 
WHERE gender = 'M' AND hire_date 
BETWEEN '1997-10-16' AND '1997-10-30' AND last_name LIKE '%_____%';


SELECT * FROM employees 
WHERE gender = 'M' AND last_name LIKE '%_____%' 
AND hire_date >= '1997-10-16' AND hire_date <= '1997-10-30';

'백엔드 > 데이터베이스1' 카테고리의 다른 글

서브쿼리  (0) 2022.11.24
JOIN  (0) 2022.11.24
BETWEEN, 오름차순, AS  (0) 2022.11.24
IN, OR, LIKE  (0) 2022.11.24
WILD CARD, LIKE  (0) 2022.11.24

 BETWEEN

지정한 범위 내의 데이터를 출력할 때 사용, 시작값과 종료값 포함, WHERE 절에서 사용, 범위 값은 숫자, 문자, 날짜로 사용 가능


<사용법 >

WHERE 컬럼명 BETWEEN 시작값 AND 종료값
S

ELECT * FROM employees WHERE hire_date BETWEEN '1999-10-01' AND '1999-10-10';
SELECT * FROM employees WHERE hire_date BETWEEN '1999-10-01' AND '1999-10-10' ORDER BY hire_date ASC;

 

비교연산자와 AND 연산자를 사용하여 BETWEEN과 동일한 결과를 얻을 수 있음

SELECT * FROM employees 
WHERE hire_date >= '1999-10-01' AND hire_date <= '1999-10-10' ORDER BY hire_date ASC;

 

문자열로 범위 설정

SELECT * FROM employees WHERE first_name BETWEEN 'maria' AND 'mariz' ORDER BY first_name ASC;

 

AS  

테이블 및 컬럼명에 별칭을 부여하는 명령어, 테이블과 SELECT에서 사용, 해당 쿼리문에서만 효과가 있음, 컬럼명의 길이가 길어 수정하고자 할 경우, 화면에 출력하고자 하는 컬럼명을 변경할 경우, JOIN 시 테이블명을 변경하고자 할 경우
 <사용법>

SELECT 컬럼명1 AS '별칭1', 컬럼명2 AS '별칭2', ... FROM 테이블명
SELECT 별칭테이블명.컬럼명1, 별칭테이블명.컬럼명2, ... FROM 테이블명 AS '별칭' 
SELECT emp_no AS '사원번호', birth_date AS '생년월일', first_name AS '이름', last_name AS '성', gender AS '성별', hire_date AS '입사일' FROM employees AS a; 

SELECT a.emp_no, a.birth_date, a.first_name, a.last_name, a.gender, a.hire_date FROM employees AS a;

'백엔드 > 데이터베이스1' 카테고리의 다른 글

JOIN  (0) 2022.11.24
기본 문제 풀이  (0) 2022.11.24
IN, OR, LIKE  (0) 2022.11.24
WILD CARD, LIKE  (0) 2022.11.24
LIMIT, MIN, MAX, COUNT, AVG, SUM  (0) 2022.11.24

 IN 

검색에 대한 여러개의 데이터를 지정할 수 있는 명령어, 서브쿼리 사용을 위한 명령어, WHERE 절에서 사용, OR 명령어를 사용한 것과 동일한 효과

 

<사용법>

WHERE 컬럼명 IN (데이터1, 데이터2, ...)
WHERE 컬럼명 IN (SELECT ... )

 

SELECT * FROM employees WHERE first_name = 'mario';
SELECT * FROM employees WHERE first_name = 'marko';


OR

SELECT * FROM employees WHERE first_name IN ('mario', 'marko');
SELECT * FROM employees WHERE first_name = 'mario' OR first_name = 'marko';

 

LIKE

SELECT * FROM employees WHERE first_name LIKE 'mar%' OR first_name LIKE '%ko';

 

'백엔드 > 데이터베이스1' 카테고리의 다른 글

기본 문제 풀이  (0) 2022.11.24
BETWEEN, 오름차순, AS  (0) 2022.11.24
WILD CARD, LIKE  (0) 2022.11.24
LIMIT, MIN, MAX, COUNT, AVG, SUM  (0) 2022.11.24
ORDER BY, INSERT, UPDATE, DELETE  (0) 2022.11.24

WILD CARD

문자열에서 하나 이상의 문자를 대체하는 문자, _, % 가 존재
-- % : 0개 이상의 임의의 문자로 대체됨 
-- _ : 1개의 임의의 문자로 대체됨, 문자의 수가 고정되어 있을 경우 사용

 

LIKE

검색 패턴을 생성하는 명령어, 와일드카드문자와 함께 사용하여 패턴 생성, WHERE 절에서 사용
<사용법>

WHERE 컬럼명 LIKE '검색패턴'




검색어의 시작부분만 가지고 검색

SELECT * FROM employees WHERE first_name LIKE 'El%';


검색어의 끝부분만 가지고 검색

SELECT * FROM employees WHERE first_name LIKE '%is';


검색어의 중간 부분만 가지고 검색

SELECT * FROM employees WHERE first_name LIKE '%rio%';


검색어의 양끝 부분만 가지고 검색

SELECT * FROM employees WHERE first_name LIKE 'm%o';


검색어의 문자수가 5자인 것을 검색

SELECT * FROM employees WHERE first_name LIKE '_____';


검색어 중 시작 글자가 m이고, 글자 수는 5자인 사람 검색

SELECT * FROM employees WHERE first_name LIKE 'm____';



검색어의 글자수가 최소 5자 이상인 사람 검색

SELECT * FROM employees WHERE first_name LIKE '%_____%';




'백엔드 > 데이터베이스1' 카테고리의 다른 글

BETWEEN, 오름차순, AS  (0) 2022.11.24
IN, OR, LIKE  (0) 2022.11.24
LIMIT, MIN, MAX, COUNT, AVG, SUM  (0) 2022.11.24
ORDER BY, INSERT, UPDATE, DELETE  (0) 2022.11.24
SELECT, DISTINCT, WHERE, AND/OR, NOT  (0) 2022.11.24

LIMIT

MySql에서 결과로 출력하는 데이터 수를 제한하는 명령어, WHERE 절에서 사용

 

<사용법> 

WHERE 조건식 LIMIT 출력수
WHERE LIMIT 출력번호, 출력수

 

SELECT * FROM employees;
SELECT * FROM employees LIMIT 10;
SELECT * FROM employees LIMIT 10, 10;

 

MIN() / MAX()

지정한 컬럼의 최소값/최대값을 출력하는 함수, SELECT 절에서 사용

 

<사용법 >

SELECT MIN(컬럼명) FROM 테이블명

SELECT MIN(birth_date), MAX(hire_date) FROM employees;
SELECT MIN(hire_date), MAX(birth_date) FROM employees;

COUNT() 

지정된 기준과 일치하는 데이터 수를 출력, SELECT 절에서 사용

 

<사용법> 

SELECT COUNT(컬럼명) FROM 테이블명

 

SELECT COUNT(emp_no)
FROM employees 
WHERE birth_date < '1953-09-02' AND first_name = 'marko' AND gender = 'F';

AVG()

지정된 컬럼(숫자일 경우에만)의 평균값을 출력, SELECT 절에서 사용

 

<사용법>

SELECT AVG(컬럼명) FROM 테이블명

 

SELECT AVG(salary) FROM salaries WHERE emp_no = 10009;

SUM()

지정된 컬럼(숫자일 경우에만)의 총합을 출력, SELECT 절에서 사용

 

<사용법>

 SELECT SUM(컬럼명) FROM 테이블명

SELECT SUM(salary) AS 'total' FROM salaries WHERE emp_no = 10009;

 

'백엔드 > 데이터베이스1' 카테고리의 다른 글

IN, OR, LIKE  (0) 2022.11.24
WILD CARD, LIKE  (0) 2022.11.24
ORDER BY, INSERT, UPDATE, DELETE  (0) 2022.11.24
SELECT, DISTINCT, WHERE, AND/OR, NOT  (0) 2022.11.24
DDL, DML, DCL 이란  (0) 2022.11.24

ORDER BY

지정한 컬럼을 기준으로 데이터를 정렬하여 출력, ASC(오름차순), DESC(내림차순), WHERE 구문 마지막에 입력, 정렬할 컬럼은 여러개를 지정할 수 있음, 3개 이상 사용 시 원하는 형태로 정렬되지 않을 수 있음

<사용법 > 
SELECT 컬럼명1, 컬럼명2, ... FROM 테이블명 WHERE 검색조건 ORDER BY 컬럼명 ASC|DESC


INSERT

데이터 베이스에 데이터를 추가하는 명령어, 데이터 입력 시 컬럼의 순서는 상관없음(사용자가 입력한 컬럼 순서에 맞는 데이터만 입력하면 됨), AI/Default로 설정된 데이터는 입력 시 컬럼을 생략해도 됨, NotNull로 설정된 부분만 정확하게 데이터를 입력하면 됨, Unique 로 설정된 키는 중복되는 데이터를 입력하면 안됨
사용법 :
INSERT INTO 테이블명 (컬럼명1, 컬럼명2, ...) VALUES (데이터1, 데이터2, ...);
INSERT INTO 테이블명 (컬럼명1, 컬럼명2, ...) VALUES (데이터1-1, 데이터1-2, ...), (데이터2-1, 데이터2-2, ...), ...

 

INSERT INTO member (idx, mem_name, mem_phone, mem_email, mem_addr, mem_gender)
VALUES 
(1, '아이유', '01012345678', 'iu@bitc.co.kr', '부산광역시 부산진구 중앙대로', '여자');
INSERT INTO member(idx, mem_name, mem_phone, mem_email, mem_addr, mem_gender)
VALUES
(2, '유인나', '01098765432', 'inna@bitc.co.kr', '부산진구 중앙대로', '여자'),
(3, '유재석', '01045672158', 'yjs@bitc.co.kr', '부산진구 전포대로', '남자'),
(4, '유아인', '01023657854', 'you@bitc.co.kr', '부산', '남자');



UPDATE

데이터 베이스에 저장되어 있는 데이터를 수정하는 명령어
주의사항 : 조건식을 부분을 생략하게 되면 해당 테이블의 모든 데이터를 수정
<사용법> : UPDATE 테이블명 SET 컬럼명1 = 데이터1, 컬럼명2 = 데이터2, ... WHERE 조건식

 

UPDATE member SET mem_email = 'ybj@bitc.co.kr', mem_phone = '0109873563' WHERE idx = 5;
UPDATE member SET mem_addr = '부산 어딘가..';

DELETE

데이터 베이스에 저장되어 있는 데이터를 삭제하는 명령어
주의사항 : 조건식을 생략할 경우 해당 테이블의 모든 데이터를 삭제
<사용법>  DELETE FROM 테이블명 WHERE 조건식

 

DELETE FROM member WHERE idx = 6;
DELETE FROM member;

 

 

 

 

 

'백엔드 > 데이터베이스1' 카테고리의 다른 글

WILD CARD, LIKE  (0) 2022.11.24
LIMIT, MIN, MAX, COUNT, AVG, SUM  (0) 2022.11.24
SELECT, DISTINCT, WHERE, AND/OR, NOT  (0) 2022.11.24
DDL, DML, DCL 이란  (0) 2022.11.24
데이터베이스의 기초  (0) 2022.11.24
SELECT * FROM employees;
SELECT * FROM employees ORDER BY first_name ASC;
SELECT * FROM employees ORDER BY first_name DESC, last_name ASC;
SELECT * FROM employees ORDER BY first_name DESC, last_name ASC, hire_date DESC;

SELECT 

데이터를 조회하기 위한 명령어, WHERE 구문을 함께 사용하여 조회 시 필요한 조건을 추가하여 데이터를 조회함
<사용법>
SELECT 컬럼명1, 컬럼명2, ... FROM 테이블명;
SELECT 컬럼명1, 컬럼명2, ... FROM 테이블명 WHERE 조건;

 

SELECT * FROM employees;
SELECT emp_no, first_name, last_name, gender FROM employees;

SELECT * FROM salaries;
SELECT * FROM titles;



DISTINCT

SELECT 구문의 컬럼명과 함께 사용하는 명령어로 중복되는 데이터를 제거

 

SELECT DISTINCT title FROM titles;



WHERE 

데이터베이스에서 데이터를 조회할 때 조건을 추가하는 명령어, 조건에 만족하는 데이터만 출력함, SELECT/UPDATE/DELETE 에서 사용됨
<사용법> 
SELECT 컬럼명1, 컬럼명2, ... FROM 테이블명 WHERE 검색조건
UPDATE 테이블명 SET 컬럼명1, 컬럼명2, ... WHERE 검색조건-- DELETE FROM 테이블명 WHERE 검색조건

SELECT * FROM employees WHERE first_name = 'mario';
SELECT * FROM employees WHERE gender = 'F';



AND/OR : WHERE 구문을 사용하여 검색한 조건에 추가 조건을 사용하고자 할 경우 사용, AND는 조건이 추가될 때마다 검색 정확도가 올라감, OR는 조건이 추가될 때마다 검색되는 데이터의 양이 늘어남, WHERE 구문에 추가하여 사용함
SELECT 컬럼명1, 컬럼명2, ... FROM 테이블명 WHERE 조건1 AND 조건2, AND 조건3, ...
SELECT 컬럼명1, 컬럼명2, ... FROM 테이블명 WHERE 조건1 OR 조건2, OR 조건3, ...

SELECT * FROM employees WHERE emp_no < 20000;
SELECT * FROM employees WHERE emp_no < 20000 AND gender = 'M';
SELECT * FROM employees WHERE emp_no < 20000 AND gender = 'M' AND first_name = 'mario';
SELECT * FROM employees WHERE emp_no = 10100;
SELECT * FROM employees WHERE emp_no = 10100 OR emp_no = 10101;
SELECT * FROM employees WHERE emp_no = 10100 OR emp_no = 10101 OR first_name = 'luigi';


NOT

검색 조건에 부합하지 않는 데이터를 출력
<사용법 >
SELECT 컬럼명1, 컬럼명2, ... FROM 테이블명 WHERE NOT 검색조건;

SELECT * FROM employees WHERE gender = 'M';
SELECT * FROM employees WHERE NOT gender = 'M';

'백엔드 > 데이터베이스1' 카테고리의 다른 글

WILD CARD, LIKE  (0) 2022.11.24
LIMIT, MIN, MAX, COUNT, AVG, SUM  (0) 2022.11.24
ORDER BY, INSERT, UPDATE, DELETE  (0) 2022.11.24
DDL, DML, DCL 이란  (0) 2022.11.24
데이터베이스의 기초  (0) 2022.11.24

DDL

  • 데이터 정의어, 데이터 베이스 관리자가 사용, 데이터 베이스를 설계 및 생성하는 언어, create/drop/alter


DML

  • 데이터 조작어, 일반 사용자/프로그램 개발자가 사용, 데이터 베이스에 실제 데이터를 추가, 삭제, 수정, 조회하기 위해 사용하는 언어, select, insert, update, delete


DCL

  • 데이터 관리어, 데이터 베이스 관리자가 사용, 데이터 베이스 사용 권한 및 사용자 권한 제어하기 위해 사용하는 언어, grant/revoke

'백엔드 > 데이터베이스1' 카테고리의 다른 글

WILD CARD, LIKE  (0) 2022.11.24
LIMIT, MIN, MAX, COUNT, AVG, SUM  (0) 2022.11.24
ORDER BY, INSERT, UPDATE, DELETE  (0) 2022.11.24
SELECT, DISTINCT, WHERE, AND/OR, NOT  (0) 2022.11.24
데이터베이스의 기초  (0) 2022.11.24
  •  mysql 접속

    mysql -u 계정명 -p   (기본 로그인)
    mysql -u 계정명 -h 서버주소 -p   (다른 서버로 접속)
    mysql -u 계정명 -h 서버주소 -P 포트번호 -p   (다른 서버에 다른 포트로 접속)

 

  • database 목록 확인
    show databases;

 

  • data table 목록 확인
    show tables;

 

  • 지정한 database 사용
    use 데이터베이스명;

     localhost : 네트워크 상에서 자기 자신을 뜻하는 DNS주소(ip 주소로 127.0.0.1)
    % : mysql의 계정정보에서 host 부분에 %로 표시되어 있으면 모든 곳에서 접속이 가능

  • 사용자 생성
    create user '계정명';
    create user '계정명'@'접속주소';
    create user '계정명'@'접속주소' identified by '비밀번호';

  •  사용자 삭제
    drop user '계정명'@'접속주소';

  • 데이터 베이스 추가
    create database 데이터베이스명;
    create database 데이터베이스명 default character set utf8;

 

  • 문자셋 : 컴퓨터에서 문자를 표시하기 위한 코드표, 현재는 유니코드인 utf8 방식이 표준으로 사용되고 있으나 예전 버전에는 문자셋이 기본이었기 때문에 utf8로 설정이 필요했음

  • 데이터 베이스 삭제
    drop database 데이터베이스명;

  • 데이터 베이스 사용 권한 확인
    show grants for '계정명'@'접속주소';

  • 데이터 베이스 사용 권한 설정
    grant all privileges on 데이터베이스명.테이블명 to '계정명'@'접속주소';

  • 데이터 베이스 사용 권한 삭제
    revoke all on 데이터베이스명.테이블명 from '계정명'@'접속주소';

  • 명령어 즉시 적용
    flush privileges;

  • 비밀번호 변경
    alter user '계정명'@'접속주소' identified with mysql_native_password by '비밀번호';

'백엔드 > 데이터베이스1' 카테고리의 다른 글

WILD CARD, LIKE  (0) 2022.11.24
LIMIT, MIN, MAX, COUNT, AVG, SUM  (0) 2022.11.24
ORDER BY, INSERT, UPDATE, DELETE  (0) 2022.11.24
SELECT, DISTINCT, WHERE, AND/OR, NOT  (0) 2022.11.24
DDL, DML, DCL 이란  (0) 2022.11.24

국제 민간표준화 기구의 홈페이지 : https://www.w3schools.com/tags/tag_hn.asp

 

HTML h1 to h6 tag

W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.

www.w3schools.com

'프론트엔드 > html, css' 카테고리의 다른 글

HTML 기본 용어 정리  (0) 2022.11.23
Grid-area에 대해서 알아보자  (0) 2022.11.21

요소

  • 시작태그와 종료 태그로 이루어진 모든 것을 의미합니다.

 

태그

  • 요소보다 작은 개념으로 시작 태그와 종료 태그가 있습니다. 태그 두개가 모여 하나의 요소가 됩니다.
  •  ex) <p> </p>

 

속성

  • 시작 태그 안에 쓰이는 것으로 요소를 더 자세하게 조작할 수 있습니다.
  • ex) <h1 align = "center">에서 align이 속성

 

변수

  • 속성을 부여하기 위해선 변수를 지정해야 합니다.
  • ex)<h1 align = "center">에서 center가 변수

'프론트엔드 > html, css' 카테고리의 다른 글

HTML기초 태그 정리  (0) 2022.11.23
Grid-area에 대해서 알아보자  (0) 2022.11.21

+ Recent posts