3-1 MySQLについて 発表者:藤村元彦 自然言語処理研究室 3-1 MySQLについて (P.40~49) MySQLはリレーショナルデータベースマネージ メントシステム(RDBMS)で、堅牢で処理速度の速 いソフトウェアである。 データベース(DB)は、その中に表のようなテー ブルという構造でデータを保存している。 ここではMySQLを使ったDBの、Linuxによる基 本操作方法について説明する。 MySQL では、SQLコマンドは大文字・小文字の 区別はないが、DB名とテーブル名は大文字・小文 字の区別があるので注意されたい。 MySQLの起動と終了 まず、MySQLを起動するには、プロンプトから mysqlと入力すればよい。するとWelcome to ・・・ とメッセージが表示された後、最後に、 mysql> と表示される。 これは、MySQLのプロンプトで、コマンドの入 力を待っている状態である。このあとに「help」と 入力すると、MySQLの操作に関するコマンドの 説明が表示される また、MySQLではユーザによるアクセス制限 がある。スーパーユーザ以外で、MySQLをroot 権限で動かすには、MySQL起動時に、 $ mysql –u root と入力する必要がある。 パスワードを設定している場合は、 $ mysql –u root –p と入力する。 MySQLを終了するときは、プロンプトから 「exit」もしくは「quit」と入力すればよい。 既存のDBの中を見る MySQLには初めから二つのDBがあり、 mysql> show databases; と、入力すると、 +------+ | Database | +------+ | mysql | | test | +------+ と、DBの一覧を見ることができる。 さらにDBの中にはテーブルがあるので、 mysql> show tables from mysql; と入力すれば、mysqlというDBの中にある テーブルの一覧を見ることができる。 mysql> show columns from mysql.user; と入力すれば、 mysqlというDBの、userと いうテーブルのカラム名と定義を見ること ができる。 mysql> desc mysql.user; と入力しても同様の情報が見れる。 コマンドの最後の「;」は、SQLコマンドの 入力終了を示すものである。 もし、つけ忘れてEnterを押した場合は、 コマンドが実行されずにプロンプトの下に 「->」が表示されるので、先に入力したコ マンドを実行させるには「;」を入力しEnter を押せばよい。 DBの作成 DBの作成にはcreate databaseコマンドを 使う。 mysql> create database ADDRESS_DB; と入力し、 Query OK, 1 row affected(0.00 sec) と表示されれば、 ADDRESS_DBというDB が作成される。 メッセージは、「SQLコマンドはOKで、1 行影響を受けた(0.00秒で処理)」という意 味である。 テーブルの作成 テーブルの作成にはcreate tableコマンド を使う。 テーブルはDBの中に作られるものなの で、テーブルを指定するときは「DB名. テーブル名」とする必要がある。しかし、 mysql> use ADDRESS_DB; と入力し、使用するDBを先に指定しておく と、DB名を省略してテーブル名だけで指 定することができる。 mysql> create table FRIENDS_T -> (ID_C int,NAME_C varchar(20), -> ADD_C varchar(40)); と入力すると、テーブルFRIENDS_Tが作 成され、それは整数値が入るID_Cというカ ラムと、それぞれ半角文字列が20個と40 個まで入るNAME_C、ADD_Cというカラム を持つ。 intが整数型、varcharが文字型を示して いる。 レコードの追加 レコードを追加(データの追加)するには、 mysql> insert into FRIENDS_T -> set ID_C = ‘,NAME_C = ‘大友達子’,ADD_C = -> ‘東京都千代田区何処町1-1-1’; もしくは、 mysql> insert into FRIENDS_T(ID_C,NAME_C,ADD_C) -> values(‘1’, ‘大友達子’,‘東京都千代田区何処町1-11’); の2種類の方法がある。 後者の方法では、複数のデータを追加するのに便利である. mysql> insert into FRIENDS_T(ID_C,NAME_C,ADD_C) -> values(‘1’, ‘大友達子’,‘東京都千代田区何処町1-11’)、 -> (‘2’, ‘小友達夫’,‘東京都葛飾区何処町1-1-1’); mysql> select * from FRIENDS_T; と入力すると、テーブルFRIENDS_Tの全てのデータが表示さ れる。 「*」が「全て」という意味で、 FRIENDS_Tの全てのデータを 取り出して表示せよ、という命令である。selectコマンドによって 表示されるレコードの塊を「結果セット」と呼ぶ。
© Copyright 2024 ExpyDoc