MyChemを使ってMySQLで化合物管理用のデータベースを作成します。
データベース名は&color(magenta){chemdb};として、
化合物情報を収めるテーブル&color(orangered){mols};を用意します。
まずはデータベースを作成。
文字コードはUTF8で、ci:case-insensitiveで大文字小文字や半角全角を区別するデータベース&color(magenta){chemdb};とする。
#code(nonumber){{
[root@s ~]# mysql
mysql> CREATE DATABASE IF NOT EXISTS chemdb CHARACTER SET utf8 COLLATE utf8_general_ci
Query OK, 1 row affected (0.00 sec)
mysql> show databases LIKE 'chemdb';
+-------------------+
| Database (chemdb) |
+-------------------+
| chemdb |
+-------------------+
1 row in set (0.00 sec)
mysql>
}}
次にテーブルを作成する。作成するテーブル&color(orangered){mols};は、SMILESを扱うので大文字小文字の区別は必須、なのでテーブル作成時にテーブル全体、もしくはフィールドにCOLLATE &color(green){''utf8_bin''};を設ける必要がある。
#code(sql,nonumber,nooutline,noblock,noliteral,nocomment,nomenu,noicon,nolink){{
mysql> use chemdb;
Database changed
mysql>
mysql> CREATE TABLE IF NOT EXISTS mols (
id int(11) unsigned NOT NULL,
sdf text NOT NULL,
smiles text,
PRIMARY KEY pk_id (id)
)
ENGINE=InnoDB DEFAULT CHARSET= utf8 COLLATE= utf8_bin
COMMENT='Compound 3D Structures';
mysql>
mysql> desc mols;
+--------+------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+------------------+------+-----+---------+-------+
| id | int(11) unsigned | NO | PRI | NULL | |
| sdf | text | NO | | NULL | |
| smiles | text | YES | | NULL | |
+--------+------------------+------+-----+---------+-------+
3 rows in set (0.00 sec)
mysql>
}}
&color(red){注意:int(11) UNSIGNED はintの整数部分のみを意味します};