我们在写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'; 16 17 ------------4,删除数据库------------------ 18 --IF DB_ID('TestDB') IS NOT NULL DROP DATABASE TestDB; 19 20 ------------5,删除数据库日志文件------------------ 21 --DBCC ERRORLOG 22 --GO 6 23 24 -------------------------二,数据表操作----------------------------- 25 USE TestDB; 26 GO 27 ------------1,创建数据表------------------ 28 IF OBJECT_ID('dbo.SM_User') IS NOT NULL DROP TABLE dbo.SM_User; 29 30 CREATE TABLE SM_User 31 ( 32 ID INT NOT NULL IDENTITY, 33 UserId NVARCHAR(20) NOT NULL, 34 PASSWord NVARCHAR(20) NOT NULL, 35 NAME NVARCHAR(20) NOT NULL, 36 Gender TINYINT NULL 37 CONSTRAINT DFT_User_Gender DEFAULT(0), 38 CreateTime DATETIME NULL 39 CONSTRAINT DFT_User_CreateTime DEFAULT(GETDATE()), 40 DESCRipTION NVARCHAR(max) NULL, 41 CONSTRAINT PK_SM_User PRIMARY KEY(ID) 42 ); 43 44 ------------2,删除数据表------------------ 45 --IF OBJECT_ID('dbo.SM_User') IS NOT NULL DROP TABLE dbo.SM_User; -- 也可以使用TRUNCATE TABLE 46 47 -------------------------三,字段操作----------------------------- 48 ------------1,添加字段------------------ 49 ALTER TABLE dbo.SM_User ADD Item1 NVARCHAR(MAX) NULL; 50 51 ------------2,修改字段------------------ 52 ALTER TABLE dbo.SM_User ALTER COLUMN Item1 NVARCHAR(50); 53 54 ------------3,删除字段------------------ 55 ALTER TABLE dbo.SM_User DROP COLUMN Item1; 56 57 ------------4,添加约束------------------ 58 ALTER TABLE dbo.SM_User ADD CONSTRAINT chk_user_createtime CHECK(CreateTime<=GETDATE()); 59 60 ------------5,删除约束------------------ 61 ALTER TABLE dbo.SM_User DROP CONSTRAINT chk_user_createtime; 62 63 ------------6,添加默认值---------------- 64 ALTER TABLE dbo.SM_User ADD CONSTRAINT DFT_User_Password DEFAULT '123' FOR PASSWORD; 65 66 ------------7,删除默认值---------------- 67 ALTER TABLE dbo.SM_User DROP CONSTRAINT DFT_User_Password; 68 69 ------------8,数据表和字段描述信息操作---------------- 70 --为表添加描述信息 71 EXEC sp_addextendedproperty N'MS_Description' , N'人员信息表' , N'SCHEMA' , N'dbo' , N'TABLE' , N'表名' , NULL , NULL 72 73 --为字段XingMing添加描述信息 74 EXEC sp_addextendedproperty N'MS_Description' , N'姓名' , N'SCHEMA' , N'dbo' , N'TABLE' , N'表名' , N'COLUMN' , N'XingMing' 75 76 --更新表中列XingMing的描述属性: 77 EXEC sp_updateextendedproperty N'MS_Description' , N'真实姓名' , N'SCHEMA' , N'dbo' , 'TABLE' , '表名' , 'COLUMN' , N'XingMing' 78 79 --删除表中列XingMing的描述属性: 80 EXEC sp_dropextendedproperty N'MS_Description' , N'SCHEMA' , N'dbo' , 'TABLE' , '表名' , 'COLUMN' , N'XingMing' 81 82 -------------------------四,其它操作----------------------------- 83 ------------1,清除查询缓存---------------- 84 DBCC FREEPROCCACHE 85 DBCC DROPCLEANBUFFERS 86 ------------2,随机取10条数据-------------- 87 SELECT TOP 10 * FROM [表名] ORDER BY NEWID(); 88 89 ------------3,以逗号连接结果集所有行,使之变为一行---------------- 90 DECLARE @result NVARCHAR(MAX) 91 SET @result = N'' 92 SELECT @result = @result + N',' + Name FROM @Student 93 94 SELECT RIGHT(@result,LEN(@result) - 1); 95 96 ------------4,向数据库中添加n条数据---------------- 97 DECLARE @i int 98 SET @i=1 99 WHILE @i<=5000 100 BEGIN 101 INSERT INTO users(userid,username) VALUES (@i,'username' convert(varchar(255),@i));102 SET @i=@i+1 103 END参考文章
1,柳永法常用SQL语句备忘
新闻热点
疑难解答