DBMS : 데이터의 집합인 데이터베이스를 잘 관리하고 운영하기 위한 시스템 or SW

  • 외래키 Foreign key : 데이터 무결성 보장됨
  • 기본 키 Primary key : 행 단위 구분 데이터
  • 제약조건 
    • 새로운 데이터 들어갈 때는 부모 테이블에 먼저 넣어야함
    • 데이터 삭제 시에는 자식 테이블에서도 지워야 함

 

mysql 서버는 자동으로 구동 됨 -> 컴터 키면 

 

  • 워크벤치
    • mysql 관리하는 목적으로 쓰임

Sql

  • DDL
    • 데이터 정의
  • DML
    • 데이터 추가/수정/삭제
  • DCL
    • 데이터 관리, 접근 권한 제어

( ※ DML이 SELECT에 있다는 것은 바라보는 관점에 따라 다름,)

  • 기본키 정의 

이렇게 2가지 방법을 기본키정의를 할수 있다. 

 

  • 부호
    • 단일 인용 부호를 써야한다.
    • 별명일 경우는 더블 쓸 수도 있다 .
INSERT INTO LOCATIONS VALUES ('A1','SEOUL');

 

  • 한글

한글 설정

 

  • 정보 출력
    • desc 테이블 명;
    • 컴럼 사양들 

 

  • 객체를 통해서 사용 : 변수 
  • 메소드 or 함수 -> mysql 내장 함수
    • select user( ) : 현재 내가 어떤 계정으로 접속했는지
    • select database( ); 현재 사용하고 있는 database이름 (use한거)

 

  • DBMS, 서버 환경에 따라 데이터베이스 or 필드명이 대소문자를 구분하기도 함

 

SELECT문

추출하고자하는 데이터베이스

select now() from emp;

from이 emp이지만, now의 결과 14개를 뽑음

 

select now() form dual;

dual -> 테이블 내용 중요하지 않고, 함수의 결과 한번만 출력

그래서 from 없애도 나옴 (mysql은 from 생략 가능)

  • 테이블 내용 출력하는게 아니면 from 생략 가능

(오라클은 from 없애면 안됨)

select sysdate();

sysdate 오라클에서 추가함

 

use 구문

  • 데이터 베이스 사용하겠다.

( * 시간은 ',' 으로 구분되고, 년월일은 '-'아니면 '/'로 구분됨 )

( null 연산하면 null이기 때문에 연산할 때는 따로 바꿔줘야한다 )

 

조회

show table status;
  • 데이터 베이스에 있는 테이블 정보 조회
DESCRIBE EMP;
  • emp 테이블에 열이 무엇이 있는지

 

WHERE 절

등가 연산자 : '='

 

관계 연산자

  • BETEEN ... AND ( BETEEN A AND B ) (A<B)
    • 데이터가 숫자로 구성되어 있으며 연속된 값

 

  • IN( 값의 리스트 ) 
    • 등가 연산자랑 똑같은데, 비교하려는 값이 2개 이상일 때
    • ex) select * from emp where deptno in(20, 30)
      • select * from emo where deptno=20 or deptno=30와 같다.

 

  • Like (패턴 비교)
    • 패턴 문자 : %, _ 
      • % : 0개 이상의 모든 문자
      • _ : 임의의 한 문자
        where title like 'java%' java로 시작하는 얘들만
        where title like '%java%' 중간에 java들어가있는 것
        where title like '%java' 끝이 java로 끝나는 얘들만
        where title like 'java_'  java로 시작하는데 뒤에 한 문자만 와야함
        where title like 'java___' java뒤에 3개가 와야함 
      • where tilte = '%java%' : 진짜로 %java% 문자를 찾는다. 

 

ORDER BY

order by 안 쓰면 테이블이 가지고있는 순서에 의해서 뽑아짐 (순서는 보장할 수 없다.)

오늘날짜가 더 큰 값 ( 1970년 1월 1일 기준)

  • desc 내림차순
  • aesc 오름차순 (디폴트)

 

DISTINCT

  • SELECT distinct : 중복되는 것 골라서 하나만 보여줌
  • distinct all : 중복되는 행이 발견해도 다 표현한다.
  • 모든 컴럼이 모두 같을 때, 처리된다. (중복 처리하는 것) 
    • select distinct job, deptno from emp;

 

LIMIT IN

  • LIMIT IN : 위에서 부터 몇 개
  • as : 별칭
    • select now() as 현재시간;
    • select now() as "현재 시간"; : ""씀으로써 공백까지

 

 

'study > JAVA 전문가' 카테고리의 다른 글

mysql 3 - 연습문제  (0) 2021.12.17
mysql 3  (0) 2021.12.17
inner  (0) 2021.12.10
자료구조 2 - 복습  (0) 2021.12.10
자료구조 1  (0) 2021.12.09

+ Recent posts