设为首页 收藏本站
查看: 1294|回复: 0

[经验分享] SQL SERVER 基础功法(内功增强)

[复制链接]

尚未签到

发表于 2016-11-2 02:13:53 | 显示全部楼层 |阅读模式
--数据操作
select --从数据库表中检索数据行和列
insert --向数据库表添加新数据行
delete --从数据库表中删除数据行
update --更新数据库表中的数据
--数据定义
create table  --创建一个数据库表
drop table --从数据中删除一个表
alter table --修改数据库表结构
create view --创建一个视图
drop view --从数据中删除视图
create index --为数据库表创建一个索引
drop index --从数据库中删除索引
create procedure --创建一个存储过程
drop procedure --从数据库中删除存储过程
create trigger --创建一个触发器
drop trigger --从数据库中删除触发器
create schema --向数据库添加一个新模式
drop schema --从数据库中删除一个模式
create domain --创建一个数据值域
drop domain --从数据库中删除一个域
alter domain --改变域定义
--数据控制
grant --授予用户访问权限
deny --拒绝用户访问
revoke --解除用户访问权限
--程序化SQL
declare --为查询设定游标
explan --为查询描述访问计划
open --检索查询结果打开一个游标
fetch --检索一行查询结果
close --关闭游标
prepare --为动态执行准备SQL语句
execute --动态的执行SQL语句
describe --描述准备好的查询
--局部变量
--全局变量 (必须以@@开头)
declare @id char(10) --定义一个变量
set @id = '10010001' --为变量赋值
select @id = '10010001' --为变量赋值
-- if else 的使用
declare @x int @y int @z int
select @x = 1 @y = 2 @z = 3
if @x > @y
print 'x>y' --打印字符串
else if @y > @z
print 'y>z'
else
print 'z>y'
-- case
use pangu
update employee set e_wage =
case when job_leve1 = '1' then e_wage*1.08
case when job_leve1 = '2' then e_wage*1.07
case when job_level = '3' then e_wage*1.06
else e_wage*1.05
end
--while continue break
declare @x int @y int @c int
select @x = 1 @y = 1
while @y < 3
begin
select @c = 100*@x+@y
print @c --打印变量c的值
end
select @x = @x+1
select @y = 1
end
--waitfor 例如: 等待1小时2分零3秒后 才执行select 语句
waitfor delay '01:02:03'
select * from employee
-- 例: 等到晚上23点零8分后才执行select语句
waitfor time '23:08:00'
select * from employee
-- 只能在使用like关键字的where子句中使用通配符
select * from table where s_name like '[a-zA-z]%'  --[]指定值的范围
select * from table where s_name like '[^F-M]' -- ^排除指定范围
select * from table order by s_name asc -- asc 升序
select * from table order by s_name desc --desc降序
-- 子查询
-- 除非能确保内层select只能返回一个行的值
-- 否则应在外层where子句中使用 in 限定符
s_name = (select s_name from table where id = 1)
-- distinct 去除重复的字段列
select distinct s_name from table
-- 左外部链接,t1中有的而t2中没有的以null表示
select * from t1,t2 where t1.id *= t2.id
select * from t1,t2 where t1.id =* t2.id -- 右外部链接
-- union 合并查询结果集,all 保存重复行
select s_name from t1 union [all]
insert into table(s_name,s_number) value('xxx','xxx')
value(select s_name,s_number from table) --从select语句中查询值进行添加
update table set s_name = default -- 将s_name更改为默认值
truncate table -- 删除表中所有行,仍保持表的完整性
drop table -- 完全删除表

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-294284-1-1.html 上篇帖子: MS SQL server JDBC 连接驱动 下篇帖子: SQL Server 数据类型转换函数
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表