IN 연산자는 여러 개의 리스트 값을 조회할 때 사용하는 연산자이다.

WHERE절에 =(이퀄)연산자는 하나의 값만 조회할 수 있는 반면 IN연산자를 이용하면 여러 리스트의 값을

조회할 수 있다.

 


 

반대로 IN연산자 앞에 NOT을 붙이게 되면 'SALESMAN', ''ANALYST', 'MANAGER'가 제외된 결과가 출력된다.

 

'DB' 카테고리의 다른 글

[DB]컬럼 별칭 사용  (0) 2021.03.21
[DB] MySQL - 2  (0) 2020.10.15
[DB]MySQL -1  (0) 2020.10.15
[DB] 용어 설명  (0) 2020.10.15

컬럼 별칭 사용하기


 

 

출력되는 컬럼명을 변경하고자 할 때 컬럼명 다음 as를 작성하고 출력하고 싶은 컬렴명을 기술하면 된다.

empno컬럼은 번호, ename컬럼은 이름 , sal컬럼은 Salary로 출력이 되었다. 또한 ""을 이용하여 대소문자 구분/

공백 문자 구분 / 특수문자 구분이 가능하다. 

 

 

 

 

또한 이렇게 컬렴 별칭을 사용하면 ORDER BY와 같이 정렬을 할 때도 "월급" 컬럼 별칭을 이용하여 ORDER BY절을 사용할 수 있기 때문에 SQL작성이 편리해진다.

 

 

 

'DB' 카테고리의 다른 글

[DB] IN연산자  (0) 2021.03.23
[DB] MySQL - 2  (0) 2020.10.15
[DB]MySQL -1  (0) 2020.10.15
[DB] 용어 설명  (0) 2020.10.15

다음은 생성된 테이블에 값을 집어 넣는 insert문이다.

 

package DB;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;

public class DBEx4 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String driver = "com.mysql.cj.jdbc.Driver"; // 드라이버 연결
		String url = "jdbc:mysql://localhost:3306/app?characterEnconding=UTF-8&serverTimezone=UTC"; // 주소 정보
		Connection conn = null;
		Statement stmt = null; // 상태에 대한 객체를 만들고 데이터베이스에 명령을 수행한다.(데이터베이스에 명령을 내리기 위한 객체)
		try {
			Class.forName(driver);
			conn = DriverManager.getConnection(url, "root", "java");
			System.out.println("데이터베이스 연결 성공");
			stmt = conn.createStatement();
			String sql = insert();
			int result = stmt.executeUpdate(sql);
			String msg = result > -1 ? "successful" : "fail";
			System.out.println(msg);
		} catch (Exception e) {
			System.out.println("데이터베이스 연결 실패");
		} finally {
			try {
				// statement먼저 닫고 connection닫는다.(순서)
				if (stmt != null)stmt.close();
				if (conn != null)conn.close();
			} catch (Exception e) {}
		}
	}//end main
	public static String insert() {
		java.util.Scanner scan = new java.util.Scanner(System.in);
		String sql = "insert into TEST1 values('abc', 'abc123', 100)";
		return sql;
	}
}

 

쿼리문 작성은 다음과 같다.

INSERT INTO DBTEST VALUES('abc' , 'abc123', 100); 

마찬가지로 MySQL 워크벤치에서 직접 쿼리문을 입력하여 데이터를 집어넣을 수 있다.

'DB' 카테고리의 다른 글

[DB] IN연산자  (0) 2021.03.23
[DB]컬럼 별칭 사용  (0) 2021.03.21
[DB]MySQL -1  (0) 2020.10.15
[DB] 용어 설명  (0) 2020.10.15

이클립스와 데이터베이스(MySQL)을 연동(?)하기 위해서는 드라이버 설정이 필요하다.

 

public class DBex {

	public static void main(String[] args) {
//		String driver = "com.mysql.jdbc.Driver" ; // ver5.x
		String driver = "com.mysql.cj.jdbc.Driver"; //ver8.x
		try {
			Class.forName(driver);
			System.out.println("데이터베이스 드라이버 로딩 성공");
		}catch(Exception e) {
			System.out.println("데이터베이스 드라이버 로딩 실패");
		}
	}
}

 

package DB;

import java.sql.Connection;
import java.sql.DriverManager;

public class DBEx2 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String driver = "com.mysql.cj.jdbc.Driver"; //드라이버 연결
		//String url = "jdbc:mysql://localhost:3306/app"; //주소 정보 5버전
		String url = "jdbc:mysql://localhost:3306/app?characterEnconding=UTF-8&serverTimezone=UTC"; //주소 정보
		Connection conn = null; 
		try {
			Class.forName(driver);//드라이버 로딩 작업
			System.out.println("데이터베이스 드라이버 로딩 성공");
			conn = DriverManager.getConnection(url, "root", "java"); //연결 시도(준비된 커넥션을 받아주는 놈) - url , 아이디, 비밀번호
			System.out.println("데이터베이스 연결 성공!");
		}catch(Exception e) {
			System.out.println("데이터베이스 드라이버 연결 실패");
		}finally {
			try {
				if(conn != null)conn.close(); //Connection이 null이 아닐때만 close하고 연결 후 다 사용하면 close는 필수로 해줘야함.
			}catch(Exception e) {}
		}
	}

}

 

 

데이터베이스와 연결을 하는 코드이다. 

우선 Connection과 DriverManager를 임포트를 해야 한다.

그 다음 드라이버 연결과 데이터베이스 주소 정보를 가지고 데이터베이스와의 연결을 시도해야 한다.

 

이때 데이터베이스와의 연결을 하려면 예외 처리를 해주어야 하기 떄문에 

try{

}문에 드라이버 로딩 작업과 데이터베이스와의 연결을 시도하는 DriverManger로 데이터베이스와의 연결을 시도한다.

마지막으로 사용이 끝난 Connection을 close()로 닫아주면 데이터베이스와의 연결이 완료된다.

 

 

package DB;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;

public class DBEx3 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String driver = "com.mysql.cj.jdbc.Driver"; //드라이버 연결
		String url = "jdbc:mysql://localhost:3306/app?characterEnconding=UTF-8&serverTimezone=UTC"; //주소 정보
		Connection conn = null; 
		Statement stmt = null; //상태에 대한 객체를 만들고 데이터베이스에 명령을 수행한다.(데이터베이스에 명령을 내리기 위한 객체)
		try {
			Class.forName(driver);
			conn = DriverManager.getConnection(url, "root", "java");
			System.out.println("데이터베이스 연결 성공");
			stmt = conn.createStatement();
			int result = stmt.executeUpdate("create table DBTEST(ID varchar(10), PW varchar(10))"); //result에 -1,0,1가 나오는데 0을 포함한 1은 성공, -1은 실패,
			//varbinary는 대소문자 구분을 함.
			String msg = result > -1 ? "successful" : "fail";
			System.out.println(msg);
		}catch(Exception e) {
			System.out.println("데이터베이스 연결 실패");
		}finally {
			try {
				//statement먼저 닫고 connection닫는다.(순서)
				if(stmt!=null)stmt.close();
				if(conn!=null)conn.close();
			}catch(Exception e) {}
		}
	}

}

 

다음은 연결된 데이터베이스에 테이블을 생성하는 쿼리문이다. 이 코드에서 보이는 Statement객체는 데이터베이스에 

명령을 내리기 위한 객체이다. 

다음은 테이블을 생성하는 쿼리문이다. INSERT TABLE DBTEST (ID VARCHAR(10), PW VARCHAR(10), AGE INT);

이렇게 되면 DBTEST라는 테이블이 생성되고 그 안에 컬럼이 ID, PW, AGE로 3개의 컬럼이 생성된다.

                                     

 

DBTEST라는 테이블이 정상적으로 만들어졌다. 이클립스에서 Statement객체를 사용하여 테이블을 생성할 수도 있고

MySQL workbench를 통해 직접 쿼리문을 다음과 같이 입력하여 테이블을 생성할 수 있다.

 

마지막으로 사용한 Statement객체와 Connection 객체를 닫아줌으로써 완료된다.

'DB' 카테고리의 다른 글

[DB] IN연산자  (0) 2021.03.23
[DB]컬럼 별칭 사용  (0) 2021.03.21
[DB] MySQL - 2  (0) 2020.10.15
[DB] 용어 설명  (0) 2020.10.15

데이터(Data)

-데이터란 수집된 사실이나 값이 정형화되고 기록될만한 가치가 있다고 판단되는 현실 세계의

어떤 현상이나 사건에 대한 구체적인 묘사를 뜻한다.

이러한 체계화된 데이터들의 모임을 DataBase라고한다.

 

 

데이터베이스(DataBase)

 

-데이터베이스란 체계화된 데이터로 작성된 목록으로써 여러 응용 시스템들의 통합된 정보들을

저장하여 운영할 수 있는 공용 데이터들의 묶음으로 어느 한 조직의 여러 응용 시스템들이 공용할 수

있도록 통합 저장된 운영 데이터의 집합을 말한다.

(통합된 데이터, 지정된 데이터, 운영 데이터, 공용 데이터)

 

JDBC(Java DataBase Connection)

-JDBC는 자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API이다.

JDBC는 데이터베이스에서 자료를 쿼리하거나 업데이트하는 방법을 제공하며 데이터베이스 질의문을

실행하여 관계형 데이터베이스(Relation Database)의 데이터를 검색, 갱신하는 방법을 제공한다.

 

Query(쿼리)

-쿼리는 데이터를 조회하는데 사용되는 언어로 레코드가 가진 데이터 값들을 얻어오는 (select)구문이 이에 속한다.

 

DML(Data Manipulation Language)

-데이터를 처리하는 부분으로 레코드에 새로운 행을 추가(insert), 변경(update), 삭제(delete)하는데 사용하는 언어

 

DDL(Data Definition Language)

-데이터를 정의하는데 사용되는 언어로 테이블이나 유저를 생성(create)하거나 삭제(drop)하는 구문들이다.

 

DCL(Data Control Language)

-데이터를 제어하는데 사용되는 언어로 DDL로 유저를 생성하고 난 뒤 권한부여(grant)등이 여기에 속한다.

'DB' 카테고리의 다른 글

[DB] IN연산자  (0) 2021.03.23
[DB]컬럼 별칭 사용  (0) 2021.03.21
[DB] MySQL - 2  (0) 2020.10.15
[DB]MySQL -1  (0) 2020.10.15

+ Recent posts