-2

mySQL でテーブルを作成すると、テーブルは次のようになります。 ここに画像の説明を入力

ここで、「type」、「null」、「Key」、「Default」、および「Extra」列を削除し、理想的な名前付き列を追加したいと思います。

しかし、次のステートメントにはエラーがあります。

mysql> alter table mytable drop column Extra
ERROR 1091 (42000): Can't DROP 'Extra'; check that column/Key Exists
mysql>
4

2 に答える 2

3

これらは変更できる列ではありません。データベースが機能するために必要な各ユーザー列のメタデータ プロパティです。変更できる列はFnameLnameageおよびphoneです。

コンソール出力は紛らわしくそれらを呼び出しますFieldsが、それらは呼び出したテーブルのユーザー列ですmytable。あなたが見て考えているのは、列はフィールドのメタデータ プロパティです。各フィールドには 、typeis nullableis a keyオプションのdefault値、およびいくつかのextraデータがあります。これらは、データベースが動作するために必要なものです。

MySQLリファレンスマニュアルより

テーブルの構造を知りたい場合は、DESCRIBE ステートメントが役立ちます。テーブルの各列に関する情報が表示されます。

mysql> DESCRIBE pet;
+---------+-------------+------+-----+---------+-------+
| Field   | Type        | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| name    | varchar(20) | YES  |     | NULL    |       |
| owner   | varchar(20) | YES  |     | NULL    |       |
| species | varchar(20) | YES  |     | NULL    |       |
| sex     | char(1)     | YES  |     | NULL    |       |
| birth   | date        | YES  |     | NULL    |       |
| death   | date        | YES  |     | NULL    |       |
+---------+-------------+------+-----+---------+-------+

Fieldは列名を示し、Typeは列のデータ型、NULL は列に NULL値を含めることができるかどうかを示し、Key は列がインデックス付けされているかどうかを示し、Defaultは列のデフォルト値を示します。Extraは列に関する特別な情報を表示します。列が AUTO_INCREMENT オプションで作成された場合、値は空ではなく auto_increment になります。

テーブルにDATAを表示したい場合は、Select代わりにDescribe;を使用します。Describe実際に何が行われるかについては、上記の説明を参照してください。

于 2013-04-27T18:38:11.307 に答える
1

@Sajjad あなたのフィールドはあなたの列です

あなたのテーブルはmytable(Fname, Lname,age,phone)

よりはっきりと見るためにselect * from mytable

describe各列とそのプロパティを提供します

于 2013-04-27T18:41:41.910 に答える