2015-10-20 sql2
SQL SERVER(二)
三.插入,更新,删除,添加
3.1insert插入
insert into student(sno,sname,sage)
values('1001'张三','28')
insert into student
values('1001'张三','28','女')
3.2update修改
update student set sno=30,sname='李四'where sage='25' --修改student表,让sage=25的数据的sno修改为30,sname修改为李四
3.3delete删除
delete student where sno='1002' --删除学号等于1002的数据
drop table Users --删除表Users
sletct * from
(select sno,row_number() over(order by sno)as row from student)student
where row between 6 and 10
3.4alter添加
alter table student
add
ssex int null
3.5复杂查询
select sno,sname,avg(sorce)
from student
group by sno,sname
having count(*)>=4 //查询至少修了四门课程的学生学号,姓名以及平均成绩的SQL语句
select distinct [name] from student //查出student 中不重复的name
select count(distinct name) from student //查出student 中不重复的name的数量
四.约束
4.1.UNIQUE约束与PK的区别:
一张表只能有一个PK,但可以有多个UNIQUE约束
PK约束定义主键不能为空,但UNIQUE可以为空值
方法:点"管理索引和键"---"添加"---"类型"选择"唯一键"---"列"添加进多个UNIQUE--关闭保存
作用:当那多个unique同时都相同的时候,就会报错,实现了实体的完整性。
4.2check约束
方法:设计---列名右键---"管理check约束"---"添加"---"常规"表达式---写入你要约束的键值的表达式比如:laborage>0 and laborage<=100
---"关闭"保存
作用:约束一个键值,实现域完整性,数据的完整性
sql语句:
creat table T1
(
工资 money not null check(工资 between 2000 and 4000)
)
五.获取当前时间
select year(getdate()) ------//获取当前的年
select month(getdate()) ------//获取当前的月
select day(getdate()) ---------//获取当前的天
select year(birthday) from student //从student表中获取birthday的年份
select * from employ where month(birthday)=8 // 打印出8月份过生日的员工的所有信息
select * from employ where year(getdate())-year(birthday)>25// year(getdate())为当前年份,打印出年龄大于25岁的员工的所有信息
select dateadd(yy,100,getdate())//当天加上100年的时间,getdate()也可以换成具体的某一天比如写成:'2108/12/31'
select dateadd(mm,1,getdate())//当天加上1个月的时间
select dateadd(dd,100,getdate())//当天加上100天的时间
select datediff(yy,getdate(),'2108/12/31')//当天距离2108/12/31还有多少年
select datediff(mm,getdate(),'2108/12/31')//当天距离2108/12/31还有多少月
六.isnull
select sno,sage,ssex,isnull(smame,'') //为null的sname用kong显示出来
select title,content,isnull(categoryID,0) from news //为null的categoryID用0显示出来
七.case行判断
select sno,sname,case
when(sno=1)then '第一'
when(sno=2)then '第二'
end as biecheng
from student
SQL SERVER(三)
一.索引
索引分为:聚集索引--------每一个表只能有一个聚集索引一般是主键
非聚集索引-------每一个表可以有多个非聚集索引
注意事项:默认情况下,SQL Server会默认主键为聚集索引,这样会造成资源的浪费。
创建索引: 在“索引/键”对话框中单击“添加”。
从“选定的主/唯一键或索引”列表中选择新索引。
在网格中选择“创建为聚集的”,然后从该属性右侧的下拉列表中选择“是”。保存表时将在数据库中创建索引。
二.存储过程
优点:在创建时进行编译,以后每次执行存储过程不需要再编译,而一般的SQL语句要每执行一次编译一次
所以一些复杂逻辑的SQL建议写在存储过程里面和一些经常被调用到的SQL建议写在存储过程里面
安全性高,可设定只有某些用户才具有指定存储过程的使用权
sql语句:
create proc 存储名
(
@name varchar(200),
@age int
)
as
select * from Category where [name]=@name and age=@age
查看结果:执行exec 存储名 'xudads',11
更改/删除存储过程:ALTER proc
Drop proc
三.触发器
触发器是一种特殊的存储过程,它是在数据在进行增、删、改的时候同时进行的操作,相当于一个事件。
新建一个触发器:
create trigger 触发器名称
ON 表名
after delete /* 有三种INSERT,DELETE,UPDATE*/
AS
begin
select * from deleted /*在删除后同时查出删除后的内容*/
end
GO
2015-10-20 sql2的更多相关文章
- Murano Weekly Meeting 2015.10.20
Meeting time: 2015.October.20th 1:00~2:00 Chairperson: Serg Melikyan, PTL from Mirantis Meeting sum ...
- Daily Scrumming 2015.10.20(Day 1)
一.今明两天任务表 Member Today’s Task Tomorrow’s Task 江昊 购买服务器,搭建服务器,配置服务器端用户与权限管理 配置ruby与rails环境 配置mysql与数据 ...
- First Scrum Meeting (2015/10/18)
会议是在昨晚进行的,本来早就应该写博了,可惜今天校园网炸个不停= =.刚修好就赶紧来发博客. 会议基本要素 会议主题:爬虫项目的核心技术讨论以及项目初期的工作分配 会议时间:2015.10.18 19 ...
- 背水一战 Windows 10 (20) - 绑定: DataContextChanged, UpdateSourceTrigger, 对绑定的数据做自定义转换
[源码下载] 背水一战 Windows 10 (20) - 绑定: DataContextChanged, UpdateSourceTrigger, 对绑定的数据做自定义转换 作者:webabcd 介 ...
- 4分钟apache自带ab压力测试工具使用: 2015.10.4
2015.10.44分钟apache自带ab压力测试工具使用:win8.1 wampserver2.5 -Apache-2.4.9-Mysql-5.6.17-php5.5.12-64b 可以参考一下部 ...
- (转自http://www.blogjava.net/moxie/archive/2006/10/20/76375.html)WebWork深入浅出
(转自http://www.blogjava.net/moxie/archive/2006/10/20/76375.html) WebWork深入浅出 本文发表于<开源大本营> 作者:钱安 ...
- Scrum会议10.20
Scrum会议 组名称:好好学习 项目名称:记账本 参会成员:林莉(Master)胡丽娜 汪东涵 宫丽君 时间:2016.10.20 已完成内容: 1.理解项目和代码. 2.讨论新功能. 计划完成 ...
- 查询数据库:models.Books.objects.all()[10: 20]与models.Books.objects.filter(id__gt=10, id__lt=20).values() 的区别
1. models.Books.objects.all()[10: 20] (10:20 之间是冒号,不是逗号.)查出的是 QuerySet对象,如需进行操作,得进一步进行剥皮. 查询代码: 查询结 ...
- OSC Source Code Innovation Salon(2018.10.20)
时间:2018.10.20地点:北京 朝阳 浦项中心B座2层
- 第8次Scrum会议(10/20)【欢迎来怼】
一.小组信息 队名:欢迎来怼 小组成员 队长:田继平 成员:李圆圆,葛美义,王伟东,姜珊,邵朔,冉华 小组照片 二.开会信息 时间:2017/10/20 17:20~17:45,总计25min. 地点 ...
随机推荐
- Rosserial实现Windows-ROS交互操作
安装 sudo apt-get install ros-indigo-rosserial-windows sudo apt-get install ros-indigo-rosserial-serve ...
- UDAF(用户自定义聚合函数)求众数
除了逐行处理数据的udf,还有比较常见的就是聚合多行处理udaf,自定义聚合函数.类比rdd编程就是map和reduce算子的区别. 自定义UDAF,需要extends org.apache.spar ...
- linux安装lamp/lamp/lanmp
wdcp安装lamp/lanp/lanmp 和宝塔(centOS)1. yum install -y wget //yum安装wegt2. wget http://dl.wdlinux.cn/fil ...
- python将字符串转换成整型
将字符串转换成,整型,从字面理解很容易让人误会. 比如,要把这个"abcabc"转换成整型,臣妾做不到啊.除成转成ascii. 我们所说字符串转成整型是这样的. s = " ...
- 关于npm Vue
参考:http://www.runoob.com/w3cnote/vue2-start-coding.html 安装vue脚手架 npm install vue-cli -g 查看当前脚手架版本 np ...
- UVA 12345 Dynamic len(带修莫队)
Dynamic len [题目链接]Dynamic len [题目类型]带修莫队 &题解: 莫队可以单点更改,只要再多加一维,代表查询次数,排序的时候3个关键字. 之后循环离线的时候,先暴力时 ...
- windows10系统下安装pygame
1.安装python,选择版本3.7.1 下载地址:https://www.python.org/downloads/windows/选择安装版本 2.安装pip 下载地址:https://pypi. ...
- ASP.NET页面之间传值的方式之QueryString(个人整理)
QueryString Querystring也叫查询字符串,这种页面间传递数据是利用网页地址URL.如果要从A页面跳转到B页面,则可以用Request.Redirect(”B.aspx?参数名=参数 ...
- PHP XAMPP windows环境安装扩展redis 致命错误: Class 'Redis' not found解决方法
PHP XAMPP windows环境安装扩展redis 致命错误: Class 'Redis' not found解决方法 1.电脑需要先安装redis服务端环境,并在安装目录下打开客户端redis ...
- MySQL中MyISAM与InnoDB区别及选择(转)
InnoDB: 支持事务处理等 不加锁读取 支持外键 支持行锁 不支持FULLTEXT类型的索引 不保存表的具体行数,扫描表来计算有多少行 DELETE 表时,是一行一行的删除 InnoDB 把数据和 ...