shell> mysql -h host -u user -p // 接続
mysql> ・・・・・
mysql> QUIT // 切断
mysql> CREATE DATABASE base; // 作成
mysql> USE base // データベース base の選択
mysql> DROP DATABASE base; // 削除
mysql> CREATE TABLE gakuseki (No INT(9) NOT NULL PRIMARY KEY,
-> name VARCHAR(50) NOT NULL, math INT(3));
mysql> SHOW TABLES; // 存在するテーブルのリストの表示
出力結果:
+----------------+
| Tables_in_base |
+----------------+
| gakuseki |
+----------------+
mysql> DESCRIBE gakuseki; // テーブル gakuseki の定義内容の表示
出力結果:
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| No | int(9) | | PRI | 0 | |
| name | varchar(50) | | | | |
| math | int(3) | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+
111111111 山田 10
555555555 佐藤 50
mysql> LOAD DATA LOCAL INFILE "test1.txt" INTO TABLE gakuseki;
mysql> SELECT * FROM gakuseki;
出力結果:
+-----------+------+------+
| No | name | math |
+-----------+------+------+
| 111111111 | 山田 | 10 |
| 555555555 | 佐藤 | 50 |
+-----------+------+------+
222222222 鈴木 20
333333333 山本 30
111111111 山田 10
mysql> LOAD DATA LOCAL INFILE "test2.txt" INTO TABLE gakuseki;
mysql> SELECT * FROM gakuseki;
出力結果:
+-----------+------+------+
| No | name | math |
+-----------+------+------+
| 111111111 | 山田 | 10 |
| 555555555 | 佐藤 | 50 |
| 222222222 | 鈴木 | 20 |
| 333333333 | 山本 | 30 |
+-----------+------+------+
mysql> INSERT INTO gakuseki VALUES(444444444,'杉山',40);
mysql> SELECT * FROM gakuseki;
出力結果:
+-----------+------+------+
| No | name | math |
+-----------+------+------+
| 111111111 | 山田 | 10 |
| 555555555 | 佐藤 | 50 |
| 222222222 | 鈴木 | 20 |
| 333333333 | 山本 | 30 |
| 444444444 | 杉山 | 40 |
+-----------+------+------+
mysql> INSERT INTO gakuseki VALUES(222222222,'佐藤',40); → エラー
mysql> SELECT * FROM gakuseki;
削除前:
+-----------+------+------+
| No | name | math |
+-----------+------+------+
| 111111111 | 山田 | 10 |
| 555555555 | 佐藤 | 50 |
| 222222222 | 鈴木 | 20 |
| 333333333 | 山本 | 30 |
| 444444444 | 杉山 | 40 |
+-----------+------+------+
mysql> DELETE FROM gakuseki WHERE No=222222222;
mysql> SELECT * FROM gakuseki;
削除後:
+-----------+------+------+
| No | name | math |
+-----------+------+------+
| 111111111 | 山田 | 10 |
| 555555555 | 佐藤 | 50 |
| 333333333 | 山本 | 30 |
| 444444444 | 杉山 | 40 |
+-----------+------+------+
mysql> SELECT * FROM gakuseki;
修正前:
+-----------+------+------+
| No | name | math |
+-----------+------+------+
| 111111111 | 山田 | 10 |
| 555555555 | 佐藤 | 50 |
| 333333333 | 山本 | 30 |
| 444444444 | 杉山 | 40 |
+-----------+------+------+
mysql> UPDATE gakuseki SET math=100 WHERE No=111111111;
mysql> SELECT * FROM gakuseki;
修正後:
+-----------+------+------+
| No | name | math |
+-----------+------+------+
| 111111111 | 山田 | 100 |
| 555555555 | 佐藤 | 50 |
| 333333333 | 山本 | 30 |
| 444444444 | 杉山 | 40 |
+-----------+------+------+
mysql> SELECT * FROM gakuseki;
追加前:
+-----------+------+------+
| No | name | math |
+-----------+------+------+
| 222222222 | 鈴木 | 20 |
| 333333333 | 山本 | 30 |
| 111111111 | 山田 | 10 |
+-----------+------+------+
mysql> ALTER TABLE gakuseki ADD eng INT(3) AFTER name;
mysql> SELECT * FROM gakuseki;
追加後:
+-----------+------+------+------+
| No | name | eng | math |
+-----------+------+------+------+
| 222222222 | 鈴木 | NULL | 20 |
| 333333333 | 山本 | NULL | 30 |
| 111111111 | 山田 | NULL | 10 |
+-----------+------+------+------+
mysql> ALTER TABLE gakuseki DROP eng;
mysql> SELECT * FROM gakuseki;
削除後:
+-----------+------+------+
| No | name | math |
+-----------+------+------+
| 222222222 | 鈴木 | 20 |
| 333333333 | 山本 | 30 |
| 111111111 | 山田 | 10 |
+-----------+------+------+
mysql-connector-java-3.0.14-production-bin.jar
CLASSPATH=.;c:\jdk1.3.1\lib\mysql-connector-java-3.0.14-production-bin.jar
import java.io.*;
import java.sql.*;
public class Test {
public static void main(String args[]) {
Connection Con;
// JDBCドライバの登録
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
}
catch (Exception e1) {
System.out.println("Driver Error: " + e1.toString());
}
// データベースへの接続
// getConnection(データベース名, ユーザ名, パスワード)
try {
Con = DriverManager.getConnection("jdbc:mysql://cs-www/mysql?useUnicode=true&characterEncoding=sjis", "ユーザ名", "パスワード");
// +++++SQLの作成+++++
// ・・・・・
// 接続を切る
Con.close();
}
catch (SQLException e2) {
System.out.println("SQLException: " + e2.getMessage());
System.out.println("SQLState: " + e2.getSQLState());
System.out.println("VendorError: " + e2.getErrorCode());
}
}
}
mysql> GRANT ALL PRIVILEGES ON *.* TO suganuma@"133.88.%.%"
-> IDENTIFIED BY 'パスワード' WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON *.* TO suganuma@localhost
-> IDENTIFIED BY 'パスワード' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
#!/bin/bash
CLASSPATH=.:/usr/java/j2sdk1.4.2_05/lib/mysql-connector-java-3.0.14-production-bin.jar
export CLASSPATH # クラスパスの設定
export LANG=ja_JP.eucJP # 日本語環境の設定
echo Content-type: text/plain # HTTP header
echo # HTTP header
java Test | nkf -s # SQLを実行し,結果をShift JISに変換
gcc test.c -L/usr/lib/mysql -lmysqlclient -lz
+-----------+------+------+
| No | name | math |
+-----------+------+------+
| 222222222 | 鈴木 | 20 |
| 333333333 | 山本 | 30 |
| 111111111 | 山田 | 10 |
+-----------+------+------+
222222222 鈴木 20
333333333 山本 30
111111111 山田 10
#include <mysql/mysql.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
int i1, sw;
char query[100] = "SELECT * FROM gakuseki";
MYSQL *d_mysql = NULL;
MYSQL_RES *result;
MYSQL_ROW row;
// 初期設定と接続
// MYSQL *mysql_real_connect(MYSQL *mysql, const char *host,
// const char *user, const char *passwd, const char *db,
// unsigned int port, const char *unix_socket,
// unsigned long client_flag)
d_mysql = mysql_init(d_mysql);
d_mysql = mysql_real_connect(d_mysql, "localhost", "xxxxx", "*****", "base", 0, NULL, 0);
if (!d_mysql)
{
printf("***error*** 接続に失敗しました\n");
exit(1);
}
// SQL 文の実行
sw = mysql_real_query(d_mysql, query, strlen(query));
if (sw != 0) {
printf("***error*** SELECT 文の実行に失敗しました\n");
mysql_free_result(result); // 結果セットに割り当てたメモリを解放
exit(1);
}
// 正常にデータを取得したクエリ(SELECT,SHOW,DESCRIBE,EXPLAIN)
// については,mysql_store_result() または mysql_use_result() を
// 呼び出す必要がある
result = mysql_store_result(d_mysql);
// 結果の表示
// mysql_fetch_row(result) : 結果セットの次のレコードを取得します.
// mysql_store_result() を呼び出した後に mysql_fetch_row() を
// 使用する場合,取得するレコードが残っていなければ NULL を返します.
while (row = mysql_fetch_row(result)) {
for (i1 = 0; i1 < mysql_num_fields(result); i1++)
printf("%s ", row[i1]);
printf("\n");
}
// 接続を切る
mysql_free_result(result); // 結果セットに割り当てたメモリを解放
mysql_close(d_mysql);
return 0;
}
+-----------+------+------+
| No | name | math |
+-----------+------+------+
| 222222222 | 鈴木 | 20 |
| 333333333 | 山本 | 30 |
| 111111111 | 山田 | 10 |
+-----------+------+------+
222222222 鈴木 20
333333333 山本 30
111111111 山田 10
<HTML>
<HEAD>
<TITLE>Test PHP&MySQL</TITLE>
</HEAD>
<BODY>
222222222 鈴木 20 <BR>
333333333 山本 30 <BR>
111111111 山田 10 <BR>
<BODY>
<HTML>
<HTML>
<HEAD>
<TITLE>Test PHP&MySQL</TITLE>
</HEAD>
<BODY>
<?php
// MySQLへの接続
$db = mysql_connect("localhost", "xxxxx", "*****");
// 使用するデータベースの指定
mysql_select_db("base", $db);
// SQL文の実行
$result = mysql_query("SELECT * FROM gakuseki", $db);
while ($row = mysql_fetch_row($result)) {
printf(" ");
foreach ($row as $value)
printf("%s ", $value);
printf("<BR>\n");
}
// 結果の解放
mysql_free_result ($result);
// 接続を切る
mysql_close ($db);
?>
<BODY>
<HTML>
<HTML>
<HEAD>
<TITLE>Test PHP&MySQL</TITLE>
</HEAD>
<BODY>
<?php
include "DB.php";
// MySQLデータベースへ接続
// connect("データベースの種類://ユーザ:パスワード@ホスト/データベース名");
// 種類: MySQL="mysql", PostgreSQL="pgsql", MS SQL-Server="mssql", ODBC="odbc"
$dsn = "mysql://xxxxx:*****@localhost/base";
$db = DB::connect($dsn);
// SQL文の実行
$result = $db->query("SELECT * FROM gakuseki");
while ($row = $result->fetchRow(DB_FETCHMODE_ASSOC)) {
printf(" ");
foreach ($row as $value)
printf("%s ", $value);
printf("<BR>\n");
}
// 結果の解放
$result->free();
// 接続を切る
$db->disconnect();
?>
<BODY>
<HTML>
+-----------+------+------+
| No | name | math |
+-----------+------+------+
| 222222222 | 鈴木 | 20 |
| 333333333 | 山本 | 30 |
| 111111111 | 山田 | 10 |
+-----------+------+------+
222222222 鈴木 20
333333333 山本 30
111111111 山田 10
#!/usr/bin/perl
use DBI;
# データベース名の読込
read(STDIN, $DB_name, $ENV{'CONTENT_LENGTH'});
# HTTPヘッダの送信
print "Content-type: text/plain\n\n";
# データベースに接続
$DB = DBI->connect("DBI:mysql:".$DB_name.":localhost", "xxxxx", "*****",
{RaiseError => 0, PrintError => 1});
if (!$DB) {
print "接続できませんでした!\n";
print " Error No : ".DBI->err."\n";
print " Message : ".DBI->errstr."\n";
exit;
}
# SQL の実行
$result = $DB->prepare("SELECT * FROM gakuseki");
if (!$result->execute) {
print "SQLの実行に失敗しました!\n";
print " Error No : ".$result->err."\n";
print " Message : ".$result->errstr."\n";
exit;
}
while (@rec = $result->fetchrow_array) {
print " ";
for ($i1 = 0; $i1 < $result->{NUM_OF_FIELDS}; $i1++) {
print $rec[$i1]." ";
}
print "\n";
}
$result->finish;
# 切断
$DB->disconnect;
exit;
| ホームページ | 目次 | 演習解答例目次 | 付録目次 | 索引 |