SQL 基础

//会增删改查 存储过程

//过ZJCXC的书,上面也就是写到熟悉数据库技术,擅长数据库优化及故障诊断

一:简单的语法知识
  1:定义变量给变量赋值
  2:if和else
  3:begin和end
  4:两种case语句
  5:循环
  http://www.cnblogs.com/liulun/articles/1359567.html

二:简单的增 删 改 查和一些相关子句
  1:update
  2:insert
  3:select
  4:delete
  5:where子句
  6:order by子句
  7:distinct关键字
  8:group by  聚集函数  和 having子句
  http://www.cnblogs.com/liulun/articles/1343417.html

三:复杂一点的查询
  1:inner join
  2:outer join
  3:full join cross join
  4:union
  5:子查询返回单个值
  6:子查询返回多个值
  7:any  some 和 all
  8:外部查询和内部查询
  9:派生表
  http://www.cnblogs.com/liulun/articles/1346166.html

四:约束
  1:类型
  2:命名
  3:主键约束
  4:外键约束
  5:unique约束
  6:check约束
  7:default约束
  8:禁用约束
  9:规则
  10:默认值
  http://www.cnblogs.com/liulun/articles/1343466.html

五:create drop alter
  1:create
  2:drop
  3:alter
  http://www.cnblogs.com/liulun/articles/1343451.html

六:视图
  1:创建视图
  2:删除和修改视图
  3:视图加密
  http://www.cnblogs.com/liulun/articles/1373449.html


七:存储过程与用户自定义函数
  1:存储过程的简单创建/修改与删除
  2:存储过程的输入参数和输出参数
  3:用户定义函数
  http://www.cnblogs.com/liulun/articles/1362542.html

八:触发器
  1:什么是触发器
  2:一个简单的触发器
  3:针对触发器的相关操作
  4:使用触发器记录操作情况
  5:视图上的触发器
  6:触发器相关函数
  http://www.cnblogs.com/liulun/articles/1372964.html


九:全文索引
  1:简要介绍全文索引
  2:全文索引的相关操作
  3:全文目录的相关操作
  4:全文查询语法
  5:综合实例
  http://www.cnblogs.com/liulun/articles/1368655.html

十:游标
  1:什么是游标
  2:创建一个简单的游标
  3:游标的作用域
  4:游标的滚动
  5:静态游标
  6:键驱动的游标
  7:动态游标
  http://www.cnblogs.com/liulun/articles/1373352.html

MS SQL的一些经典常用操作语句汇总
1.按姓氏笔画排序:
Select * From TableName Order By CustomerName Collate Chinese_PRC_Stroke_ci_as

2.数据库加密:
select encrypt('原始密码')
select pwdencrypt('原始密码')
select pwdcompare('原始密码','加密后密码') = 1--相同;否则不相同 encrypt('原始密码')
select pwdencrypt('原始密码')
select pwdcompare('原始密码','加密后密码') = 1--相同;否则不相同

3.取回表中字段:
declare @list varchar(1000),@sql nvarchar(1000)
select @list=@list+','+b.name from sysobjects a,syscolumns b where a.id=b.id and a.name='表A'
set @sql='select '+right(@list,len(@list)-1)+' from 表A'
exec (@sql)

4.查看硬盘分区:
EXEC master..xp_fixeddrives

5.比较A,B表是否相等:
if (select checksum_agg(binary_checksum(*)) from A)
   
=
   (
select checksum_agg(binary_checksum(*)) from B)
print '相等'
else
print '不相等'

6.杀掉所有的事件探察器进程:
DECLARE hcforeach CURSOR GLOBAL FOR SELECT 'kill '+RTRIM(spid) FROM master.dbo.sysprocesses
WHERE program_name IN('SQL profiler',N'SQL 事件探查器')
EXEC sp_msforeach_worker '?'

7.记录搜索:
开头到N条记录
Select Top N * From
-------------------------------
N到M条记录(要有主索引ID)
Select Top M-N * FromWhere ID in (Select Top M ID From 表) Order by ID  Desc
----------------------------------
N到结尾记录
Select Top N * FromOrder by ID Desc

8.如何修改数据库的名称:
sp_renamedb
'old_name', 'new_name'

9:获取当前数据库中的所有用户表
select Name from sysobjects where xtype='u' and status>=0

10:获取某一个表的所有字段
select name from syscolumns where id=object_id('表名')

11:查看与某一个表相关的视图、存储过程、函数
select a.* from sysobjects a, syscomments b where a.id = b.id and b.text like '%表名%'

12:查看当前数据库中所有存储过程
select name as 存储过程名称 from sysobjects where xtype='P'

13:查询用户创建的所有数据库
select * from master..sysdatabases D where sid not in(select sid from master..syslogins where name='sa')
或者
select dbid, name AS DB_NAME from master..sysdatabases where sid <> 0x01

14:查询某一个表的字段和数据类型
select column_name,data_type from information_schema.columns
where table_name = '表名'

[n].[标题]:
Select * From TableName Order By CustomerName

[n].[标题]:
Select * From TableName Order By CustomerName

你可能感兴趣的:(SQL 基础)