SQL server的 各种约束关系

来源:互联网 发布:战地之王步枪之王数据 编辑:程序博客网 时间:2024/05/16 05:02

SQL server的  各种约束关系
--删除主键alter table 表名 drop constraint 主键名--添加主键alter table 表名 add constraint 主键名 primary key(字段名1,字段名2……)--添加非聚集索引的主键alter table 表名 add constraint 主键名 primary key NONCLUSTERED(字段名1,字段名2……)新建表: 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 [表名]删除所有表:DECLARE curItems CURSORFOR select [name] from sysobjects where xtype='U'FOR READ ONLYOPEN curItemsDECLARE @n  NVARCHAR(100),@m NVARCHAR(100)FETCH FROM curItems INTO @nWHILE @@FETCH_STATUS=0BEGIN set @m=@n    exec('Drop Table ' + @m)FETCH NEXT FROM curItems INTO @nENDCLOSE  curItemsDEALLOCATE  curItems插入数据: 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 中的日志,减小数据库文件大小 dump transaction 数据库名 with no_log backup log 数据库名 with no_log dbcc shrinkdatabase(数据库名) exec sp_dboption \'数据库名\', \'autoshrink\', \'true\'\\\'添加字段通用函数 Sub AddColumn(TableName,ColumnName,ColumnType) Conn.Execute(\"Alter Table \"&TableName&\" Add \"&ColumnName&\" \"&ColumnType&\"\") End Sub\\\'更改字段通用函数 Sub ModColumn(TableName,ColumnName,ColumnType) Conn.Execute(\"Alter Table \"&TableName&\" Alter Column \"&ColumnName&\" \"&ColumnType&\"\") End Sub\\\'检查表是否存在sql=\"select count(*) as dida from sysobjects where id = object_id(N\'[所有者].[表名]\') and OBJECTPROPERTY(id, N\'IsUserTable\') = 1\"set rs=conn.execute(sql)response.write rs(\"dida\")\'返回一个数值,0代表没有,1代表存在判断表的存在: select * from sysobjects where id = object_id(N\'[dbo].[tablename]\') and OBJECTPROPERTY(id, N\'IsUserTable\') = 1某个表的结构 select * from syscolumns where id = object_id(N\'[dbo].[你的表名]\') and OBJECTPROPERTY(id, N\'IsUserTable\') = 1修改表的前缀:ALTER SCHEMA dbo TRANSFER prename.tablename;如果表2已经存在,把表1中的记录加到表2中的语句: insert   into   表2   (字段1,字段2,...)   select   字段1,字段2,..   from   表2   where   ... 如果表2不存在,则用下面的语句会自动生成表2,字段的类型和表1一样:         select   字段1,字段2,..   INTO   表2   from   表1   where   ... 


0 0
原创粉丝点击