我们在写sql语句过程中,有些sql是经常需要使用的,比较通用。为此我专门将它们整理出来,以供需要时查询,SQL代码如下。
1 -------------------------一,数据库操作----------------------------- 2 ------------1,创建数据库------------------ 3 IF DB_ID('TestDB') IS NOT NULL DROP DATABASE TestDB; 4 5 CREATE DATABASE TestDB ON 6 ( 7 NAME='TestDB', 8 FILENAME='d:\mcgrady\db\TestDB.mdf', 9 SIZE=4, 10 MAXSIZE=10, 11 FILEGROWTH=1 12 ); 13 14 ------------2,备份数据库------------------ 15 BACKUP DATABASE TestDB TO DISK='d:\mcgrady\db\bak\TestDB.bak' WITH COMPRESSION; --注意要带上WITH COMPRESSION 16 17 ------------3,还原数据库------------------ 18 RESTORE DATABASE HotelDB FROM DISK = N'D:\dev.db.backup\HotelDB_backup_2015_09_10_011507_0000000.bak' WITH REPLACE; 19 20 ------------4,删除数据库------------------ 21 --IF DB_ID('TestDB') IS NOT NULL DROP DATABASE TestDB; 22 23 ------------5,删除数据库日志文件------------------ 24 --DBCC ERRORLOG 25 --GO 6 26 27 -------------------------二,数据表操作----------------------------- 28 USE TestDB; 29 GO 30 ------------1,创建数据表------------------ 31 IF OBJECT_ID('dbo.SM_User') IS NOT NULL DROP TABLE dbo.SM_User; 32 33 CREATE TABLE SM_User 34 ( 35 ID INT NOT NULL IDENTITY, 36 UserId NVARCHAR(20) NOT NULL, 37 PASSWORD NVARCHAR(20) NOT NULL, 38 NAME NVARCHAR(20) NOT NULL, 39 Gender TINYINT NULL 40 CONSTRAINT DFT_User_Gender DEFAULT(0), 41 CreateTime DATETIME NULL 42 CONSTRAINT DFT_User_CreateTime DEFAULT(GETDATE()), 43 DESCRIPTION NVARCHAR(max) NULL, 44 CONSTRAINT PK_SM_User PRIMARY KEY(ID) 45 ); 46 47 ------------2,删除数据表------------------ 48 --IF OBJECT_ID('dbo.SM_User') IS NOT NULL DROP TABLE dbo.SM_User; -- 也可以使用TRUNCATE TABLE 49 50 -------------------------三,字段操作----------------------------- 51 ------------1,添加字段------------------ 52 ALTER TABLE dbo.SM_User ADD Item1 NVARCHAR(MAX) NULL; 53 54 ------------2,修改字段------------------ 55 ALTER TABLE dbo.SM_User ALTER COLUMN Item1 NVARCHAR(50); 56 57 ------------3,删除字段------------------ 58 ALTER TABLE dbo.SM_User DROP COLUMN Item1; 59 60 ------------4,添加约束------------------ 61 ALTER TABLE dbo.SM_User ADD CONSTRAINT chk_user_createtime CHECK(CreateTime<=GETDATE()); 62 63 ------------5,删除约束------------------ 64 ALTER TABLE dbo.SM_User DROP CONSTRAINT chk_user_createtime; 65 66 ------------6,添加默认值---------------- 67 ALTER TABLE dbo.SM_User ADD CONSTRAINT DFT_User_Password DEFAULT '123' FOR PASSWORD; 68 69 ------------7,删除默认值---------------- 70 ALTER TABLE dbo.SM_User DROP CONSTRAINT DFT_User_Password; 71 72 ------------8,数据表和字段描述信息操作---------------- 73 --为表添加描述信息 74 EXEC sp_addextendedproperty N'MS_Description' , N'人员信息表' , N'SCHEMA' , N'dbo' , N'TABLE' , N'表名' , NULL , NULL 75 76 --为字段XingMing添加描述信息 77 EXEC sp_addextendedproperty N'MS_Description' , N'姓名' , N'SCHEMA' , N'dbo' , N'TABLE' , N'表名' , N'COLUMN' , N'XingMing' 78 79 --更新表中列XingMing的描述属性: 80 EXEC sp_updateextendedproperty N'MS_Description' , N'真实姓名' , N'SCHEMA' , N'dbo' , 'TABLE' , '表名' , 'COLUMN' , N'XingMing' 81 82 --删除表中列XingMing的描述属性: 83 EXEC sp_dropextendedproperty N'MS_Description' , N'SCHEMA' , N'dbo' , 'TABLE' , '表名' , 'COLUMN' , N'XingMing' 84 85 -------------------------四,其它操作----------------------------- 86 ------------1,清除查询缓存---------------- 87 DBCC FREEPROCCACHE 88 DBCC DROPCLEANBUFFERS 89 ------------2,随机取10条数据-------------- 90 SELECT TOP 10 * FROM [表名] ORDER BY NEWID(); 91 92 ------------3,以逗号连接结果集所有行,使之变为一行---------------- 93 DECLARE @result NVARCHAR(MAX) 94 SET @result = N'' 95 SELECT @result = @result + N',' + Name FROM @Student 96 97 SELECT RIGHT(@result,LEN(@result) - 1); 98 99 ------------4,向数据库中添加n条数据---------------- 100 DECLARE @i int 101 SET @i=1 102 WHILE @i<=5000 103 BEGIN 104 INSERT INTO users(userid,username) VALUES (@i,'username' convert(varchar(255),@i)); 105 SET @i=@i+1 106 END
参考文章