본문으로 바로가기

Maria DB

데이터베이스 설치 & 서버 질의문을 이용한 회원 테이블 작성

 

라즈베리로 프로그램을 설치할때는 관리자 권한으로 설치하는것이 좋다.
why? root 권한으로 들어가서 무슨짓을 하면 되돌릴수 없기때문이다.

설치를 하게 되면 최신 버전이 설치가 되어야 한다
그래서 처음에 sudo apt-get upgrade를 한다. 그 다음에 Maria(DB)를 설치한다. 

sudo apt-get install mariadb-server mariadb-client로 설치를 한다. 

 sudo mysql -uroot를 친다. -u는 사용자를 뜻한다. 즉  root사용자이다.

 

Database의 목록을 보기 위해서 show database;를 친다.

mydb라는 database를 생성하고 해당 database를 사용하기 위해 use mydb를 친다.

만들어 졌는지 확인하기 위해 show databases;를 친다.

나올때는 ctrl + d 누르면 나오게 된다.

 

데이터베이스에 저장될 데이터들은 칼럼(Column),레코드(Record),테이블(Table),데이터베이스(DataBase)로 나타낸다.

 

SQL(Structured Query Language)

구조화된 질의어로 데이터베이스의 데이터들을 조작하는 명령들입니다.

ex) select id,name,email from tblRegister

select는 어떤 데이터를 가져온다는 의미입니다.

from 뒤에 있는 부분은 어떤 공간을 지정한다는 뜻입니다.

 

컬럼,열,속성(Attribute)
속성은 위의 예에서 책제목,저자명,출판사명 등이 될수 있다.

하나의 행은 다수의 속성들로 이루어진다는 것을 알수 있으면 여러 행들 중 각각의 행들을 구별할 수 있는 컬럼은 그 테이블의 키가 됩니다.

 

레코드(기록) ,행 

라즈베리 파이 입문이란 책은 라즈베리 파이 입문이라는 책 제목, 홍길동이란 저자명 앤써북이라는 출판사명을 가지는데 이렇게 여러 연관된 속성의 집합이 레코드가 됩니다.

하나의 책은 하나의 레코드에 대응된다.

 

Entity(개체)

개체는 하나의 테이블로 표현됩니다. 개체는 바로 책, 직원, 회원들이 됩니다. 하나의 개체는 자신의 특성을 가진다.

이런 특성을 개체의 속성이라고 한다.

 

관계형 데이터베이스

모든 데이터들을 테이블과 같은 형태로 나타내어 저장하는 데이터베이스입니다.

즉, 행과 열로써 데이터를 표현하는 데이터베이스입니다.

one to one(1:1) 관계 : 한 테이블에 있는 하나의 데이터는 다른 테이블에 있는 하나의 데이터와 연관

ont to N(1:N) 관계 : 한 테이블에 있는 하나의 데이터는 다른 테이블에 있는 여러 개의 데이터에 연관

N to N(N:N) 관계 : 복수 개의 데이터는 복수 개의 데이터에 연관, 이경우느 비정상적인 관계가 됩니다.  

                          그래서  1:N, N:1의 관계를 가질수 있게 되어 하나의 테이블을 더 만들어야 한다.

 

주키(Primary Key)

그림의 책 테이블의 경우에는 그림 상으로는 책이름이 주키가 되고 도서관 직원 테이블의 경우는 주키는 직원 하나하나를 구별할수 있는 컬럼을 주키로 정하고, 도서관 이용 회원 테이블의 경우는 회원의 ID를 주키로 정하면 될것입니다.

 

테이블

도서관에 보관되어 있는 책은 많습니다. 각각의 책들은 책꽂이에 꽂혀져 있습니다. 이 책쫒이가 바로 테이블입니다.

 

데이터 베이스

책,책꽂이가 있는 거대한 공간이 바로 도서관인데. 이 도서관이 바로 데이터베이스가 됩니다.

 

DB의 자료형태입니다.

 

회원테이블 만들기

데이터 베이스 생성과 삭제를 보여 주겠습니다.

데이터 베이스 생성하기에 앞서 sudo mysql -uroot로 들어갑니다

거기에서 show databases;를 쳐서 데이터베이스 안에 있는것을 확인합니다.

drop database mydb를 치면 mydb가 삭제 됩니다.

그리고  show databases;를 쳐서 확인합니다.

다시 mydb를 만듭니다. create database mydb collate utf8_genaral_ci;를 치면 됩니다.

그리고 use mydb를 쳐서 mydb를 사용합니다.

테이블을 생성해보겠습니다.

sudo mysql -uroot을 치고 들어갑니다.

책에 p234에 나오는 내용을 그대로 칩니다

show tables;를 쳐서 확인을 합니다.

->에서 나오는 법은 \c를 누르면 나오게 됩니다.

테이터베이스이름, 테이블이름, 한 테이블 안에 칼럼이름은 중복이 되어서는 안된다.

리눅스용 Maria 데이터베이스 서버에서는 대소문자를 구분합니다.

 

 

desc 테이블명 : 테이블 속성을 확인

ALTER TABEL tbiRegister

     ADD PRIMARY KEY(ID)을 넣을수 있다.

SELECT * FROM 테이블명 : 테이블 안에 있는 데이터를 조회

INSERT INTO 테이블명() VALUES();를 통해 테이블에 데이터를 입력

UPDATE 테이블명 SET 컬럼명 = [VALUE] WHERE [조건];을 통해 데이터를 변경

 DELETE FROM 테이블명 WHERE [조건];로 데이터를 삭제한다.

UPDATE 테이블명 SET 컬럼명 = [VALUE] WHERE [조건];을 통해 데이터를 변경

변경 된것을 select * from tblRegister;를 통해 변경 된것을 확인할수 있다.

 

TIP

CHAR와 VARCHAR에 대해 알아보겠다.

CHAR의 경우 저장될 값의 길이가 확실한 경우에 설정합니다.

VARCHAR의 경우는 저장될 값의 길이가 변동적일 경우에 사용합니다.

 

 

파이썬과 Maria 데이터베이서 서버 연결

 

파이썬과 Maria 데이터베이스 서버를 연결하기 위해서는 먼저 파이썬 버전 체크와 파이썬 모듈을 설치해야 합니다.

 

python -V로 버전을 확인한다.

python3 -m pip install PyMySQL을 통해 설치를 한다.

파이썬과 Maria 연결 설정하는 방법

먼저 mysql 데이터베이스에 있는 user 테이블에 root계정의 plugin값을 그림과 같이 수정해야 합니다.

빈값으로 설정을 해야지 파이썬에서 연결이 가능합니다.

user 테이블이 mysql 데이터베이스 안에 있는 테이블이기 때문에 먼저 use mysql을 실행하고 UPDATE을 해야 한다.

밑에 그림이 있습니다.

Maria 데이터베이스 서버에서 root계정 비밀번호를 설정합니다. 밑에 그림에 있습니다.

 

mariaConnection.py안에 밑에 내용을 적는다.

이제 python mariaConnection.py로 실행을 한다

그러면 밑에 그림과 같이 나온다.

강사님이 주신것으로 변경

 

mariaConnection.py안에 밑에 내용을 적는다.

 

이제 python mariaConnection.py로 실행을 한다

그러면 밑에 그림과 같이 나온다.

'스마트팩토리 > 라즈베리파이' 카테고리의 다른 글

2020/7/31 라즈베리 파이  (0) 2020.07.31
2020/7/29 라즈베리 파이  (0) 2020.07.30
2020/7/28 라즈베리 파이  (0) 2020.07.28
2020/07/27 라즈베리 파이  (0) 2020.07.27
2020/07/24 라즈베리 파이  (0) 2020.07.24