ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Oracle] MySQL
    Studying/Database 2022. 8. 10. 21:33

     

    들어가기 전에...

    1. 오라클 설치 https://www.oracle.com/database/technologies/xe-prior-release-downloads.html

    2. cmd > sqlplus system/1234

    3. C:/workspace 폴더 생성

     

     

    SQL 문

    DDL(Data Definition Language) : 데이터 정의어

    : create, alter, drop, rename, truncate

     

    DML(Data Manipulation Language) : 데이터 조작어

    : insert, update, delete, select

    └▶ insert into 테이블명 (필드1, 필드2) values (데이터1, 데이터2 ...) ;

    └▶ select 필드1, 필드2 from 테이블 ;

    └▶ delete from 테이블 ;

    └▶ update 테이블 set 필드=변경값 ;

     

    DCL(Data Control Language) : 데이터 제어어

    : grant, revoke

     

    트랜젝션 제어

    : commit, rollback, savepoint

     

     

     

     

    데이터 형식

    •  number : 숫자형
    • int    : 정수형
    • char   : 문자형(고정형)
    • varchar/varchar2 : 문자형(가변형) - 4000byte까지
    • clob : 문자형(4000byte이상일때)   - 최대 4GB
    • blob : binary로저장(그림, 음악등) - 최대 4GB
    • date : 날짜형
    • timestamp : date형의 확장

     

     

     

     

    실습 내용

    •  mysql 시작
    C:\Users\~~> sqlplus system/1234

     

     

    • 화면 지우기
    SQL> clear screen ;

     

     

    • 테이블 생성
       create  table  sosi ( 
           id number(4)  primary key ,
           name varchar2(20)  ,
           salary number  ,
           birth date  ,
           email varchar2(20)  ,
           grade  varchar2(4)
       ) ;

     

     

    • 테이블 구조 확인
    SQL> desc sosi ;

     

     

     

     

     

    • 쿼리문 저장 파일 생성
    SQL> spool  C:/workspace/testdbsosi0808.txt

     

     

    • sql 문서 생성 / 실행
    /* 생성 */
    SQL> edit  C:/workspace/sosi.sql
    /* 실행 */
    SQL> start  C:/workspace/sosi.sql

     

     

    • 테이블 데이터 저장
    insert  into sosi(id,name,salary,birth,email,grade) 
         values(7789, 'hong', 79, sysdate, 'bc@kt.com', 'F');
         
     insert  into sosi(id,name,salary,birth,email,grade) 
         values(7790, 'lee', 23, sysdate, 'lee@lg.com', 'C'); 
         
     insert  into sosi(id,name,salary,birth,email,grade) 
         values(2234, 'young', 96, sysdate, 'kim@it.org', 'A');
    commit;

    문자/문자열 은 반드시 ' ' 로 작성한다.

     

     

    • 테이블 깔끔하게 정리
    SQL> col name for a10 ;
    SQL> col email for a15 ;
    SQL> col grade for a2 ;
    SQL> select *  from  sosi ;
    SQL> desc sosi ;
    SQL> set pagesize 1200 ;
    SQL> set linesize 1200 ;

     

     

    - a10 : a는 alphabet 의 a

     

     

    SQL> col id for 9999 ;

     

     

     


     

     

    [문제 1] id, name, email 3개 열만 출력하라.

    SQL> select id, name, email from sosi;

     

    [문제 2] 행번호 rownum, id, name, email 4개 열만 출력하라.

     SQL> select rownum, id, name, email from  sosi ;

     

    [문제 3] 모든 데이터를 출력하라.

     SQL> select *  from  sosi ;

     


     

     

    • 데이터 추가 생성
    insert  into sosi(id,name,salary,birth,email,grade) values(7734, 'aaa', 24, sysdate, 'aa@gs.com', 'B'); 
    insert into sosi values(7754, 'bb', 57, sysdate, 'aa@ks.it', 'A'); 
    insert into sosi values(3357, 'red', 92, sysdate, 'aa@mo.it', 'B');
    commit ;

     

     

     

    Dual : 가짜 더미 테이블

    SQL> select  sysdate from dual ;

    - sysdate : 시스템 상 오늘 날짜

     

     

    to_date( ) : 특정 날짜 정하기

    • 데이터 추가
    insert into sosi  
     values(7000,'김고은',100,to_date('17/12/12'), 'aa@girl.com', 'A');
    
    insert into sosi
     values(6000,'태연',100,to_date('19/12/12'), 'ts@girl.com', 'A');
    
    insert into sosi   
     values(2000,'윤아',90,to_date('17/11/13'), 'bb@girl.com', 'F');
    
    insert into sosi
     values(3000,'제니',120,to_date('17/10/25'), 'cc@girl.com', 'C');
    
    insert into sosi 
     values(4000, '수영', 90, sysdate, 'dd@girl.com', 'A');

     

     

     

     

    행번호 - rownum

    SQL> select rownum, ss.* from sosi ss ;

    - from sosi ss : sosi 테이블을 ss 로 간략화

    - ss.* : ss 테이블의 모든 것

     

     

     

    WHERE : 특정 데이터 조건 찾기

    SQL> select * from  sosi where id = 2000 ;
    SQL> select * from  sosi where id = 3000 ;

     

     

     

    rollback() : 되돌리기

    SQL> update sosi set name='bts' ;
    SQL> select *  from sosi  ;
    SQL> rollback ;
    SQL> select *  from sosi  ;

     

     

     

    특정 필드 데이터 변경하기

    • id가 2000인 데이터의 name을 'bts'로 바꿔라.
    SQL> update sosi set name='bts' where id = 2000  ;

     

     

     

    • id가 6000인 데이터의 name, salary, birth, email, grade 를 바꿔라.
    update sosi set name='고길동', salary=73,
         birth=to_char('21/07/05'),
         email='gg@aa.com', grade='D' where id = 6000 ;

     

     

     


     

     

    정리

    insert - 신규 등록

    select - 데이터 추출

    update~where - 데이터 수정

    delete~where - 데이터 삭제

     


     

     

    alter : 테이블 구조에 필드 추가, 필드 타입 변경, 필드명 변경

     

     

     

Designed by Tistory.