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的更多相关文章

  1. Teradata基础教程中的数据库试验环境脚本

    Teradata基础教程中的数据库表: Customer:  客户信息表 Location:  位置信息表 Employee:  雇员信息表 Job:  工作信息表 Department:  部门表 ...

  2. SQL Server 2012 读写分离设置

    SQL Server 2012 读写分离设置 - AlsoIn 时间 2014-07-21 17:38:00  博客园-所有随笔区 原文  http://www.cnblogs.com/also/p/ ...

  3. [SQL Server]一次执行资料夹内的.sql 指令码

    原文:[SQL Server]一次执行资料夹内的.sql 指令码 初始资料库时,我们Developers们会准备很多.sql指令码来建立资料表.检视甚至初始资料,那麽要怎麽一次执行资料夹内的*.sql ...

  4. SQL Server高可用——日志传送(4-2)——部署

    原文:SQL Server高可用--日志传送(4-2)--部署 前文再续,书接上一回.本章演示一下日志传送的具体过程 准备工作: 由于时间关系,已经装好了3台虚拟机,且同在一个域里面: SQL01:主 ...

  5. Sql Server 2012 集群配置

    基于Windows Server 2008 R2的WSFC实现SQL Server 2012高可用性组(AlwaysOn Group) 2012年5月 微软新一代数据库产品SQL Server 201 ...

  6. 《2013传智播客视频》-wmv,avi,mp4.目录

    \!--14俄罗斯方块\视频\.复习.avi; \!--14俄罗斯方块\视频\ 复习.avi; \!--14俄罗斯方块\视频\ 形状旋转.avi; \!--14俄罗斯方块\视频\ 判断形状能否变形.a ...

  7. 2013传智播客视频--.ppt,.pptx,.doc,.docx.目录

    \!-- JQ03-JQ事件动画\.1版JS+JQ PPT\00JsDom编程01_邹华栋.docx; \!-- JQ03-JQ事件动画\.1版JS+JQ PPT\00JsDom编程01_邹华栋.pp ...

  8. MariaDB基础详解

    数据库结构模型分类 1.层次模型 2.网状模型 3.关系模型 关系模型的组成部分 二维关系 表 row column 索引 index 视图 view (只包含固定字段,不包含其他字段) 关系型数据库 ...

  9. SQL Server 2012 读写分离设置 - AlsoIn

    原文转至:http://www.tuicool.com/articles/a6rmiam/ 引用: http://technet.microsoft.com/zh-cn/library/jj16176 ...

随机推荐

  1. Python_运维中常用的20个库和模块

    1.psutil是一个跨平台库(https://github.com/giampaolo/psutil)能够实现获取系统运行的进程和系统利用率(内存,CPU,磁盘,网络等),主要用于系统监控,分析和系 ...

  2. NOIP 2004 T3 合唱队形(DP、最长上升/下降子序列)

    链接:https://ac.nowcoder.com/acm/contest/1082/C来源:牛客网 题目描述 N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队 ...

  3. 十八、linux系统分区

    一.磁盘存储结构图:这里注意下,分区标有64字节,则每个分区有16字节,MBR引导分区有446字节,共有510字节,一个扇区有512字节,还有俩个字节是分区结束标识.比如隐藏文件等标识,都是这2个字节 ...

  4. 存储过程获取QLIKVIEW关键数据

    declare @table table(DDID INT,FHDID INT ,CKDID INT,ZGYSDID INT,CWYSDID INT)--定义表变量来存放存储过程返回的内容insert ...

  5. 24)PHP,数据库的基本知识

    (1)数据库操作的基本流程: • 建立连接(认证身份) • 客户端向服务器端发送sql命令 • 服务器端执行命令,并返回执行的结果 • 客户端接收结果(并显示) • 断开连接 (2)php中操作数据库 ...

  6. PHP验证电子邮件-密码保护和随机密码

    验证邮箱: function isValidEmail($email){ return eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a ...

  7. NAIPC 2019 A - Piece of Cake(凸包计算)

    学习:https://blog.csdn.net/qq_21334057/article/details/99550805 题意:从nn个点中选择kk个点构成多边形,问期望面积. 题解:如果能够确定两 ...

  8. Forest Program(2019ccpc秦皇岛F)

    题:http://acm.hdu.edu.cn/showproblem.php?pid=6736 题意:删掉一些边使得图不存在点双,求方案数. 分析:若一条边不属于点双,那么这条边有删和不删俩种选择, ...

  9. python之os和sys模块的区别

    一.os模块 os模块是Python标准库中提供的与操作系统交互的模块,提供了访问操作系统底层的接口,里面有很多操作系统的函数 1.os常用方法 import os # print(os.getcwd ...

  10. FireWall2

    配置防火墙步骤: 1.给接口配置ip,开 service-manage 服务 2.把接口画在zone区域 3.配置策略 4.服务器一定要开启服务 1. interface GigabitEtherne ...