데이터베이스 & SQL

최우정·2022년 5월 24일
0
post-thumbnail

📒 데이터베이스의 개요 및 설치

✏️ 데이터베이스와 DBMS

DBMS란 Database Management System의 약어이며, 응용 프로그램과 데이터베이스 사이에서 데이터가 올바르게 정보 교환을 할 수 있도록 관리해주는 시스템을 말한다.

DBMS의 기능
정의기능: 테이블 등을 설계하고 생성
조작기능: 데이터의 삽입, 수정, 삭제, 검색 등 데이터를 조작
제어기능: 저장된 데이터가 일관성을 유지하고 데이터의 중복 문제를 발생하지 않도록 하는 기능

📝 MariaDB

MariaDB는 오픈소스 기반 DBMS이며, 라이선스 정책은 GPL v2 라이선스를 사용한다.
명령어는 MySQL과 동일하다. (라이선스 부분에서 MySQL에 비해서 자유롭기 때문에 MySQL의 대용으로 많이 사용하는 추세이다.)

📒 2. JDBC

✏️ JDBC의 개요

JDBC란 자바와 DBMS를 연결시켜주는 API(응용 프로그램 인터페이스)이다. 데이터베이스에서 데이터를 삽입, 수정, 삭제할 때 SQL 프로프트에서 SQL문을 사용하여 데이터를 추가하고 삭제하는 작업을 할 수 있게 하는 API이다.

📒 3. SQL 구문

SQL(Structured Query Language): 데이터베이스에 데이터를 삽입, 수정, 삭제, 검색을 하기 위한 관계형 데이터베이스에서 제공하는 질의 언어

✏️ DDL(Data Definition Language)

📝 a. 데이터베이스 만들기

데이터베이스 이름: testdb2

create database testdb2;

+ 데이터베이스 삭제

drop database testdb2;

📝 b. 사용자 만들기

사용자 계정: java
계정 비밀번호: java

CREATE USER java@localhost IDENTIFIED BY 'java';

📝 c. 권한 만들기

새로 만든 사용자 java에 대해 새로 만든 데이터베이스 testdb에 접근 (읽고, 쓰기 등) 할 수 있는 권한을 부여해준다.

GRANT ALL PRIVILEGES ON testdb2.* TO 'java'@'localhost';

📝 d. 새로 만든 사용자로 mariaDB 접속

새로 만든 사용자 계정인 java(권한을 받은)로 데이터 베이스에 접속

접근 가능한 데이터베이스 목록 확인

show databases;

사용할 데이터베이스 선택

📝 e. 새로운 테이블 (table) 만들기

테이블 이름: student

create table student(
	num int(11),
    name varchar(10),
    primary key(num)
);

varchar(10): 실제 입력하는 바이트 길이

  • varchar는 MySQL(MariaDB)에서 사용하는 형식, 문자열 255길이까지 저장
  • varchar2 형식은 Oracle에서 사용하는 형식으로 4000byted(한글 2000자, 영문 4000자)까지 저장

desc: description 서술(기술/묘사/표현)

📝 f. 테이블 변경 (alter문)

student 테이블의 name의 크기를 varchar(10)에서 varchar(20)으로 변경

ALTER TABLE student MODIFY name varchar(20);

✏️ DML (Data Manipublation Language)

📝 INSERT 문

student 테이블에 새로운 레코드를 추가

INSERT INTO student(num, name) VALUES (1, '야옹이');

student 테이블에 새로운 레코드 추가 2 (컬럼 이름을 작성하지 않고 추가하는 방법)

INSERT INTO student VALUES (2, '삼색이');

📝 UPDATE 문

student 테이블에서 기존 레코드의 데이터를 수정

UPDATE student SET name='고등어' WHERE num=1;

  • where 조건절을 작성하지 않으면, 모든 레코드의 값이 변경되므로 주의해야 한다.

📝 DELETE 문

DELETE FROM student WHERE name='삼색이';

name='삼색이'는 num=2 이므로 num=2로 해도 삭제가 가능하다.

📝 SELECT 문

student 테이블에서 기존 레코드를 검색하기 위해 insert 구문을 이용하여 기초 데이터 만들기.
ex) 고양이 5마리

SELECT * FROM student WHERE name='길냥이';

profile
비전공자 Java, JavaScript, Html, Css, C++ 공부중

0개의 댓글