Top Banner
PHP 제 5차시 한국디지털미디어고등학교 13기 웹 프로그래밍과 정욱재 정보는 어떻게 관리되어질까?
47

현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)

Feb 12, 2017

Download

Education

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)

PHP

제 5차시

한국디지털미디어고등학교13기 웹 프로그래밍과 정욱재

정보는 어떻게 관리되어질까?

Page 2: 현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)

데이터베이스

Page 3: 현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)

데이터베이스

정보저장이 불가능하면 당연히 얕은 수준의 서비스밖에 만들지 못한다.

정보저장이 불가능하면 계정조차 생성이 불가능하다.

그렇다면 그 정보들을 저장해야하는데, 그러한 정보들은 어디에 저장되어지고, 어떻게 저장할까?

Page 4: 현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)

데이터베이스

데이터베이스 : 여러 사람들이 공유하고 사용할 목적으로 통합 관리되는 정보의 집합

Page 5: 현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)

데이터베이스

정보 1 데이터

데이터베이스

정보 1

정보 2

정보 3

정보 4

정보 5

규칙 1

정보 1

정보 2

정보 3

정보 4

정보 5

규칙 2

Page 6: 현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)

데이터베이스

OS, 게임과 더불어 정말 크고 체계적인 소프트웨어로 꼽히는 DB

그만큼 여러가지 DB가 있고, 여러가지 옵션이 있다.

크게는 Nosql 방식과 RDBMS 방식.

DB를 전문적으로 팔 것이 아니면 상세히 알아둘 필요는 없다.

Page 7: 현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)

데이터베이스

RDBMS NoSQL

관계지향/엄격한 데이터 구조 고정되지 않은 정보/대용량의 정보

Page 8: 현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)

데이터베이스

RDBMS NoSQL

ex> Mysql, MsSQL ex> MongoDB

Page 9: 현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)

데이터베이스

어려운 말은 넘어가고

우리는 RDBMS 종류의 Mysql을 사용한다.

Page 10: 현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)

데이터베이스

모든 DB 관련 개발자가 공통적으로 처음에 배우는 DBMS

SQL 언어를 잘 배울 수 있는 DBMS

Page 11: 현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)

데이터베이스

테이블/필드/레코드/스키마/DB

Page 12: 현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)

데이터베이스

테이블/필드/레코드/스키마/DB

Page 13: 현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)

데이터베이스

테이블/필드/레코드/스키마/DB

Page 14: 현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)

SQL 언어 실습

Page 15: 현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)

SQL 언어 실습

http://qov.me/phpmyadmin/ 접속

Page 16: 현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)

SQL 언어 실습

ID : testForHyundai

PW: testPasswordForHyundai

Page 17: 현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)

SQL 언어 실습

수업보면서 자유롭게 실습!

Page 18: 현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)

SQL 언어 실습

다른 사람에게 폐는 안끼치면서

Page 19: 현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)

SQL 언어 실습

보통 phpmyadmin 에서 전부 얻을 수 있다.

하지만 php 코드 내부에서 바로 쓸 수 있게 하기 위해서 일부 문법을 알아두어야 한다.

Page 20: 현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)

SQL 언어 실습

SELECT

Page 21: 현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)

SQL 언어 실습

select [destinct] 테이블명 {, 테이블명} * from 필드명 {. 필드명} * [where 검색조건]

[order by 필드명 [asc or desc] {, 필드명 [asc or desc]} *] [group by 필드명 {, 필드명} *] [having 검색조건] ;

Page 22: 현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)

SQL 언어 실습

어렵다!

Page 23: 현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)

SQL 언어 실습

예제로 알아보자

SELECT * FROM `database1`;

database1 이란 테이블에서 모든 정보를 가져온다.

Page 24: 현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)

SQL 언어 실습

예제로 알아보자

SELECT name FROM `table1`;

table1 이란 테이블에서 이름만 가져온다.

Page 25: 현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)

SQL 언어 실습

예제로 알아보자

SELECT name FROM `table1` where level=3;

table1 이란 테이블에서 레벨이 3인 데이터의 이름만 가져온다.

Page 26: 현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)

SQL 언어 실습

예제로 알아보자

SELECT name FROM `table1` where level=3;

table1 이란 테이블에서 레벨이 3인 데이터의 이름만 가져온다.

* = 뿐만이 아니라 like(비슷한거) in (a,b) a, b 중 하나 등등 여러가지가 있다.

Page 27: 현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)

SQL 언어 실습

예제로 알아보자

이 정도면 충분히 쓸 수 있다.

Page 28: 현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)

SQL 언어 실습

INSERT

Page 29: 현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)

SQL 언어 실습

insert into table values (value1, value2, …)

Page 30: 현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)

SQL 언어 실습

insert into table(column1, column1, …) values (value1, value2, …)

Page 31: 현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)

SQL 언어 실습

역시 한번에 보기 어렵다!

Page 32: 현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)

SQL 언어 실습

예제로 알아보자

INSERT into Member (userName, userId, userPw)VALUES (‘정욱재’, ‘JeongId’, ‘JeongPw’);

Member란 테이블에 INSERT 한다.

Page 33: 현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)

SQL 언어 실습

DELETE

Page 34: 현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)

SQL 언어 실습

DELETE from 테이블명 [WHERE 검색조건] ;

Page 35: 현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)

SQL 언어 실습

역시 예제가 필요하다.

Page 36: 현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)

SQL 언어 실습

예제로 알아보자

DELETE from Member WHERE username=‘정욱재’;

Member라는 테이블에서 이름이 정욱재인 데이터를 삭제한다.

Page 37: 현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)

SQL 언어 실습

UPDATE

Page 38: 현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)

SQL 언어 실습

UPDATE table_name SET column1=value1, comlumn2=value2

[WHERE conditions…]

Page 39: 현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)

SQL 언어 실습

예제!

Page 40: 현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)

SQL 언어 실습

예제로 알아보자

UPDATE Member SET userPw=‘JeongPw2’ WHERE username=‘정욱재’;

Member에서 정욱재라는 이름을 가진 데이터의 비밀번호를 JeongPw2로 변경한다.

Page 41: 현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)

SQL 언어 실습

PHP 에서

Page 42: 현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)

SQL 언어 실습

Mysqli 라는 객체지향적 인터페이스 이용

Page 43: 현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)

SQL 언어 실습

사용법

Page 44: 현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)

SQL 언어 실습

<?php$host = 'example.com';$user = 'username';$password = 'password';$dbname = 'dbname';

$conn = mysqli_connect($host, $user, $password, $dbname);

if (mysqli_connect_errno($conn)) {echo "MySQL Connection Error : " . mysqli_connect_error();

} else {$table = 'DB TABLE NAME THAT YOU WANT TO QUERY';$check_query = "SELECT * from ".$table." WHERE 1;";

$result = mysqli_query($conn, $check_query);

if($result->num_rows > 0) {while ($row = mysqli_fetch_assoc($result)) {

$id = $row['id']."\t";$name = $row['name']."\t";$news .= $row['news'];

}}

mysqli_free_result($result);$conn->close();

}?>

Page 45: 현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)

SQL 언어 실습

<?php$host = 'example.com';$user = 'username';$password = 'password';$dbname = 'dbname';

$conn = mysqli_connect($host, $user, $password, $dbname);

if (mysqli_connect_errno($conn)) {echo "MySQL Connection Error : " . mysqli_connect_error();

} else {$table = 'DB TABLE NAME THAT YOU WANT TO QUERY';$insert_query = “INSERT into “.$table.” (some columns…) VALUES (some values…)“;

if(mysqli_query($conn, $insert_query)) { echo “insert success”; } else { echo “insert failed”; }

$conn->close();}?>

Page 46: 현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)

SQL 언어 실습

<?php$host = 'example.com';$user = 'username';$password = 'password';$dbname = 'dbname';

$conn = mysqli_connect($host, $user, $password, $dbname);

if (mysqli_connect_errno($conn)) {echo "MySQL Connection Error : " . mysqli_connect_error();

} else {$table = 'DB TABLE NAME THAT YOU WANT TO QUERY';$delete_query = “DELETE from “.$table.” WHERE conditions…;“;

if(mysqli_query($conn, $delete_query)) { echo “insert success”; } else { echo “insert failed”; }

$conn->close();}?>

Page 47: 현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)

SQL 언어 실습

<?php$host = 'example.com';$user = 'username';$password = 'password';$dbname = 'dbname';

$conn = mysqli_connect($host, $user, $password, $dbname);

if (mysqli_connect_errno($conn)) {echo "MySQL Connection Error : " . mysqli_connect_error();

} else {$table = 'DB TABLE NAME THAT YOU WANT TO QUERY';$delete_query = “UPDATE “.$table.” SET col=val WHERE conditions…“;

if(mysqli_query($conn, $delete_query)) { echo “insert success”; } else { echo “insert failed”; }

$conn->close();}?>