728x90
SMALL

*이 게시글은 인프런-처음 만난 리액트 강좌를 보고 정리한 글입니다.


목차

1. Node. js와 npm 설치하기

2. VS Code 설치하기


1. Node. js와 npm 설치하기

 

Node.js는 자바스크립트로 네트워크 Application을 만들 수 있게 도와주는 개발환경이라고 생각하면 되고

npm은 node package mangaer의 약자로 node.js를 위한 패키지 매니저이다.

 

패키지 매니저의 역할은 프로젝트에 필요한 다양한 외부 패키지들의 버전과 의존성을 관리하고 편하게 설치 및 삭제를 할 수 있도록 도와준다.

 

npm은 node.js를 설치하면 자동으로 함께 설치된다

1) 아래 링크를 통해 node.js를 설치한다

Node.js (nodejs.org)

 

2) 왼쪽은 안정화된 버전이고 오른쪽은 최신버전인데 안정화된 버전을 다운로드 한다

3) 설치가 다 되면 cmd나 powershell에 node -v, npm -v를 쳐서 node.js와 npm이 잘 설치 됐는지 확인한다.


2. VS Code 설치하기

메모장으로 코딩을 할 수 도 있지만 부가적인 기능을 가진 프로그램을 사용하면 좀 더 효율적이게 프로그램을 개발할 수 있기 때문이다.

이렇게 부가적인 기능을 제공하여 프로그램을 작성하는데 도움을 주는 프로그램을 IDE라고 한다(통합 개발 환경)

출처 : 인프런-처음 만난 리액트 강좌

1) 아래 링크에서 설치

Visual Studio Code - Code Editing. Redefined


728x90
LIST
728x90
SMALL

*이 게시글은 인프런-처음 만난 리액트 강좌를 보고 정리한 글입니다.

 

목차

1. 자료형(Data Type)

2. 연산자(Operator)

3. 함수(function)

4. 백틱(`)


1. 자료형(Data Type)

일반적인 프로그래밍 언어에서는 변수를 선언하는 시점에 해당 변수의 자료형이 결정되는 반면 

자바스크립트는 변수에 데이터가 대입되는 시점에 해당 변수의 자료형이 결정된다.

이처럼 동적으로 자료형이 결정되는 것을 동적 타이핑이라고 한다.

출처 : 인프런-처음 만난 리액트 강좌

var은 변수를 의미하는 variable을 뜻한다.

var 외에도 let, const등도 있다.

var은 재선언, 재할당 모두 가능

let은 재할당만 가능

const는 재할당, 재할당 모두 불가능

 

let은 값이 바뀌면 안되는 변수를 쓸 때

const는 변수이름을 똑같은 이름으로 또 선언하려고 할 때 실수 방지 기능

 

 

★자료형의 종류

출처 : 인프런-처음 만난 리액트 강좌

1) Number type

숫자 자료형

 

2) String type

문자열 자료형

 

3) Bollean type

참/거짓 판단 자료형

 

4) Null type

값이 Null임을 의미하는 자료형

 

5) Undefined type

값이 정의돼있지 않음을 의미하는 자료형

아래 17번 라인처럼 선언만하고 할당을 하지 않은 경우 undefined 자료형이 된다.

 

6) Array type

배열 자료형

다른 프로그래밍 언어와 다르게 자바스크립트의 배열에서는 다른 자료형도 함께 들어갈 수 있다

출처 : 인프런-처음 만난 리액트 강좌

 

7) Obejct type

객체를 다루기 위한 자료형(다른 객체지향 프로그래밍에서의 객체와 의미가 다르다)

자바스크립트에서 객체는 key와 value로 이루어진 쌍의 집합을 의미한다

 

key는 문자열이여야 하며

value는 어떤 값이든 들어갈 수 있다

출처 : 인프런-처음 만난 리액트 강좌


2. 연산자(Operator)

1) 대입 연산자(=)

2) 산술 연산자

출처 : 인프런-처음 만난 리액트 강좌

3) 증가 연산자(++), 감소 연산자(--)

출처 : 인프런-처음 만난 리액트 강좌

4) 관계 연산자 또는 비교 연산자

 

출처 : 인프런-처음 만난 리액트 강좌

5) 동등 연산자와 일치 연산자

4번째, 7번째 줄이 동등 연산자

10번째, 13번째 줄이 일치 연산자

 

동등 연산자는 1과 '1' 구별 불가

일치 연산자는 1과 '1' 구별 가능

 

즉, 일치 연산자는 변수의 값 뿐아니라 자료형이 같은지, 다른지 까지 판별

출처 : 인프런-처음 만난 리액트 강좌

 

6) 이진 논리 연산자

&&는 둘 다 true여야 true

||는 둘 중 하나면 true면 true

출처 : 인프런-처음 만난 리액트 강좌

 

7) 조건부 연산자 또는 삼항 연산자

출처 : 인프런-처음 만난 리액트 강좌
출처 : 인프런-처음 만난 리액트 강좌


3. 함수(function)

출처 : 인프런-처음 만난 리액트 강좌

함수를 만드는 방법은 크게 2가지이다.

function 함수이름 형태를 쓰거나 화살표 함수 형태를 쓴다.


4. 백틱

키보드에 ESC키 아래에 ~(물결) 모양 버튼 아래 있는 `이게 백틱이다.

백틱을 사용하면 ${}를 사용해서 문자열과 변수를 적절히 같이 사용할 수 있다.

 

출처 : 리본 티스토리
출처 : 리본 티스토리


참고문헌

1. [무료] 처음 만난 리액트(React) - 인프런 | 강의 (inflearn.com)

2. [JavaScript] ES2015 백틱(`)과 템플릿 문자열 :: 리본 (tistory.com)

728x90
LIST
728x90
SMALL

*이 게시글은 인프런-처음 만난 리액트 강좌를 보고 정리한 글입니다.

 

목차

1. 프론트엔드

2. API

3. HTML과 SPA

4. CSS

5. Javascript, ES6, 바벨


1. 프론트엔드(Front-End)

프론트엔드는 사용자가 볼 수 있는 화면, 즉 사용자 인터페이스(User Interface, UI)를 말한다.

 

대비되는 용어로 백엔드가 있는데 백엔드는 웹 애플리케이션의 사용자가 보지 못하는 영역인 서버나 데이터베이스를 관리하는 기술이다.

 

쉽게 말해 프론트엔드는 사용자가 보는 화면과 그 안에 있는 요소들을 만들고 백엔드는 사용자가 볼 수 없는 데이터베이스나 서버를 관리한다.

 

리액트는 프론트엔드 언어이다.


2. API

API는 응용 프로그램에서 사용할 수 있도록, 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스이다.

 

UI가 사용자와 프로그램을 연결해주는거라면 API는 프로그램과 프로그램을 연결해주는 것이라고 생각하면 된다.

 

스마트폰 화면에서는 사람이 이용하기 편하도록 버튼이 있다.

만약 버튼이 없다면 사용자는 스마트폰을 사용하기가 어려울 것이다.

이런 경우 사용자를 도와주는 것이 바로 UI이다.

API도 마찬가지이다.

지도를 이용한 맛집 찾기 프로그램을 만들고자 하는데 일반인들은 이런 지도 기능들을 제공할만한 기반이 되는 데이터도 없고 관련 프로그램도 없다.

그리고 일반인들 입장에서는 그런 지도 데이터를 공개해도 여러 문제점 때문에 그 지도 데이터를 사용하기 어려울 것이다.

그래서 이 지도 데이터를 일종에 스마트폰의 버튼처럼 그 지도 데이터를 접근하기 쉽게 만들어 사용자들에게 공개한 것이 바로 지도 API이다.


3. HTML과 SPA

HTML은 웹 브라우저를 통해서 사용자에게 보이는 웹 문서를 작성하는 언어로 웹 문서의 내용 작성에 집중을 한다.

 

마크업종류의 한 종류로서 기존에서는 웹에서만 사용되었지만 최근에는 웹브라우저를 이용해서 데스크탑 용 앱을 만들 수 도 있기 때문에 그런 곳에서도 사용된다.

*마크업 : 문서나 데이터를 처리하기 위해 추가되는 정보
*마크업 언어: 마크업 정보를 표현하는 언어
HTML은 웹사이트의 뼈대를 구성하기 위해 사용하는 마크업 언어

출처 : 인프런-처음 만난 리액트 강좌

HTML에서는 태그라고 부르는 것으로 웹사이트의 구조를 만들고 웹사이트에 들어갈 내용을 채워넣는다.

 

태그는 아래와 같이 홑화살괄호를 사용하며 홑화살괄호안에 태그 이름을 넣어서 사용하며 <태그이름>으로 태그를 시작하며 </태그이름>으로 태그를 끝내는 형태를 가진다.

 

 

출처 : 인프런-처음 만난 리액트 강좌

 

 

웹사이트의 뼈대를 구성하는 태그에는 html 태그, head태그, body 태그가 있다.

 

  • html 태그 : html의 시작과 끝을 알리는 태그
  • head 태그 : 웹사이트의 속성
  • body 태그 : 실제로 웹사이트에서 보이는 내용

출처 : 인프런-처음 만난 리액트 강좌

우리가 사람의 머리를 보면 그사람이 누구인지 알 수 있는 것 처럼 head 태그를 보면 제목, 속성등이 나와있어 이 웹사이트가 어떤 사이트인지 알 수 있다.

이러한 속성들을 메타 데이터라고 한다.

 

출처 : 인프런-처음 만난 리액트 강좌

 

우리가 웹사이트를 둘러보다보면 웹사이트에 보이는 화면이 계속 바뀌는 것을 볼 수 있다.

웹사이트에서 보이는 내용이 Html에서 body태그라고 했으니까 그렇다면 body태그안이 계속 바뀐다는 얘기일까?

그렇다. 페이지가 바뀔 때마다 아래 그림과 같이 새로운 html파일을 불러와서 사용자에게 보여준다.

그렇다면 복잡한 웹페이지의 경우 이런 페이지들이 수십~수백개 이상일텐데 이렇게 많은 페이지를 어떻게 관리할까?

출처 : 인프런-처음 만난 리액트 강좌

이런 문제를 해결하기 위해 나온 것이 바로 SPA이다.

SPA는 말그대로 하나의 페이지만 존재하는 웹페이지 혹은 웹 애플리케이션이다.

 

출처 : 인프런-처음 만난 리액트 강좌

아래의 왼쪽 그림은 전통적인 웹 애플리케이션을 나타낸 것이고 아래의 오른쪽 그림은 SPA를 나타낸 것이다.

전통적인 방식인 Html페이지가 수십~수백개가 있는 것이 아니라 HTML이 1개, 즉 단 하나의 페이지만 존재한다.

 

SPA에서 유일한 HTML파일에 body태그의 내부가 텅 비어있다가 사용자가 해당 페이지에 접속할 때 그 페이지의 컨텐츠를 가져와서 동적으로 body태그 내부를 채워넣는 형태이다.

이렇게 동적으로 body 태그 내부를 채워넣는 역할을 하는 것이 리액트라고 생각하면 된다.

출처 : 인프런-처음 만난 리액트 강좌


4. CSS

CSS는 웹사이트의 레이아웃과 글꼴, 색상등의 디자인을 입히는 언어이다.

HTML로 웹사이트의 구조를 만들었다면 그 위에 CSS로 디자인을 입혀야 아름다운 웹사이트가 완성된다.

출처 : 인프런-처음 만난 리액트 강좌


5. JavaScript

만약 웹사이트가 HTML만으로 구성되어있다면 사용자가 버튼을 누르거나 정보를 입력하는 등의 동적인 작업을 처리할 수 없다. 이러한 동적인 작업을 하기위해 JavaScript를 사용한다. (Java와 관련이 없다)

자바의 정식명칭은 ECMAScript로 버전을 매길때도 맨 앞글자 EC를 따서 EC5, EC6 이런식으로 나타낸다.

출처 : 인프런-처음 만난 리액트 강좌

JavaScript는 이름에서도 알 수 있다시피 Script언어인데 다른언어와 가장 큰 차이점은 프로그램이 실행되는 runtime에 코드가 해석된다.

C언어나 Java같은 컴파일언어는 컴파일이라는 과정을 통해 소스코드가 해석되고 실행가능한 형태로 변환되는데 javascript같은 script언어는 runtime(실행시간)에 코드가 해석된다.

 

Javascript는 오랫동안 웹개발에만 사용되었는데 단순히 웹페이지에서만 국한되지 않고

Node.js 런타임을 통하여 서버쪽

NW.js, Electron 등의 도구를 사용하여 데스크탑 앱을 만들 수도 있고

react-native, NativeScript 등의 도구를 사용하여 모바일 앱도 만들 수 있다.

그리고 하드웨어에서도 Node.js를 통하여 JavaScript를 사용할 수 있기 때문에 Iot진영에서도 사용될 수 있다.


5-1 ES6

ES6은 ECMAScript6을 의미하며, 자바스크립트의 버전을 가리킨다.
ES6은 2015년에 도입되었고 2015년 이후에도 계속해서 새로운 자바스크립트 버전이 나오고 있는데
ES6에서 새로운 문법이 많이 추가가 되었다.


5-2 바벨(Babel)

최신 Javascript 문법으로 작성된 코드를 이전 Javascript 문법으로 변환시켜주는 도구이다.

Javascript는 표준이 존재하는데, 이 표준에 따라 Javascript를 개발하고 매년 새로운 버전을 만드는데 그 중 ES5에서 ES6이 되면서 새로운 기능들이 많이 추가가 되었다. 그래서 예전 브라우저를 쓰는 사람도 최신형 문법을 사용할 수 있게 해주는 도구가 필요해지게 된 것이다.


 

참고문헌

1. 스파르타코딩클럽 (spartacodingclub.kr)

2. HTML,CSS,JS의 관계 (velog.io)

3. [무료] 처음 만난 리액트(React) - 인프런 | 강의 (inflearn.com)

4. 1장. 자바스크립트 입문 · GitBook (vlpt.us)

5. 맨날 한귀로 듣고 흘리는 바벨(Babel)이 뭘까? (velog.io)

6. API 란?. 저도 API가 무엇인지 자세히 알지 못하였기 때문에 검색을 하며 스스로… | by 초보개발자 | Medium

728x90
LIST
728x90
SMALL

★연습문제1

1. 상품관리(EC_Product) 테이블에 표를 참고하여 새로운 상품을 추가하시오.

상품코드 상품명 규격 단가 재고수량 생산처 이미지
SP01 아이폰 IPHONE8+64G 816, 000 10 APPLE sp01.jpg
SP02 갤럭시노트 NOTE8+256G 829, 000 15 SAMSUNG sp02.jpg
SP03 G7 ThinQ G7+128G 822, 000 10 LG전자 sp03.jpg
더보기
INSERT INTO EC_Product
(PRODUCT_CODE,PRODUCT_NAME,STANDARD,UNIT_PRICE,LEFT_QTY,COMPANY,IMAGENAME)
VALUES
('SP01','아이폰','IPHONES8+64G',816000,10,'APPLE','sp01.jpg');
INSERT INTO EC_Product
(PRODUCT_CODE,PRODUCT_NAME,STANDARD,UNIT_PRICE,LEFT_QTY,COMPANY,IMAGENAME)
VALUES
('SP02','갤럭시노트','NOTE8+256G',829000,15,'SAMSUNG','sp02.jpg');
INSERT INTO EC_Product
(PRODUCT_CODE,PRODUCT_NAME,STANDARD,UNIT_PRICE,LEFT_QTY,COMPANY,IMAGENAME)
VALUES
('SP03','G7 ThinQ','G7+128G',822000,10,'LG전자','sp03.jpg');

SELECT PRODUCT_CODE,PRODUCT_NAME,STANDARD,UNIT_PRICE,LEFT_QTY,COMPANY,IMAGENAME
FROM EC_Product
WHERE PRODUCT_CODE IN('SP01','SP02','SP03');

2. 주문처리(EC_Order) 테이블에 배달일자(Mdate)와 구분(Gubun) 칼럼 값을 표를 참고하여 수정하고, 2018년 5월 10일의 배달 내역을 출력하시오.

주문번호 주문자ID 배달상품코드 배달수량 배달일자 구분
180505002 kcchoi DK01 1 개 2018/05/10 배달
180505003 kcchoi CH01 1 개 2018/05/10 배달
더보기
UPDATE EC_Order
SET   MDATE='18/05/10', GUBUN='배달'
WHERE  ORDER_ID='kcchoi';

SELECT ORDER_NO,PRODUCT_CODE,ORDER_QTY,CMONEY,MDATE,GUBUN
FROM   EC_Order
WHERE  MDATE='18/05/10';

3. 주문처리(EC_Order) 테이블에 금일(2018/07/12) 입금된 내역이다. 주문금액과 결제 금액이 동일한 경우 표를 참고하여 [결제방법, 결제일자, 구분]의 결제항목을 입력하시오.

주문번호 주문자ID 주문금액 결제금액 결제방법 결제일자 구분
180707001 jupark 3,725,000 3,735,000 신용카드 2018/07/12 결제
180707002 jupark 4,300,000 4,300,000 신용카드 2018/07/12 결제
180707003 cscho 747,000 747,000 신용카드 2018/07/12 결제
더보기
UPDATE EC_Order
SET CSEL='신용카드',CDATE='18/07/12',GUBUN='결제'
WHERE ORDER_NO='180707001';

UPDATE EC_Order
SET CSEL='신용카드',CDATE='18/07/12',GUBUN='결제'
WHERE ORDER_NO='180707002';

UPDATE EC_Order
SET CSEL='신용카드',CDATE='18/07/12',GUBUN='결제'
WHERE ORDER_NO='180707003';

4. 주문처리(EC_Order) 테이블로부터 금일 (2018년 7월 12일) 결제한 [주문번호, 상품코드, 주문수량, 결제금액, 결제방법, 결제일자]를 주문번호순으로 출력하시오.

더보기
SELECT ORDER_NO,PRODUCT_CODE,ORDER_QTY,CSEL,CMONEY,CDATE
FROM EC_Order
WHERE CDATE='18/07/12'
ORDER BY 1;

5. 회원관리(EC_Member) 테이블의 구매실적(BuyCash) 칼럼이 널(null)인 행을 0으로 수정하시오.

더보기
UPDATE EC_Member
SET    BUYCASH=0
WHERE  NVL(BUYCASH,0)=0;

6. 테이블의 트랜잭션 영역의 모든 행들을 영구히 저장하시오.

더보기
COMMIT;

★연습문제2

1. 다음 표의 개설과목을 과목임시(T_Course) 테이블에 저장하고, 출력하시오.

과목코드 과목명 학점수 담당교수번호 추가수강료
L3001 스프링 프로젝트 3 P11 50,000
L3002 모바일프로그래밍 3 P12  
L3003 데이터베이스튜닝 2 P13 50,000
L3004 빅데이터 개론 2 P14 30,000
더보기
INSERT INTO T_Course
(Course_ID, Title, C_Number,Professor_ID,Course_fees)
VALUES
('L3001','스프링 프로젝트',3,'P11',50000);

INSERT INTO T_Course
(Course_ID, Title, C_Number,Professor_ID,Course_fees)
VALUES
('L3002','모바일프로그래밍',3,'P12',null);

INSERT INTO T_Course
(Course_ID, Title, C_Number,Professor_ID,Course_fees)
VALUES
('L3003','데이터베이스튜닝',2,'P13',50000);

INSERT INTO T_Course
(Course_ID, Title, C_Number,Professor_ID,Course_fees)
VALUES
('L3004','빅데이터 개론',2,'P14',30000);

SELECT * FROM T_Course;

2. 다음 표를 참고하여 학번별 수강신청 과목을 수강임시(T_SG_Scores) 테이블에 저장하고 출력하시오.

학번 성명 과목코드 과목명 학점수 수강일자
C1801 김대현 L3001 스프링 프로젝트 3 2018/02/23
L3002 모바일프로그래밍 3
L3003 데이터베이스튜닝 2
L3004 빅데이터 개론 2
C1802 신지애 L3001 스프링 프로젝트 3 2018/02/24
L3002 모바일프로그래밍 3
L3003 데이터베이스튜닝 2
L1051 웹서버 관리 2
더보기
INSERT INTO T_SG_Scores (Student_ID,Course_ID,Score_Assigned)
                 VALUES ('C1801','L3001','18/02/23');              
INSERT INTO T_SG_Scores (Student_ID,Course_ID,Score_Assigned)
                 VALUES ('C1801','L3002','18/02/23');              
INSERT INTO T_SG_Scores (Student_ID,Course_ID,Score_Assigned)
                 VALUES ('C1801','L3003','18/02/23');                
INSERT INTO T_SG_Scores (Student_ID,Course_ID,Score_Assigned)
                 VALUES ('C1801','L3004','18/02/23');  
                 
INSERT INTO T_SG_Scores (Student_ID,Course_ID,Score_Assigned)
                 VALUES ('C1802','L3001','18/02/24');                
INSERT INTO T_SG_Scores (Student_ID,Course_ID,Score_Assigned)
                 VALUES ('C1802','L3002','18/02/24');               
INSERT INTO T_SG_Scores (Student_ID,Course_ID,Score_Assigned)
                 VALUES ('C1802','L3003','18/02/24');                
INSERT INTO T_SG_Scores (Student_ID,Course_ID,Score_Assigned)
                 VALUES ('C1802','L1051','18/02/24');   
                 
SELECT*FROM T_SG_Scores ORDER BY 1,2;

3. 'C1802' 학번의 '신지애' 학생이 수강 신청한 'L1051' 과목을 'L3004'  '빅데이터 개론'으로 수강 과목을 변경하고자 한다. T_SG_Scores 테이블에 변경하시오.

더보기
UPDATE T_SG_Scores
SET COURSE_ID='L3004'
WHERE STUDENT_ID='C1802' AND COURSE_ID='L1051';

4. 표를 참고하여 성적을 수강임시(T_SG_Scores) 테이블에 저장하고 출력하시오

교수번호 과목코드 과목명 학번 성적 성적취득일자
P11 L3001 스프링프로젝트 C1801 98 2018/06/28
C1802 88
P12 L3002 모바일프로그래밍 C1801 87
C1802 92
P13 L3003 데이터베이스튜닝 C1801 92 2018/06/28
C1802 93
P14 L3004 빅데이터 개론 C1801 89
C1802 97
더보기
UPDATE T_SG_Scores
SET Score=98,Score_Assigned='2018/06/28'
WHERE Student_ID='C1801' AND Course_ID='L3001';
UPDATE T_SG_Scores
SET Score=87,Score_Assigned='2018/06/28'
WHERE Student_ID='C1801' AND Course_ID='L3002';
UPDATE T_SG_Scores
SET Score=92,Score_Assigned='2018/06/28'
WHERE Student_ID='C1801' AND Course_ID='L3003';
UPDATE T_SG_Scores
SET Score=89,Score_Assigned='2018/06/28'
WHERE Student_ID='C1801' AND Course_ID='L3004';

UPDATE T_SG_Scores
SET Score=88,Score_Assigned='2018/06/28'
WHERE Student_ID='C1802' AND Course_ID='L3001';
UPDATE T_SG_Scores
SET Score=92,Score_Assigned='2018/06/28'
WHERE Student_ID='C1802' AND Course_ID='L3002';
UPDATE T_SG_Scores
SET Score=93,Score_Assigned='2018/06/28'
WHERE Student_ID='C1802' AND Course_ID='L3003';
UPDATE T_SG_Scores
SET Score=97,Score_Assigned='2018/06/28'
WHERE Student_ID='C1802' AND Course_ID='L3004';

SELECT*FROM T_SG_Scores ORDER BY 1,2;

5. 과목코드 'L2033'의 '게임프로그래밍' 개설과목이 폐강되었다. 수강임시(T_Course) 테이블에서 'L2033' 과목코드를 삭제하시오.

더보기
DELETE FROM T_Course
WHERE Course_ID='L2033';

6. 과목임시(T_Course) 테이블의 과목코드 'L1031', 과목명이 'SQL'의 추가수강료를 30000원으로 수정하시오.

더보기
UPDATE T_Course
SET Course_fees=30000
WHERE Course_ID='L1031';

7. 트랜잭션 영역의 모든 행들을 테이블에 영구히 저장하고, SQL*PLus의 AUTOCOMMIT 시스템 변수를 OFF으로 설정하시오.

더보기
COMMIT;
SET AUTOCOMMIT OFF;

8. 수강임시(T_Course)테이블에서 과목코드가 'L4'로 시작하는 과목코드들을 삭제하시오.

더보기
DELETE FROM T_Course
WHERE Course_ID LIKE 'L4%';

9. 수강임시(T_Course) 테이블에서 과목코드가 'L4'로 시작하는 과목코드들을 실수로 삭제하였다. 삭제된 행들을 복구하시오.

더보기
ROLLBACK;
728x90
LIST
728x90
SMALL

*아래 연습문제는 연습문제를 위한 견본데이터베이스가 있어야 실행 가능

★연습문제1

1. 상품관리(EC_Product) 테이블에서 단가가 100만원을 초과하는 상품 목록의 [상품코드, 상품명, 단가]를 출력하시오.

더보기
SELECT PRODUCT_CODE,PRODUCT_NAME,UNIT_PRICE
FROM EC_Product
WHERE UNIT_PRICE >1000000;

2. 회원관리(EC_Member) 테이블로부터 서울에서 거주하는 회원의 [사용자아이디, 회원명, 주민등록번호, 주소]를 출력하시오.

더보기
SELECT USERID,NAME,REGIST_NO,ADDRESS
FROM EC_Member
WHERE ADDRESS LIKE '서울%';

3. 장바구니(EC_Basket) 테이블에서 2018년 07월 11일에 주문한 고객과 주문 내용을 출력하시오.

더보기
SELECT ORDER_NO, ORDER_ID, PRODUCT_CODE,ORDER_QTY,ORDER_DATE
FROM EC_Basket
WHERE ORDER_DATE='18/07/11';

4. 주문처리(EC_Order) 테이블에서 결제한 회원 중에서 상품을 배달하지 않은 회원의 [주문번호, 상품코드, 주문수량, 결제방법, 결제금액, 결제일자, 구분]을 주문번호순으로 출력하시오.

더보기
SELECT ORDER_NO, PRODUCT_CODE,ORDER_QTY,CSEL,CMONEY,CDATE,GUBUN
FROM EC_Order
WHERE GUBUN ='결제'  AND GUBUN != '배달' ;

5. 회원관리(EC_Member) 테이블에서 회원명에 '우'자가 들엉간 회원의 [회원ID, 회원명, 주민등록번호]를 출력하시오.

더보기
SELECT USERID, NAME,REGIST_NO
FROM EC_Member
WHERE NAME LIKE '%우%';

6. 주문처리(EC_Order) 테이블에서 배달한 주문자 중에서 '신용카드'로 결제하지 않은 주문자의 [주문번호, 주문자ID, 상품코드, 결제방법, 구분]을 주문자ID 순으로 출력하시오.

더보기
SELECT ORDER_NO, ORDER_ID, PRODUCT_CODE,CSEL,GUBUN
FROM EC_Order
WHERE GUBUN ='배달' AND CSEL !='신용카드'
ORDER BY 2;

7. 상품관리(EC_Product) 테이블에서 상품의 단가가 30만원에서 50만원 이내의 상품 목록의 [상품코드, 상품명, 단가, 재고수량, 생산처를 단가(Unit_Price)내림차순으로 출력하시오.

더보기
SELECT PRODUCT_CODE,PRODUCT_NAME,UNIT_PRICE,LEFT_QTY,COMPANY
FROM EC_Product
WHERE UNIT_PRICE BETWEEN 300000 AND 500000
ORDER BY 3 DESC;

8. 주문처리(EC_Order) 테이블에서 '신용카드'로 결제한 행의 [주문번호, 주문자ID, 결제금액, 결제일자, 결제방법]을 출력하시오.

더보기
SELECT ORDER_NO,ORDER_ID,CMONEY,CDATE,CSEL
FROM EC_Order
WHERE CSEL='신용카드';

9. 주문처리(EC_Order) 테이블에서 결제하지 않은 행의 [주문번호, 주문자ID, 상품코드, 주문수랴으 결제할 금액, 구분]을 출력하시오.

더보기
SELECT ORDER_NO,ORDER_ID,PRODUCT_CODE,ORDER_QTY,CMONEY,GUBUN
FROM EC_Order
WHERE GUBUN IS NULL;

10. 주문처리(EC_Order) 테이블에서 'usko' 회원의 거래한 상품의 [주문자ID, 상품코드, 주문수량, 결제방법, 결제금액, 구분]을 출력하시오.

더보기
SELECT ORDER_ID,PRODUCT_CODE,ORDER_QTY,CSEL,CMONEY,GUBUN
FROM EC_Order
WHERE ORDER_ID = 'usko';

★연습문제2

1. 상품관리(EC_Product) 테이블에서 삼성(samsung) 회사의 제품의 [상품코드, 상품명, 단위, 단가, 재고수량, 생산처]를 상품명순으로 출력하시오.

더보기
SELECT PRODUCT_CODE,PRODUCT_NAME,STANDARD,UNIT_PRICE,LEFT_QTY,COMPANY
FROM EC_Product
WHERE COMPANY IN('SAMSUNG','Samsung','samsung')
ORDER BY 2;

2. 상품관리(EC_Product) 테이블에서 '프린터' 제품의 단가(Unit_Price)가 50만원을 추과하는 상품의 [상품코드, 상품명, 단위, 단가, 재고수량, 생산처]를 단가 내림차순으로 출력하시오.

더보기
SELECT PRODUCT_CODE,PRODUCT_NAME,STANDARD, UNIT_PRICE,LEFT_QTY,COMPANY
FROM EC_Product
WHERE PRODUCT_NAME='프린터' AND Unit_Price >500000
ORDER BY 4 DESC;

3. 회원관리(EC_Member) 테이블에서 '정'씨 회원의 [회원명, 주민등록번호, 전화번호, 가입일자]를 출력하시오.

더보기
SELECT NAME,REGIST_NO,TELEPHONE,TIMESTAMP
FROM EC_Member
WHERE NAME LIKE '정%';

4. 주문처리(EC_Order) 테이블에서 '현금입금'과 '계좌이체'한 회원의 [주문번호, 상품코드, 결제방법, 결제일자]를 결제방법, 결제일자순으로 출력하시오.

더보기
SELECT ORDER_NO,PRODUCT_CODE,CSEL,CMONEY,CDATE
FROM EC_Order
WHERE CSEL IN('현금입금','계좌이체')
ORDER BY 3,5;

5. 상품관리(EC_Product) 테이블에서 'Hp' 회사의 '프린터' 제품에 대한 [상품코드, 상품명, 단위, 단가, 재고수량]을 단가순으로 출력하시오.

더보기
SELECT PRODUCT_CODE,PRODUCT_NAME,UNIT_PRICE,LEFT_QTY
FROM EC_Product
WHERE COMPANY='HP' AND PRODUCT_NAME='프린터'
ORDER BY 3;

6. 상품관리(EC_Product) 테이블에서 생산처가 '삼성(SAMSUNG)'과 'LG전자'가 아닌 상품의 [상품코드, 상품명, 단위, 단가, 재고수량, 생산처]를 생산처, 단가순으로 출력하시오.

더보기
SELECT PRODUCT_CODE,PRODUCT_NAME,STANDARD,UNIT_PRICE,LEFT_QTY,COMPANY
FROM EC_Product
WHERE COMPANY NOT IN ('SAMSUNG','Samsung','samsung','LG전자')
ORDER BY 6,4;

7. 회원관리(EC_Member) 테이블에서 주소가 '서울'과 '대구'가 아닌 회원의 [회원명, 주민등록번호, 전화번호, 주소]를 주소(Address)순으로 출력하시오.

더보기
SELECT NAME,REGIST_NO,TELEPHONE,ADDRESS
FROM EC_Member
WHERE ADDRESS NOT LIKE '서울%' AND ADDRESS NOT LIKE '대구%'
ORDER BY 4;

8. 상품관리(EC_Product) 테이블에서 재고수량이 10 미만인 상품의 [상품코드, 상품명, 규격, 단가, 재고수량, 생산처]를 상품명순으로 출력하시오.

더보기
SELECT PRODUCT_CODE,PRODUCT_NAME,STANDARD,UNIT_PRICE,LEFT_QTY,COMPANY
FROM EC_Product
WHERE LEFT_QTY <10
ORDER BY 2;

9. 회원관리(EC_Member) 테이블에서 전화번호가 '666'이 포함된 회원의 [회원명, 주민등록번호, 전화번호, 주소]를 회원명순으로 출력하시오.

더보기
SELECT NAME,REGIST_NO,TELEPHONE,ADDRESS
FROM EC_Member
WHERE TELEPHONE LIKE '%666%'
ORDER BY 1;

10. 회원관리(EC_Member) 테이블에서 2018년 5월 1일 이후에 가입한 회원의 [회원명, 주민등록번호, 전화번호, 주소, 가입일자]를 회원 가입일자(Timestape)순으로 출력하시오.

더보기
SELECT NAME,REGIST_NO, TELEPHONE, ADDRESS, TIMESTAMP
FROM EC_Member
WHERE TIMESTAMP >'2018/05/01'
ORDER BY 5;

11. 상품관리(EC_Product) 테이블에서 상품명이 '노트'로 시작하는 상품의 [상품코드, 상품명, 단위, 단가, 재고수량, 생산처]를 생산처순으로 출력하시오.

더보기
SELECT PRODUCT_CODE,PRODUCT_NAME,STANDARD,UNIT_PRICE,LEFT_QTY,COMPANY
FROM EC_Product
WHERE PRODUCT_NAME LIKE '노트%'
ORDER BY 6;

12. 상품관리(EC_Product) 테이블에서 'LG'로 시작하는 생산처의 상품이 80만원을 초과하는 [상품코드, 상품명, 단위, 단가, 재고수량, 생산처]를 상품코드순으로 출력하시오.

더보기
SELECT PRODUCT_CODE,PRODUCT_NAME,STANDARD,UNIT_PRICE,LEFT_QTY,COMPANY
FROM EC_Product
WHERE COMPANY LIKE 'LG%' AND UNIT_PRICE>800000
ORDER BY 1;

13. 상품관리(EC_Product) 테이블에서 생산처가 입력되지 않은 행의 [상품코드, 상품명, 단위, 단가, 재고수량, 생산처]를 상품코드순으로 출력하시오.

더보기
SELECT PRODUCT_CODE,PRODUCT_NAME,STANDARD,UNIT_PRICE,LEFT_QTY,COMPANY
FROM EC_Product
WHERE COMPANY IS NULL
ORDER BY 1;

14. 주문처리(EC_Order) 테이블에서 상품코드가 'CM01'이고 주문이 1개 초과 주문한 행의 [주문번호, 주문자ID, 상품코드, 주문수량, 결제금액]을 주문자ID순으로 출력하시오.

더보기
SELECT ORDER_NO,ORDER_ID,PRODUCT_CODE,ORDER_QTY,CMONEY
FROM EC_Order
WHERE Product_CODE='CM01' AND ORDER_QTY>1
ORDER BY 2;

15. 회원관리(EC_Member) 테이블에서 회원명이 '고'씨부터 '최'씨를 제외한 회원을 [회원명, 주민등록번호, 전화번호, 주소']를 회원명순으로 출력하시오.

더보기
SELECT NAME,REGIST_NO,TELEPHONE,ADDRESS
FROM EC_Member
WHERE NAME NOT BETWEEN '고' AND '쵸'
ORDER BY 1;

16. 수강(SG_Scores) 테이블에서 수강과목코드가 'L1011'과 'L1021' 과목의 학점을 취득한 학생의 [과목코드, 학번, 성적, 성적취득일자]를 과목코드, 학번순으로 출력하시오.

더보기
SELECT COURSE_ID, STUDENT_ID,SCORE,SCORE_ASSIGNED
FROM SG_Scores
WHERE COURSE_ID IN('L1011','L1021')
ORDER BY 1,2;

17. 수강(SG_Scores)테이블에서 성적이 80점 이상이 아닌 행의 [과목코드, 학번, 성적, 성적취득일자]를 출력하시오.

더보기
SELECT STUDENT_ID, COURSE_ID, SCORE,SCORE_ASSIGNED
FROM SG_Scores
WHERE NOT SCORE >=80;

18. 학생(Student) 테이블에서 학과코드가 '컴공',과 '경영'학과가 아닌 학생의 [학과코드, 학년, 학번, 성명, 전화번호]를 학과코드, 학번순으로 출력하시오.

더보기
SELECT DEPT_ID, YEAR, STUDENT_ID,NAME,TELEPHONE
FROM Student
WHERE DEPT_ID NOT IN('컴공','경영')
ORDER BY 1,3;
728x90
LIST
728x90
SMALL

★연습문제1

1-1. 표의 논리적 스키마를 참고하여 상품관리 테이블을 생성하시오.

칼럼명 영문명 데이터형 크기  NN 참조테이블
상품코드 Product_Code 문자형 10 NN PK  
상품명 Product_Name 문자형 20 NN    
규격 Standard 문자형 20      
단위 Unit 문자형 10      
단가 Unit_Price 숫자형 7 NN    
재고수량 Left_Qty 숫자형 5 NN    
생산처 Company 문자형 20      
상품이미지명 ImageName 문자형 20      
상품정보 Info 문잦형 50      
상세소개 Detail_Info 문자형 255      
더보기
CREATE TABLE EC_Product (
Product_Code VARCHAR2(10),
Product_Name VARCHAR2(20) NOT NULL,
Standard     VARCHAR2(20),
Unit         VARCHAR2(10),
Unit_Price   NUMBER(7)    NOT NULL,
Left_Qty     NUMBER(5)    NOT NULL,
Company      VARCHAR2(20),
ImageName    VARCHAR2(20),
Info         VARCHAR2(50),
Detail_Info  VARCHAR2(255),
CONSTRAINT EC_Product_pk PRIMARY KEY(Product_Code));

1-2. 표의 논리적 스키마를 참고하여 회원관리 테이블을 생성하시오.

칼럼명 영문명 데이터형 크기 NN 참조테이블
회원 ID UserID 문자형 10 NN PK  
회원비밀번호 Passwd 문자형 10 NN    
회원명 Name 문자형 10 NN    
주민등록번호 Regist_No 문자형 14 NN UK  
eMail 주소 Email 문자형 20      
전화번호 Telephone 문자형 13 NN    
주소 Address 문자형 40      
구매실적 Buycash 숫자형 9 기본값 0    
가입일자 Timestamp 날짜형   기본값 SYSDATE    
더보기
CREATE TABLE EC_Member (
UserID    VARCHAR(10),
Passwd    VARCHAR(10)   NOT NULL,
Name      VARCHAR(10)   NOT NULL,
Regist_No VARCHAR(14)   CONSTRAINT EC_Member_uk UNIQUE NOT NULL,
Email     VARCHAR(20),
Telephone VARCHAR(13)   NOT NULL,
Address   VARCHAR(40),
Buycash   NUMBER(9)     DEFAULT 0,
Timestamp DATE          DEFAULT SYSDATE,
CONSTRAINT EC_Member_pk PRIMARY KEY(UserID));

1-3. 표의 논리적 스키마를 참고하여 장바구니 테이블을 생성하시오.

칼럼명 영문명 데이터형 크기 NN 참조테이블
주문번호 Order_No 문자형 10 NN PK  
주문자 ID Order_ID 문자형 10 NN FK1 회원관리
상품코드 Product_Code 문자형 10 NN FK2 상품관리
주문수량 Order_Qty 숫자형 3 NN    
주문일자 Order_Date 날짜형   기본값 SYSDATE    
더보기
CREATE TABLE EC_Basket(
Order_No     VARCHAR(10),
Order_ID     VARCHAR(10) NOT NULL,
Product_Code VARCHAR(10) NOT NULL,
Order_Qty    NUMBER(3)   NOT NULL,
Order_Date   DATE        DEFAULT SYSDATE,
CONSTRAINT EC_Basket_pk  PRIMARY KEY(Order_No),
CONSTRAINT EC_Basket_fk1 FOREIGN KEY(Order_ID)     REFERENCES EC_Member(UserId),
CONSTRAINT EC_Basket_fk2 FOREIGN KEY(Product_Code) REFERENCES EC_Product(Product_Code));

1-4. 표의 논리적 스키마를 참고하여 주문처리 테이블을 생성하시오.

칼럼명 영문명 데이터형 크기 NN 참조테이블
주문번호 Order_No 문자형 10 NN PK  
주문자ID Order_ID 문자형 10 NN    
상품코드 Product_Code 문자형 10 NN    
주문수량 Order_Qty 숫자형 3 NN    
결제방법 Csel 문자형 10      
결제금액 CMoney 숫자형 9      
결제일자 Cdate 날짜형        
배달일자 Mdate 날짜형        
구분 Gubun 문자형 10      
더보기
CREATE TABLE EC_Order(
Order_No     VARCHAR2(10),
Order_ID     VARCHAR2(10) NOT NULL,
Product_Code VARCHAR2(10) NOT NULL,
Order_Qty    NUMBER(3)    NOT NULL,
Csel         VARCHAR2(10),
Cmoney       NUMBER(9),
Cdate        DATE,
Mdate        DATE,
Gubun        VARCHAR2(10),
CONSTRAINT EC_Order_pk PRIMARY KEY(Order_No));

2. 사용자가 생성한 테이블명을 모두 출력하시오.

더보기
SELECT * FROM TAB;

3. 장바구니(EC_Basket) 테이블의 구조를 출력하시오

더보기
DESC EC_Basket

4. 상품관리(EC_Product) 테이블의 상세소개(Detail_info) 칼럼을 삭제하시오.

더보기
ALTER TABLE EC_Product DROP COLUMN Detail_info;

5. 상품관리(EC_Product) 테이블의 상품정보(Info) 칼럼을 40자로 줄이시오.

더보기
ALTER TABLE EC_Product MODIFY(INFO VARCHAR2(40));

6. 주문처리(EC_Order) 테이블의 구분(Gubun) 칼럼을 20자로 늘리시오.

더보기
ALTER TABLE EC_Order MODIFY(Gubun VARCHAR2(20));

7. 주문처리(EC_Order) 테이블의 상품코드(Product_Code) 칼럼을 상품관리(EC_Product 테이블을 참조하여 외부 키를 추가하시오.

더보기
ALTER TABLE EC_Order
ADD CONSTRAINT EC_Order_fk
    FOREIGN KEY(Product_Code) REFERENCES EC_Product(Product_Code);

8. 주문처리(EC_Order) 테이블에 지정된 제약조건을 출력하시오.

더보기
SELECT CONSTRAINT_NAME,CONSTRAINT_TYPE,SEARCH_CONDITION
FROM USER_CONSTRAINTS
WHERE TABLE_NAME ='EC_ORDER';

9. 주문처리(EC_Order) 테이블에 지정한 제약조건명, 칼럼명, 복합칼럼(POSITION) 유무를 출력하시오.

더보기
SELECT CONSTRAINT_NAME,COLUMN_NAME,POSITION
FROM USER_CONS_COLUMNS
WHERE TABLE_NAME ='EC_ORDER';

★연습문제2

1. 표의 논리적 스키마를 참고하여 자유게시판(Board) 테이블을 생성하시오.

칼럼명 영문명 데이터형 크기 NN
게시물 번호 B_Id 숫자형 5 NN PK
등록자 B_Name 문자형 20 NN  
비밀번호 B_Pwd 문자형 20 NN  
이메일 주소 B_Email 문자형 20 NN  
제목 B_Title 문자형 80 NN  
내용 B_Content 문자형 2000 NN  
등록일자 B_Date 날짜형   기본값 SYSDATE  
조회수 B_Hit 숫자형 5 기본값 0  
IP 주소 B_Ip 문자형 15    

 

더보기
CREATE TABLE Board(
B_Id      NUMBER(5),
B_Name    VARCHAR2(20)   NOT NULL,
B_Pwd     VARCHAR2(20)   NOT NULL,
B_Email   VARCHAR2(20)   NOT NULL,
B_Title   VARCHAR2(80)   NOT NULL,
B_Content VARCHAR2(2000) NOT NULL,
B_Date    DATE           DEFAULT SYSDATE,
B_Hit     NUMBER(5)      DEFAULT 0,
B_IP      VARCHAR2(15),
CONSTRAINT Board_pk PRIMARY KEY(B_Id));

2. 표를 참고하여 답변형 게시판에 필요한 칼럼을 Board 테이블에 추가하시오.

칼럼명 영문명 데이터형 크기 NN
동일 게시물 참조번호 B_Ref 숫자형 5 기본값 0  
동일 게시물 단계번호 B_Step 숫자형 5 기본값 0  
동일 게시물 위치번호 B_Order 숫자형 5 기본값 0  
더보기
ALTER TABLE Board
ADD(B_Ref  NUMBER(5) DEFAULT 0,
    B_Step NUMBER(5) DEFAULT 0, 
    B_Order NUMBER(5) DEFAULT 0);

3. Board 테이블의 제목(B_Title) 칼럼 길이를 100자로 늘리시오

더보기
ALTER TABLE Board
MODIFY(B_TiTLE VARCHAR2(100));

4. Board 테이블의 비밀번호(B_Pwd) 칼럼을 NULL로 수정하시오.

더보기
ALTER TABLE Board
MODIFY(B_Pwd VARCHAR2(20) NULL);

5. Board 테이블의 IP 주소(b_ip) 칼럼을 삭제하시오

더보기
ALTER TABLE Board
DROP COLUMN B_Ip;

6. Board 테이블의 구조를 확인하시오

더보기
DESC Board

7. 회원관리(EC_Member) 테이블의 회원 ID(UserID) 칼럼에 영소문자(a부터 z까지)로 제한하시오. 체크 제한조건이 동작하는지 다음 INSERT문을 실행해 보시오.

INSERT INTO EC_Member (UserID, Passwd, Name, Regist_No, Telephone)
VALUES ('srlee','1234','이소라','821001-2******','010-1234-1234');
INSERT INTO EC_Member (UserID, Passwd, Name, Regist_No, Telephone)
VALUES ('20park','1234','박연수','810604-1******','010-2345-2345');
더보기
ALTER TABLE EC_MEMBER
ADD(CONSTRAINT Member_CK CHECK(UserID BETWEEN 'a' AND 'z'));
INSERT INTO EC_Member(UserId,Passwd,Name,Regist_No,Telephone)
VALUES('srlee','1234','이소라','821001-2******','010-1234-1234');
INSERT INTO EC_Member(UserId,Passwd,Name,Regist_No,Telephone)
VALUES('20park','1234','박연수','810604-1******','010-2345-2345');

8. Board 테이블의 동일게시물번호(B_Step) 칼럼명을 "B_Level"로 변경하시오

더보기
ALTER TABLE Board
RENAME COLUMN B_Step TO B_Level;

9. 주문처리(EC_Order) 테이블의 기본 키를 삭제하시오

더보기
ALTER TABLE EC_Order DROP PRIMARY KEY;

10. Board 테이블의 B_Email 칼럼에 유일성(unique) 제약조건을 추가하시오.

더보기
ALTER TABLE Board
MODIFY(B_Email VARCHAR2(20) CONSTRAINT BOARD_uk UNIQUE);

11. Board 테이블을 Free_Board 테이블명으로 변경하시오.

더보기
RENAME Board TO FREE_Board;

12. 장바구니(EC_Basket) 테이블을 삭제하시오.

더보기
DROP TABLE EC_Basket;

13. 휴지통의 임시 테이블들을 삭제하시오.

더보기
PURGE RECYCLEBIN;
728x90
LIST
728x90
SMALL

XAMPP MYSQL과 기존 설치했던 MYSQL이 충돌이 나서 접속이 안되는 문제가 발생했다..

 

이럴 경우 포트를 죽이거나 아니면 포트번호를 변경해야한다

 

아래 소개하는 방법은 MYSQL 프로그램을 많이 사용하지 않고 가끔 사용할 때

포트번호 3306을 동시에 같이 사용할 때 사용하는 방법이다

 

1. MySQL Installer에 접속 후 Reconfigure를 클릭한다

 

 

2. 임시로 포트번호를 3306에서 비어있는 포트번호로 바꾼다 ex) 3307

 

3. Mysql을 설치할 때 지정했던 비밀번호를 입력 후 Check 클릭 후 Next 클릭한다

 

4. Next를 클릭한다

5. Execute 클릭한다

6. Finish를 클릭한다

 

XAMPP mysql을 사용할 때는 기존 mysql 포트번호를 3307로 변경해놨다가 MYSQL을 사용할 일이 생기면 다시 같은 방법으로 3306으로 바꾸면 된다

 

이렇게 하면 포트 3306 하나로 2개의 mysql을 사용할 수 있다

728x90
LIST
728x90
SMALL

*Visual Studio 2022를 사용하였습니다.

 

1. 아래 링크 접속

MySQL :: MySQL Downloads

 

2. MySQL Community(GPL) Downloads 클릭

 

3. MySQL Installer for Windows 클릭

 

4. Archives 클릭

 

5.     5.7.41버전 선택 후 용량이 더 큰 아래 파일 Download 클릭

mysql을 c언어와 연동하는 경우에 최신버전은 연동이 안되는 경우가 있어 5.7버전을 선택한다

 

6. 다운로드 받은 폴더에 가서 아래 파일 실행

 

7. Developer Default 클릭, Next 클릭

 

8. next 클릭

 

 

9. Execute 클릭

 

10. next 클릭

 

11. 포트번호 선택 후 Next 클릭

Maria DB나 xampp 내장 Mysql이나 3306을 쓰고 있으면 다른 번호로 변경

 

 

12. 비번입력후  Next 클릭

비번 까먹으면 안되므로 쉬운 비번 선택

.

13. Next 클릭

 

14. Next 클릭

 

15. Execute 클릭

 

16. Finish 클릭

 

17. Next 클릭

 

18. Finish 클릭

 

 

19. Next 클릭

 

20. 아까 적었던 비번 입력 후 Check 클릭 후 Next 클릭

 

21. Execute 클릭

22. Finish 클릭

 

23. Next 클릭

 

24. Finish 클릭

 

25. 지금 이렇게 설치해놓으면 mysql.exe파일이 포함돼어있는 C:\Program Files\MySQL\MySQL Server 5.7\bin 위치에서만 Mysql이 접속되는데 모든 위치에서 mysql을 접속하기 위해 환경변수를 설정해준다

 

26. 톱니바퀴 모양 클릭

 

27. 시스템 클릭

 

28.  왼쪽 메뉴 수크롤 내려서 정보 클릭

 

29. 오른쪽 화면 스크롤 내려서 고급 시스템 설정 클릭

 

 

30. 환경변수 클릭

 

 

31.시스템 변수 Path 클릭하고 편집 클릭 

 

32. 새로만들기 클릭 후 mysql.exe가 들어있는 파일 경로 위치 복붙해서 추가

 

33.  mysql -V 명령어로 설치 잘됐는지 확인

 

34. mysql 명령어를 이용해 접속 시도

mysql -u root -p

한 후

Enter password에서 설치할때 만든 password 입력

 

35. password 입력후 접속 성공

이제 여러 mysql명령어를 이용해 DB 만들기 가능

728x90
LIST

+ Recent posts