프로그래밍(Programming)/DB - Mysql

Mysql DB 주요 명령문

SuperKid 2019. 1. 6. 19:38

------------------------------------------------------------------------------------------------------------------


[ Mysql DB 주요 명령문 ]


* phpMyadmin 에서 sql 제어에 대한 php 명령어를 복사해서 php code 작성에 사용 가능.

* 명령 실행 결과를 사용시는 $변수명 = command 형태로 php에 변수를 전달해서 사용.(command 부분에 php문이 올 때는 " 생략, sql 문이 올 때는 " 로 감싸기.

* 일반적인 Mysql DB 제어 순서 (php문에서 Mysqli 를 사용하여 제어 가능)

 - 웹서버에서 DB에 접속 : $conn = mysqli_connect('localhost','root(사용자명)','password');

 - 사용할 DB 선택 : mysqli_select_db($conn, 'DB명');

 - 테이블 선택&조회 쿼리문 생성 : $sql = "SELECT * FROM '테이블명';

 - 쿼리 실행하여 $result 변수에 담기 : $result = mysqli_query($conn, $sql); 

   # 쿼리 결과물은 php가 해석 불가하므로 mysqli_fech_assoc를 이용하여 '관계형 배열' 형태로 데이터를 가지고 와서 사용 가능.

   # mysqli_fech_assoc는 데이터를 1줄씩 읽어옴.(특정 데이터 값 사용시는 1회만 실행(조회된 본문 출력 가능), 조회된 전체 테이블 데이터 사용시는 while문을 사용하여 조회된 테이블의 마지막 행까지 반복 실행(list를 만들 수 있음).

 - 조회된 쿼리 실행 결과물을 '관계형 배열'(python의 dictionary 개념)로 가지고 와서 $row 변수에 담음 : $row = mysqli_fetch_assoc($result)

* insert 쿼리문도 $result에 담으면 write 기능을 하게되고, mysqli_insert_id API를 사용하면 insert된 id 값을 바로 사용 가능.

$sql = " INSERT INTO xxx(~~~)VALUES(~~~);

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

$user_id = mysqli_insert_id($conn)


* data insert 문

 : $sql="INSERT INTO `topic`(`column_name1`,`column_name2`,`column_name3`) VALUES('value1', 'value2',value3')";

# sql 문에서 DB명, table명, column명 표기시는 ` (그레이브 엑센 기호를 사용하는게 좋음. 때로 생략 가능하기도 하지만 반드시 사용해야 하는 경우도 발생함.)


* DB결합 query문

 : $sql = "SELECT 전체 column * 또는 테이블명.생성할column명(,로 나열) FROM 테이블명1 LEFT JOIN 테이블명2

(LEFT JOIN은 오른쪽 DB를 왼쪽에 결합) ON 테이블명1.연계할column명 = 테이블명2.연계할column명 (필요시 WHERE 테이블명.column명="xxx"


-----------------------------------------------------------------------------------------------------