我在 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>
我在 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>
这些不是您可以修改的列,它们是数据库需要工作的每个用户列的元数据属性,您可以修改的列是Fname
、Lname
和.age
phone
控制台输出混淆地调用它们Fields
,但它们是您调用的那个表的用户列mytable
。您所看到和想到的是列是字段的元数据属性。每个字段都有一个type
, is nullable
, is a key
, 有一个可选default
值和一些extra
数据。这些是数据库需要操作的东西。
如果您想了解表的结构,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
请参阅上面对实际操作的解释。
@Sajjad 你的领域是你的专栏
你的桌子是mytable(Fname, Lname,age,phone)
更清楚地看到它尝试select * from mytable
describe
为您提供每一列及其属性