1. MySQL

- 데이터를 쉽고 편리하게 다룰 수 있도록 하기 위해서 등장한 것

(데이터베이스 메니지먼트 시스템(DBMS) Oracle, SQL Server, MySQL, DB2

ex) 데이터베이스: 책장 / 데이터메니먼트시스템 : 책장관리자

 

2. SQL

- 데이터를 보다 쉽게 검색하고 추가, 삭제, 수정 같은 조작을 할 수 있도록 고안된 컴퓨터 언어

- 관계형 데이터베이스에서 데이터를 조작하고 쿼리하는 표준

 

- DML (Data Manipulation Language): 데이터를 조작하기 위해 사용
INSERT, UPDATE, DELETE, SELECT 등

 

SELECT

SELECT * FROM 테이블명;

select 필드명 from 테이블명;

 

employee 테이블에서 직원의 사번(empno), 이름(name), 직업(job)을 출력하시오.

select empno as 사번, name as 이름, job as 직업 from employee;

employee 테이블에서 사번과 부서번호를 하나의 칼럼으로 출력하시오

SELECT concat( empno, '-', deptno) AS '사번-부서번호' FROM employee;

사원 테이블의 모든 부서번호 출력하시오. (사원 수 만큼 출력된다.)

select deptno from employee;

사원 테이블의 부서번호를 중복되지 않게 출력하시오.

select distinct deptno from employee;

employee 테이블에서 직원의 사번(empno), 이름(name), 직업(job)을 출력하시오.

단, 이름을 기준으로 오름차순 정렬합니다.

select empno, name, job from employee order by name;

select empno as 사번, name as 이름, job as 직업 from employee order by 이름;

select empno, name, job from employee order by name desc;

employee 테이블에서 고용일(hiredate)이 1981년 이전의 사원이름과 고용일을 출력하시오.

select name, hiredate from employee where hiredate < '1981-01-01';

select name, deptno from employee where deptno = 30;

select name, deptno from employee where deptno in (10, 30);(또는)

select name, job from employee where name like '%A%';(% 는 0에서부터 여러 개의 문자열을 나타냄)

 

INSERT

INSERT INTO 테이블명(필드1, 필드2, 필드3, 필드4, … ) VALUES ( 필드1의 값, 필드2의 값, 필드3의 값, 필드4의 값, … )

UPDATE

UPDATE 테이블명 SET 필드1=필드1의값, 필드2=필드2의값, 필드3=필드3의값, … WHERE 조건식

DELETE

DELETE FROM 테이블명 WHERE 조건식

 

- DDL (Data Definition Language): 데이터베이스의 스키마(데이터 집합)를 정의하거나 조작하기 위해 사용
CREATE, DROP, ALTER 등

 

CREATE

create table 테이블명( 필드명1 타입 [NULL | NOT NULL][DEFAULT ][AUTO_INCREMENT],

필드명2 타입 [NULL | NOT NULL][DEFAULT ][AUTO_INCREMENT],

필드명3 타입 [NULL | NOT NULL][DEFAULT ][AUTO_INCREMENT], ...........

PRIMARY KEY(필드명) );

 

테이블 수정

alter table 테이블명 add 필드명 타입 [NULL | NOT NULL][DEFAULT ][AUTO_INCREMENT];

alter table 테이블명 change 필드명 새필드명 타입 [NULL | NOT NULL][DEFAULT ][AUTO_INCREMENT];

alter table 테이블명 rename 변경이름;

 

테이블 삭제

alter table 테이블명 drop 필드명;

 

- DCL (Data Control Language) : 데이터를 제어하는 언어, 권한을 관리하고, 테이터의 보안, 무결성 등을 정의
GRANT, REVOKE 등

 

create database DB이름;

 

데이터베이스 사용자 생성과 권한 주기

- db이름 뒤의 * 는 모든 권한을 의미

- @’%’는 어떤 클라이언트에서든 접근 가능하다는 의미이고, @’localhost’는 해당 컴퓨터에서만 접근 가능하다는 의미

- flush privileges는 DBMS에게 적용을 하라는 의미

grant all privileges on db이름.* to 계정이름@'%' identified by '암호’;

grant all privileges on db이름.* to 계정이름@'localhost' identified by '암호’;

flush privileges;

 

데이터베이스 접속

mysql –h호스트명 –uDB계정명 –p 데이터베이스이름

(mysql –h127.0.0.1 –uconnectuser –p connectdb [enter])

 

연결끊기

QUIT

exit

 

입력 도중 취소

\c

 

show databases;

use mydb;

show tables;

desc 테이블명;

 

Maven?

프로젝트를 빌드하는 방법에 대하여 가이드하는 것도 쉬운 일이 아님 so

Maven에 설정한 대로 모든 개발자가 일관된 방식으로 빌드를 수행

다양한 플러그인을 제공해줘서, 굉장히 많은 일들을 자동화

설정 파일에 몇 줄 적어줌으로써 직접 다운로드 받거나 하는 것을 하지 않아도 라이브러리를 사용

<project xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>kr.or.connect</groupId>
    <artifactId>examples</artifactId>
    <packaging>jar</packaging>
    <version>1.0-SNAPSHOT</version>
    <name>mysample</name>
    <url>http://maven.apache.org</url>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
</project>
  • project : pom.xml 파일의 최상위 루트 엘리먼트(Root Element)입니다.
  • modelVersion : POM model의 버전입니다. 
  • groupId : 프로젝트를 생성하는 조직의 고유 아이디를 결정합니다. 일반적으로 도메인 이름을 거꾸로 적습니다.
  • artifactId : 해당 프로젝트에 의하여 생성되는 artifact의 고유 아이디를 결정합니다. Maven을 이용하여  pom.xml을 빌드할 경우 다음과 같은 규칙으로 artifact가 생성됩니다. artifactid-version.packaging. 위 예의 경우 빌드할 경우 examples-1.0-SNAPSHOT.jar 파일이 생성됩니다.
  • packaging : 해당 프로젝트를 어떤 형태로 packaging 할 것인지 결정합니다. jar, war, ear 등이 해당됩니다.
  • version : 프로젝트의 현재 버전. 추후 살펴보겠지만 프로젝트가 개발 중일 때는 SNAPSHOT을 접미사로 사용합니다. Maven의 버전 관리 기능은 라이브러리 관리를 편하게 합니다.
  • name : 프로젝트의 이름입니다.
  • url : 프로젝트 사이트가 있다면 사이트 URL을 등록하는 것이 가능합니다.

 

JDBC

자바 프로그램 내에서 SQL문을 실행하기 위한 자바 API(응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻)

 

import java.sql.*;

Class.forName( "com.mysql.jdbc.Driver" ); //드라이버 로드

String dburl = "jdbc:mysql://localhost/dbName";

Connection con = DriverManager.getConnection ( dburl, ID, PWD ); // /커넥션 연결

Statement stmt = con.createStatement();

 

ResultSet rs = stmt.executeQuery("select no from user" );

 

stmt.execute(“query”); //any SQL

stmt.executeQuery(“query”); //SELECT

stmt.executeUpdate(“query”); //INSERT, UPDATE, DELETE

 

닫기

rs.close();

stmt.close();

con.close();

':: IT > 백엔드' 카테고리의 다른 글

상태정보(쿠키와 세션)  (0) 2020.04.02
백엔드 정의, HTTP, 브라우저, WAS, Servlet,JSP  (0) 2020.03.30
[Spring]  (0) 2020.03.29
scope(스코프)  (0) 2020.03.28

+ Recent posts