본문으로 바로가기

DATABASE란?

여러 사람이 공유하여 사용할 목적으로 체계화해 통합, 관리하는 데이터 집합이다. 작성된 목록으로써 여러 응용 시스템들의 통합된 정보들을 저장하여 운영할 수 있는 공용 데이터들의 묶음이다. -위키백과-

 

->어떤 규칙을 가진 데이터의 집합

 

Database의 Table 구조

 

Table 구조도

 

DB(MYSQL) 리눅스 환경구축

  • sudo apt-get install mariadb-common mariadb-server mariadb-client -y
  • mysql -u root

MariaDB [(none)]> create database firstdb;

MariaDB [(none)]> show databases;

MariaDB [(none)]> use firstdb

 

 


SQL 쿼리란?

SQL (Structured Query Language)

 

  • 관계형 데이터베이스에서 사용하는 표준 질의언어를 말한다.
  • 사용 방법이나 문법이 다른 언어(Java, C, C#, Java)보다 단순하다.
  • 모든 DBMS에서 사용 가능하다.
  • 인터프리터 언어
  • 대소문자 구별하지 않는다.

SQL 

내용

insert

데이터베이스 객체에 데이터를 입력

delete

데이터베이스 객체에 데이터를 삭제

update

데이터베이스 객체 안의 데이터 수정

select

데이터베이스 객체 안의 데이터 조회

참고:hojak99.tistory.com/327

 

 

Table 생성

MariaDB [firstdb]> create table member ( id varchar(32), pw varchar(32), value varchar (1000));

MariaDB [firstdb]> show tables;

MariaDB [firstdb]> desc member;

 

SQL 쿼리 문 예제

MariaDB [firstdb]> insert into member values('admin','1234','first');

MariaDB [firstdb]> select * from member;

MariaDB [firstdb]> update member set pw='5678',value='change' where id='admin';

MariaDB [firstdb]> select * from member;

MariaDB [firstdb]> delete from member where id='admin';

 

 

 

SQL 쿼리 활용

table 세팅

 

where과 *를 활용한 sql 쿼리

'member' 라는 테이블 중 id 값이 'naver'인 id(칼럼)값을 조회
'member' 라는 테이블 중 id값이 'naver'인 열을 조회(*로 모든 칼럼을 표시)
'member' 라는 테이블 중 id에 해당되는 칼럼을 조회
'member' 라는 테이블 중 id에 맞는 pw값을 조회

 

참 거짓 활용

sql 쿼리의 참 거짓여부로 조회 내용이 달라진다. 

이는 이후 sql injection에 활용된다.

조건을 담당하는 where안에 and 사용이 가능한 모습 

 

이를 활용하여 다음과 같이 활용할 수 있다.

'member'의 테이블중 id의 값이 'admin'인 pw의 값에서 pw의 맨 왼쪽값(처음값)이 아스키 코드로 80 이하면 조회

 

 

아님 간단하게 select만으로 값을 확인할수도 있다.

참거짓이 0과 1로 표현되는 모습

 

imformation_schema 활용

information_schema로 칼럼을 확인하는 모습