oracle 접근 및 테이블 생성&조회

두부링·2024년 11월 21일

sql

목록 보기
1/5

약속

1. 당일 수업은 꼭 당일에 해결하기
2. 암기가 아닌 "이해'
3. 모르는 건 망설이지 말고 질문하기
4. 오류가 발생하면 정호T 코드 복사하고 수업에 집중하기
5. 학원에 있는 시간에 다 끝내기!

1. java, javascript

java : 응용프로그램을 만들수 있음
(서버 컴퓨터에서 돌아가는 프로그램) / 원소스 멀티플랫폼
webserver Application : 하나하고 통신을 해서 화면에 보여줌/ 리눅스 환경에 있는 app을 갖고옴

2. 웹브라우저,서버와 DB

웹서버의 역할: 자동화, 저장(DB와 함께 운행)
DataBase - Application
명령어 종류: insert update delete select
Server Computer : 리눅스, 윈도우..
*server computer은 aws에서 관리

html, css,javascript는 웹서버가 요청을 응답해주는 표현방법

3. 프레임워크 종류

vue js , react js : javascript로 동작을 만들때
spring, spring boot: java로 만드는 웹서버 App 만들때 유지보수
=> 체계적(어느 정도 틀을 정하여 유지보수가 쉽게끔)

4. AWS의 의미

클라우드 기반 서비스
-> 클라우드 환경에서 웹서버 환경(윈도우, 리눅스)를 관리한다

5. 명령프롬프트 활용

5-1.환경접근


처음에는 컴퓨터 환경에 명령 -> oracle로 접근
"지금 내가 어디 환경에 있는가?

5-2.SQL 문 작성중 오타가 났을때

실행 중인 작업 중단:ctrl + c(아예 작업을 종료하고 컴퓨타 환경으로 나감)

5-3. SPOOL


내가 했던 내용을 메모장 파일로 뽑을려면,,,

5-2.type

뽑은 메모장 파일을 프롬프트에 표시할 때!

6. 경로 설정

경로: C(앱이 설치된 공간)
메모리에 올려야지만 화면에 나타나고 실행됨 => 설치와 실행 구분하기
=> 마치 핸드폰에 앱 설치하는 느낌으로...

.exe : 실행 파일
cd : change 디렉토리 , 마우스를 창에서 사용할 수 없으니
GUI : 화면에 나타나는 것임
dir : 디렉토리를 프롬프트에 보여줌

정호T 정리사항

1. 관리자 계정으로 계정생성, 권한부여


각 개발자들에게 권한 부여하기 위해서 관리자(나)

1-1. 사용자 생성

형식

CREATE USER 계정 IDENTIFIED BY 비밀번호;


계정명: acorn 계정 비밀번호: acorn1234

1-2. 권한 부여하기


RESOURCE 는 객체 생성 권한 이고 CONNECT 는 접속 권한
객체 = table,....등등

2.테이블 만들기

2-1.사용자 계정으로 로그인

사용자(개발자) 계정으로 접속

2-2. 테이블 생성하기

CREATE TABLE 테이블명 (
      칼럼명 데이터타입 제약조건, ...
  );

*primary key(=id) : 중복 불가, 값이 반드시 존재해야 함

  • null : 공간은 존재하지만 값은 비워져있음 & 알 수 없음의 의미
    NULL(비어있음)과 0(값이 들어가있음)은 차이가 존재함
    ---->반드시 값이 들어가야 하지만 primary key는 아닐 때 - Not NULL 설정 ex. 직원의 이름

3. insert, update,delete 하기

3-1. insert

기본형식

INSERT INTO 테이블명 (칼럼명1, 칼럼명2, ...)
  VALUES (값1, 값2, ...);

-문자열 : ' '으로 감싸기

  • 특정 칼럼에만 값을 삽입 해도 괜춘
    (NULL이 허용된 열은 NULL 삽입 가능)

  • primary key와 not null 설정(primary key는 아니지만 null은 불가...ex.직원이름)

3-2. update

기본형식

UPDATE 테이블명
  SET 칼럼명1 = 값1, 칼럼명2 = 값2, ...
  WHERE 조건;

3-3. delete

기본형식

  DELETE FROM 테이블명
  WHERE 조건;

*delete는 row 삭제
drop는 객체를 삭제

DROP TABLE employees;

4. 간단한 select 하기

형식

SELECT 칼럼명1, 칼럼명2, ...
  FROM 테이블명
  WHERE 조건
  ORDER BY 정렬칼럼 [ASC|DESC];

select 궁금한 내용(열이 아니여도 가능)
select 로 나온 결과도 테이블임(일시적으로 저장되는)

5.emp, dept, salgrade의 테이블명과 칼럼명 외우기!!

1. emp table

2. dept table

3. salgrade table

보완점

  • DB에 저장하는 데이터3 가지
  1. 숫자 - 나이
  2. 문자
  3. 날짜 - 생년월일
    => 데이터를 저장(표(table) 형식으로 저장)한다.
  • oracle의 문자는 '' 작성함
    - 마지막 세미콜론 : 뒤에 더 붙일 수 있는 가능성이 있는 코드에 유효
    (ex. set linesize 200)

- 세미콜론은 계정에서는 계정으로 인식하기에 작성하지 않음

  • commit이 존재하는 이유?
    코드를 시도하다가 실패하면 되돌아 갈 수 없는 강을 건널 수도 있기에...
    임시로 저장했다가 commit으로 찐으로 반영
    - order by는 commit 불가능? 불가능, 데이터를 빼올 때 정렬하는 거지 테이블을 정렬하는 게 아님
  • 만약에 사용자(개발자 계정)가 다르면 테이블 이름이 겹쳐도 상관 없음
  • MYSQL에서는 NULL은 무슨 의미? 동일함
  • 운영체제가 나오기 전에는 프롬프트로 파일 찾고 게임을 실행시키는 모든 작업을 하나하나 일일이 적어서 했다...
profile
하이하잉

0개의 댓글