常用SQL语句

  我们在写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:mcgradydbTestDB.mdf',
  9     SIZE=4,
 10     MAXSIZE=10,
 11     FILEGROWTH=1
 12 );
 13 
 14 ------------2,备份数据库------------------
 15 BACKUP DATABASE TestDB TO DISK='d:mcgradydbakTestDB.bak' WITH COMPRESSION; --注意要带上WITH COMPRESSION
 16 
 17 ------------3,还原数据库------------------
 18 RESTORE DATABASE HotelDB FROM  DISK = N'D:dev.db.backupHotelDB_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

参考文章

1,柳永法常用SQL语句备忘

原文地址:https://www.cnblogs.com/mcgrady/p/4201092.html