• 常用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语句备忘

  • 相关阅读:
    用户使用调查报告
    Beta阶段敏捷冲刺五
    Beta阶段敏捷冲刺四
    Beta阶段敏捷冲刺三
    Beta阶段敏捷冲刺二
    Beta阶段敏捷冲刺一
    软工网络15团队作业8——Beta阶段敏捷冲刺
    Beta阶段Scrum 冲刺博客合集
    软工网络15Alpha阶段敏捷冲刺博客集合
    项目复审——Beta阶段
  • 原文地址:https://www.cnblogs.com/mcgrady/p/4201092.html
Copyright © 2020-2023  润新知