SQL 重命名列名

SQL 重命名列名

列名的用途是用于标识表中特定的列。对于更清晰和理解的目的,列名必须与列中所包含的数据相关。

有时,我们需要更改数据库中列的名称,以保持其中包含的数据的相关性。SQL允许使用以下命令更改列名:

  • ALTER TABLE命令可以更改表中的数据类型、列名和其他属性。
  • 重命名列名命令与ALTER TABLE命令一起使用,用于在数据库中重命名列。

重命名SQL中的列名的好处:

  • 与列中的数据相关的清晰名称有助于提高清晰度,使得不同列之间更容易区分,避免混淆。
  • 更具描述性的列名有助于提高可读性,并使表中的数据更易于理解。
  • 它有助于高效地组织数据库中的数据。
  • 它简化列名以便更容易理解。
  • 它有助于避免在表中使用相似名称导致的错误。

重命名SQL中列名的语法将取决于您使用的数据库,但重命名SQL中列名的基本语法如下:

ALTER TABLE tableName
RENAME COLUMN old_columnName TO new_columnName;

我们将通过示例来了解如何在诸如MySQL、PostgreSQL、Microsoft SQL Server、MariaDB、Oracle等数据库中更改列名。

MySQL、PostgreSQL、MariaDB和Oracle中更改列名的示例:

示例1:

让我们考虑一个名为student_table的表,其中包含stu_number、stu_name、stu_age、stu_address、stu_stream和stu_marks字段。

stu_number stu_name stu_age stu_address stu_stream stu_marks
1 Inaya 20 Faridabad Science 95
2 Jai 22 Noida Commerce 80
3 Ishaan 20 Noida Arts 74
4 Milan 18 Roorkee Science 72
5 Pari 21 Gurugram Science 81
6 Khushi 20 Goa Commerce 82
7 Himanshu 23 Meerut Commerce 75
8 Rohit 22 Meerut Commerce 86
9 Sadaf 20 Goa Arts 74
10 Asha 19 Gurugram Arts 70

我将会把列名从stu_number改为stu_id。下面给出的查询将会改变列名:

查询:

ALTER TABLE student_table
RENAME COLUMN stu_number TO stu_id;
SELECT * FROM student_table;

输出:

从输出中可以明显看出,列名已从stu_number更改为stu_id。

stu_id stu_name stu_age stu_address stu_stream stu_marks
1 Inaya 20 Faridabad Science 95
2 Jai 22 Noida Commerce 80
3 Ishaan 20 Noida Arts 74
4 Milan 18 Roorkee Science 72
5 Pari 21 Gurugram Science 81
6 Khushi 20 Goa Commerce 82
7 Himanshu 23 Meerut Commerce 75
8 Rohit 22 Meerut Commerce 86
9 Sadaf 20 Goa Arts 74
10 Asha 19 Gurugram Arts 70

示例 2:

让我们来考虑另一个名为product_table的表格,其中包含id、name、quantity和money这些字段。

id name quantity money
1 Chocolates 20 200
2 Candies 22 110
3 Lollipops 20 100
4 Chips 18 90
5 Apples 21 600
6 Biscuits 20 200
7 Chochos 23 230
8 Waffle Chips 22 220
9 Jelly Candies 20 400
10 Popcorn 19 380

我们将把列名从money改为price。下面给出的查询将更改列名:

查询:

ALTER TABLE product_table
RENAME COLUMN money TO price;
SELECT * FROM product_table;

输出结果:

从输出结果中可以清楚地看到,列名已经从money改为了price。

id name quantity price
1 Chocolates 20 200
2 Candies 22 110
3 Lollipops 20 100
4 Chips 18 90
5 Apples 21 600
6 Biscuits 20 200
7 Chochos 23 230
8 Waffle Chips 22 220
9 Jelly Candies 20 400
10 Popcorn 19 380

示例3:

我们来考虑一个名为student_table的表,它包含了stu_number(学号)、stu_name(姓名)、stu_age(年龄)、stu_address(地址)、stu_stream(流派)和marks(分数)这些字段。

stu_number stu_name stu_age stu_address stu_stream marks
11 Robin 19 Seattle Commerce 85
12 Jack 20 Washington Arts 95
13 Michael 21 Austin Science 84
14 Justin 19 Columbus Commerce 75
15 Ariana 20 Austin Commerce 80
16 Selena 21 Washington Arts 90
17 Katrina 22 Columbus Arts 89
18 Tom 23 Columbus Commerce 85
19 Henry 21 Austin Science 79
20 Alexander 20 Seattle Science 90

我们将把列名从marks改为stu_marks。下面的查询将更改列名:

查询:

ALTER TABLE student_table
RENAME COLUMN marks TO stu_marks;
SELECT * FROM student_table;

输出:

从输出结果可以明显看出,列名已经从marks更改为stu_marks。

stu_number stu_name stu_age stu_address stu_stream stu_marks
11 Robin 19 Seattle Commerce 85
12 Jack 20 Washington Arts 95
13 Michael 21 Austin Science 84
14 Justin 19 Columbus Commerce 75
15 Ariana 20 Austin Commerce 80
16 Selena 21 Washington Arts 90
17 Katrina 22 Columbus Arts 89
18 Tom 23 Columbus Commerce 85
19 Henry 21 Austin Science 79
20 Alexander 20 Seattle Science 90

重命名Microsoft SQL Server中列名的示例:

示例1:

让我们再考虑一个名为employee_table的表,该表包含了emp_id、emp_name、emp_address、department和emp_salary这些字段。

emp_id emp_name emp_address department emp_salary
50 John Washington Sales 25000
51 Shirley Austin Software Testing 50000
52 Daniel Columbus Sales 40000
53 Anthony Austin Content Writing 20000
54 James Chicago HR 45000
55 Helen Phoenix Software Testing 55000
56 Nicole Chicago Sales 35000
57 Nick Columbus HR 40000
58 Peter Phoenix Content Writing 25000
59 Ashley Washington Content Writing 35000

将列名从department改名为emp_department。以下给出的查询将更改列名:

查询:

sp_rename 'department', 'emp_department', 'COLUMN';
SELECT * FROM employee_table;

输出:

从输出中可以清楚地看出,列名称已从department更改为emp_department。

emp_id emp_name emp_address emp_department emp_salary
50 John Washington Sales 25000
51 Shirley Austin Software Testing 50000
52 Daniel Columbus Sales 40000
53 Anthony Austin Content Writing 20000
54 James Chicago HR 45000
55 Helen Phoenix Software Testing 55000
56 Nicole Chicago Sales 35000
57 Nick Columbus HR 40000
58 Peter Phoenix Content Writing 25000
59 Ashley Washington Content Writing 35000

示例2:

让我们考虑另一个名为book_table的表,其中包含id,book_name,author,pages和price字段。

id 书名 作者 页数 价格
1 一个叫家的地方 Preeti Shenoy 324 250
2 骄傲与偏见与辩论 Shashi Tharoor 600 630
3 红色敬礼 Smriti Irani 256 65
4 我们这些有故障的人 John Green 352 250
5 窃书贼 Markus Zusak 624 295
6 动物庄园 George Orwell 88 120
7 十万亿美梦 Subhash Chandra Garg 712 650
8 未完成的 Priyanka Chopra Jonas 280 420
9 公主新娘 William Goldman 512 780
10 派的生活 Yann Martel 352 240

我们将把列名从book_name改为book_list。下面给出的查询将更改列名:

查询:

sp_rename 'book_name', 'book_list', 'COLUMN';
SELECT * FROM book_table;

输出:

从输出结果可以明显看出,列名已从book_name更改为book_list。

id book_list(书籍列表) author(作者) pages(页数) price(价格)
1 A Place Called Home(一个叫家的地方) Preeti Shenoy(普里蒂·谢诺伊) 324 250
2 Pride, Prejudice, and Punditry(骄傲、偏见和评论) Shashi Tharoor(沙西·塔鲁尔) 600 630
3 Lal Salam(红色敬礼) Smriti Irani(斯米蒂·伊拉尼) 256 65
4 The Fault in Our Stars(这些我们的星星的错误) John Green(约翰·格林) 352 250
5 The Book Thief(偷书贼) Markus Zusak(马库斯·祖萨克) 624 295
6 Animal Farm(动物农场) George Orwell(乔治·奥威尔) 88 120
7 The Ten Trillion Dream(一万亿的梦想) Subhash Chandra Garg(苏巴什·钱德拉·加尔) 712 650
8 Unfinished(未完成) Priyanka Chopra Jonas(普里揭卡·乔普拉·乔纳斯) 280 420
9 The Princess Bride(公主新娘) William Goldman(威廉·戈德曼) 512 780
10 Life of Pi(少年派的奇幻漂流) Yann Martel(杨·马尔特尔) 352 240

示例3:

让我们再考虑一个名为employee_table的表格,它包含了emp_id、emp_name、emp_address、department和salary这些字段。

emp_id emp_name emp_address department salary
50 John Washington Sales 25000
51 Shirley Austin Software Testing 50000
52 Daniel Columbus Sales 40000
53 Anthony Austin Content Writing 20000
54 James Chicago HR 45000
55 Helen Phoenix Software Testing 55000
56 Nicole Chicago Sales 35000
57 Nick Columbus HR 40000
58 Peter Phoenix Content Writing 25000
59 Ashley Washington Content Writing 35000

我们将把列名从salary改为emp_salary。下面的查询将更改列名:

查询:

sp_rename 'salary', 'emp_salary', 'COLUMN';
SELECT * FROM employee_table;

输出结果:

从输出结果可以明显看出,列名已经从salary改为emp_salary。

emp_id emp_name emp_address department emp_salary
50 John Washington Sales 25000
51 Shirley Austin Software Testing 50000
52 Daniel Columbus Sales 40000
53 Anthony Austin Content Writing 20000
54 James Chicago HR 45000
55 Helen Phoenix Software Testing 55000
56 Nicole Chicago Sales 35000
57 Nick Columbus HR 40000
58 Peter Phoenix Content Writing 25000
59 Ashley Washington Content Writing 35000

结论:

在本文中,您已经学习了如何在SQL中重命名列名。您已经了解到在不同的SQL数据库中,重命名列名的方式略有不同。您已经学习了在SQL数据库中重命名列名的不同方法,例如MySQL、Oracle、MariaDB、PostgreSQL和Microsoft SQL Server。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程