2017 JAVA 교육수료/REPORT

SQL문_DML,DDL,DCL

2017. 4. 24. 12:24

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

 

데이터를 조작 (조회, 추가, 변경, 삭제) 하기 위해 사용한다.

 

사용자가 응용 프로그램과 데이터 베이스 사이에 실질적인 데이터 처리를 위해서 주로 사용한다.

 

 

 

- SELECT : 조회

 

- INSERT : 추가

 

- DELETE : 삭제

 

- UPDATE : 변경


 

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

 

데이터 베이스 스키마를 정의 하거나 조작하기 위해 사용한다.

 

SCHEMA, DOMAIN, TABLE, VIEW, INDEX 를 다음 명령어로 정의, 변경, 삭제한다.

  

 

- CREATE : 정의

 

- ALTER: 수정

 

- DROP : 삭제

 

- TRUNCATE : DROP CREATE


 

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

 

데이터의 보안, 무결성, 회복, 병행 수행제어 등을 정의하는데 사용한다.

 

 

 

- COMMIT : 트랜잭션의 작업 결과를 반영

 

- ROLLBACK : 트랜잭션의 작업을 취소 및 원래대로 복구

 

- GRANT : 사용자에게 권한 부여

 

- REVOKE : 사용자 권한 취소

 

 

 


request.setParameter() 와 request.getParameter()를 이용하면 String의 값 밖에는 주고 받을 수 없다.

 

그럼 Action으로 넘어온 값을 변경시킨후 JSP 페이지로 넘겨주기 위해서는 request.setAttribute() 를 써서 넘겨주고 JSP 페이지에서는 request.getAttribute()를 써서 받아야한다.

이때 request.setAttribute() 를 통해 넘겨준 값을 request.getParameter() 를 써서 받으려 해도 받지 못한다.

이때 type이 Object 이기 때문에 반드시 형변환을 해줘야 한다.


* action에서 객체를 request에 담아 보낼경우.

   request.setAttribute("객체명", 객체);

   ex) request.setAttribute("page",page)

 

   만약 form 의 hidden 값인 page 를 넘겨받았다면 그 값을 변경하여 다시 보낼수 있다.

   이때 사용하는 것이 request.setAttribute() 이다.

request.getAttribute() 는 요청된 이름의 Value 를 Object로 넘겨준다.


getAttribute는 특정 요소노드 내에 특정  한 속성값을 가져오는 메소드이다.


setAttribute는 메소드는 속성값을 변경시키는 메소드이다.


사용방법은 객체명.setAttribute("속성노드명",새로운속성값);


Object x = request.getAttribute("객체")



자바 데이터 타입에는 기본형과 참조형이있다.

기본형은 boolean, char, byte, short, int, long, float, double와 같이 계산을 할 수 있는 타입이며,

참조형은 기본형을 제외한 나머지 타입을 의미한다. String, StringBuffer, List 등등 개인이 만든 클래스도 참조형 타입이 될 수 있다.

 

1.Primitive Type 기본형

-자바에서 기본 자료형은 반드시 사용하기 전에 선언되어야한다.

-OS에 따라 자료형의 길이가 변하지 않는다.

-비객체타입으로 null값을 가질 수 없다.


 자료형

 크기

 데이터

 표현범위

 boolean

 1bit

참/거짓

 true,flase

 char

 2byte

문자

유니코드

 byte

 1byte

 정수형

 -128 ~ 127

 short

 2byte

 정수형

 -32,768 ~ 32,767

 int

 4byte

 정수형

-2³¹ ~ 2³¹-1

 long

 8byte

 정수형

-2³~ 2³-1

 float

 4byte

 실수형

 -3.4E38 ~ 3.4E38

 double

 8byte

 실수형

 -1.7E308 ~ 1.7E308


2.Reference Type 참조형

 

기본형이 아닌 자료형이며 java.lang.Object를 상속 받는다.

 

기본타입을 제외한 모든 값은 객체(Object)이다.

 

Primitive Type을 이용하여 선언된 변수는 실제 값을 변수 안에 저장하지만,

Reference Type을 이용하여 선언된 변수는 객체가 저장된 메모리(heap)의 주소를 값으로 가지고 그 주소를 이용하여 객체를 참조하게 된다.

 

클래스(Class), 인터페이스(Interface), 배열(Array), 열거(Enum) 타입이 있다.

HTML의 인코딩 방식 때문에 한글이 깨질 때가 있다.


이는 브라우저에서 인식하는 인코딩 방식과 html 파일의 인코딩 방식이 달라 생기는 문제인데,

둘 다 하나의 인코딩 방식으로 통일해 주면 된다.




Get : 웹 컨테이너의 설정 파일에 인코딩 방식을 추가해서 해결  URIEncoding='utf-8'

* 필요한 이유 : post 방식을 구조상 사용할 수 없을 경우

    영어가 아닌 한글 데이터를 전달해야 할 경우


Post: 컨테이너에서 인코딩을 결정 할 수 없고 처리하는 쪽에서 인코딩을 설정해서 해결

context type 과 charset / 문서타입을 일치시키고

JSP페이지 상단에 request.setCharacterEncoding("인코딩 방식"); 추가

*인코딩방식-UTF-8, EUC-KR



XML파일 수정하기


Get (Server.xml )

1) port="8080"인 태그 끝에 URIEncoding="UTF-8" 추가한다 (혹은 EUC-KR)

2) 받아온 데이터를 String 클래스를 통해 문자셋을 변화한다 

*개수가 많다면 효율적이지 못한방법



POST (Web.xml)


<!-- Encoding filter -->

<filter>

<filter-name>encodingFilter</filter-name>

<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>

<init-param>

<param-name>encoding</param-name>

<param-value>UTF-8</param-value>

</init-param>

</filter>

<filter-mapping>

<filter-name>encodingFilter</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>






출처: http://seongilman.tistory.com/148 [SEONG]

출처 http://m.blog.naver.com/kch1598/220522085521




서블릿에서 한글 처리하기

1.GET방식


이클립스로 생성한 JSP페이지의 기본 인코딩방식이 euc-kr이기때문에 톰캣의 URL인코딩 방식인 UTF-8 방식으로 지정해준다.


2.POST방식

request.setCharacterEncoding 메소드를 사용하여 BODY영역의 인코딩 방식을 변경해준다.


+ Recent posts