ALTER TABLE(修改表结构)
2012-04-09 00:00
113 查看
The ALTER TABLE statement allows you to rename an existing table. It can also be used to add, modify, or drop a column from an existing table.
ALTER TABLE table_name
RENAME TO new_table_name;
For example:
ALTER TABLE suppliers
RENAME TO vendors;
This will rename the suppliers table to vendors.
To add a column to an existing table, the ALTER TABLE syntax is:
ALTER TABLE table_name
ADD column_name column-definition;
For example:
ALTER TABLE supplier
ADD supplier_name varchar2(50);
This will add a column called supplier_name to the supplier table.
[b](增加多列)[/b]
Syntax #2
To add multiple columns to an existing table, the ALTER TABLE syntax is:
For example:
This will add two columns (supplier_name and city) to the supplier table.
注意:修改某列类型的时候,表内不能有数据
To modify a column in an existing table, the ALTER TABLE syntax is:
ALTER TABLE table_name
MODIFY column_name column_type;
For example:
ALTER TABLE supplier
MODIFY supplier_name varchar2(100) not null;
This will modify the column called supplier_name to be a data type of varchar2(100) and force the column to not allow null values.
To modify multiple columns in an existing table, the ALTER TABLE syntax is:
For example:
This will modify both the supplier_name and city columns.
To drop a column in an existing table, the ALTER TABLE syntax is:
ALTER TABLE table_name
DROP COLUMN column_name;
For example:
ALTER TABLE supplier
DROP COLUMN supplier_name;
This will drop the column called supplier_name from the table called supplier.
Rename column(s) in a table
[/b] Syntax #1
Starting in Oracle 9i Release 2, you can now rename a column.
To rename a column in an existing table, the ALTER TABLE syntax is:
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.
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.
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.
Solution:
The following ALTER TABLE statement would add the contact_name and last_contacted columns to the customers table:
Practice Exercise #4:
Based on the employees table below, change the employee_name column to a varchar2(75) datatype.
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.
Solution:
The following ALTER TABLE statement would modify the customer_name and state columns accordingly in the customers table:
Practice Exercise #6:
Based on the employees table below, drop the salary column.
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.
Solution:
The following ALTER TABLE statement would rename the department_name column to dept_name in the departments table:
ALTER TABLE departments
RENAME COLUMN department_name to dept_name;
Renaming a table(重命名表名)
The basic syntax for renaming a table is:ALTER TABLE table_name
RENAME TO new_table_name;
For example:
ALTER TABLE suppliers
RENAME TO vendors;
This will rename the suppliers table to vendors.
Adding column(s) to a table(增加一列)
Syntax #1To add a column to an existing table, the ALTER TABLE syntax is:
ALTER TABLE table_name
ADD column_name column-definition;
For example:
ALTER TABLE supplier
ADD supplier_name varchar2(50);
This will add a column called supplier_name to the supplier table.
[b](增加多列)[/b]
Syntax #2
To add multiple columns to an existing table, the ALTER TABLE syntax is:
ALTER TABLE table_name | ||
ADD ( | column_1 | column-definition, |
column_2 | column-definition, | |
... | ||
column_n | column_definition ); |
ALTER TABLE supplier | ||
ADD ( | supplier_name | varchar2(50), |
city | varchar2(45) ); |
注意:修改某列类型的时候,表内不能有数据
Modifying column(s) in a table(修改一列数据类型)
Syntax #1To modify a column in an existing table, the ALTER TABLE syntax is:
ALTER TABLE table_name
MODIFY column_name column_type;
For example:
ALTER TABLE supplier
MODIFY supplier_name varchar2(100) not null;
This will modify the column called supplier_name to be a data type of varchar2(100) and force the column to not allow null values.
(修改多列数据类型)
Syntax #2To modify multiple columns in an existing table, the ALTER TABLE syntax is:
ALTER TABLE table_name | ||
MODIFY ( | column_1 | column_type, |
column_2 | column_type, | |
... | ||
column 3ff0 _n | column_type ); |
ALTER TABLE supplier | ||||
MODIFY ( | supplier_name | varchar2(100) | not null, | |
city | varchar2(75) | ); |
Drop column(s) in a table (删除某列)
Syntax #1To drop a column in an existing table, the ALTER TABLE syntax is:
ALTER TABLE table_name
DROP COLUMN column_name;
For example:
ALTER TABLE supplier
DROP COLUMN supplier_name;
This will drop the column called supplier_name from the table called supplier.
Rename column(s) in a table
(NEW in Oracle 9i Release 2) [b] (重命名某列)
[/b] Syntax #1Starting in Oracle 9i Release 2, you can now rename a column.
To rename a column in an existing table, the ALTER TABLE syntax is:
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) | |||
); |
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) | |||
); |
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) | |||
); |
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 ); |
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) | |||
); |
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) | |||
); |
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) ); |
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) | |||
); |
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) | |||
); |
The following ALTER TABLE statement would rename the department_name column to dept_name in the departments table:
ALTER TABLE departments
RENAME COLUMN department_name to dept_name;
相关文章推荐
- mysql alter table命令修改表结构实例详解
- [MySQL] 用alter table语句修改表的结构
- mysql修改表结构(alter table),多列/多字段
- 修改表结构alter table
- ALTER TABLE(修改表结构命令)
- Alter Table对表结构修改时,常见的错误及解决方法
- 用ALTER TABLE 语句修改表结构
- oracle修改表结构(alter table),多列/多字段
- SQL Server2008无法修改表结构?
- 使用gSoap规避和修改ONVIF标准类型结构的解析
- 修改表结构DDL语句与锁
- Alter Table 修改表和修改字段和索引
- 如何解决SqlServer2008修改表结构后无法保存的问题
- 酒店管理系统_04-Servlet版本-mysql数据库-方法封装修改数据表结构
- 修改eclipse/MyEclipse中项目包的显示结构
- Showdoc修改目录结构、删除目录等操作方法
- 修改表结构的写法
- SQL2008修改表结构的时候弹出的提示. Saving changes is not permitted...
- oracle修改表结构