sql03
1、约束
约束详解
->约束的目的:保证数据的完整性. not null ->默认值约束、可空约束、主键约束、外键约束、唯一键约束、检查约束
1) 用sql语句为表添加新的字段

2) 为字段添加默认值
alter table 表名 add constraint 约束名称(DF_表名_字段名) 约束方法 for 子段名;
alter table [dbo].[user] add constraint DF_user_age default(18) for age;
这里生成的约束可在“约束”内删除
3)删除某一字段
如果字段存在约束,需要先删除约束
alter table [dbo].[user] drop column birthdate;
4) 修改某一字段
alter table [dbo].[user] alter column [name] nvarchar(16);
5)主键约束
alter table 表名 add constraint 约束名称(PK_表名_字段名) primary key(字段名)
6)唯一键约束
alter table [user] add constraint UQ_user_name unique (name);
7)外键约束
一对一,一对多,多对多
外键表关联主键表的主键
添加外键列:
alter table [user] add ClassId int null;
--添加外键关系
alter table [user] add constraint FK_user_Class foreign key(ClassId) references Class(ClassId);
alter table 表名 add constraint 约束名 foreign key(关联字段) references 主键表名(主键表主键);
2、select 查询
1)其他用法:

添加自定义常数列:

找表中最短的列进行统计
select count(*) from [user];
查找表前5条数据
select top 5 * from [user];
*处可以用各个字段进行代替
3、聚合函数
1)平均值:avg
select avg(字段名1),,avg(字段名2)... from 表名;
select avg(age) from [user];
2)计数:count
select count(age) from [user];
3)求和与最值
select max(age) as 最大值,min(age) as 最小值,sum(age)as 和 from [user];
4、top
一般跟排序order连用
select top 5 * from [user] order by age asc,id desc;
asc升序,desc降序
5、去重distinct
select distinct [age] from [user] order by age asc;
distinct 只能跟在select后
如果distinct后跟多个字段,则系统会综合这几个字段进行去重

6、where 过滤
not 用<>进行表示
select * from [user] where age<>21;
7、区间过滤
可以用and解决
也可用between
select * from [user] where age between 20 and 50;
8、模糊查询

like 关键字
%:匹配任何多个字符(0~多个)
_:仅匹配1个字符
1)例1:查找名字以J开头的数据:
select * from [user] where [name] like 'J%';
2)例2:查找名字中包含a的数据‘’
select * from [user] where [name] like '%a%';
3)例3:查找名字中第4个字符为a的数据‘’
select * from [user] where [name] like '___a%';
4)例4,:查询内容中包含',两个单引号表示1个
select * from [user] where [name] like '%''%';
5) 查找包含数字的1到2
select * from [user] where [age] like '[1-2]%';
6)匹配一个左中括号
select * from [user] where [name] like '[[]%';
或者声明转义
select * from [user] where [name] like '\[%' escape '\';
7)查询空数据
select * from [user] where [age] is null;
可在is后加not表示非空
9、分组group
分组使用时在select后只能跟分组相关信息与聚合函数
select ClassId,count(*),sum(age) from [user] group by ClassId;
------------恢复内容结束------------
sql03的更多相关文章
- Teradata基础教程中的数据库试验环境脚本
Teradata基础教程中的数据库表: Customer: 客户信息表 Location: 位置信息表 Employee: 雇员信息表 Job: 工作信息表 Department: 部门表 ...
- SQL Server 2012 读写分离设置
SQL Server 2012 读写分离设置 - AlsoIn 时间 2014-07-21 17:38:00 博客园-所有随笔区 原文 http://www.cnblogs.com/also/p/ ...
- [SQL Server]一次执行资料夹内的.sql 指令码
原文:[SQL Server]一次执行资料夹内的.sql 指令码 初始资料库时,我们Developers们会准备很多.sql指令码来建立资料表.检视甚至初始资料,那麽要怎麽一次执行资料夹内的*.sql ...
- SQL Server高可用——日志传送(4-2)——部署
原文:SQL Server高可用--日志传送(4-2)--部署 前文再续,书接上一回.本章演示一下日志传送的具体过程 准备工作: 由于时间关系,已经装好了3台虚拟机,且同在一个域里面: SQL01:主 ...
- Sql Server 2012 集群配置
基于Windows Server 2008 R2的WSFC实现SQL Server 2012高可用性组(AlwaysOn Group) 2012年5月 微软新一代数据库产品SQL Server 201 ...
- 《2013传智播客视频》-wmv,avi,mp4.目录
\!--14俄罗斯方块\视频\.复习.avi; \!--14俄罗斯方块\视频\ 复习.avi; \!--14俄罗斯方块\视频\ 形状旋转.avi; \!--14俄罗斯方块\视频\ 判断形状能否变形.a ...
- 2013传智播客视频--.ppt,.pptx,.doc,.docx.目录
\!-- JQ03-JQ事件动画\.1版JS+JQ PPT\00JsDom编程01_邹华栋.docx; \!-- JQ03-JQ事件动画\.1版JS+JQ PPT\00JsDom编程01_邹华栋.pp ...
- MariaDB基础详解
数据库结构模型分类 1.层次模型 2.网状模型 3.关系模型 关系模型的组成部分 二维关系 表 row column 索引 index 视图 view (只包含固定字段,不包含其他字段) 关系型数据库 ...
- SQL Server 2012 读写分离设置 - AlsoIn
原文转至:http://www.tuicool.com/articles/a6rmiam/ 引用: http://technet.microsoft.com/zh-cn/library/jj16176 ...
随机推荐
- [USACO09MAR]Moon哞哞叫Moon Mooing(模拟)
链接:https://ac.nowcoder.com/acm/contest/1086/F来源:牛客网 题目描述 A full moon casts some sort of spell on the ...
- LightGBM和XGBoost的区别?
首先声明,LightGBM是针对大规模数据(样本量多,特征多)时,对XGBoost算法进行了一些优化,使得速度有大幅度提高,但由于优化方法得当,而精度没有减少很多或者变化不大,理论上还是一个以精度换速 ...
- 3.redis kyes命令
Keys命令 1.1设置key的生存时间 Redis在实际使用过程中更多的用作缓存,然而缓存的数据一般都是需要设置生存时间的,即:到期后数据销毁. EXPIRE key seconds ...
- dim|lobby|trifle|
ADJ-GRADED 勉强的;不情愿的If you are reluctant to do something, you are unwilling to do it and hesitate bef ...
- 关于va_list实例
printf函数: #include <stdio.h> #include <stdarg.h> int myself_printf(char *format, ...) { ...
- python3多线程应用详解(第一卷:线程的本质概念)
之前我用过多线程的方式执行了爬虫程序,爬取了糗事百科的数据可以看到速率非常之快,就像正常一个人他要完一个汉堡,再吃喝一瓶水才能走,结果他边吃汉堡边喝水,速率一下加快了一样.首先我们看看什么是线程: 图 ...
- Filter 中注入失败问题
参考: https://www.cnblogs.com/digdeep/p/4770004.html?tvd https://www.cnblogs.com/EasonJim/p/7666009.ht ...
- java面试题 -- 基础
1.抽象和封装的不同点抽象和封装是互补的概念.一方面,抽象关注对象的行为.另一方面,封装关注对象行为的细节.一般是通过隐藏对象内部状态信息做到封装,因此,封装可以看成是用来提供抽象的一种策略.2.重载 ...
- sqlserver开窗函数改造样例
作一个查询的性能优化. 先清缓存 DBCC DROPCLEANBUFFERS DBCC FREEPROCCACHE 原查询 前人遗留. ) ),) select @total=sum(price*pe ...
- LG_2286_[HNOI2004]宠物收养场
题目描述 凡凡开了一间宠物收养场.收养场提供两种服务:收养被主人遗弃的宠物和让新的主人领养这些宠物. 每个领养者都希望领养到自己满意的宠物,凡凡根据领养者的要求通过他自己发明的一个特殊的公式,得出该领 ...