Ⅰ 怎么用pl/sql修改表名
怎么用pl/sql修改表名
方法/步骤
登录PL/SQL
Developer
找到要修改数据的表,右击该表,选择“编辑数据”
出现下图这样的窗口,注意方框中的信息。
小锁此时打开了,说明可以编辑数据了,后面的加减号表示增加、删除记录。
最后一列的rowid不能修改,这是物理标识列。
修改了数据后,可以看到对号变成绿色了,此时要提交的话需要点击这个对号。
点击对号之后并没有真正保存,还需要提交事务,这样才算是真正修改了。
点击对号之后,还要点击提交事务按钮。
弹出确认提示框,点击是即可。
我们还可以在sql窗口中输入‘select
t.*,t.rowid
from表
t’,按执行键,然后再点击那个锁,即可开始修改表数据。
如果输入的是‘select
t.*
from
表
t’,这条语句和上面的那个语句查询结果是相同的,但因为多查了个rowid,所以才能修改数据。
Ⅱ sql怎么修改表的字段名
MySQL中可以使用rename table这个SQL语句来修改表名。
rename table这个SQL语句来修改表名的基本语法是:
RENAME TABLE <旧表名> TO <新表名>;
我们来把test表修改为test1表。
1、首先查看一下当前数据库中有哪些表。
mysql> show tables;
+-------------------+
| Tables_in_cainiao |
+-------------------+
| test |
| test2 |
+-------------------+
2 rows in set (0.00 sec)
2、执行重命名操作,把test修改为test1。
mysql> rename table test to test1;
Query OK, 0 rows affected (0.08 sec)
3、再次查看一下结果。
mysql> show tables;
+-------------------+
| Tables_in_cainiao |
+-------------------+
| test1 |
| test2 |
+-------------------+
2 rows in set (0.00 sec)
Ⅲ SQL中如何使用T-SQL语句修改表的名称
sp_rename
更改当前数据库中用户创建对象(如表、列或用户定义数据类型)的名称。
语法
sp_rename
[
@objname
=
]
'object_name
'
,
[
@newname
=
]
'new_name
'
[
,
[
@objtype
=
]
'object_type
'
]
参数
[@objname
=]
'object_name
'
是用户对象(表、视图、列、存储过程、触发器、默认值、数据库、对象或规则)或数据类型的当前名称。如果要重命名的对象是表中的一列,那么
object_name
必须为
table.column
形式。如果要重命名的是索引,那么
object_name
必须为
table.index
形式。object_name
为
nvarchar(776)
类型,无默认值。
[@newname
=]
'new_name
'
是指定对象的新名称。new_name
必须是名称的一部分,并且要遵循标识符的规则。newname
是
sysname
类型,无默认值。
[@objtype
=]
'object_type
'
是要重命名的对象的类型。object_type
为
varchar(13)
类型,其默认值为
NULL,可取下列值。
值
描述
COLUMN
要重命名的列。
DATABASE
用户定义的数据库。要重命名数据库时需用此选项。
INDEX
用户定义的索引。
OBJECT
在
sysobjects
中跟踪的类型的项目。例如,OBJECT
可用来重命名约束(CHECK、FOREIGN
KEY、PRIMARY/UNIQUE
KEY)、用户表、视图、存储过程、触发器和规则等对象。
USERDATATYPE
通过执行
sp_addtype
而添加的用户定义数据类型。
返回代码值
0(成功)或非零数字(失败)
注释
只能更改当前数据库中的对象名称或数据类型名称。大多数系统数据类型和系统对象的名称不能更改。
重命名视图时,sysobjects
表中有关该视图的信息将得到更新。重命名存储过程时,sysobjects
表中有关该过程的信息将得到更新。
每当重命名
PRIMARY
KEY
或
UNIQUE
约束时,sp_rename
都会自动为相关联的索引重命名。如果重命名的索引与
PRIMARY
KEY
约束相关联,那么
sp_rename
也会自动重命名主键。
重要
重命名存储过程和视图后,请清空过程高速缓存以确保所有相关的存储过程和视图都重新编译。
由于存储过程和视图都不存储数据,所以这两种对象均可快速删除和重建。重命名文本对象时,要获得最佳结果,应删除并使用其新名称重新创建对象。
权限
sysadmin
固定服务器角色成员、db_owner
和
db_ddladmin
固定数据库角色成员或对象所有者可以执行
sp_rename。只有
sysadmin
和
dbcreator
固定服务器角色成员才能将
"database
"作为
object_type
来执行
sp_rename。
示例
A.
重命名表
下例将表
customers
重命名为
custs。
EXEC
sp_rename
'customers
',
'custs
'
B.
重命名列
下例将表
customers
中的列
contact
title
重命名为
title。
EXEC
sp_rename
'customers.[contact
title]
',
'title
',
'COLUMN
'
Ⅳ SQL语句:表重命名
sql语句重命名表名和列名
ylb:sql语句重命名表名和列名返回顶部
一、更改数据库名
sp_renamedb 更改数据库的名称。
语法: sp_renamedb [ @dbname = ] ' old_name ' , [ @newname = ] ' new_name '
参数: [ @dbname = ] ' old_name ' 是数据库的当前名称。old_name 为 sysname 类型,无默认值。
[ @newname = ] ' new_name ' 是数据库的新名称。 new_name 必须遵循标识符规则。new_name 为 sysname 类型,无默认值。
返回代码值: 0 (成功)或非零数字(失败)
权限: 只有 sysadmin 和 dbcreator 固定服务器角色的成员才能执行 sp_renamedb。
示例: 下例将数据库 accounting 改名为 financial。
EXEC sp_renamedb ' accounting ' , ' financial '
二、更改表名或列名
sp_rename [ @objname = ] ' object_name ' ,
[ @newname = ] ' new_name '
[ , [ @objtype = ] ' object_type ' ]
A. 重命名表:
下例将表 customers 重命名为 custs。
EXEC sp_rename ' customers ' , ' custs '
B. 重命名列:
下例将表 customers 中的列 contact title 重命名为 title。
EXEC sp_rename ' customers.[contact title] ' , ' title ' , ' COLUMN '
Ⅳ SQL语句 重命名表
Sp_存储过程的名称 这一种命名规范而已 表示系统存储过程 如果是扩展存储过程的话则是以 xp_存储过程名称
存储过程可以定义为:预编译在执行计划中的一系列标准Sql语句的集合
Exec 只是用来调用存储过程而已(可以省略Exec)
Ⅵ 怎样用SQL语句修改表名与表中的列名
ALTER TABLE table
{ [ ALTER COLUMN column_name
{ new_data_type [ ( precision [ , scale ] ) ]
[ COLLATE < collation_name > ]
[ NULL | NOT NULL ]
| {ADD | DROP } ROWGUIDCOL }
]
| ADD
{ [ < column_definition > ]
| column_name AS computed_column_expression
} [ ,...n ]
| [ WITH CHECK | WITH NOCHECK ] ADD
{ < table_constraint > } [ ,...n ]
| DROP
{ [ CONSTRAINT ] constraint_name
| COLUMN column } [ ,...n ]
| { CHECK | NOCHECK } CONSTRAINT
{ ALL | constraint_name [ ,...n ] }
| { ENABLE | DISABLE } TRIGGER
{ ALL | trigger_name [ ,...n ] }
}
< column_definition > ::=
{ column_name data_type }
[ [ DEFAULT constant_expression ] [ WITH VALUES ]
| [ IDENTITY [ ( seed , increment ) [ NOT FOR REPLICATION ] ] ]
]
[ ROWGUIDCOL ]
[ COLLATE <毁局尘 collation_name > ]
[ <纤禅 column_constraint > ] [ ...n ]
< column_constraint > ::=
[ CONSTRAINT constraint_name ]
{ [ NULL | NOT NULL ]
| [ { PRIMARY KEY | UNIQUE }
[ CLUSTERED | NONCLUSTERED ]
[ WITH FILLFACTOR = fillfactor ]
[ ON { filegroup | DEFAULT } ]
]
| [ [ FOREIGN KEY ]
REFERENCES ref_table [ ( ref_column ) ]
[ ON DELETE { CASCADE | NO ACTION } ]
[ ON UPDATE { CASCADE | NO ACTION } ]
[ NOT FOR REPLICATION ]
]
| CHECK [ NOT FOR REPLICATION ]
( logical_expression )
}
<腊稿 table_constraint > ::=
[ CONSTRAINT constraint_name ]
{ [ { PRIMARY KEY | UNIQUE }
[ CLUSTERED | NONCLUSTERED ]
{ ( column [ ,...n ] ) }
[ WITH FILLFACTOR = fillfactor ]
[ ON { filegroup | DEFAULT } ]
]
| FOREIGN KEY
[ ( column [ ,...n ] ) ]
REFERENCES ref_table [ ( ref_column [ ,...n ] ) ]
[ ON DELETE { CASCADE | NO ACTION } ]
[ ON UPDATE { CASCADE | NO ACTION } ]
[ NOT FOR REPLICATION ]
| DEFAULT constant_expression
[ FOR column ] [ WITH VALUES ]
| CHECK [ NOT FOR REPLICATION ]
( search_conditions )
}
示例
A. 更改表以添加新列
下例添加一个允许空值的列,而且没有通过 DEFAULT 定义提供值。各行的新列中的值将为 NULL。
CREATE TABLE doc_exa ( column_a INT)
GO
ALTER TABLE doc_exa ADD column_b VARCHAR(20) NULL
GO
EXEC sp_help doc_exa
GO
DROP TABLE doc_exa
GO
B. 更改表以除去列
下例修改表以删除一列。
CREATE TABLE doc_exb ( column_a INT, column_b VARCHAR(20) NULL)
GO
ALTER TABLE doc_exb DROP COLUMN column_b
GO
EXEC sp_help doc_exb
GO
DROP TABLE doc_exb
GO
C. 更改表以添加具有约束的列
下例向表中添加具有 UNIQUE 约束的新列。
CREATE TABLE doc_exc ( column_a INT)
GO
ALTER TABLE doc_exc ADD column_b VARCHAR(20) NULL
CONSTRAINT exb_unique UNIQUE
GO
EXEC sp_help doc_exc
GO
DROP TABLE doc_exc
GO
D. 更改表以添加未验证的约束
下例向表中的现有列上添加约束。该列中存在一个违反约束的值;因此,利用 WITH NOCHECK 来防止对现有行验证约束,从而允许该约束的添加。
CREATE TABLE doc_exd ( column_a INT)
GO
INSERT INTO doc_exd VALUES (-1)
GO
ALTER TABLE doc_exd WITH NOCHECK
ADD CONSTRAINT exd_check CHECK (column_a > 1)
GO
EXEC sp_help doc_exd
GO
DROP TABLE doc_exd
GO
E. 更改表以添加多个带有约束的列
下例向表中添加多个带有约束的新列。第一个新列具有 IDENTITY 属性;表中每一行的标识列都将具有递增的新值。
CREATE TABLE doc_exe ( column_a INT CONSTRAINT column_a_un UNIQUE)
GO
ALTER TABLE doc_exe ADD
/* Add a PRIMARY KEY identity column. */
column_b INT IDENTITY
CONSTRAINT column_b_pk PRIMARY KEY,
/* Add a column referencing another column in the same table. */
column_c INT NULL
CONSTRAINT column_c_fk
REFERENCES doc_exe(column_a),
/* Add a column with a constraint to enforce that */
/* nonnull data is in a valid phone number format. */
column_d VARCHAR(16) NULL
CONSTRAINT column_d_chk
CHECK
(column_d IS NULL OR
column_d LIKE "[0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]" OR
column_d LIKE
"([0-9][0-9][0-9]) [0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]"),
/* Add a nonnull column with a default. */
column_e DECIMAL(3,3)
CONSTRAINT column_e_default
DEFAULT .081
GO
EXEC sp_help doc_exe
GO
DROP TABLE doc_exe
GO
F. 添加具有默认值的可为空的列
下例添加可为空的、具有 DEFAULT 定义的列,并使用 WITH VALUES 为表中的各现有行提供值。如果没有使用 WITH VALUES,那么每一行的新列中都将具有 NULL 值。
ALTER TABLE MyTable
ADD AddDate smalldatetime NULL
CONSTRAINT AddDateDflt
DEFAULT getdate() WITH VALUES
G. 禁用并重新启用一个约束
下例禁用用于限制可接受的薪水数据的约束。WITH NOCHECK CONSTRAINT 与 ALTER TABLE 一起使用,以禁用该约束并使正常情况下会引起约束违规的插入操作得以执行。WITH CHECK CONSTRAINT 重新启用该约束。
CREATE TABLE cnst_example
(id INT NOT NULL,
name VARCHAR(10) NOT NULL,
salary MONEY NOT NULL
CONSTRAINT salary_cap CHECK (salary < 100000)
)
-- Valid inserts
INSERT INTO cnst_example VALUES (1,"Joe Brown",65000)
INSERT INTO cnst_example VALUES (2,"Mary Smith",75000)
-- This insert violates the constraint.
INSERT INTO cnst_example VALUES (3,"Pat Jones",105000)
-- Disable the constraint and try again.
ALTER TABLE cnst_example NOCHECK CONSTRAINT salary_cap
INSERT INTO cnst_example VALUES (3,"Pat Jones",105000)
-- Reenable the constraint and try another insert, will fail.
ALTER TABLE cnst_example CHECK CONSTRAINT salary_cap
INSERT INTO cnst_example VALUES (4,"Eric James",110000)
H. 禁用并重新启用触发器
下例使用 ALTER TABLE 的 DISABLE TRIGGER 选项来禁用触发器,以使正常情况下会违反触发器条件的插入操作得以执行。然后下例使用 ENABLE TRIGGER 重新启用触发器。
CREATE TABLE trig_example
(id INT,
name VARCHAR(10),
salary MONEY)
go
-- Create the trigger.
CREATE TRIGGER trig1 ON trig_example FOR INSERT
as
IF (SELECT COUNT(*) FROM INSERTED
WHERE salary > 100000) > 0
BEGIN
print "TRIG1 Error: you attempted to insert a salary > $100,000"
ROLLBACK TRANSACTION
END
GO
-- Attempt an insert that violates the trigger.
INSERT INTO trig_example VALUES (1,"Pat Smith",100001)
GO
-- Disable the trigger.
ALTER TABLE trig_example DISABLE TRIGGER trig1
GO
-- Attempt an insert that would normally violate the trigger
INSERT INTO trig_example VALUES (2,"Chuck Jones",100001)
GO
-- Re-enable the trigger.
ALTER TABLE trig_example ENABLE TRIGGER trig1
GO
-- Attempt an insert that violates the trigger.
INSERT INTO trig_example VALUES (3,"Mary Booth",100001)
GO
Ⅶ SQL中怎样修改一个表的列名呢
1、在oracle数据库中: ALTER TABLE 表名 RENAME COLUMN 列名 TO 新列名。
2、在sqlserver数据库中:exec sp_rename '[表名].[列名]‘,’[表名].[新列名]'。
3、在mysql数据库中:ALTER TABLE 表名 CHANGE 列名 新列名 列类型。
(7)改表名的sql扩展阅读:
SQL中对表的其它操作:
1、插入列:
ALTER TABLE [表名.]TABLE_NAME ADD COLUMN_NAME DATATYPE。
2、删除列:
ALTER TABLE [表名.]TABLE_NAME DROP COLUMN COLUMN_NAME。
3、修改数据表名:
ALTER TABLE [表名.]OLD_TABLE_NAME RENAME TO NEW_TABLE_NAME。
参考资料:网络-sql语句大全
Ⅷ 更改表名sql语句 oracle
改表名:
(1)ALTER TABLE old_table_name RENAME TO new_table_name;
(2)rename old_table_name to new_table_name;(注意:rname只能修改自己schema下面的表)
Ⅸ SQL语言怎么定修改表名字
亲,其实mysql可以手动修改表名的,点开表,然后点击上方
然后具体的代码是: (把theaters 的order 表改名为orders)
RENAME TABLE `theaters`.`order` TO `theaters`.`orders` ;
今儿因为这个问题纠结了一下,然后自己找到了,虽然您很久前发的问题,但是我回答一下吧,希望后来看到的能够很快解决。