Difference between revisions of "MySQL"
From wiki.visual-prolog.com
m (→MySQL and VIP) |
m (→MySQL and VIP) |
||
Line 1: | Line 1: | ||
== MySQL and VIP == | == MySQL and VIP == | ||
This article briefly describes how to install MySQL locally and how to interact with a MySQL DB using a VIP (GUI) program. | |||
This article briefly describes how to install MySQL locally and how to interact with a MySQL DB | |||
#'''Download and install MySQL'''<br><br>See http://www.mysql.com<br>and <br>http://dev.mysql.com/downloads/<br>Download the ''MySQL community Server''<br><br> | #'''Download and install MySQL'''<br><br>See http://www.mysql.com<br>and <br>http://dev.mysql.com/downloads/<br>Download the ''MySQL community Server''<br><br> | ||
#'''Configure the Server'''<br><br>At the end of the installation you will be automatically be prompted to configure the server, via the ''MySQL Server Instance Configuration Wizard''. You can call this wizard at any time from the Windows ''Start-Programs-MySQL'' menu item.<br><br>Select all the defaults for the dialogs as presented by the wizard: it's probably best to use a non-blank password.<br><br>Check that the server is running as a Windows service (''Control Panel - Performance and Maintenance - Administrative Tools - Services'')<br><br> | #'''Configure the Server'''<br><br>At the end of the installation you will be automatically be prompted to configure the server, via the ''MySQL Server Instance Configuration Wizard''. You can call this wizard at any time from the Windows ''Start-Programs-MySQL'' menu item.<br><br>Select all the defaults for the dialogs as presented by the wizard: it's probably best to use a non-blank password (e.g. "scott").<br><br>Check that the server is running as a Windows service (''Control Panel - Performance and Maintenance - Administrative Tools - Services'')<br><br> | ||
#'''Download and install the MySQL ODBC Driver'''<br><br>See http://www.mysql.com/products/connector/odbc/<br><br> | #'''Download and install the MySQL ODBC Driver'''<br><br>See http://www.mysql.com/products/connector/odbc/<br><br> | ||
#'''Create a Datasource'''<br><br>Go to ''Control Panel - Performance and Maintenance - Administrative Tools - Data Sources (ODBC)''<br>Under the dialog tab ''User DSN'', press ADD, select the ''MySQL ODBC Driver'' (probably version 3.51).<br><br>In the dialog, enter the following:<br> | #'''Create a Datasource'''<br><br>Go to ''Control Panel - Performance and Maintenance - Administrative Tools - Data Sources (ODBC)''<br>Under the dialog tab ''User DSN'', press ADD, select the ''MySQL ODBC Driver'' (probably version 3.51).<br><br>In the dialog, enter the following:<br> | ||
Line 14: | Line 12: | ||
#*'''Server''': localhost<br> | #*'''Server''': localhost<br> | ||
#*'''User''': root<br> | #*'''User''': root<br> | ||
#*'''Password''': | #*'''Password''': scott (the password you entered for the server in step 2 above)<br> | ||
#*'''Database''': fred<br>Press the TEST button - it should connect.<br><br> | #*'''Database''': fred<br>Press the TEST button - it should connect.<br><br> | ||
#'''Test the database with the Command Line Client'''<br><br>From the Start-All | #'''Test the database with the Command Line Client'''<br><br>From the ''Start-All Programs-MySQL'' menu, start the command line client. Enter the password at the prompt. The prompt should now be:<br>'''mysql>'''<br><br> | ||
#*Enter "show databases;" (without the quotes, but with the semi-colon), and database "fred" should be listed.<br> | #*Enter "show databases;" (without the quotes, but with the semi-colon), and database "fred" should be listed.<br> | ||
#*Enter "use fred"<br><br>Now create a table - <br> | #*Enter "use fred"<br><br>Now create a table called "person" in "fred" - <br> | ||
#*Enter "create table person (name varchar(20, age integer);"<br> | #*Enter "create table person (name varchar(20), age integer);"<br> | ||
#*Enter "show tables;" (remember the semi-colons)<br>Enter some data into the table. <br> | #*Enter "show tables;" (remember the semi-colons)<br><br>Enter some data into the table. <br> | ||
#*Enter "insert into person values('fred','87');<br><br>And then check the data is there:<br> | #*Enter "insert into person values('fred','87')";<br><br>And then check the data is there:<br> | ||
#*Enter "select * from person;"<br><br>and the data should be listed.<br><br>Close the MySQL session:<br> | #*Enter "select * from person;"<br><br>and the data should be listed.<br><br>Close the MySQL session:<br> | ||
#*Enter "quit".<br><br> | #*Enter "quit".<br><br> | ||
#'''Create a new VIP GUI project'''<br>Cut and paste the following code into taskwindow.pro, and (e.g.) call predicate test:() from File-New.<br><br>This example adds one more record to the table "person" and then lists the table. It will also list the data entered previously at the mysql command line prompt. | #'''Create a new VIP GUI project'''<br>Cut and paste the following code into taskwindow.pro, and (e.g.) call predicate test:() from File-New.<br><br>This example adds one more record to the table "person" and then lists the table. It will also list the data entered previously at the mysql command line prompt (step 5 above). | ||
<vip>predicates | <vip>predicates |
Revision as of 13:33, 25 September 2008
MySQL and VIP
This article briefly describes how to install MySQL locally and how to interact with a MySQL DB using a VIP (GUI) program.
- Download and install MySQL
See http://www.mysql.com
and
http://dev.mysql.com/downloads/
Download the MySQL community Server - Configure the Server
At the end of the installation you will be automatically be prompted to configure the server, via the MySQL Server Instance Configuration Wizard. You can call this wizard at any time from the Windows Start-Programs-MySQL menu item.
Select all the defaults for the dialogs as presented by the wizard: it's probably best to use a non-blank password (e.g. "scott").
Check that the server is running as a Windows service (Control Panel - Performance and Maintenance - Administrative Tools - Services) - Download and install the MySQL ODBC Driver
See http://www.mysql.com/products/connector/odbc/ - Create a Datasource
Go to Control Panel - Performance and Maintenance - Administrative Tools - Data Sources (ODBC)
Under the dialog tab User DSN, press ADD, select the MySQL ODBC Driver (probably version 3.51).
In the dialog, enter the following:
- Data Source Name: myodbc
- Description: a test
- Server: localhost
- User: root
- Password: scott (the password you entered for the server in step 2 above)
- Database: fred
Press the TEST button - it should connect.
- Data Source Name: myodbc
- Test the database with the Command Line Client
From the Start-All Programs-MySQL menu, start the command line client. Enter the password at the prompt. The prompt should now be:
mysql>
- Enter "show databases;" (without the quotes, but with the semi-colon), and database "fred" should be listed.
- Enter "use fred"
Now create a table called "person" in "fred" - - Enter "create table person (name varchar(20), age integer);"
- Enter "show tables;" (remember the semi-colons)
Enter some data into the table. - Enter "insert into person values('fred','87')";
And then check the data is there: - Enter "select * from person;"
and the data should be listed.
Close the MySQL session: - Enter "quit".
- Enter "show databases;" (without the quotes, but with the semi-colon), and database "fred" should be listed.
- Create a new VIP GUI project
Cut and paste the following code into taskwindow.pro, and (e.g.) call predicate test:() from File-New.
This example adds one more record to the table "person" and then lists the table. It will also list the data entered previously at the mysql command line prompt (step 5 above).
predicates test:() determ. clauses test():- Connection = odbcConnection::new(256), ConStr = @"DSN=myodbc;" @"UID=root;" @"PW=scott;", X = Connection:driverConnect(getVpiWindow(), ConStr, odbc_native::sql_driver_noprompt), stdio::write("Connection info =",X), % OR USE % Connection:connect("myodbc","root","scott"), Stmt = odbcStatement::new(Connection), Stmt:execDirect("INSERT INTO person VALUES ('harrypotter','4')"), look(Stmt), Connection:disconnect(). predicates look : (odbcStatement Stmt). clauses look(Stmt) :- Stmt:resetParameter_all(), Stmt:execDirect("select * from person"), NumColumns = Stmt:numResultCols(), Stmt:fetch_nd(), stdIO::nl(), Column = convert(core::positive, programControl::sequence_multi(1, NumColumns+0)), ColName = Stmt:colAttribute_string(Column+0, odbc_native::sql_desc_name), ColValue = Stmt:getColumnValue(Column+0), stdIO::writef("% = %, ", ColName, ColValue), fail. look(Stmt) :- Stmt:closeCursor().