热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

sqlaltertable语句用法-mysql教程

ALTERTABLE语句允许您重命名一个现有的表。它也可以被用于从现有的表添加,修改或删除一列,下面我们来看看alter语句的多种用法吧。

ALTER TABLE语句允许您重命名一个现有的表。它也可以被用于从现有的表添加,修改或删除一列,下面我们来看看alter语句的多种用法吧。

重命名表
重命名表的基本语法是:

代码如下

ALTER TABLE table_name
RENAME TO new_table_name;

For example:

ALTER TABLE suppliers

这将重命名的供应商表供应商。

表中添加列(S)
语法#1

要添加到现有的表列,ALTER TABLE的语法是:

代码如下

ALTER TABLE table_name
ADD column_name column-definition;

For example:

ALTER TABLE supplier
ADD supplier_name varchar2(50);

这会增加供应商表中的列称为supplier_name。

语法#2

要添加到现有表的多个列,ALTER TABLE的语法是:

代码如下

ALTER TABLE table_name
ADD ( column_1 column-definition,
column_2 column-definition,
...
column_n column_definition );

For example:

ALTER TABLE supplier
ADD ( supplier_name varchar2(50),
city varchar2(45) );

这将增加两列(supplier_name市)的供应商表。

修改表中的列(S)
语法#1

要修改现有表列,ALTER TABLE的语法是:

代码如下

ALTER TABLE table_name
MODIFY column_name column_type;

For example:

ALTER TABLE supplier
MODIFY supplier_name varchar2(100) not null;


这将修改所谓supplier_name,是一个VARCHAR2数据类型(100),并迫使列不允许空值的列。

语法#2

要修改现有表中的多个列,ALTER TABLE的语法是:

代码如下

ALTER TABLE table_name
MODIFY ( column_1 column_type,
column_2 column_type,
...
column_n column_type );

For example:

ALTER TABLE supplier
MODIFY ( supplier_name varchar2(100) not null,
city varchar2(75) );

这将修改supplier_name和城市列。

(S)在一个表中删除列
语法#1

要删除一个现有的表列,ALTER TABLE的语法是:

代码如下

ALTER TABLE table_name
DROP COLUMN column_name;

For example:

ALTER TABLE supplier
DROP COLUMN supplier_name;

这将下降supplier_name名为供应商的表列。

在表重命名列(S)
(新在Oracle 9i第2版)
语法#1

在Oracle9i第2版开始,你现在可以重命名列。

要在现有的表重命名列,ALTER TABLE的语法是:

代码如下

ALTER TABLE table_name
RENAME COLUMN old_name to new_name;

For example:

ALTER TABLE supplier
RENAME COLUMN supplier_name to sname;


This will rename the column called supplier_name to sname.

Acknowledgements: Thanks to Dave M., Craig A., and Susan W. for contributing to this solution!

Practice Exercise #1:

Based on the departments table below, rename the departments table to depts.

代码如下
CREATE TABLE departments
( department_id number(10) not null,
department_name varchar2(50) not null,
CONSTRAINT departments_pk PRIMARY KEY (department_id)
);

Solution:

The following ALTER TABLE statement would rename the departments table to depts:

代码如下

ALTER TABLE departments
RENAME TO depts;

Practice Exercise #2:

Based on the employees table below, add a column called salary that is a number(6) datatype.

代码如下

CREATE TABLE employees
( employee_number number(10) not null,
employee_name varchar2(50) not null,
department_id number(10),
CONSTRAINT employees_pk PRIMARY KEY (employee_number)
);

Solution:

The following ALTER TABLE statement would add a salary column to the employees table:

代码如下

ALTER TABLE employees
ADD salary number(6);

Practice Exercise #3:

Based on the customers table below, add two columns - one column called contact_name that is a varchar2(50) datatype and one column called last_contacted that is a date datatype.

代码如下

CREATE TABLE customers
( customer_id number(10) not null,
customer_name varchar2(50) not null,
address varchar2(50),
city varchar2(50),
state varchar2(25),
zip_code varchar2(10),
CONSTRAINT customers_pk PRIMARY KEY (customer_id)
);

Solution:

The following ALTER TABLE statement would add the contact_name and last_contacted columns to the customers table:

代码如下

ALTER TABLE customers
ADD ( contact_name varchar2(50),
last_contacted date );

Practice Exercise #4:

Based on the employees table below, change the employee_name column to a varchar2(75) datatype.

代码如下
CREATE TABLE employees
( employee_number number(10) not null,
employee_name varchar2(50) not null,
department_id number(10),
CONSTRAINT employees_pk PRIMARY KEY (employee_number)
);

Solution:

The following ALTER TABLE statement would change the datatype for the employee_name column to varchar2(75):

代码如下

ALTER TABLE employees
MODIFY employee_name varchar2(75);

Practice Exercise #5:

Based on the customers table below, change the customer_name column to NOT allow null values and change the state column to a varchar2(2) datatype.

代码如下

CREATE TABLE customers
( customer_id number(10) not null,
customer_name varchar2(50),
address varchar2(50),
city varchar2(50),
state varchar2(25),
zip_code varchar2(10),
CONSTRAINT customers_pk PRIMARY KEY (customer_id)
);

Solution:

The following ALTER TABLE statement would modify the customer_name and state columns accordingly in the customers table:

代码如下

ALTER TABLE customers
MODIFY ( customer_name varchar2(50) not null,
state varchar2(2) );

Practice Exercise #6:

Based on the employees table below, drop the salary column.

代码如下

CREATE TABLE employees
( employee_number number(10) not null,
employee_name varchar2(50) not null,
department_id number(10),
salary number(6),
CONSTRAINT employees_pk PRIMARY KEY (employee_number)
);

Solution:

The following ALTER TABLE statement would drop the salary column from the employees table:

代码如下

ALTER TABLE employees
DROP COLUMN salary;

Practice Exercise #7:

Based on the departments table below, rename the department_name column to dept_name.

代码如下

CREATE TABLE departments
( department_id number(10) not null,
department_name varchar2(50) not null,
CONSTRAINT departments_pk PRIMARY KEY (department_id)
);

解决方案:

下面的ALTER TABLE语句将重新命名department_name列dept_name部门表:

代码如下

ALTER TABLE departments
RENAME COLUMN department_name to dept_name;


推荐阅读
  • 本文探讨了在 PHP 的 Zend 框架下,使用 PHPUnit 进行单元测试时遇到的 Zend_Controller_Response_Exception 错误,并提供了解决方案。 ... [详细]
  • 探索OpenWrt中的LuCI框架
    本文深入探讨了OpenWrt系统中轻量级HTTP服务器uhttpd的工作原理及其配置,重点介绍了LuCI界面的实现机制。 ... [详细]
  • 深入理解TCP头部结构
    本文详细介绍了TCP头部的各个字段及其功能,包括源端口、目标端口、序列号、确认号等关键字段,以及TCP头部的大小、标志位、窗口大小、校验和等辅助信息。通过解析实际的TCP头部示例,帮助读者更好地理解TCP协议的工作原理。 ... [详细]
  • LoadRunner中的IP欺骗配置与实践
    为了确保服务器能够有效地区分不同的用户请求,避免多人使用同一IP地址造成的访问限制,可以通过配置IP欺骗来解决这一问题。本文将详细介绍IP欺骗的工作原理及其在LoadRunner中的具体配置步骤。 ... [详细]
  • 本文探讨了Java编程语言中常用的两个比较操作符==和equals方法的区别及其应用场景。通过具体示例分析,帮助开发者更好地理解和使用这两个概念,特别是在处理基本数据类型和引用数据类型的比较时。 ... [详细]
  • 本文详细介绍了PHP中的几种超全局变量,包括$GLOBAL、$_SERVER、$_POST、$_GET等,并探讨了AJAX的工作原理及其优缺点。通过具体示例,帮助读者更好地理解和应用这些技术。 ... [详细]
  • 探讨了在移动设备上使用contentEditable属性时遇到的布局问题,并提供了解决方案。 ... [详细]
  • 本文详细介绍了在PHP中如何获取和处理HTTP头部信息,包括通过cURL获取请求头信息、使用header函数发送响应头以及获取客户端HTTP头部的方法。同时,还探讨了PHP中$_SERVER变量的使用,以获取客户端和服务器的相关信息。 ... [详细]
  • 本文概述了在GNU/Linux系统中,动态库在链接和运行阶段的搜索路径及其指定方法,包括通过编译时参数、环境变量及系统配置文件等方式来控制动态库的查找路径。 ... [详细]
  • 本文介绍了如何通过设置特定属性来取消小程序中 Navigator 组件的默认点击效果,提高用户体验。 ... [详细]
  • 本文详细介绍了在MyBatis框架中如何通过#和$两种方式来传递SQL查询参数。使用#方式可以提高执行效率,而使用$则有助于在复杂SQL语句中更好地查看日志。此外,文章还探讨了不同场景下的参数传递方法,包括实体对象、基本数据类型以及混合参数的使用。 ... [详细]
  • 探讨在使用 PHP 函数 array_combine 时遇到的重复键名问题,并提出解决方案以确保所有数据都能被正确显示。 ... [详细]
  • 本文详细介绍了如何使用Rufus工具制作一个兼容UEFI启动模式的Windows Server 2008 R2安装U盘,包括必要的软件和步骤。 ... [详细]
  • 本文介绍了如何使用Java编程语言实现凯撒密码的加密与解密功能。凯撒密码是一种替换式密码,通过将字母表中的每个字母向前或向后移动固定数量的位置来实现加密。 ... [详细]
  • 本文介绍如何使用 Python 计算两个时间戳之间的时间差,并将其转换为毫秒。示例代码展示了如何通过 `time` 和 `datetime` 模块实现这一功能。 ... [详细]
author-avatar
宝泉岭_白饭如霜些_350
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有