MySQL - セクション 3 - MySQL テーブルの操作

目次

1. テーブルを作成する

2.テーブルケースを作成する

3. テーブル構造を表示する

4. テーブルを変更する

4.1. 新しい列

4.2. 列タイプの変更

4.3. カラム名の変更

4.4. テーブル名の変更

4.5. 列の削除

5. テーブルの削除


1. テーブルを作成する

テーブルを作成するSQLは以下のとおりです。

CREATE TABLE [IF NOT EXISTS] table_name(
	field1 datatype1 [COMMENT '注释信息'],
	field2 datatype2 [COMMENT '注释信息'],
	field3 datatype3  [COMMENT '注释信息']
)[CHARSET=charset_name] [COLLATE=collation_name] [ENGINE=engine_name];

説明:

• SQL では、大文字はキーワードを表し、[ ] 内はオプションの項目を表します。
• field は列名を表し、datatype は列のタイプを表します。
• CHARSET は、テーブルで使用されるエンコード形式を指定するために使用されます。指定しない場合、テーブルが配置されているデータベースのエンコード形式が優先されます。
• COLLATE は、テーブルで採用される検証ルールを指定するために使用されます。指定しない場合は、データベースの検証ルールが優先されます。
• ENGINE は、テーブルで使用されるストレージ エンジンを指定するために使用されます。
• COMMENT は、指定された列にコメント情報を追加するために使用されます。
show Engines コマンドを使用して、MySQL で現在サポートされているストレージ エンジンを表示します。次のように:

現在の MySQL はデフォルトで InnoDB ストレージ エンジンを使用していることがわかります。テーブルの作成時に使用するストレージ エンジンを指定しない場合、デフォルトで InnoDB ストレージ エンジンが使用されます。 


2.テーブルケースを作成する

テーブルを作成する前に、まずデータベースを選択し、次にデータベース内にテーブルを作成する必要があります。ここではまずデータベースを作成します。次のように:

データベースの作成後、データベースを選択し、データベース内にユーザー テーブルを作成し、テーブルの作成時に MyISAM ストレージ エンジンを指定します。次のように:

テーブルが作成されると、データベースのデータ ストレージ パスの下の table_operation ディレクトリに 3 つのファイルが追加されます。次のように:

ノート:

1. 異なるストレージ エンジンを使用すると、テーブルの作成時に生成されるファイルが異なります。
• InnoDB ストレージ エンジンを使用してテーブルを構築する場合、対応する xxx.frm (テーブル構造) および xxx.ibd (テーブル データ + テーブル インデックス) ファイルが生成されます。
• MyISAM ストレージ エンジンを使用してテーブルを構築する場合、対応する xxx.frm (テーブル構造)、xxx.MYD (テーブル データ)、および xxx.MYI (テーブル インデックス) ファイルが生成されます。

2. InnoDB ストレージ エンジンがテーブルの構築に使用され、テーブル ユーザーが作成されると仮定します。このユーザー テーブルは、実際には論理テーブルです。実際の物理ストレージは、2 つの物理テーブル ファイル user.frm と user.ibd です。論理テーブルuser.frm と user.ibd によると、テーブル user は mysql であり、レンダリングされた 2 つの物理テーブルです。


3. テーブル構造を表示する

テーブルの構造を表示するには、desc table name コマンドを使用します。次のように:

説明:

• フィールドはフィールドの名前を示します。
• Type はフィールドのタイプを示します。
• Null は、フィールドを空にすることが許可されるかどうかを示します。
• キーはインデックス タイプを示します。たとえば、主キー インデックスは PRI です。
• デフォルトは、フィールドのデフォルト値を示します。
• Extra は、このフィールドの追加情報の説明を示します。
テーブルの作成時に関連する詳細を表示したい場合は、show create table table name コマンドを使用できます。次のように:


4. テーブルを変更する

テーブルを変更するSQLは次のとおりです。

ALTER TABLE table_name ADD 新增列名 新增列的属性;

ALTER TABLE table_name MODIFY 列名 修改后的列属性;

ALTER TABLE table_name DROP 列名;

ALTER TABLE table_name RENAME [TO] 新表名;

ALTER TABLE table_name CHANGE 列名 新列名 新列属性;

テーブルのデータは、テーブルの変更プロセス中に影響を受ける可能性があります。このプロセスをデモンストレーションするために、テーブルを変更する前に 2 つのデータをユーザー テーブルに挿入します。次のように:

4.1. 新しい列

ユーザーテーブルに新しい列を追加して、ユーザーの写真のパスを保存します。次のように:

注: 新しい列 SQL の後の部分は、その列が追加される列を示します。新しい列を最初の列に配置する場合は、後続の SQL を最初に not null に置き換えることができます。

カラムを追加した後、desc コマンドを使用して追加が成功したことを確認できますが、このとき、ユーザー レコードを挿入し、テーブル内の情報を確認します。次のように:

列を追加する前にテーブルに挿入された 2 つのレコードに対応するパス値は NULL であるため、列を追加した後、元の挿入レコードを変更する必要があることがわかります。

注: NULL と空の文字列 '' には違いがあります。NULL は空を意味し、何も意味しません。空の文字列 '' は空の文字列であるはいを意味します。

4.2. 列タイプの変更

user テーブルのパスワード列の型を char(30) から char(50) に変更します。次のように:

注: 列のタイプを変更し、コメント フィールドを保持する必要がある場合は、変更時にコメント フィールドを再指定する必要があります。 

4.3. カラム名の変更

user テーブルのパスワード列の列名を passwd に変更します。次のように:

4.4. テーブル名の変更

ユーザーテーブルのテーブル名をemployeeに変更します。次のように:

4.5. 列の削除

従業員テーブルのパス列を削除します。次のように:

注: 列を削除すると、その列に対応するすべてのデータが失われます。


5. テーブルの削除

テーブルを削除するSQLは以下のとおりです。

DROP [TEMPORARY] TABLE [IF EXISTS] table_name;

説明:

• テーブル作成ステートメントに TEMPORARY キーワードを追加すると、サーバーは一時テーブルを作成します。このテーブルは、サーバーとのセッションが終了すると自動的に消えます。
• TEMPORARY テーブルの名前は既存の永続テーブルと同じにすることができますが、TEMPORARY テーブルが存在する場合、対応する永続テーブルは非表示になります (つまり、アクセスできなくなります)。
• 再接続後に検出されずに DROP を呼び出すことによって、対応する永続テーブルが誤って削除される (TEMPORARY が存在しない) ことを防ぐため、DROP を使用して一時テーブルを削除するときに TEMPORARY キーワードを含める必要があります。
従業員テーブルを削除します。次のように:

おすすめ

転載: blog.csdn.net/qq_45113223/article/details/131253506