-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

这些不是您可以修改的列,它们是数据库需要工作的每个用户列的元数据属性,您可以修改的列是FnameLname和.agephone

控制台输出混淆地调用它们Fields,但它们是您调用的那个表的用户列mytable。您所看到和想到的是列是字段的元数据属性。每个字段都有一个type, is nullable, is 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 回答