Perl MySQL创建表
时间:2019-11-20 08:52:38 来源:igfitidea点击:
简介:在本教程中,我们将向您展示如何使用Perl DBI API在MySQL数据库中创建表。
Perl MySQL创建表的步骤
在对数据库执行其他操作(例如,插入,更新,删除和查询数据)之前,您需要创建新表来存储数据。
要创建一个新表,请使用以下步骤:
连接到MySQL数据库。
通过调用数据库句柄对象的do()方法来执行CREATE TABLE语句。
断开与MySQL数据库的连接。
Perl MySQL创建表示例
我们将在perlmysqldb示例数据库中创建三个表:
链接:存储URL,包括link_id,标题,URL和目标。
标签:存储链接的标签,包括tag_id和tag。
link_tags:存储链接和标签表之间的关系,包含两个字段link_id和tag_id。
下图说明了这些表:
以下是创建表的Perl脚本:
#!/usr/bin/perl use strict; use warnings; use v5.10; # for say() function use DBI; say "Perl MySQL Create Table Demo"; # MySQL database configurations my $dsn = "DBI:mysql:perlmysqldb"; my $username = "root"; my $password = ''; # connect to MySQL database my %attr = (PrintError=>0, RaiseError=>1); my $dbh = DBI->connect($dsn,$username,$password, \%attr); # create table statements my @ddl = ( # create tags table "CREATE TABLE tags ( tag_id int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, tag varchar(255) NOT NULL ) ENGINE=InnoDB;", # create links table "CREATE TABLE links ( link_id int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, title varchar(255) NOT NULL, url varchar(255) NOT NULL, target varchar(45) NOT NULL ) ENGINE=InnoDB;", # create link_tags table "CREATE TABLE link_tags ( link_id int(11) NOT NULL, tag_id int(11) NOT NULL, PRIMARY KEY (link_id,tag_id), KEY fk_link_idx (link_id), KEY fk_tag_idx (tag_id), CONSTRAINT fk_tag FOREIGN KEY (tag_id) REFERENCES tags (tag_id), CONSTRAINT fk_link FOREIGN KEY (link_id) REFERENCES links (link_id) ) ENGINE=InnoDB" ); # execute all create table statements for my $sql(@ddl){ $dbh->do($sql); } say "All tables created successfully!"; # disconnect from the MySQL database $dbh->disconnect();
这个怎么运作。
首先,使用connect()方法创建与perlmysqldb数据库的连接。
接下来,定义一个包含三个CREATE TABLE语句的数组@ddl。
然后,调用数据库句柄对象的do()方法以在循环内执行每个CREATE TABLE语句。
我们经常使用do()方法执行不返回结果集的非选择语句。之后,显示一条消息,指示所有表已成功创建。
最后,断开与数据库的连接。
脚本的输出如下:
Perl MySQL Create Table Demo All tables created successfully!
现在,您可以检查perlmysqldb数据库以验证表是否已成功创建。
在本教程中,您学习了如何使用数据库句柄对象的do()方法从MySQL数据库中的Perl程序创建新表。