SQL实现新增表,表名更改,列名更改,约束更改等
--新建表: CREATE TABLE TABLENAME ( ID INT IDENTITY (1,1) PRIMARY KEY , NAME VARCHAR(50) DEFAULT 'HELLO' NULL , JOB NTEXT NULL , CREATIONDT DATETIME, COLUMN4 MONEY NULL , COLUMN5 INT DEFAULT 0, COLUMN6 DECIMAL (12,4) DEFAULT 0, COLUMN7 IMAGE NULL , COLUMN8 FLOAT ) SELECT * FROM TABLENAME --删除表: DROP TABLE TABLENAME SELECT Name FROM SysObjects Where XType='U' select * from CUSTOMERCOUPONCARDBAK20180907 drop table CUSTOMERCOUPONCARDBAK20180907 --插入数据: INSERT INTO [表名] (字段1,字段2) VALUES (100,'51WINDOWS.NET') INSERT TABLENAME(JOB,CREATIONDT,COLUMN4,COLUMN5,COLUMN6,COLUMN7,COLUMN8) VALUES('',GETDATE(),1,1,12.10,NULL,43.22) --删除数据: DELETE FROM TABLENAME WHERE ID>100 --更新数据: UPDATE TABLENAME SET COLUMN4 = 200,COLUMN5 = NULL WHERE ID= 1 --新增字段: ALTER TABLE TABLENAME ADD COLUMN4 NVARCHAR (50) NULL --删除字段: ALTER TABLE TABLENAME DROP COLUMN COLUMN4 --修改字段: ALTER TABLE TABLENAME ALTER COLUMN COLUMN4 NVARCHAR (50) NULL --重命名表:(ACCESS 重命名表,请参考文章:在ACCESS数据库中重命名表) SP_RENAME '表名', '新表名', 'OBJECT' SP_RENAME TABLENAME,TABLENAME1,OBJECT --新建约束: ALTER TABLE TABLENAME ADD CONSTRAINT 约束名 CHECK ([约束字段] <= '2000-1-1') --删除约束: ALTER TABLE TABLENAME DROP CONSTRAINT 约束名 --新建默认值 ALTER TABLE TABLENAME ADD CONSTRAINT 默认值名 DEFAULT '51WINDOWS.NET' FOR [字段名] --删除默认值 ALTER TABLE TABLENAME 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 --检查表是否存在 --判断表的存在: 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
--DB中新建表:
CREATE TABLE TABLENAME ( ID INT IDENTITY (1,1) PRIMARY KEY , NAME VARCHAR(50) DEFAULT 'HELLO' NULL , JOB NTEXT NULL , CREATIONDT DATETIME, COLUMN4 MONEY NULL , COLUMN5 INT DEFAULT 0, COLUMN6 DECIMAL (12,4) DEFAULT 0, COLUMN7 IMAGE NULL , COLUMN8 FLOAT ) SELECT * FROM TABLENAME
--删除表:
DROP TABLE TABLENAME
--插入数据:
INSERT INTO [表名] (字段1,字段2) VALUES (100,\'51WINDOWS.NET\')
INSERT TABLENAME(JOB,CREATIONDT,COLUMN4,COLUMN5,COLUMN6,COLUMN7,COLUMN8)
VALUES('',GETDATE(),1,1,12.10,NULL,43.22)
--删除数据:
DELETE FROM TABLENAME WHERE ID>100
--更新数据:
UPDATE TABLENAME SET COLUMN4 = 200,COLUMN5 = NULL WHERE ID= 1
--新增字段:
ALTER TABLE TABLENAME ADD COLUMN4 NVARCHAR (50) NULL
--删除字段:
ALTER TABLE TABLENAME DROP COLUMN COLUMN4
--修改字段:
ALTER TABLE TABLENAME ALTER COLUMN COLUMN4 NVARCHAR (50) NULL
--重命名表:(ACCESS 重命名表,请参考文章:在ACCESS数据库中重命名表)
SP_RENAME '表名', '新表名', 'OBJECT'
SP_RENAME TABLENAME,TABLENAME1,OBJECT
--新建约束:
ALTER TABLE TABLENAME ADD CONSTRAINT 约束名 CHECK ([约束字段] <= \'2000-1-1\')
--删除约束:
ALTER TABLE TABLENAME DROP CONSTRAINT 约束名
--新建默认值
ALTER TABLE TABLENAME ADD CONSTRAINT 默认值名 DEFAULT \'51WINDOWS.NET\' FOR [字段名]
--删除默认值
ALTER TABLE TABLENAME 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
--检查表是否存在
--判断表的存在:
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