DataBase DAY2

이승준·2023년 9월 21일

커넥션 풀(Connection Pool)이란?
데이터베이스와 연결된 커넥션을 미리 만들어 놓고 이를 pool로 관리하는 것으로 필요할 때마다 커넥션 풀의 커넥션을 이용하고 반환하는 기법

=============================================================

릴레이션에 대한 연산의 실행 과정

추출하는 과정 방법

=============================================================
[문제]
select * from member where location = '대전';

select * frome member where grade = 'A' and hobby = 'climbing'

=============================================================

null값에 대한 설명

member, debt

aliasing, primary key(기본 키), foreign Key(외래키)

select m.member_id, m.member_name, d.debt_id, d.debt_book
from member m , debt d where m.member_id = d.member_id
--> join --> inner join

=============================================================
SQL 언어의 구성

  1. SQL 명령어나 테이블 이름, 속성 이름 등은 대소문자를 구분하지 않는다.
    ex) SELECT와 Select, select 같은 명령어
    EMP, Emp,emp도 같은 테이블을 가리킨다

  2. 테이블 안에 저장된 문자열 값을 비교할 때는 대소문자를 구분한다
    'SMITH', 'Smith', 'smith'는 서로 다른 값으로 취급한다

  3. SQL명령문은 한 줄에 작성해도 되고, 여러줄에 작성해도 된다.

Ex) "담당업무가 'SALESMAN'인 사원의 정보를 보이시오
이름,연봉(담당업무='SALESMAN(사원))

Select ename, sal FROM emp WHERE job = 'SALESMAN';

=============================================================
DISTINCT와 *

DISTINCT : 질의 결과에서 중복 제거

  • : 테이블의 모든 컬럼을 의미

ex) 사원의 담당 업무 목록을 보이시오
SELECT job FROM emp;

SELECT DISTINCT job FROM emp;

EX 2) 'SCOTT' 사원의 모든 정보를 보이시오
SELECT * FROM emp WHERE ename = 'SCOTT';

Ex 3) 입사일자가 '1981년 9월 1일' 이후인 사원들의 이름과 입사일자를 보여라
SELET ename, hiredate FROM emp WHERE hiredate >= '1981-09-01'

=============================================================
MySQL Client 테스트용 데이터베이스, 계정, 권한 생성
새 데이터베이스 생성

create database spinrgdev;

사용할 베이터베이스 선택

use springdev;

새 데이터베이스를 이용할 사용자 계정 생성

create user 'springdev'@'localhost'idenfitied by '****';

사용자 권한 설정

grant all privileges on springdev.* to 'springdev'@localhost';

=============================================================
Maria DB 중요 명령어
1. 데이터베이스 목록 확인

Show databases;

=============================================================
CREATE TABLE tbl_test(
'id' INT(11) NOT NULL
'name' VARCHAR(50) NOT NULL COLLATE
'gender' VARCHAR(10) NOT NULL COLLATE
'age' INT(11) NOT NULL,
PRIMARY KEY ('id) using Btree
)
Collate = 'UTF8MB4_GENERAL_CI'
ENGINE=InnoDB
;

INSERT INTO tbl_test (NAME,gender,age) VALUES ('김 철 수', '남 성' , 32);
INSERT INTO tbl_test (NAME,gender,age) VALUES ('김 보 미', '여 성' , 28);
INSERT INTO tbl_test (NAME,gender,age) VALUES ('김 민 철', '남 성' , 35);
INSERT INTO tbl_test (NAME,gender,age) VALUES ('박 아 지', '여 성' , 18);

profile
can't do it

0개의 댓글