IT/SQL

[Sqlite] PHP + Sqlite DB파일 생성 CREATE, ALTER, SELECT 등등

월공 2021. 4. 14. 09:33
728x90
300x250

나중에 까먹을까봐 기록해두는 sqlite

select, insert, update 는 사실 자주 쓰여서 까먹을일이 없는데 컬럼으로 존재여부 확인하고 alter 시키는건 기록 ~!

//db 폴더로 경로 설정
$path = "./db";

//db 폴더 존재하지 않으면 생성
if (!is_dir($path)) {
    mkdir($path, 0777, true);
}

//db 폴더 내부에 test.db 라는 파일 있는지 체크
$is_file_exist = file_exists('./db/test.db');

//db 폴더 내부에 test.db 라는 파일 없으면 생성
if(!$is_file_exist){
    fopen("./db/test.db","w");
}

//sqlite DB 연동
$DB = new SQLite3('./data/RecordON.db');


//==============================================================

//test 라는 테이블이 없으면 생성
$query  = " CREATE TABLE IF NOT EXISTS test ( ";
$query .= "  test1	INTEGER NOT NULL, ";
$query .= "  test2 TEXT ";
$query .= "  );  ";

$DB->query($query);

//TMEMBER 라는 테이블에 crtime 이라는 컬럼이 있는지 없는지 여부 체크
//없으면 컬럼들 추가
$query = " SELECT COUNT(*) AS CNTREC FROM pragma_table_info('TMEMBER') WHERE name='crtime'  ";  
$result_cnt = $DB->query($query);
$row_cnt = $result_cnt->fetchArray()  ;

if($row_cnt[0] > 0){
}else{
  $query  = " BEGIN TRANSACTION; ";              
  $query  .= " ALTER TABLE TMEMBER ADD COLUMN crtime TEXT ; ";  
  $query  .= " ALTER TABLE TMEMBER ADD COLUMN test1 TEXT ; ";
  $query  .= " ALTER TABLE TMEMBER ADD COLUMN test2 TEXT ; ";
  $query  .= " COMMIT ";

$DB->query($query);
}

 

728x90
300x250