PlanetScale - PHP를 사용하여 테이블 생성 및 정보 추가

이전에 PlanetScale 데이터베이스에 연결하는 방법에 대한 게시물을 작성했습니다. 찾을 수 있습니다.



테이블 만들기



PlanetScale의 UI를 사용하거나 프로그래밍 방식으로 테이블을 생성할 수 있습니다. 저는 PHP를 사용할 것이지만 일단 인스턴스에 연결하면 원하는 언어를 사용할 수 있습니다.

플래닛스케일 UI



SQL 코드를 직접 실행할 수 있도록 하는 PlanetScale 분기에서 액세스할 수 있는 web console이 있습니다.

CREATE TABLE `users` (
  `id` int NOT NULL AUTO_INCREMENT PRIMARY KEY,
  `email` varchar(255) NOT NULL,
  `first_name` varchar(255),
  `last_name` varchar(255)
);


프로그래밍 방식으로 테이블 생성



저는 PHP의 PDO 클래스를 사용하므로 PDO 개체 $db가 생성되었다고 가정합니다.

function createTable() {
    global $db;
    $query = 'CREATE TABLE `users` (
  `id` int NOT NULL AUTO_INCREMENT PRIMARY KEY,
  `email` varchar(255) NOT NULL,
  `first_name` varchar(255),
  `last_name` varchar(255)
)';
    $statement = $db->prepare($query);
    $statement->execute();
    $statement->closeCursor();
}


*참고: 브랜치가 "프로덕션"모드에서 실행 중인 경우에는 작동하지 않습니다. PlaneScale의 요점은 데이터베이스를 중단하지 않고 스키마를 업데이트할 수 있으므로 해당 분기를 직접 수정할 수 없다는 것입니다. 프로덕션 모드에 기본 분기가 이미 있는 경우 새 분기를 만듭니다. 두 번째 브랜치 'dev'를 호출하고 필요한 경우 스키마를 수정할 수 있도록 두 번째 브랜치에 PDO를 설정했습니다. 그런 다음 준비가 되면 분기를 기본으로 "배포 요청"할 수 있습니다.

PlanetScale 데이터베이스에 데이터 삽입



이제 평소처럼 SQL 문을 실행할 수 있습니다.

function addRow($userEmail, $fname, $lname) {
    global $db;
    //add user to group
    $query2 = "INSERT INTO users (email, first_name, last_name) VALUES (:userEmail,:first_name, :last_name)";
    $statement = $db->prepare($query2);
    $statement->bindValue(":userEmail", $userEmail);
    $statement->bindValue(":first_name", $fname);
    $statement->bindValue(":last_name", $lname);
    $statement->execute();
    $statement->closeCursor();
}

addRow("[email protected]", "TestUser1", "TestLastName");


PHPStorm을 사용하는 경우 DataGrip을 통해 PlanetScale 데이터베이스를 IDE에 연결하는 것이 좋습니다. Here is an article on how to do that . 이렇게 하면 자동 완성과 같은 기능을 제공하고 SQL 문에서 버그/오타를 더 쉽게 잡을 수 있습니다.

이 정보가 도움이 되었거나 질문이 있는 경우 아래에 의견을 남기거나 Twitter에서 저를 핑하십시오!

좋은 웹페이지 즐겨찾기