请教:如何用SQL语句更改ACCESS数据表的字段名称??

时间:2022-08-26 12:28:13
请教:如何用SQL语句更改ACCESS数据表的字段名称??

我知道在SQLServer中,可以用sp_rename 来更改字段名称,
但如何用SQL语句更改ACCESS数据表的字段名呢?

11 个解决方案

#1


UPDATE 
  information_schema.columns SET COLUMN_NAME(要更改的列名)  ='TT' (更改成的列名)
where table_name='TabLE'  AND COLUMN_NAME  ='要更改的列名'-

#2


To leiwenpin(一無所有) :
     在Access中是没有Information_schema.Columns 的。
它只有 MSysObjects,MSysACEs,MSysObjects,MSysQueries, MSysRelationships几个系统表

#3


create temptable
insert into temptable select * from tab
dorp tab
create table2
insert into table2 select temptab
drop temptable

#4


wyb0026(小小): 
   这也不失为一种办法,但这种办法太危险,会产生太多的问题。

#5


先把數據插入一個新表中,然後把原表刪除,這樣也可以達到更改表史的目的

select * into 新表 from opendatasource('.......')..表 
drop table 原表

#6


hdhai9451(New New People---新新人类)
   这也不失为一种办法,但这种办法太危险,会产生太多的问题。

#7


--创建链接服务器
if exists(select * from master..sysservers where srvname='srv_lnk')
exec sp_dropserver srv_lnk
go

EXEC sp_addlinkedserver 
@server = 'srv_lnk', 
@provider = 'Microsoft.Jet.OLEDB.4.0', 
@srvproduct = 'OLE DB Provider for Jet',
@datasrc = 'c:\test.mdb',  --要查询的ACCESS数据库
@provstr = ';pwd=密码'    --数据库密码
go

--查询ACCESS文件中具有的对象
EXEC sp_tables_ex 'srv_lnk'

--查询指定表的列信息
EXEC sp_columns_ex 'srv_lnk','表名'

#8


To zjcxc(邹建) :
  我之所以用Access,正是因为用户那里没有SQL Server,你让我如何sp_addlinkedserver 呢??

#9


不好意思,你在sql server版发帖,习惯性地认为你是想在sql server中处理了

   
关于此主题请参考:
    如何更改表的字段名?《ADO/DAO》
    http://access911.net/index.asp?u1=a&u2=71FAB71E12DCE8F3


  
 

#10


zjcxc(邹建):
   谢谢你,我本来是不想用ADOX,也不想用DAO,但看样子只能用adox了,也许DAO还更好一些。

#11


不想用ADOX,主要是因为ADOX的DLL文件版本经常与其他程序相冲突。

#1


UPDATE 
  information_schema.columns SET COLUMN_NAME(要更改的列名)  ='TT' (更改成的列名)
where table_name='TabLE'  AND COLUMN_NAME  ='要更改的列名'-

#2


To leiwenpin(一無所有) :
     在Access中是没有Information_schema.Columns 的。
它只有 MSysObjects,MSysACEs,MSysObjects,MSysQueries, MSysRelationships几个系统表

#3


create temptable
insert into temptable select * from tab
dorp tab
create table2
insert into table2 select temptab
drop temptable

#4


wyb0026(小小): 
   这也不失为一种办法,但这种办法太危险,会产生太多的问题。

#5


先把數據插入一個新表中,然後把原表刪除,這樣也可以達到更改表史的目的

select * into 新表 from opendatasource('.......')..表 
drop table 原表

#6


hdhai9451(New New People---新新人类)
   这也不失为一种办法,但这种办法太危险,会产生太多的问题。

#7


--创建链接服务器
if exists(select * from master..sysservers where srvname='srv_lnk')
exec sp_dropserver srv_lnk
go

EXEC sp_addlinkedserver 
@server = 'srv_lnk', 
@provider = 'Microsoft.Jet.OLEDB.4.0', 
@srvproduct = 'OLE DB Provider for Jet',
@datasrc = 'c:\test.mdb',  --要查询的ACCESS数据库
@provstr = ';pwd=密码'    --数据库密码
go

--查询ACCESS文件中具有的对象
EXEC sp_tables_ex 'srv_lnk'

--查询指定表的列信息
EXEC sp_columns_ex 'srv_lnk','表名'

#8


To zjcxc(邹建) :
  我之所以用Access,正是因为用户那里没有SQL Server,你让我如何sp_addlinkedserver 呢??

#9


不好意思,你在sql server版发帖,习惯性地认为你是想在sql server中处理了

   
关于此主题请参考:
    如何更改表的字段名?《ADO/DAO》
    http://access911.net/index.asp?u1=a&u2=71FAB71E12DCE8F3


  
 

#10


zjcxc(邹建):
   谢谢你,我本来是不想用ADOX,也不想用DAO,但看样子只能用adox了,也许DAO还更好一些。

#11


不想用ADOX,主要是因为ADOX的DLL文件版本经常与其他程序相冲突。