常用SQL Server 语句
常用SQL语句大全
1、//创建数据库
CREATE DATABASE DBName
2、//删除数据库
DROP DATABASE DBName
3、//备份SQL SERVER
--- 创建 备份数据的 device
USE master
EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' --- 开始 备份
BACKUP DATABASE pubs TO testBack
4、//创建新表
CREATE TABLE TabName
(
ID INT NOT NULL PRIMARY KEY IDENTITY(1,1),
NAME VARCHAR(50) NOT NULL,
) --根据已有的表创建新表:
(1) CREATE TABLE tab_new LIKE tab_old (使用旧表创建新表)
(2) CREATE TABLE tab_new AS SELECT col1,col2… FROM tab_old DEFINITION only
5、//删除新表
DROP TABLE TabName
6、//增加一个列
ALTER TABLE TabName ADD col BIT NOT NULL DEFAULT 1 --删除一个列 ALTER TABLE TabName DROP CONSTRAINT 默认约束名 GO
ALTER TABLE TabName DROP COLUMN colName GO
注: 因为删除列的时候 有默认约束依赖该字段,那么你需要先删除默认约束(错误提示里会有默认约束名),再删除字段
7、//添加主键:
ALTER TABLE TabName ADD PRIMARY KEY(col) --删除主键:
ALTER TABLE TabName DROP PRIMARY KEY(col)
8、//创建索引:
CREATE INDEX IndexName ON TabName(col...) --删除索引:
DROP INDEX IndexName
注:索引是不可更改的,想更改必须删除重新建。
9、//创建视图:
CREATE VIEW ViewName
AS
SELECT col1,col2
FROM TabName
GO --删除视图:
DROP VIEW ViewName
10、//创建存储过程
CREATE PROC Proc_Name
AS
SELECT *
FROM TabName
GO --调用、执行存储过程
EXEC Proc_Name --修改存储过程
ALTER PROC Proc_Name
AS
SELECT *
FROM TabName
GO --删除存储过程
DROP PROC Proc_Name
11、//多连接表
--内连接 SELECT *
FROM Tab1 AS t1 INNER JOIN Tab2 AS t2 ON t1.ID = t2.ID --左连接 SELECT *
FROM Tab1 AS t1 LEFT JOIN Tab2 AS t2 ON t1.ID = t2.ID --右连接 SELECT *
FROM Tab1 AS t1 RIGHT JOIN Tab2 AS t2 ON t1.ID = t2.ID
12、//复制表(只复制结构,源表名:a 新表名:b)
SELECT * INTO b FROM a WHERE <>1
13、//拷贝表(拷贝数据,源表名:a 目标表名:b)
INSERT INTOb(号,姓名,龄)
SELECT 号,姓名,龄
FROM a
14、//跨数据库之间表的拷贝(具体数据使用绝对路径)
INSERT INTOb(a, b, c)
SELECT d,e,f
FROM b IN ‘具体数据库’
WHERE 条件
15、//子查询(表名1:a 表名2:b)
SELECT a,b,c
FROM a
WHERE a IN (
SELECT d
FROM b )
16、//显示文章、提交人和最后回复时间
SELECT a.title,a.username,b.adddate
FROM table a,(
SELECT MAX(adddate) adddate
FROM table
where table.title=a.title ) b
17、//在线视图查询(表名1:a )
SELECT *
FROM (
SELECT a,b,c
FROM a
) T
WHERE t.a > 1;
18、//between的用法,between限制查询数据范围时包括了边界值,not between不包括
SELECT *
FROM table1
WHERE time BETWEEN time1 AND time2
19、//in 的使用方法
SELECT *
FROM table1
WHERE a NOT IN (‘值1’,’值2’,’值4’,’值6’)
20、//两张关联表,删除主表中已经在副表中没有的信息
DELETE FROM table1
WHERE not exists (
SELECT *
FROM table2
WHERE table1.field1=table2.field1 )
21、//日程安排提前五分钟提醒
SSELECT *
FROM 日程安排
WHERE DATEDIFF('minute',f开始时间,GETDATE())>5
22、//一条sql 语句搞定数据库分页
//思想:
SELECT TOP 10 b.* FROM (SELECT TOP 20 主键字段,排序字段 FROM 表名 ORDER BY 排序字段 DESC ) a,表名 b WHERE b.主键字段 = a.主键字段 ORDER BY a.排序字段
//实现:
DECLARE @start INT,@end INT
@sql NVARCHAR(600) SET @sql=’SELECT TOP’+str(@end-@start+1)+’+FROM T WHERE rid NOT IN(SELECT TOP’+str(@str-1)+’Rid FROM T WHERE Rid>-1)’ EXEC sp_executesql @sql
注:在top后不能直接跟一个变量,所以在实际应用中只有这样的进行特殊的处理。Rid为一个标识列,如果top后还有具体的字段,这样做是非常有好处的。因为这样可以避免 top的字段如果是逻辑索引的,查询的结果后实际表中的不一致(逻辑索引中的数据有可能和数据表中的不一致,而查询时如果处在索引则首先查询索引)
23、//前10条记录
SELECT TOP *
FROM TABLE
WHERE 范围
24、//选择在每一组b值相同的数据中对应的a最大的记录的所有信息(类似这样的用法可以用于论坛每月排行榜,每月热销产品分析,按科目成绩排名,等等.)
SELECT a,b,c
FROM tablename ta
WHERE a=(
SELECT MAX(a)
FROM tablename tb
WHERE tb.b=ta.b)
25、//包括所有在 TableA 中但不在 TableB和TableC 中的行并消除所有重复行而派生出一个结果表
(SELECT a FROM tableA ) EXCEPT
(SELECT a FROM tableB ) EXCEPT
(SELECT a FROM tableC )
26、//随机取出10条数据
SELECT TOP 10 *
FROM TABLENAME
ORDER BY NEWID()
27、//删除重复记录
DELETE FROM TABLENAME
WHERE id NOT IN (
SELECT MAX(id)
FROM TABLENAME
GROUP BY col1,col2,。。。)
28、//列出数据库里所有的表名
SELECT name
FROM SYSOBJECTS
WHERE type=‘U’ -- U代表用户
29、//列出表里的所有的列名
SELECT name
FROM SYSCOLUMS
WHERE id = object_id('TABLENAME')
30、//简单CASE函数和CASE搜索函数
--简单Case函数
CASE sex
WHEN '' THEN '男'
WHEN '' THEN '女'
ELSE '其他' END --Case搜索函数
CASE
WHEN sex = '' THEN '男'
WHEN sex = '' THEN '女'
ELSE '其他' END
31、//初始化表table1
TRUNCATE TABLE table1
32、//添加假数据
-- 需要创建一张表 两个字段 一个用户名 一个密码
DECLARE @username VARCHAR(50) --用户名
DECLARE @password VARCHAR(50) --密码
DECLARE @score int --数量 SET @score = 0;
-- 循环一百次
WHILE(@score<100)
BEGIN
SET @username = 'test'+ CAST(@Score AS VARCHAR(50) )
SET @password = ''+ CAST(@Score AS VARCAHR(50) ) INSERT INTO TableName
VALUES(@username,@password)
SET @score =@score+1;
END
33、//几个简单的基本的sql语句
--选择
SELECT * FROM table1 WHERE 范围
--插入
INSERT INTO table1(field1,field2) VALUSE(value1,value2)
--删除
DELETE FROM table1 WHERE 范围
--更新
UPDATE table1 SET field1=value1 WHERE 范围
--查找
SELECT * FROM table1 WHERE field1 LIKE ’%value1%’ ---like的语法很精妙,查资料!
--排序
SELECT * FROM table1 ORDER BY field1,field2 DESC
--总数
SELECT COUNT(1) AS totalcount FROM table1
--求和
SELECT SUM(field1) AS sumvalue FROM table1
--平均
SELECT AVG(field1) AS avgvalue FROM table1
--最大
SELECT MAX(field1) AS maxvalue FROM table1
--最小
SELECT MIN(field1) AS minvalue FROM table1
常用SQL Server 语句的更多相关文章
- 测试常用SQL注入语句大全
转载自Cracer,标题:<渗透常用SQL注入语句大全>,链接http://www.xxxx.com/?p=2226 1.判断有无注入点 整形参数判断 1.直接加' 2.and 1=1 3 ...
- 常用 SQL Server 规范集锦
常用 SQL Server 规范集锦 常见的字段类型选择 1.字符类型建议采用varchar/nvarchar数据类型 2.金额货币建议采用money数据类型 3.科学计数建议采用numeric数 ...
- 常用SQL DDL语句
常用SQL DDL语句 DDL-数据库定义语言:直接提交的.CREATE:用于创建数据库对象.DECLARE:除了是创建只在过程中使用的临时表外,DECLARE语句和CREATE语句非常相似.唯一可以 ...
- [转] 常用SQL查询语句
sunada 的原文地址 常用SQL查询语句 一.简单查询语句 1. 查看表结构 SQL>DESC emp; 2. 查询所有列 SQL>SELECT * FROM emp; 3. 查询指 ...
- 自己整理的常用SQL Server 2005 语句、
--创建数据库 create database 数据库 go --打开数据库 use 数据库 --删除数据库 drop database 数据库 Go --创建数据表 create table 数据表 ...
- 161201、常用 SQL Server 规范集锦
常见的字段类型选择 1.字符类型建议采用varchar/nvarchar数据类型 2.金额货币建议采用money数据类型 3.科学计数建议采用numeric数据类型 4.自增长标识建议采用bigi ...
- Oracle、Mysql、Sql Server语句的区别
1.空值的处理——判断是否为空,为空时取一个值,不为空时取另一个值 1).Sql Server 中 ISNULL(check_expression,replacement_value) 解释:如果ch ...
- SQL Server 语句整理
1. 创建数据库 create database dbName 2. 删除数据库 drop database dbName 3. 备份sql server --- 创建 备份数据的 device US ...
- 基本的SQL Server 语句,包含 增、删、改、查 程序员必会
这是我以前学习时, 整理的一套基础SQL Server增.删.改.查 等语句 ,初学者可以从上往下学完. 也方便自己忘记时翻看! create database SQLschool go --批 go ...
随机推荐
- PhantomJS的替代品--无头浏览器(Headless Chrome)
在使用PhantomJS时候,出现提示: UserWarning: Selenium support for PhantomJS has been deprecated, please use hea ...
- 如何利用mount命令挂载另一台服务器上的目录
文件服务器(被挂载机):192.168.1.100 操作机(挂载到机):192.168.1.200 也就是说,你在操作机上进行的操作,实际上都到文件服务器上去了: 1. 开启NFS服务: 在文件服务器 ...
- php设计模式之工厂设计模式
概念: 工厂设计模式提供获取某个对象的新实例的一个接口,同时使调用代码避免确定实际实例化基类步骤. 很多高级模式都是依赖于工厂模式. 好处: PHP中能够创建基于变量内容 ...
- 网络编程之python zeromq学习系列之一
简介: zeromq中间件,他是一个轻量级的消息中间件,传说是世界上最快的消息中间件,为什么这么说呢? 因为一般的消息中间件都需要启动消息服务器,但是zeromq这厮尽然没有消息服务器,他压根没有消息 ...
- Scrapy可视化管理软件SpiderKeeper
通常开发好的Scrapy爬虫部署到服务器上,要不使用nohup命令,要不使用scrapyd.如果使用nohup命令的话,爬虫挂掉了,你可能还不知道,你还得上服务器上查或者做额外的邮件通知操作.如果使用 ...
- 博主退役了qwq
noip靠太差的(蒟蒻)博主退役了qwq 感觉以后都没什么机会可以继续写博客了 这个博客八成是坟了呀qwq 其实感觉也没有什么人关注qwq 所以也不长篇大论些什么了 就这样吧qwq
- 2016-2017-2 《Java程序设计》第五周学习总结
20155223 2006-2007-2 <Java程序设计>第五周学习总结 教材学习内容总结 第八章 try.catch语法:若程序发生错误,执行流程就调离错误点,然后比较catch括号 ...
- 20155236 2016-2017-2 《Java程序设计》第四周学习总结
20155236 2016-2017-2 <Java程序设计>第四周学习总结 教材学习内容总结 1.继承基本上就是避免多个类间重复定义共同行为. 继承的三个好处:减少代码冗余:维护变得简单 ...
- 【leetcode 简单】 第八十二题 反转字符串
编写一个函数,其作用是将输入的字符串反转过来. 示例 1: 输入: "hello" 输出: "olleh" 示例 2: 输入: "A man, a p ...
- 对一道pwnhub的一点点记录
一.通过ssh弱口令,建立socket5代理进内网. 1.修改proxychains配置文件vi /etc/proxychains.conf如下: 2.建立ssh隧道:ssh -qTfnN -D 70 ...