MySQL はデータベースを作成し、データ テーブルを作成します。MySQL
は最も一般的に使用されるデータベースです。データベース操作では、基本的に追加、削除、変更、およびクエリ操作 (CRUD と呼ばれます) が行われます。
これを行う前に、まず MySQL をインストールし、次にデータベース、データ テーブル、および操作ユーザーを作成する必要があります。
1. データベース操作言語
データベースを運用する際には、SQL(Structured Query Language)という構造化クエリ言語である特別なデータベース運用ルールと文法を使用する必要があります。
SQL の主な機能は、データベースとの接続を確立し、追加、削除、変更、クエリ操作を実行することです。SQL は、リレーショナル データベース管理システムの標準言語です。
SQL 言語の役割:
1. データ定義言語 DDL (データ定義言語)。データベースとデータテーブルを作成するために使用されます。
2. データ操作言語 DML (データ操作言語)。データテーブルへのデータの挿入、変更、削除に使用されます。
3. データクエリ言語 DQL (データクエリ言語)。データテーブルからデータをクエリするために使用されます。
4. データ制御言語 DCL (データ制御言語)。データベース ユーザーまたはロールの権限を設定または変更するために使用されます。
SQL を使用してデータベースを操作する場合、すべての SQL ステートメントはセミコロンで終わります。(データベースを切り替える場合はセミコロンは必要ありません)
SQL 文では大文字と小文字は区別されませんが、SQL 文を記述する際には、状況に応じて大文字と小文字を区別して読みやすくすることができます。
2. データベースを作成する
1.MySQLに接続する
mysql -u root -p コマンドを入力して Enter を押し、次に MySQL パスワードを入力し (パスワードを忘れないでください)、もう一度 Enter を押すと、MySQL に接続されます。
mysql -u root -p
初期状態ではrootユーザーでログインします。仕事中ずっとrootユーザーでログインすると権限が大きすぎて危険が大きいため、適切な権限を持つユーザーを作成した後はログインしないでください。 root ユーザーに頻繁にアクセスします。
2. 現在のデータベースを表示する
現在 MySQL にインストールされているデータベースを確認するには、show Databases を使用します。
show databases;
MySQL を最初にインストールすると、デフォルトで、information_schema、mysql、performance_schema、および sys の 4 つのデータベースが存在します。通常、これら 4 つのデータベースを直接使用することはありませんが、これら 4 つのデータベースを削除しないでください。そうしないと、多くの無用なトラブルが発生することになります。誤って削除した場合は、MySQL を再インストールし、再インストールする前に独自のデータを移行してバックアップするか、別のサーバーから同じデータベースを移行することをお勧めします。
3. データベースの作成
データベースを作成するには、create database データベース名を使用します。
create database MyDB_one;
データベースが正常に作成されると、データベースの数は、作成した MyDB_one を含めて 5 つになります。
4. データベース作成時に文字コードを設定する
create Database データベース名文字セット utf8; を使用して、データベースを作成し、データベースの文字エンコーディングを設定します。
create database MyDB_two character set utf8;
データベースは直接作成され、データベースのエンコード方法は MySQL latin1 のデフォルトのエンコード方法 (シングルバイトエンコード) です。通常は中国語データをデータベースに保存するため、データベースのエンコード方法を utf に設定するのが最善です。 -8 にすると、中国語が通常表示されるようになります。
create database MyDB_three charset utf8;
文字セットは charset と省略できますが、効果は同じです。
5. データベースのエンコード方式の表示と表示
show create database データベース名を使用して、データベースの作成情報を表示します。
show create database MyDB_one;
show create database MyDB_two;
データベースのエンコード方式がわからない場合は、show create database データベース名を使用してデータベースのエンコード方式を表示できます。先ほど作成した MyDB_one のエンコード方式が MySQL のデフォルトのエンコード latin1 であり、MyDB_two のエンコード方式が utf-8 であることがわかります。
もちろん、この方法では作成と同時に表示することはできず、既存のデータベースのエンコード方法を参照することしかできません。
6. データベースのデータベース名文字セット utf8 を変更し、データベースのエンコードを変更します。
alter database MyDB_one character set utf8;
データベースのエンコード方式が使用要件を満たしていない場合は、変更することができます。先ほど作成したMyDB_oneを修正すると、エンコード方式もutf-8に変更されました。
7. データベースの入力または切り替え
データベースを入力または切り替えるには、データベース名を使用します。
use MyDB_ones
use MyDB_two;
初めて MySQL に接続するときは、どのデータベースにもアクセスしていません。特定のデータベースを使用したい場合は、そのデータベースに入る必要があります。
use Database name コマンドの後のセミコロンは省略できます。これは、SQL ステートメント内でセミコロンを省略できる唯一のステートメントです。
8. 現在のデータベースを表示します。 select database();
select database();
データベースに入ったら、select database(); を使用して、現在どのデータベースにいるかを確認できます。データベースを長時間運用する場合は、複数のデータベースを切り替えて現在のデータベースを確認し、間違ったデータベースを運用しないようにしてください。
3. データテーブルの作成
1. 現在のデータベース内のテーブルを表示します。
show tables を使用して、現在のデータベースにどのテーブルがあるかを確認します。
show tables;
MyDB_one が作成したデータベースにはまだテーブルが作成されていないため、現在は空です。
2. テーブルの作成
create table テーブル名 (フィールド 1 フィールド タイプ、フィールド 2 フィールド タイプ、フィールド 3 フィールド タイプ、...); を使用してテーブルを作成します。
create table Phone_table(pid INT, name CHAR(20), price INT);
MyDB_one に Phone_table というデータ テーブルが作成され、このテーブルには pid、name、price の 3 つのフィールドがあります。SQL の可読性を高めるために、フィールド名には小文字を使用し、フィールド タイプには大文字を使用します。
3. テーブル情報の表示
作成されたテーブルに関する情報を表示するには、show create table table name; を使用します。
show create table Phone_table;
show create table table name を使用すると、テーブルのフィールド情報、MySQL エンジン、デフォルトの文字エンコーディングなどの情報を表示できます。データベース情報の表示と同様、show は作成されたデータ テーブルに関する情報のみを表示でき、データ テーブルの作成と同時に情報を表示することはできません。
テーブルのフィールド情報をより適切に表示したい場合は、 desc table name; を使用してテーブルのフィールド情報を表示できます。
4. テーブルにフィールドを追加する
alter table table name add field name データ型を使用し、既存のテーブルに新しいフィールドを追加します。
alter table Phone_table add color CHAR(20);
追加すると、先ほどのテーブルにフィールドが一つ増え、無事追加されました。
5. テーブルフィールドの削除
alter table テーブル名ドロップ フィールド名を使用し、テーブル内の既存のフィールドを削除します。
alter table Phone_table drop price;
フィールドを削除すると、そのフィールドはテーブルに存在しなくなります。
6. フィールドのデータ型を変更する
alter table table name フィールド名のデータ型の変更を使用し、テーブル内の既存のフィールドのデータ型を変更します。
alter table Phone_table modify name VARCHAR(12);
変更後、このフィールドのデータ型が変わります。
7. フィールドのデータ型を変更し、名前を変更します。
テーブルの変更、テーブル名の変更、元のフィールド名の変更、新しいフィールド名のデータ型の変更、テーブル内の既存のフィールドのフィールド名と型の変更を使用します。
alter table Phone_table change name pname CHAR(18);
次に、テーブルの名前を pname に変更し、pname のデータ型を変更します。
4. MySQL の一般的なフィールドの種類
データ テーブルは複数のフィールドで構成されます。テーブルには 12 を超えるフィールドがあるのが通常です。各フィールドは異なる情報を表し、異なる種類のデータを使用する必要があります。
したがって、テーブルを作成するときは、各フィールドに適切なデータ型を指定する必要があります。
MySQL で一般的に使用されるフィールド タイプには次のものがあります。
1. 整数型
データの種類 | データ範囲 |
---|---|
タイイント | -128 -- 127 |
スモールント | -32768 -- 32767 |
ミディアムミント | -2^23 -- 2^23-1 |
INT | -2^31 -- 2^31-1 |
BIGINT | -2^63 -- 2^63-1 |
2.文字列型
データの種類 | バイト範囲 | 使用 |
---|---|---|
CHAR(n) | 0 ~ 255バイト | 固定長の文字列 |
VARCHAR(n) | 0 ~ 65535 バイト | 可変長文字列 |
文章 | 0 ~ 65535 バイト | 長いテキストデータ |
長文 | 0 -- 2^32-1 バイト | 非常に大きなテキストデータ |
BLOB | 0 ~ 65535 バイト | バイナリ長文データ |
ルングブロブ | 0 -- 2^32-1 バイト | バイナリの非常に大きなテキスト データ |
3. 10進数型
m は浮動小数点数の全長を表し、n は小数点以下の有効桁数を表します。
データの種類 | データ使用量 | データ範囲 |
---|---|---|
浮く | 浮動小数点(m,n) | 有効数字 7 桁 |
ダブル | ダブル(m,n) | 有効数字 15 桁 |
10進数 | 10 進数(m,n) | 有効数字 28 桁 |
4. 時間タイプ
データの種類 | フォーマット | 使用 |
---|---|---|
日付 | YYYY-MM-DD | 日付 |
時間 | 時:MM:SS | 時間 |
年 | YYYY | 年 |
日付時刻 | YYYY-MM-DD HH:MM:SS | 日時 |
タイムスタンプ | 10 桁または 13 桁の整数 (秒数) | タイムスタンプ |
5. 列挙型
enum(列挙値 1, 列挙値 2,...)
列挙型では、性別など、リストされた値の 1 つだけを選択できます。