常见sql 命令 与 常用sql 语句

SET NOCOUNT ON ---不返回计数,也就是sql操作受影响的行数

SET NOCOUNT OFF --和上面正好相反

SET   QUOTED_IDENTIFIER   OFF   

SET   ANSI_NULLS   ON

这些是 SQL-92 设置语句,使 SQL Server 2000/2005 遵从 SQL-92 规则。

当 SET QUOTED_IDENTIFIER 为 ON 时,标识符可以由双引号分隔,而文字必须由单引号分隔。

当 SET QUOTED_IDENTIFIER 为 OFF 时,标识符不可加引号,且必须符合所有 Transact-SQL 标识符规则。

SQL-92 标准要求在对空值进行等于 (=) 或不等于 (<>) 比较时取值为 FALSE。

当 SET ANSI_NULLS 为 ON 时,即使 column_name 中包含空值,使用 WHERE column_name = NULL 的 SELECT 语句仍返回零行。即使 column_name 中包含非空值,使用 WHERE column_name <> NULL 的 SELECT 语句仍会返回零行。

当 SET ANSI_NULLS 为 OFF 时,等于 (=) 和不等于 (<>) 比较运算符不遵从 SQL-92 标准。使用 WHERE  column_name = NULL 的 SELECT 语句返回 column_name 中包含空值的行。使用 WHERE column_name <> NULL 的 SELECT 语句返回列中包含非空值的行。此外,使用 WHERE column_name <> XYZ_value 的 SELECT 语句返回所有不为 XYZ_value 也不为 NULL 的行。

DML(Data Manipulation Language)数据操纵语言(SQL中的分类)还有以下两种:

DDL(Data Definition Language)数据定义语言

DCL(Data Control Language)数据控制语言

DLL包括以下SQL语句: CREATE TABLE ALTER TABLE DROP TABLE CREATE INDEX DROP INDEX

DCL包括以下SQL语句: GRANT REVOKE COMMIT ROLLBACK LOCK

DML包括以下SQL语句: INSTER UPDATE DELETE SELECT

SELECTE  @@VERSION   查看数据库服务器版本

 

Sql创建文件夹--通过调用doc来建立,这个命令涉及到安全问题,用完一定要关闭

EXEC sp_configure 'show advanced options', 1
GO
RECONFIGURE
GO
EXEC sp_configure 'xp_cmdshell', 1  --开启cmdshell
RECONFIGURE
GO
set @path = 'mkdir D:/数据库备份/'+@dateTime
exec xp_cmdshell @path,NO_OUTPUT
EXEC sp_configure 'xp_cmdshell',0  --关闭cmdshell

 
CONVERT函数全部用法对日期操作

 
格式:
CONVERT(data_type,expression[,style])
说明:
(datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,varchar)相互转换的时候才用到的函数的3个参数,
第1个参数为,转换后的大小,第2个为转换日期的字段或函数,第3个为转换的格式,具体如下:
0 | 0 or 100 | mon dd yyyy hh:miAM(或PM)
1 | 101 | mm/dd/yy
2 | 102 | yy-mm-dd
3 | 103 | dd/mm/yy
4 | 104 | dd-mm-yy
5 | 105 | dd-mm-yy
6 | 106 | dd mon yy
7 | 107 | mon dd,yy
8 | 108 | hh:mm:ss
9 | 9 or 109 | mon dd yyyy hh:mi:ss:mmmmAM(或PM)
10 | 110 | mm-dd-yy
11 | 111 | yy/mm/dd
12 | 112 | yymmdd
11| 13 or 113 | dd mon yyyy hh:mi:ss:mmm(24小时制)
14 | 114 | hh:mi:ss:mmm(24小时制)
15 | 20 or 120 | yyyy-mm-dd hh:mi:ss(24小时制)
16 | 21 or 121 | yyyy-mm-dd hh:mi:ss:mmm(24小时制)
具体例子:
查询2009-09-01到2009-10-31之间的数据
select * from qb_mm5_data
where dt between  CONVERT(datetime , '2009-09-01', 110 )
and convert(datetime , '2009-10-30', 110 ) and id =0

 

工作中的常用SQl语句

No.1   增,删,改字段

增加字段

alter table 表名 add 字段名 字段类型 是否可为空

示例: alter table student add sid int not null

更新字段

alter table 表名 alter column 字段名 字段类型 是否为空

示例: alter table student alter column sid varchar(20) null

删除字段

alter table 表名 drop column 字段名

示例: alter table student drop column sid

NO.2 判断有无该表,有的话删除掉重新建立

IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[student]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1)
DROP TABLE [dbo].[student]

NO.3  多条件语句,类似swich语句

示例:

declare @sumdays [int]

declare @grade [int]

select @grade =
case
when @sumdays=40 then 1
when @sumdays>40 then 2

end

NO.4 备份还原语句

备份:

BACKUP DATABASE [QPShopDB] TO  DISK = N'D:/数据库备份/100209/QPShopDB.bak' WITH NOFORMAT, NOINIT,  NAME = N'QPShopDB-完整 数据库 备份', SKIP, NOREWIND, NOUNLOAD,  STATS = 10

还原:

RESTORE DATABASE [News] FROM  DISK = N'D:/数据库备份/100209/QPShopDB.bak' WITH  FILE = 1,  NOUNLOAD,  STATS = 10 

NO.5 给表建立索引

如下:给ErrReport表的Version列建立Version_Indexf索引:

CREATE NONCLUSTERED INDEX [Version_Index] ON [dbo].[ErrReport] ([Version] ASC )

如果是聚集索引将NONCLUSTERED改成CLUSTERED即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值