❶ sql server怎样使用ALTER 语句修改字段名
1、新建一个表:student,用做示例,如图所示。
(1)sqlserver重命名表扩展阅读
在修改Sql Server表结构时,常用到Alter语句,把一些常用的alter语句列举如下。
1、向表中添加字段
Alter table [表名] add [列名] 类型
2、删除字段
Alter table [表名] drop column [列名]
3、修改表中字段类型 (可以修改列的类型,是否为空)
Alter table [表名] alter column [列名] 类型
4、添加主键
Alter table [表名] add constraint [约束名] primary key( [列名])
5、添加唯一约束
Alter table [表名] add constraint [约束名] unique([列名])
6、添加表中某列的默认值
Alter table [表名] add constraint [约束名] default(默认值) for [列名]
7、添加约束
Alter table [表名] add constraint [约束名]check (内容)
8、添加外键约束
Alter table [表名] add constraint [约束名] foreign key(列名) referencese 另一表名(列名)
9、删除约束
Alter table [表名] drop constraint [约束名]
10、重命名表
exec sp_rename '[原表名]','[新表名]'
11、重命名列名
exec sp_rename '[表名].[列名]','[表名].[新列名]'
12、删除主键,以及主键上的索引
alter table table_name drop constraint clusteredName
❷ SQL语句能用在ACCESS上吗
Access+SQL语句
在Access数据库中建表
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:zjw","","");
String tablename = "xl_"+jgname;
String sql_create = "CREATE TABLE " +tablename+" (id VARCHAR(20) PRIMARY KEY, 开关 VARCHAR(20),正母闸刀 VARCHAR(20),副母闸刀 VARCHAR(20), 线路闸刀 VARCHAR(20),开关母线侧地刀 VARCHAR(20),开关线路侧地刀 VARCHAR(20),线路侧地刀 VARCHAR(20),母差投退 VARCHAR(20),母差复归 VARCHAR(20) )";
String sql_insert_1 = " INSERT INTO " +tablename+" values ('1','开关','正母闸刀','副母闸刀','线路闸刀','开关母线侧地刀','开关线路侧地刀','线路侧地刀','母差投退','母差复归')";
String sql_insert_2 = " INSERT INTO " +tablename+" values ('2','0','0','0','0','0','0','0','0','0')";
String sql_insert_3 = " INSERT INTO " +tablename+" values ('3',?, ? ,? , ? ,? ,? ,?,?,?)";
String sql_insert_4= " INSERT INTO " +tablename+" values ('4','162','104','212','156','255','212','104','525','65')";
String sql_insert_5 = " INSERT INTO " +tablename+" values ('5','137','220','220','83','220','132','82','533','264')";
PreparedStatement create_pstmt=con.prepareStatement(sql_create);
create_pstmt.executeUpdate();
create_pstmt.close();
在Access数据库中重命名表
来源:中国大学生网 时间:2005-10-16 18:53:18 责任编辑:雨 【字体:大 小】
下面代码是用Adox重命名Access表名的示例代码:
Dim Conn,ConnStr,oCat,oTbl
ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("data.mdb")
Set oCat=Server.CreateObject("ADOX.Catalog")
oCat.ActiveConnection = ConnStr
Set oTbl = Server.CreateObject("ADOX.Table")
Set oTbl = oCat.Tables("OldTable") '要重命名的表名:OldTable
oTbl.Name = "NewTable" '新表名
Set oCat = Nothing
Set oTbl = Nothing
Sql server 中可以用Sql语句直接重命名表,
下面是Sql Server 和 Access 操作数据库结构的常用Sql,希望对你有所帮助。
内容由海娃整理,不正确与不完整之处还请提出,谢谢。
新建表:
create table [表名]
(
[自动编号字段] int IDENTITY (1,1) PRIMARY KEY ,
[字段1] nVarChar(50) default '默认值' null ,
[字段2] ntext null ,
[字段3] datetime,
[字段4] money null ,
[字段5] int default 0,
[字段6] Decimal (12,4) default 0,
[字段7] image null ,
)
删除表:
Drop table [表名]
插入数据:
INSERT INTO [表名] (字段1,字段2) VALUES (100,'51WINDOWS.NET')
删除数据:
DELETE FROM [表名] WHERE [字段名]>100
更新数据:
UPDATE [表名] SET [字段1] = 200,[字段2] = '51WINDOWS.NET' WHERE [字段三] = 'HAIWA'
新增字段:
ALTER TABLE [表名] ADD [字段名] NVARCHAR (50) NULL
删除字段:
ALTER TABLE [表名] DROP COLUMN [字段名]
修改字段:
ALTER TABLE [表名] ALTER COLUMN [字段名] NVARCHAR (50) NULL
重命名表:(Access 重命名表,请参考文章:在Access数据库中重命名表)
sp_rename '表名', '新表名', 'OBJECT'
新建约束:
ALTER TABLE [表名] ADD CONSTRAINT 约束名 CHECK ([约束字段] <= '2000-1-1')
删除约束:
ALTER TABLE [表名] DROP CONSTRAINT 约束名
新建默认值
ALTER TABLE [表名] ADD CONSTRAINT 默认值名 DEFAULT '51WINDOWS.NET' FOR [字段名]
删除默认值
ALTER TABLE [表名] DROP CONSTRAINT 默认值名
删除Sql Server 中的日志,减小数据库文件大小
mp transaction 数据库名 with no_log
backup log 数据库名 with no_log
dbcc shrinkdatabase(数据库名)
exec sp_dboption '数据库名', 'autoshrink', 'true'
下面是2种语言的区别!
SQL和ACCESS基本都相同,可以直接导入导出,如果是程序访问的话,sql语句有些不同,需要改动一下。
1、对于日期字段
access表示为:#1981-28-12#
SQLSERVER2000表示为:'1981-02-12'
2、SQL语句区别
select、update 在对单表操作时都差不多,但多表操作时update语句的区别ACCESS与SQLSERVER中的Update语句对比:
SQLSERVER中更新多表的Update语句:Update Tab1 SET a.Name = b.Name FROM Tab1 a,Tab2 b Where a.ID = b.ID;
同样功能的SQL语句在ACCESS中应该是:Update Tab1 a,Tab2 b SET a.Name = b.Name Where a.ID = b.ID;
即ACCESS中的Update语句没有FROM子句,所有引用的表都列在Update关键字后。更新单表时都为:Update table1 set ab='ss',cd=111 where ....
3、delete语句
access中删除时用:delete * from table1 where a>2 即只要把select 语句里的select 换成delete就可以了。
sqlserve 中则为:delete from table1 where a>2 即没有*号
4、as 后面的计算字段区别
access中可以这样:select a,sum(num) as s_num,s_num*num as all_s_num 即可以把AS后的字段当作一个数据库字段参与计算。
sqlserver 中则为:select a,sum(num) as s_num,sum(num)*num as all_s_num 即不可以把AS后的字段当作一个数据库字段参与计算。
5、[.]与[!]的区别
access中多表联合查询时:select tab1!a as tab1a,tab2!b tab2b from tab1,tab2 ,中间的AS可以不要。
sqlserve 中则:select tab1.a as tab1a,tab2.b tab2b from tab1,tab2 ,中间的AS可以不要。
6、联合查询时
access中多表联合查询:'select a,b from(select a,b from tab1 where a>3 union select c,d from tab2 ) group by a,b
sqlserve 中则'select a,b from(select a,b from tab1 where a>3 union select c,d from tab2 ) tmptable group by a,b
即要加一个虚的表tmptable,表名任意。
7、access升级到sqlserver时
可以用sqlserver的数据导入工具导入数据,但要做必要的处理。
access中的自动编号,不会自动转换SQL中的自动编号,只能转换为int型,要把它手工改成标识字段,种子为1,把所有导入被sqlserver转化成的以n开头的字段类型的n去掉,如nvarchar->varchar。把需要有秒类型的日期字段改成datatime类型(SQL会把所有的日期开转化成smalldatetime型)
8、true与1=1
access用where true表示条件为真。
sqlserver用where 1=1表示条件为真。
9、判断字段值为空的区别
普通空:Access和sql server一样 where code is null 或 where code is nol null
条件空:Access:if([num] is null,0,[num]) 或 if([num] is null,[num1],[num])
SQLServer: isnull([num],0) 或 isnull([num],[num1])
10、SQL语句取子串的区别
access:MID(字段,n1,[n2]),LEFT(字段,n),RIGHT(字段,n)
如:select left(cs1,4)+'-'+cs2 as cs3
SQLServer:SUBSTRING(e-xpression, start, length)
如:select substring(cs1, 1, 2) + substring(cs1, 4, 2) + '-' + cs2 as cs3
11、布尔类型的区别
access:用“是/否”表示
SQLServer:用“bit”表示
❸ sql数据库如何重命名
1、首先需要从开始菜单中找到【SQL Server 配置管理器】。
❹ sql中,如何给重复数据编号
以后设计数据库的时候,每个表要记得增加一个自增加的id来做数据表的主键,即使毫无意义,也要增加。
❺ 如何在同一个sql服务器内复制并重命名一个表!
最好最简单的办法就是select * into [table2] from [table1] where 1<>1,这样就很好的复制了表结构
❻ SQLServer如何修改一列的列名呢
1、首先右键数据表选择设计。