SQL
뷰View
뷰는 사용자에게 접근이 허용된 자료만을 제한적으로 보여주기 위해 하나 이상의 기본 테이블로부터 유도된, 이름을 가지는 가상 테이블입니다. 쉽게 말하자면 제한된 데이터만 유저에게 보여주는 어떤 가상의 테이블을 만드는 것입니다.
create view v_userbuytbl
as
select u.userID, u.name, b.prodName, u.addr, concat(u.mobile1, u.mobile2) as '연락처'
from usertbl u
inner join buytbl b
on u.userID = b.userID
select * from v_userbuytbl where name = "김범수";
인덱스Index
장점 : (1) 검색을 빠르게 해서 확인하는 작업이 간편해집니다. 단점 : (1) 검색을 해서 수정하는 작업이는 효율이 떨어지고, (2) 인덱스를 만들기 위한 추가적인 메모리가 필요합니다. 대략 전체 공간의 10% 정도의 추가 공간이 필요합니다. (3) 처음에 인덱스를 생성하는 데에 시간이 소요됩니다.
create index 인덱스이름 on 테이블이름(필드1, 필드2, …); show index from 테이블이름
스크립트 언어 개요와 HTML 문법
서버 스크립트와 클라이언트 스크립트
- 클라이언트 스크립트 : 클라이언트의 웹 브라우저에서 해석되는 것입니다. html이나 js로만 구성된 코드로, 웹서버가 없어도 클라이언트의 디스크에 저장한 것이 바로 실행됩니다.
- 서버 스크립트 : 서버에서 처리해서 HTML 코드로 변환해 전달하는 언어입니다. 가령 PHP, JSP가 있습니다. 대부분 데이터베이스와 연동되며, 요청할 때마다 새로 해석해 클라이언트에게 전송하고, 실시간으로 변경되도록 프로그래밍됩니다. 동적 웹 사이트(Dynamic Web Site)를 구성할 때에 필요합니다. 가령, 현재 날씨 정보나 쇼핑물 물품의 현재 남은 수량을 체크할 때 요구됩니다.
PHP
변수
- 변수 이름 앞에
$
을 붙여주어야 합니다. - 별도의 변수 선언이 없고, 값을 대입하자마자 변수 데이터 형식이 결정됩니다.
데이터 형식
gettype()
: 변수의 데이터 형식을 보여줍니다.- SQL문을 문자열로 지정할 때에는, 구문을 큰 따옴표(
"
)로 묶고 SQL문 내부에서 필요한 문자열은 작은 따옴표('
)로 묶습니다.기본 문법
- if, elseif, else, switch, for, while 등 기본 문법은 C와 유사하나 변수이름 앞에는 반드시
$
를 붙여줌에 유의해야 합니다. - 배열은 (1)
$배열명 = array(값1, 값2, 값3, ...)
, (2)$배열명 = range(시작값, 끝값, 증가값);
, (3)$배열명[0] = 값1; $배열명[1] = 값2; ...
으로 선언할 수 있습니다. - 배열에 사용 가능한 함수로는 (1)
shuffle(배열명)
을 사용하여 배열의 내부를 임의로 섞을 수 있고, (2)foreach(배열명 as 변수명)
으로 foreach문을 사용할 수 있습니다. 이외에 (3)sort(배열명)
과rsort(배열명)
을 이용해 오름차순/내림차순 정렬이 가능하며, (4)array_reverse(배열명)
을 이용해 배열 순서를 반대로 저장할 수 있습니다.
php문서에서 mysql과 연결하기
링크 PHP의 mysql 메뉴얼 에서 php와 mysql 연동 함수를 확인할 수 있습니다.
연결하기
$db_host = "localhost";
$db_user = "root";
$db_password = "비밀번호";
$db_name = "";
$con = mysqli_connect($db_host, $db_user, $db_password, $db_name);
if(mysqli_connect_error($con)) {
echo "mysql connection error!", "<br>";
echo "오류 원인:", mysqli_connect_error();
exit();
}
echo "mysql connection complete";
mysqli_close($con);
이때,
(1) mysqli_coonect_error()는 DB와 연결시에 발생한 에러가 있는지 확인하는 php 내장함수입니다.
(2) mysqli_erroR($con)은 DB가 연결은 되었는데, 연결되어 테이블을 만들거나 사용할 때에 발생한 에러를 확인하는 php 내장함수입니다. 파라미터로 넘겨주는 $con을 활용해 DB정보를 넘겨줍니다.
혹은 간단히 die
함수를 활용하여 에러를 표시해줄 수도 있습니다.
$con = mysqli_connect("localhost","root","yelin0930!","dbsql2") or die("mysql 접속 실패");
SQL문 넘겨주기
$sql = "create database dbsql3";
$ret = mysqli_query($con, $sql);
if($ret) {
echo "sqldb가 정상적으로 실행되었습니다.";
} else {
echo "sqldb 생성 실패!";
echo mysqli_error($con);
}
위와 같은 코드를 이용하여 DB에 sql query를 넘겨줄 수 있습니다.