SQL实现新增表,表名更改,列名更改,约束更改等

时间:2023-03-10 01:37:41
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