📅  最后修改于: 2023-12-03 15:20:16.503000             🧑  作者: Mango
SQL 列名是在表中定义的一个字段名称。它们用于标识表中存储的数据。MySQL、Oracle、SQL Server等关系型数据库管理系统都支持SQL列名。
列名的规则如下:
下面是一个创建表并定义列名的 SQL 代码示例:
CREATE TABLE students (
id INT PRIMARY KEY,
name VARCHAR(50),
age INT,
gender VARCHAR(10)
);
在上面的代码中,我们创建了一个名为 students 的表,并为其定义了四个列名,分别是 id、name、age、gender。其中,id 列名被定义为主键列,而其他列名则定义了它们的数据类型。
获取表中的列名可以使用 SQL 中的 DESC 命令。例如,要获取名为 students 的表的列名,可以执行以下代码:
DESC students;
执行结果如下:
| Field | Type | Null | Key | Default | Extra | |-------|--------------|------|-----|---------|----------------| | id | int(11) | NO | PRI | NULL | auto_increment | | name | varchar(50) | YES | | NULL | | | age | int(11) | YES | | NULL | | | gender| varchar(10) | YES | | NULL | |
在结果中,列名列对应 Field 列。该命令将返回表的每个列的名称、数据类型、允许 NULL 值、键(如果有)和默认值(如果有)。
可以使用 ALTER TABLE 语句来修改现有表的列名。例如,要将名为 students 表的 name 列名更改为 full_name,可以执行以下代码:
ALTER TABLE students
CHANGE COLUMN name full_name VARCHAR(50);
这将把数据类型为 VARCHAR(50)的列 name 重命名为 full_name。请注意,如果要修改列名外的其他表特性(如数据类型、允许 NULL 等),请直接修改 ALTER TABLE 语句。例如,要将 id 的数据类型更改为 BIGINT,可以执行以下代码:
ALTER TABLE students
MODIFY COLUMN id BIGINT;
删除表中的列名可以使用 ALTER TABLE 命令。例如,要从名为 students 的表中删除 age 列名,可以执行以下代码:
ALTER TABLE students
DROP COLUMN age;
这将从该表中删除 age 列名。请注意,删除列名将同时删除该列中的数据。如果只是想暂时停用列名但不删除其中的数据,则应将其重命名。