Perl6로 DB에 연결
Perl 6 Advent Calendar 2015의 10일째입니다.
DBIish
에서 DB에 연결하려고합니다.로컬에 mariadb 설치
Mac에서 homebrew로 mariadb를 설치하십시오.
# インストール
$ brew install mariadb
# 起動
$ mysql.server start
# セキュリティ設定
$ mysql_secure_installation
## root のパスワードを root にしました(セキュリティ設定とは一体)
# データベース作成
$ mysql -uroot -proot -e'create database perl6test'
품목
값
데이터베이스 이름
perl6test
사용자 이름
루트
비밀번호
루트
이번에는 이것을 사용합니다.
DBIish you a merry Christmas
연결
use v6;
use DBIish;
my
$dbh = DBIish.connect(
"mysql",
:database<perl6test>,
:user<root>,
:password<root>,
:RaiseError
);
테이블 만들기
my
$sth = $dbh.do(q:to/STATEMENT/);
DROP TABLE IF EXISTS idol ;
STATEMENT
$sth = $dbh.do(q:to/STATEMENT/);
CREATE TABLE idol (
id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
family_name VARCHAR(12),
last_name VARCHAR(12),
age TINYINT UNSIGNED
) ;
STATEMENT
선불 문
$sth = $dbh.prepare(q:to/STATEMENT/);
INSERT INTO idol (family_name, last_name, age)
VALUES ( ?, ?, ? ) ;
STATEMENT
$sth.execute('星宮', 'いちご', 16);
$sth.execute('霧矢', 'あおい', 16);
$sth.execute('紫吹', '蘭', 17);
$sth.execute('大空', 'あかり', 13);
fetchall_arrayref
my
$sth = $dbh.prepare(q:to/STATEMENT/);
SELECT id, family_name, last_name, age FROM idol ;
STATEMENT
$sth.execute;
my
$arrayref = $sth.fetchall_arrayref();
# 要素数
$arrayref.elems.say; #=> 4
# $arrayref の中身を dump ...
$arrayref.perl.say; #=> $[["1", "星宮", "いちご", "16"], ["2", "霧矢", "あおい", "16"], ["3", "紫吹", "蘭", "17"], ["4", "大空", "あかり", "13"]]
# family_nameとlast_nameだけとりだし
for @( $arrayref ) -> $idol {
@( $idol ).[1,2].join.say;
}
fetchrow-hash
my
$sth = $dbh.prepare(q:to/STATEMENT/);
SELECT id, family_name, last_name, age FROM idol ;
STATEMENT
$sth.execute;
loop {
my $hash = $sth.fetchrow-hash ;
last unless $hash ;
# $hash の中身を dump
$hash.perl.say;
# family_nameとlast_nameだけとりだし
$hash.{'family_name', 'last_name'}.join.say;
}
방법은 그 밖에도 많이.
절단
$sth.finish;
$dbh.disconnect;
(덤) 문서 참조 명령
$ p6doc DBIish
$ p6doc DBDish::Role::ErrorHandling
$ p6doc DBDish::Role::Connection
$ p6doc DBDish::Role::StatementHandle
끝입니다.
참고 및 주석
Reference
이 문제에 관하여(Perl6로 DB에 연결), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/B73W56H84/items/942d861cd2f036691ba6텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)