Cloud 기반 웹 DevOps 프로젝트 개발자 과정

문이빈·2023년 6월 13일
0

Mysql 다운로드

cntl+enter = 실행

select sysdate();


Java

(조건문) switch문 (switch case문)

package ex4;

public class Example06 {

public static void main(String[] args) {
	char grade = 'B';
		switch(grade) {
		case 'A':
			System.out.println("매우 우수");
			break;
		case 'B':
			System.out.println("우수");
			break;
		case 'C':
			System.out.println("좋음");
			break;
		case 'D':
			System.out.println("좀 더 열심히");
			break;
		case 'E':
			System.out.println("미흡");
			break;
		case 'F':
			System.out.println("잘못된 등급");
			break;
		default:
			System.out.println("잘못된 등급");
		}
}

}
😃위와 같은 결과 값이 나오게 된다.

  • 이 switch문은 경우에 따라 if문보다 더 적합한 때가 있다.
    ->몇 가지 선택지가 주어지고, 그에 대한 선택을 할 때이다.
  • case문마다 break 라는 문장이 있는데 해당 case문을 실행 한 뒤 switch문을 빠져나가기 위한 것이다.
  • 문자를 위한 변수형으로 character 의 약자인 char이다.

switch문 예제 1)

package ex4;
import java.util.Scanner;
public class Switch01 {

public static void main(String[] args) {
	System.out.println("점수를 입력하세요.");
	
	Scanner s = new Scanner(System.in);
	int num = s.nextInt();
	
	switch(num/10) {
	
	    case 10 :
	    case 9 :
	    	System.out.println("A 학점");
	    	break;
	    case 8 :
	    	System.out.println("B 학점");
	    	break;
	    case 7 :
	    	System.out.println("C 학점");
	    	break;
	    case 6 :
	    	System.out.println("D 학점");
	    	break;
	    default : 
	    System.out.println("F 학점");
	        break;
	}
}

}
😃위와 같은 결과 값이 나오게 된다.


반복문

  • 일정 획수만큼 어떤 코드를 반복하여 실행하는 제어문
  • 반복적으로 실행되는 동작을 루프(loop)라고 함
  • 반복문에는 for, while, do~while문 이 있다.

for문

  • 특정 횟수만큼 실행해야 하는 루프를 효율적으로 쓸 수 있는 반복문

package ex4;

public class Example07 {

public static void main(String[] args) {
	int i;
	
	for(i=1; i<=10; i++) {
		System.out.print(i+" ");
	}
}

}
😃위와 같은 결과 값이 나오게 된다.
for (i=1 이고; i가 10보다 작거나 같을때 까지; i+1을 진행한다.)
pintln이 아닌 print여서 가로로 결과값 나온다, " "띄어쓰기를 진행함으로써 띄어쓰기 함.


for문 예제 1

package ex4;
import java.util.Scanner;
public class Loop01 {

public static void main(String[] args) {
	int sum=0;
	System.out.println("5개의 숫자를 입력하세요.");
	
	for(int n=1; n<=5; n++) {        // 1, 2, 3, 4, 5 일때 실행되고
		                             // Scanner 객체를 생성하고 참조
	Scanner s = new Scanner(System.in);   // s가 가리키는 곳에서 정수를 입력받아서  num이라는 변수에 저장
		                        
	int num = s.nextInt();           // sum과 num의 합을 구하고 다시 sum에 저장
		                        
	sum += num;                      //	 왼쪽의 변수에 오른쪽에 있는 값을 더한다.
                                         sum = (sum + num)과 같은 코드
	}
	System.out.println("합계: "+sum);
}

}
😃위와 같은 결과 값이 나오게 된다.


for문의 잘못된 예제

package ex4;
import java.util.Scanner;
public class Loop01_02 {

public static void main(String[] args) {       // 지역변수 인데 범위가 main까지
	int sum = 0; 
	System.out.println("5개의 숫자를 입력하세요");// int num = 20;
	
	
	for (int n=1; n<=5; n++) {                // n도 for문 내의 지역변수	
		Scanner s = new Scanner(System.in);   // num 은 지역변수 이므로 for문을 벗어나면 오류 됨 
		
		
		int num = s.nextInt();                // n과 num은 for문의 지역변수 이므로 for 블럭까지
	}
	

/for (int i:num) { //num은 정의 되지 않아서 오류 // 배열일때만 가능
sum += i; // sum = sum + num과 같은 코드}
/
// 0이 출력됨

	System.out.println("합계 :" + sum);
}

}
위와 같이 0이 출력된다.


while문

  • 참이면 무한 루프 그래서 빠져나갈 조건을 안에 써주어야 한다.

package ex4;

public class Example08 {

public static void main(String[] args) {
	int i = 1;                  //초기값
	while(i<=10) {              //조건식
		// i가 1일때 들어옴,
		System.out.print(i+" ");
		i++;                    //증가치(2,3,4,5,6,7,8,9,10)
	}
	System.out.println("\n반복 후 : "+i); // \n = 줄바꿈
}

}
😃위와 같은 결과 값이 나오게 된다.


while문 예시

package ex4;
import java.util.Scanner;
public class Loop02 {

public static void main(String[] args) {
	Scanner s = new Scanner(System.in);
	int choice = 1;
	while(choice == 1) {
		int a;
	System.out.println("숫자를 입력하세요.");
	a = s.nextInt();
	if (a%2 == 0) {
		System.out.println("짝수입니다.");
	}else {
		System.out.println("홀수입니다.");
	}
		
		System.out.println("계속하고 싶다면 예 1, 그만하고 싶다면 아니요 0을 입력하세요.");
		
		choice = s.nextInt();
	}
	
	System.out.println("모든 숫자를 확인했습니다.");
	}
}

😃위와 같은 결과 값이 나오게 된다.


배경색 넣기

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>배경 색상</title>
<style>
body{
     background-color:#0000ff;
}
h1{
   background-color:#ffff00;
}
p{
  background-color:#ffffff;
}
#cian{
      background-color:#00ffff;
}
</style>
</head>
<body>
<h1>무궁화</h1>
<p>무궁화는 우리나라 국화이며<span id="cian">내한성의 낙엽관목</span>이다.<br>
꽃은 흰색, 분홍색, 빨간색, 보라색 등 다양하고, 여러 가지 무늬의 화려한 꽃을 피운다.<br>
꽃이 7~10월까지 100일 동안 피기 때문에 무궁화라는 이름이 붙었다.</p>
</body>
</html>

😃위와 같은 결과 값이 나오게 된다.


사진 넣기

webapp폴더 안에 images 폴더를 만들고 그 안에 사진을 넣어준다.

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>배경 이미지</title>
    <style>
    body{
         background-image:url("../images/yellow_bg.jpg");
    }
    </style>
</head>
<body>
    <h1>양귀비꽃</h1>
    <p><img src="../images/yangguibi.jpg"></p>
</body>
</html>

😃위와 같은 결과 값이 나오게 된다.


<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<style type="text/css">
body{
background-image:url("../images/flower_bee.jpg");
background-repeat:no-repeat;
}
</style>
</head>
<body>
<p><img src="../images/banner.png"></p>
</body>
</html>

😃위와 같은 결과 값이 나오게 된다.

repeat : 가로 방향, 세로 방향으로 반복합니다.
repeat-x : 가로 방향으로 반복합니다.
repeat-y : 세로 방향으로 반복합니다.
no-repeat : 반복하지 않습니다.


<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<style type="text/css">
body{
background-image:url("../images/narrow_bg.png");
background-repeat:repeat-x;
}
</style>
</head>
<body>
<p><img src="../images/bombit_logo.png"></p>
</body>
</html>

😃위와 같은 결과 값이 나오게 된다.


position
해당되는 것의 위치를 조정하는데 쓴다.

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<style type="text/css">
body{
background-image:url("../images/gradient_bg.png");
background-repeat:no-repeat;
background-position:center top;
}
p{
  text-align: center;
}
</style>
</head>
<body>
<br><br>
<p><img alt="rose" src="../images/rose.jpg"></p>
</body>
</html>

😃위와 같은 결과 값이 나오게 된다.


DBMS개요와 MySQL

데이터베이스

  • '데이터의 집합'(중복최소화 통합, 공유, 공용, 저장데이터)
  • 여러 명의 사용자나 응용프로그램이 공유하는 데이터들
  • 동시에 접근 가능해야
  • 데이터의 저장 공간' 자체
    =>중복을 최소하여 공유가 가능하며 동시에 접근이 가능한 데이터 저장 공간

DBMS (Data Base Management System)

  • 위와 같은 데이터베이스를 관리하는 시스템

DB/DBMS 의 특징

데이터의 무결성(Integrity)

  • 데이터베이스 안의 데이터는 오류가 없어야한다.
  • 제약 조건(Constrain)이라는 특서을 가진다.

데이터의 독립성

  • 데이터베이스 크기 변경하거나 데이터 파일의 저장소 변경시
  • 기존에 작성된 응용프로그램은 전혀 영향을 받지 않아야한다.
    ▶ 하드웨어(하위)가 변경된다고 해서 어플리케이션(상위)에 영향을 받지 않아야 된다.

보안

  • 데이터베이스 안의 데이터에 데이터를 소유한 사람이나 데이터에 접근이 허가된 사람만 접근 할 수 있어야한다.
  • 접근할 때도 사용자의 계정에 따라서 다른 권한을 가진다.

SQL(Structured Query Language)

- DBMS에 데이터 구축/관리/활용을 위해서 사용되는 언어
- DBNS를 통해 중요한 정보들을 입력, 관리, 출력할때 사용한다.

  • 관계형 데이터베이스에서 사용되는 언어, 에스큐엘 또는 시퀄이라 부른다.
  • DBMS 제작 회사와 독립적
  • 다른 시스세템으로 이식성이 좋음
  • 표준이 계속 발전중
  • 대화식 언어-분산형 클라이언트/서버 구조

프로젝트 진행단계

  • 현실세계의 업무를 컴퓨터 시스템으로 옮겨놓는 일련의 과정
  • 대규모의 프로그램을 작성하기 위한 전체 과정
    폭포수 모델
    위에서 부터 아래로 천천히 집고 넘어가는(?)

데이터베이스 모델링 개념

  • 현 세계에서 사용되는 작업이나 사물들을 DBMS의 데이터베이스 개체로 옮기기 위한 과정
    테이블로 만드는것

데이터베이스 모델링 실습 과정

  • 개념적 모델링
    -> 시스템 전체의 그림을 그리는 것
  • 논리적 모델링
    -> 클래스에 따른 설계(한글로 테이블 만들어 놓은것 정도로 생각)
  • 물리적 모델링
    -> 실습해본 테이블의 결과

SQL기본

SELTION 01 SELECT문

/ select 필드명들... from 테이블 명 where 조건/
/ dept 테이블에서 부서번호가 10번인 모든 정보를 확인하려면 필드정보를 쓰시면 된다./
=은 같다라는 뜻, (<>, !=)는 같지 않다는 뜻
select *
from dept
where deptno = 10;


-- dept 테이블에서 부서번호가 10이 아닌 모든 정보
select *
from dept
where deptno != 10;


-- emp 테이블에서 empno 가 7698인 사람의 모든 정보 확인(검색)하려면
select *
from emp
where empno = 7698;


-- emp 테이블에서 사원번호가 7698인 사람의 ename, hiredate, deptno를 출력하라.
select ename, hiredate, deptno
from emp
where empno = 7698;


-- emp 테이블에서 부서번호(deptno)가 10번인 사람들의 사원번호(empno), 이름(ename), 월금(sal)을 출력하라.
select empno, ename, sal
from emp
where deptno = 10;


-- emp 테이블에서 사원명이 ALLEN인 사람의 모든 정보를 출력
select *
from emp
where ename = 'ALLEN';


-- hiredate가 '1981-11-17'인 사원의 empno, ename, sal을 출력하라.
select empno, ename, sal
from emp
where hiredate = '1981-11-17';


-- dept 테이블에서 dname = 'OPERATIONS'인 부서 정보 모두 출력
select *
from dept
where dname = 'OPERATIONS';


-- emp 테이블에서 job이 'MANAGER'가 아닌 사원의 정보를 모두 출력
select *
from emp
where job != 'MANAGER';


-- hiredate 가 '1981-04-02' 보다 늦게 입사한 직원의 정보 empno, ename, sal 출력
select empno, ename, sal
from emp
where hiredate > '1981-04-02';


-- sal이 800이상인 사원의 사원명, 사원번호, 부서번호, 급여를 출력
select ename, empno, deptno, sal
from emp
where sal >= 800;


-- 부서번호가 20번 이상인 사원의 모든 정보를 출력
select *
from emp
where deptno >= 20;


-- hiredate가 1981-12-09일보다 먼저 입사한 사원의 모든 정보 출력
select *
from emp
where hiredate < '1981-12-09'


-- '1981-04-02' 에서 '1982-12-09' 사이에 입사한 사원번호, 사원명, sal 출력
select empno, ename, sal
from emp
where hiredate > '1981-04-02'
and hiredate < '1982-12-09';
행과 열에 순서를 맘대로 바꿔도 아무 상관이 없다. (무순서성)


-- 급여가 1,600보다 크고 3,000보다 작은 직원의 이름, 직무, 급여를 출력하라
select ename, job, sal
from emp
where sal > 1600
and sal < 3000;


😃MySQL 재밌다😂

0개의 댓글