Perl Language
DBI 모듈을 통한 데이터베이스와의 간단한 상호 작용
수색…
매개 변수
기둥 | 기둥 |
---|---|
$driver | DB 용 드라이버, PostgreSQL의 경우 "Pg", MySQL의 경우 "mysql" |
$database | 데이터베이스 이름 |
$userid | 귀하의 데이터베이스 ID |
$password | 데이터베이스 비밀번호 |
$query | 여기에 검색어를 입력하십시오 (예 : "select * from $ your_table"). |
DBI 모듈
모듈 DBI가 PC에 설치되었는지 확인한 후 다음 단계를 따르십시오.
- perl 스크립트에서 DBI 모듈 사용
use DBI;
- 몇 가지 기본 매개 변수 선언
my $driver = "MyDriver";
my $database = "DB_name";
my $dsn = "DBI:$driver:dbname=$database";
my $userid = "your_user_ID";
my $password = "your_password";
my $tablename = "your_table";
- 데이터베이스에 연결
my $dbh = DBI->connect($dsn, $userid, $password);
- 쿼리 준비하기
my $query = $dbh->prepare("Your DB query");
전의:
$my_query = qq/SELECT * FROM table WHERE column1 = 2/;
my $query = $dbh->prepare($my_query);
아래와 같이 쿼리에서 변수를 사용할 수도 있습니다.
my $table_name = "table";
my $filter_value = 2;
$my_query = qq/SELECT * FROM $table_name WHERE column1 = $filter_value/;
- 쿼리 실행
$query->execute();
* 참고 : 주사 공격을 피하려면 자리 표시자를 사용해야 ?
대신 변수를 쿼리에 넣으십시오.
예 : '테이블'의 모든 데이터를 표시하려는 경우 column1 = $ value1 및 column2 = $ value2 :
my $query = $dbh->prepare("SELECT * FROM table WHERE column1 = ? AND column2 = ?;");
$query->execute($value1, $value2);
- 데이터를 플레 치하기
my @row = $query->fetchrow_array();
배열로 데이터 저장
또는
my $ref = $sth->fetchrow_hashref();
데이터를 해시 참조로 저장
- DB 종료 및 연결 해제
$sth->finish;
$dbh->disconnect();