1. --------------------------数据库操作--------------------------
  2. --建数据库
  3. create database yongfa365_com
  4. on
  5. ( name = yongfa365_comt,
  6. filename = 'd:\yongfa365_com.mdf',
  7. size = 4,
  8. maxsize = 10,
  9. filegrowth = 1
  10. )
  11. --删数据库
  12. drop database yongfa365_com
  13. --备份数据库
  14. backup database yongfa365_com to disk='d:\yongfa365_com.bak'
  15. --批量收缩所有数据库  适用SQL Server 2000/2005
  16. DECLARE cur CURSOR FOR SELECT name FROM Master..SysDatabases WHERE name NOT IN ('master','model','msdb','Northwind','pubs','tempdb')
  17. DECLARE @tb SYSNAME
  18. OPEN cur
  19. FETCH NEXT FROM cur INTO @tb
  20. WHILE @@fetch_status = 0
  21. BEGIN
  22. DUMP TRANSACTION  @tb  WITH NO_LOG
  23. BACKUP LOG  @tb WITH NO_LOG
  24. DBCC shrinkdatabase(@tb)
  25. FETCH NEXT FROM cur INTO @tb
  26. END
  27. CLOSE cur
  28. DEALLOCATE cur
  29. --批量收缩所有数据库  适用所有SQL Server
  30. DECLARE cur CURSOR FOR SELECT name FROM Master..SysDatabases WHERE name NOT IN ('master','model','msdb','Northwind','pubs','tempdb')
  31. DECLARE @tb SYSNAME
  32. OPEN cur
  33. FETCH NEXT FROM cur INTO @tb
  34. WHILE @@fetch_status = 0
  35. BEGIN
  36. EXEC('ALTER DATABASE '+@tb+' SET RECOVERY SIMPLE;')
  37. DBCC shrinkdatabase (@tb);
  38. EXEC('ALTER DATABASE '+@tb+' SET RECOVERY FULL;')
  39. FETCH NEXT FROM cur INTO @tb
  40. END
  41. CLOSE cur
  42. DEALLOCATE cur
  43. --删除数据库日志文件(有时能删几十G)
  44. DBCC ERRORLOG
  45. GO 6
  46. --------------------------数据库操作--------------------------
  47. ----------------------------表操作----------------------------
  48. --删除表
  49. drop table movies
  50. --SQL Server通用建表结构
  51. Create Table [test] (
  52. [Id] int primary key identity(1,1),--ID,主键,自动号
  53. [txtTitle] nvarchar(255),--标题
  54. [txtContent] nvarchar(MAX),--内容
  55. [Adder] nvarchar(20),--添加人
  56. [AddTime] datetime Default (getdate()),--提交时间
  57. [ModiTime] datetime Default (getdate()),--修改时间
  58. [Hits] int Default (0),--点击数
  59. [Flags] int Default (0) ,--标识
  60. [SortID] int Default (0)--排序号
  61. )
  62. --SQLite建表
  63. Create Table [test] (
  64. [Id] integer Primary key not null,
  65. [txtTitle] text null,--标题
  66. [txtContent] text null,--内容
  67. [Adder]  text null,--添加人
  68. [AddTime]  text DEFAULT (datetime('now','localtime')) not null,--提交时间
  69. [ModiTime]  text DEFAULT (datetime('now','localtime')) not null,--修改时间
  70. [Hits] integer Default (0)  not null,--点击数
  71. [Flags] integer Default (0)  not null ,--标识
  72. [SortID] integer Default (0)  not null--排序号
  73. )
  74. --ACCESS使用SQL语句建表
  75. CREATE TABLE 表名 (
  76. [Id] AutoIncrement NOT NULL ,
  77. [AddTime] Date NULL ,
  78. [Hits] Integer NULL ,
  79. [Title] Text (255) NULL ,
  80. [Remark] Memo NULL ,
  81. [RMB] Currency NULL ,
  82. [Flags] bit NULL ,
  83. PRIMARY KEY (ID)
  84. )
  85. --重命名表
  86. sp_rename '表名', '新表名', 'object'
  87. ----------------------------表操作----------------------------
  88. ---------------------------字段操作---------------------------
  89. --添加字段
  90. alter table [表名] add [字段名] [varchar] (50) not null default('默认')
  91. --删除字段
  92. alter table [表名] drop column [字段名]
  93. --修改字段
  94. alter table [表名] alter column [字段名] varchar(50)
  95. --添加约束
  96. alter table [表名] add constraint [约束名] check ([约束字段] <= '2009-1-1')
  97. --删除约束
  98. alter table [表名] drop constraint [约束名]
  99. --添加默认值
  100. alter table [表名] add constraint [默认值名] default 'http://www.yongfa365.com/' for [字段名]
  101. --删除默认值
  102. alter table [表名] drop constraint [默认值名]
  103. --让SQL Server 自动编号ID从1开始
  104. dbcc checkident('表名',reseed,0)
  105. ---------------------------字段操作---------------------------
  106. ----------------------表及字段描述信息------------------------
  107. --为表添加描述信息
  108. EXEC sp_addextendedproperty N'MS_Description' , N'人员信息表' , N'SCHEMA' , N'dbo' , N'TABLE' , N'表名' , NULL , NULL
  109. --为字段XingMing添加描述信息
  110. EXEC sp_addextendedproperty N'MS_Description' , N'姓名' , N'SCHEMA' , N'dbo' , N'TABLE' , N'表名' , N'COLUMN' , N'XingMing'
  111. --更新表中列XingMing的描述属性:
  112. EXEC sp_updateextendedproperty N'MS_Description' , N'真实姓名' , N'SCHEMA' , N'dbo' , 'TABLE' , '表名' , 'COLUMN' , N'XingMing'
  113. --删除表中列XingMing的描述属性:
  114. EXEC sp_dropextendedproperty N'MS_Description' , N'SCHEMA' , N'dbo' , 'TABLE' , '表名' , 'COLUMN' , N'XingMing'
  115. ----------------------表及字段描述信息------------------------
  116. ---------------------------数据操作---------------------------
  117. --插入数据
  118. insert into [表名] (字段1,字段2) values (100,'http://www.yongfa365.com/')
  119. --删除数据
  120. delete from [表名] where [字段名]>100
  121. --删除重复记录(效率低,适合少量数据操作,极不适合ACCESS使用)
  122. delete from [表名] where id not in (select max(id) from [表名] group by txtTitle,txtContent)
  123. --NOT IN 效率太低,20000条数据都让access死掉了。可行的方法:建个临时表,在需要判断是否重复的字段上加主键,用insert into InfoTemp select * from Info将原表的数据导入临时表, 数据库可以自动筛去重复数据,delete * from Info 清空原表,再用insert into Info select * from InfoTemp 将临时表中数据导回原表
  124. --更新数据
  125. update [表名] set [字段1] = 200,[字段2] = 'http://www.yongfa365.com/' where [字段三] = 'haiwa'
  126. --多表,用一个表更新另一个表(SQL Server版)
  127. update 表一
  128. set 表一.a = 表二.b
  129. from 表一,表二
  130. where 表一.id = 表二.id
  131. update 表一
  132. set a = 表二.b
  133. from 表二
  134. where id = 表二.id
  135. --多表,用一个表更新另一个表(ACCESS版)
  136. update 表一
  137. inner join 表二
  138. on 表一.id = 表二.id
  139. set 表一.a = 表二.b
  140. --查询结果存储到新表
  141. select * into [新表表名] from [表名]
  142. --从table 表中取出从第 m 条到第 n 条的记录:(not in 版本)
  143. select top n-m+1 * from [表名] where id not in (select top m-1 id from [表名])
  144. --例:取出第31到第40条记录
  145. select top 10 * from [表名] where id not in (select top 30 id from [表名])
  146. --从table 表中取出从第 m 条到第 n 条的记录:(ROW_NUMBER 版本)
  147. SELECT  *
  148. FROM    ( SELECT    ROW_NUMBER() OVER ( ORDER BY id DESC ) AS idx ,
  149. *
  150. FROM      dbo.Articles
  151. ) a
  152. WHERE   a.idx BETWEEN m AND n
  153. --随机取10条数据,newid()是SQL数据库里的一个函数,跟数据库里的ID没关
  154. select top 10 * from [表名] order by newid()
  155. --随机取10条数据,如果是ACCESS数据库用order by rnd(数字字段)
  156. select top 10 * from [表名] order by rnd(id)
  157. --连接查询left join
  158. select * from Article left join Category on Article.CategoryID=Category.ID
  159. --查询结果插入到另一个表的相关字段里(可以插入一个表的字段,也可以是一个数字常量)
  160. insert into desttbl(fld1, fld2) select fld1, 5 from srctbl
  161. --把当前表里的数据再复制一份到这个表里
  162. insert into [表名] select * from [表名]
  163. --SQL 2008支持這種插入方法,使用,隔開各行
  164. DECLARE @Student TABLE (NO INT,Name NVARCHAR(4),Sex NVARCHAR(2),Age INT,Dept VARCHAR(2))
  165. INSERT INTO @Student VALUES
  166. ( 95001,N'李勇',N'男',20,'CS'),
  167. ( 95002,N'刘晨',N'女',19,'IS'),
  168. ( 95003,N'王敏',N'女',18,'IS'),
  169. ( 95004,N'张立',N'男',19,'MA'),
  170. ( 96001,N'徐一',N'男',20,'IS'),
  171. ( 96002,N'张三',N'女',21,'CS'),
  172. ( 96003,N'李四',N'男',18,'IS')
  173. SELECT * FROM @Student
  174. --以逗号连接结果集所有行,使之变为一行
  175. DECLARE @result NVARCHAR(MAX)
  176. SET @result = N''
  177. SELECT @result = @result + N',' + Name FROM @Student
  178. SELECT RIGHT(@result,LEN(@result) - 1)
  179. --向数据库中添加5000条数据
  180. declare @i int
  181. set @i=1
  182. while @i<=5000
  183. begin
  184. insert into users(userid,username) values(@i,'username' convert(varchar(255),@i))
  185. set @i=@i+1
  186. end
  187. go
  188. --统计SQL语句执行时间
  189. declare @dt datetime
  190. set @dt=getdate()
  191. --要执行的SQL语句
  192. select [语句执行花费时间(毫秒)]=datediff(ms,@dt,getdate())
  193. --Case When语句
  194. SELECT UserName,sex=
  195. CASE
  196. WHEN sex='男' THEN '男人'
  197. WHEN sex='女' THEN '女人'
  198. ELSE '哈哈'
  199. END
  200. ,Age
  201. FROM Users
  202. --having使用方法
  203. --一个表中的UserName有很多重复,
  204. --只显示重复项:
  205. select UserName,COUNT(*) from Users group by UserName having count(*)>1
  206. --不显示重复项:
  207. select UserName,COUNT(*) from Users group by UserName having count(*)=1
  208. ---------------------------数据操作---------------------------

常用sql server 脚本相关推荐

  1. 利用Navicat Premium将SQL Server数据库转为My SQL数据库(解决Mac无法打开SQL Server 脚本文件的方法)

    利用Navicat Premium将SQL Server数据库转为My SQL数据库(解决Mac无法打开SQL Server 脚本文件的方法) 安装好Navicat Premium,SQL Serve ...

  2. 数据库开发 常用sql server 规范集锦

    常用 SQL Server 规范集锦 来源:静逸 链接:www.cnblogs.com/liyunhua/p/4534442.html 常见的字段类型选择   1.字符类型建议采用varchar/nv ...

  3. 常用SQL Server 小语法、函数 等的实例汇总

    2019独角兽企业重金招聘Python工程师标准>>> 重点内容常用SQL Serve函数及语法的部分实例汇总 本文介绍SQL Server 中常用的几种函数: 函数一:ISNULL ...

  4. 常用SQL Server数据修复命令DBCC一览(转载)

    MS Sql Server 提供了很多数据库修复的命令,当数据库质疑或是有的无法完成读取时可以尝试这些修复命令. 1. DBCC CHECKDB  重启服务器后,在没有进行任何操作的情况下,在SQL查 ...

  5. Sql Server 脚本截取字符串

    在编写SQL脚本的时候,难免会遇到要对字段进行截取的情况,个人总结了一下SQL Server中脚本的截取字符串的方法如下: 1.LEFT(character, integer) 从字符串左边起,取几个 ...

  6. SQL server脚本格式化专业工具

    Sql Pretty Printer 主要针对SQL server的SQL脚本进行格式化,没有复杂的设置,使用真的很方便,妈妈再也不用担心我的眼睛了. 以前写的脚本总是堆在一起,密密麻麻看起来很不清楚 ...

  7. 常用 SQL Server 规范集锦

    常见的字段类型选择 1.字符类型建议采用varchar/nvarchar数据类型 2.金额货币建议采用money数据类型 3.科学计数建议采用numeric数据类型 4.自增长标识建议采用bigint ...

  8. SQL server脚本语句积累

    1:往现有的表中增加一个字段 IF NOT EXISTS ( SELECT 1 FROM sys.sysobjects so WITH ( NOLOCK ) INNER JOIN sys.syscol ...

  9. 常用SQL server 语句笔记

    1.通过身份证号码修改性别 update 表名 set 性別字段='男' from 表名 where (Substring(身份证号码,17,1) in (1,3,5,7,9)) update 表名s ...

最新文章

  1. 选择之后触_如果有朋友在做选择时左右为难,我应该该给出什么样的建议
  2. python基础语法 第0关print-python学习笔记1,新手小白也能看得懂
  3. SQL判断是否“存在“,还在用 count 操作?
  4. 管理中的计算机应用真题,0051管理系统中计算机应用试题历年真题
  5. python从入门到放弃百度云-Python从入门到放弃:概论
  6. u盘数据丢失了怎么恢复?u盘数据恢复,2个方案完成
  7. PCA、最小平方差等中用拉格朗日求极值时对常见的一个f(x)=X'A'AX求导的证明
  8. 查看linux系统有哪些登陆用户,Linux_linux查看系统登录用户,Last login: Wed Jul 29 17:16:10 2009 fro - phpStudy...
  9. vue引入图片的方式
  10. edge,Chrome浏览器被360主页劫持极简解决方案(win10)
  11. 微型摄像头的CDS读出电路原理
  12. 信息学奥赛一本通 1244:和为给定数 通过
  13. 企业微信开发:获取 access_token(二)
  14. electron支持开机自启动(注册表写入)
  15. S-Transform
  16. 中国冷兵器时代的十大勇将
  17. html判断国家,对261个国家地区快速查找抉择
  18. 只能输入中文或者韩文
  19. java实现词典功能
  20. 初中计算机ppt速学,图片基本处理方法ppt课件初中信息技术苏科课标版七年级全一册课件_3.ppt...

热门文章

  1. STM32F4xx的时钟树
  2. matlab 多项式拟合EXCEL中复杂数据
  3. C++设计原则——开闭原则(持续更新中)
  4. java制作闪星星_Silverlight之我见——制作星星闪烁动画
  5. FM33LC02X FreeRTOS MDK 移植记录总结
  6. 一支笔的测试点_.一支杯子和一支笔的测试用例
  7. php pdt,PDT(php开发环境) v3.2.0 官方最新正式版 - 爱win10
  8. JAVA版村庄哨塔种子_我的世界:5个奇特且罕见的种子,相邻的哨塔,循环的地形图...
  9. 【CAT魔改】CAT-LOCAL项目的诞生
  10. kafka集群搭建+权限认证(SASL/SCRAM)+整合springboot