Loading
2016. 4. 25. 15:00 - codeghost

[PHP] DB연동 커맨드 정리

전체 데이터베이스 보기

show databases;


여러개의 데이터베이스 중 sqldb 라는 이름의 데이터베이스 선택

use sqldb;


선택된 데이터베이스의 전체 테이블 보기

show tables;


test라는 이름의 데이터베이스 생성

create database test;


test라는 이름의 데이터베이스 삭제

drop database test;


login라는 이름의 테이블 구조 확인하기

desc login;


infoself라는 이름의 테이블 생성하기

mysql> create table infoself (

-> num int not null, // not null은 반드시 값을 입력해야 하는 필수 항목을 의미한다

-> name char(10),

-> address char(80),

-> tel char(20),

-> primary key(num) // num 필드를 기본키로 지정(중복되지 않은 유일한 값을 갖는다)

-> );


infoself라는 이름의 테이블 삭제하기

drop table infoself;


[DB 테이블 수정 명령]

새로운 필드 추가 : infoself 테이블에 email 필드 추가

alter table infoself add email char(20);


필드 삭제 : infoself 테이블에 tel 필드 삭제

alter table infoself drop tel;


필드 수정 : infoself 테이블에 tel char(20)을 phone int로 변경

alter table infoself change tel phone int;


필드타입 수정과 테이블명 수정은 각각 modify, rename을 사용


[레코드 관련 명령]

레코드 삽입 : login 테이블의 num, name, address, tel 필드에 데이터 삽입하기

mysql> inser into login (num, name, address, tel)

-> values (1, ‘배성진’, ‘서울 동작구 노량진동’, ‘234-7693’);


레코드 확인 : login 테이블에서 num, name 필드에 해당하는 데이터만 보기

mysql> select num, name from login;


login 테이블의 전체 필드에 대한 데이터를 보려면 *를 이용한다.

mysql> select * from login;


레코드를 나이순으로 정렬하고 싶다면 order by age(오름차순), order by age desc(내림차순) 이다. select 맨 끝에 붙인다.


레코드 삭제 : login 테이블에서 name 필드가 김길수인 레코드를 삭제한다.

mysql> delete from login where name=’김길수‘;


전체 레코드를 삭제하려면 mysql> delete from login;


[데이터베이스 백업 및 복원 명령]

데이터베이스 백업 : mysqldump –u계정 –p비밀번호 데이터베이스명 > 백업파일명

백업파일 복원 : mysql –u계정 –p비밀번호 데이터베이스명 < 백업파일명


[데이터베이스 연결 및 SQL 명령 실행 관련 PHP API 함수]

mysql_connect() : 데이터베이스에 접속

mysql_select_db() : 작업할 데이터베이스 선택

mysql_query() : 입력된 SQL 명령 실행

mysql_close() : 데이터베이스와의 접속 종료


[레코드와 필드의 개수 구하기]

레코드의 개수를 구할 때는 mysql_num_rows() 함수를 사용하고, 필드의 개수를 구할 때는 mysql_num_fields() 함수를 사용한다.


[PHP API 함수를 이용해 데이터 가져오기]

mysql_fetch_array() 함수를 이용해 레코드 가져오기 (예제7-4)

mysql_fetch_row() 함수를 이용해 레코드 가져오기 (예제7-5)

mysql_result()함수를 이용해 레코드 가져오기 (예제7-6)


select문의 실행 결과가 저장된 레코드 집합(resource ID)에서 하나의 레코드를 가져올 때는 mysql_fetch_row()나 mysql_fetch_array() 함수를 사용한다. 특정 위치에 있는 데이터를 읽어 올 경우에는 mysql_result() 함수를 사용한다.