MySQL には、「mysql-workbench」や「sequel-pro-」などのビジュアル管理ツールが多数あります。 私はコードを書くことを好むので、MySQL の理解を深めたいと思って、現在、MySQL ターミナル コマンドの操作に関する記事を書いています。同時に、皆さんの参考になればと思い、MySQL のターミナル操作に関する記事を書きたいと思います。
注: MySQL データベース コマンドでは大文字と小文字が区別されません。ただし、MAC 端末では、タブを使用してコマンドを自動的に完成させたい場合は、MAC 端末がコマンドを完成させるために大文字を使用する必要があります。そうしないと、タブを N 回押しても応答がありません。
1.1 データベースを作成
create database firstDB;
1.2 表示すべてのデータベースを表示
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | firstDB | | mysql | | performance_schema | +--------------------+ 4 rows in set (0.00 sec)
1.3 alter データベースを変更します
alterコマンドはデータベースのエンコーディングを変更します:
デフォルトで作成されたデータベースはデフォルトでは中国語をサポートしません。中国語の文字をサポートする必要がある場合は、エンコーディングを utf8 形式に設定します:
mysql> ALTER DATABASE testDB CHARACTER SET UTF8; Query OK, 1 row affected (0.00 sec)
1.4 を使用します。データベース
mysql> use firstDB; Database changed
1.5 現在使用されているデータベースを表示
mysql> select database(); +------------+ | database() | +------------+ | firstdb | +------------+ 1 row in set (0.00 sec)
1.6 データベースを削除
mysql> drop database firstDB; Query OK, 0 rows affected (0.00 sec)
まず、将来使用するためにデータベースを作成します:
mysql> create database testDB; Query OK, 1 row affected (0.00 sec)
作成後、忘れずに use コマンドを使用してデータベースに入る (使用する) ようにしてください。そうしないと、後続の操作が失敗します。
2.1 create テーブルを作成します
mysql> create table PEOPLE ( -> ID int AUTO_INCREMENT PRIMARY KEY, -> NAME varchar(20) not null, -> AGE int not null, -> BIRTHDAY datetime); Query OK, 0 rows affected (0.01 sec)
2.2 show display table
現在のデータベース内のすべてのデータテーブルを表示します
mysql> show tables; +------------------+ | Tables_in_testdb | +------------------+ | PEOPLE | +------------------+ 1 row in set (0.00 sec)
2.3 説明 テーブル構造の表示
mysql> desc PEOPLE -> ; +----------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +----------+-------------+------+-----+---------+----------------+ | ID | int(11) | NO | PRI | NULL | auto_increment | | NAME | varchar(20) | NO | | NULL | | | AGE | int(11) | NO | | NULL | | | BIRTHDAY | datetime | YES | | NULL | | +----------+-------------+------+-----+---------+----------------+ 4 rows in set (0.01 sec)
2.4 alter テーブル構造を変更します (追加、削除、変更)
デフォルトで作成されたテーブルは中国語の文字をサポートしていないため、テーブルのエンコーディングを utf8 に設定する必要があります:
mysql> ALTER TABLE KEYCHAIN CONVERT TO CHARACTER SET UTF8; Query OK, 1 row affected (0.02 sec) Records: 1 Duplicates: 0 Warnings: 0
2.4.1 insert テーブルに列 (フィールド) を追加します
mysql> alter table PEOPLE add star BOOL; Query OK, 0 rows affected (0.02 sec) Records: 0 Duplicates: 0 Warnings: 0
ヒント: MySQL では、Boolean 型は tinyint(1) 型に自動的に変換されます。
desc を使用して PEOPLE テーブルの構造をチェックするのも良いかもしれません:
mysql> desc PEOPLE; +----------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +----------+-------------+------+-----+---------+----------------+ | ID | int(11) | NO | PRI | NULL | auto_increment | | NAME | varchar(20) | NO | | NULL | | | AGE | int(11) | NO | | NULL | | | BIRTHDAY | datetime | YES | | NULL | | | star | tinyint(1) | YES | | NULL | | +----------+-------------+------+-----+---------+----------------+ 5 rows in set (0.00 sec)
さて、私を信じるべきですよね?
2.4.2 alter テーブル (列) フィールドを変更する
mysql> alter table PEOPLE MODIFY star int; Query OK, 0 rows affected (0.01 sec) Records: 0 Duplicates: 0 Warnings: 0
PEOPLE テーブル構造を表示するには、再度 desc を使用します。 2.4.3 削除 テーブルの削除(column ) フィールド
mysql> desc PEOPLE; +----------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +----------+-------------+------+-----+---------+----------------+ | ID | int(11) | NO | PRI | NULL | auto_increment | | NAME | varchar(20) | NO | | NULL | | | AGE | int(11) | NO | | NULL | | | BIRTHDAY | datetime | YES | | NULL | | | star | int(11) | YES | | NULL | | +----------+-------------+------+-----+---------+----------------+ 5 rows in set (0.00 sec)
削除後、PEOPLE テーブル構造を再度確認します:
mysql> alter table PEOPLE DROP column star; Query OK, 0 rows affected (0.02 sec) Records: 0 Duplicates: 0 Warnings: 0
2.4.4 rename テーブルの名前を変更します
mysql> desc PEOPLE; +----------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +----------+-------------+------+-----+---------+----------------+ | ID | int(11) | NO | PRI | NULL | auto_increment | | NAME | varchar(20) | NO | | NULL | | | AGE | int(11) | NO | | NULL | | | BIRTHDAY | datetime | YES | | NULL | | +----------+-------------+------+-----+---------+----------------+ 4 rows in set (0.00 sec)
2.5 create 既存のデータを使用して新しいテーブルを作成します
mysql> RENAME TABLE PEOPLE TO NEW_PEOPLE; Query OK, 0 rows affected (0.00 sec)
既存のテーブル:
りー
以下のコマンドはすべて PEOPLE テーブルで動作します。
3.1 データを追加する (add)
mysql> create table newTable select * from PEOPLE;
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> show tables; +------------------+ | Tables_in_testdb | +------------------+ | PEOPLE | | newTable | +------------------+ 2 rows in set (0.00 sec)。
mysql> insert into PEOPLE VALUES (null, 'Anny', 22, '1992-05-22'); Query OK, 1 row affected (0.00 sec)
3.2 データの削除 (delete)
データを削除するための delete コマンド:
mysql> select * from PEOPLE; +----+------+-----+---------------------+ | ID | NAME | AGE | BIRTHDAY | +----+------+-----+---------------------+ | 1 | Anny | 22 | 1992-05-22 00:00:00 | +----+------+-----+---------------------+ 1 row in set (0.00 sec)
クエリPE再び OPLE テーブル:
mysql> select * from PEOPLE; +----+--------+-----+---------------------+ | ID | NAME | AGE | BIRTHDAY | +----+--------+-----+---------------------+ | 1 | Anny | 22 | 1992-05-22 00:00:00 | | 2 | Garvey | 23 | 1991-05-22 00:00:00 | | 3 | Lisa | 25 | 1989-05-22 00:00:00 | | 4 | Nick | 24 | 1990-05-22 00:00:00 | | 5 | Rick | 24 | 1991-05-22 00:00:00 | +----+--------+-----+---------------------+ 5 rows in set (0.00 sec)
3.3 データを変更する (変更)
データを変更するための update コマンド:
mysql> delete from PEOPLE where name = 'Lisa'; Query OK, 1 row affected (0.01 sec)
PEOPLE テーブルの内容をクエリする
mysql> select * from PEOPLE; +----+--------+-----+---------------------+ | ID | NAME | AGE | BIRTHDAY | +----+--------+-----+---------------------+ | 1 | Anny | 22 | 1992-05-22 00:00:00 | | 2 | Garvey | 23 | 1991-05-22 00:00:00 | | 4 | Nick | 24 | 1990-05-22 00:00:00 | | 5 | Rick | 24 | 1991-05-22 00:00:00 | +----+--------+-----+---------------------+ 4 rows in set (0.00 sec)
3.4 データのクエリ (チェック)
select コマンドは、テーブル内のすべてのデータをクエリすることです。これは、最初に使用したコマンドです:
mysql> update PEOPLE set name='Calvin' where name = 'Garvey'; Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0
形式: select * から、* はすべてのフィールドを表します。 データをクエリするときに表示される (列) フィールドを指定することもできます:
mysql> select * from PEOPLE; +----+--------+-----+---------------------+ | ID | NAME | AGE | BIRTHDAY | +----+--------+-----+---------------------+ | 1 | Anny | 22 | 1992-05-22 00:00:00 | | 2 | Calvin | 23 | 1991-05-22 00:00:00 | | 4 | Nick | 24 | 1990-05-22 00:00:00 | | 5 | Rick | 24 | 1991-05-22 00:00:00 | +----+--------+-----+---------------------+ 4 rows in set (0.00 sec)
select query コマンドには、一意のデータの検索 (distinct)、条件に応じたデータの並べ替え (order by)、クエリ条件 (where) に応じたデータの表示など、多くの高度な用途もあります。これらについては次の記事で取り上げますので、引き続き私のブログにご注目ください。
上記は MySQL 端末管理データベース操作ガイドの内容です。その他の関連コンテンツについては、PHP 中国語 Web サイト (www.php.cn) をご覧ください。