The perl DBI interface to mysql actually works!
Here are my notes.
Below are the commands for
- creating a database
- creating a template for a table
- adding fields into the table
- creating users and giving them rights to your table
- using the DBI interface from perl to access the table.
---------------------------------------------------------------------------------
Notes:
mysql -u root -p
Logs you into mysql as root.
Of course the UNIX root is completely different than the mysql root.
create database example;
Creates a database called example
use example;
Switches to the database called example
CREATE TABLE mytable (
-> name CHAR(30),
-> phone CHAR(10)
-> );
This creates a template for a table with two fields: name,phone
INSERT INTO mytable VALUES ("Homer Simpson", "555-1234");
This inserts the line: Homer Simpson, 555-1234
into the table called mytable
SELECT * FROM mytable;
This prints the table called mytable
GRANT usage
-> ON example.*
-> TO test@localhost;
This creates a user call test who can only connect from localhost
GRANT select, insert, delete
-> ON example.*
-> TO test@localhost;
This gives select, insert, and delete permission to user:
exit
This exits the mysql session
--------------------------------------
PERL
This script logs into the mysql
database called example as
user test who has password test
It prints out the contents of mytable
using the DBI interface.
----------
#!/usr/bin/perl
use DBI;
$dbh = DBI->connect('dbi:mysql:example','testx','testx');
$sql = "select * from mytable";
$sth = $dbh->prepare($sql);
$sth->execute ||
die "Could not execute SQL statement ... maybe invalid?";
#output database results
while (@row=$sth->fetchrow_array)
{ print "@row\n" }
|