SQL_server 的基本操作
1.---------------数据库基本操作
主键 : 1.不重复 2.不为NULL
外键
1.取消重复行(消除完全一样的行,保留一行)
select distinct cloumname1,cloumname2 from tablename
2.区间查询(两种是一个意思)
select * from emp where sal > 2000 and sal < 2500
select * from emp where sal between 2000 and 2500(效率会高一点)
3. 模糊查询
select * from emp where name like '%s%'
(查询name 的第三个是s的行记录,_匹配任意单个字符串)
select * from emp where name like '__s%'
4.批量查询(两种相同,一个是针对多种情况,一个是针对少数情况)
select * from emp where empno = '123' or empno = '234' or empno = '456'
select * from emp where empno in ('123','234','456')
5.顺序
select * from emp order by empno ASC(升序)
select * from emp order by empno DESC(降序)
select * from emp order by empno DESC,sal ASC
6.别名排序
select sal*12 as count_sal from emp order by count_sal
7.分组查询
select max(sal),deptno from emp group by deptno
having 可以对分组查询到的结果进行筛选
select max(sal) from emp group by deptno having sal < 2000
8.多表查询
select * from emp,dept,dept.deptno where dept.dname = 'sun' and emp.no = dept.no;
(取别名查询,加快sql的执行速度)
select * from emp e,dept d where d.dname = 'sun' and e.no = d.no;
9.内连接
select emp.name,dept.name from emp,dept where emp.no = dept.no
10.单行子查询和多行子查询
要知SQL里面能返回多条记录集,可以内连接的时候却是不能循环的。
所以,要在SQL里面使用循环,
单行子查询
select * from emp where job = (select job from emp where depton = '10')
多行子查询
select * from emp where job in (select job from emp where depton = '10')
把查询到的结果当做一个临时表
select emo.ename ,emp.sal tem.myavg from emp,(select avg(sal) myavg.deptno from emp group by deptno ) tem where emp.deptno = tem.deptno and emp.sal > tem.myavg
11.分页查询
前几个
select top 4 * from emp order by clownname
不在某个范围的前几个
select top 4 * from emp where empno not in (
select top 10 empno from emp order by clownname
)order by clownname
12.删除一个表的重复语句
select distinct *(选择一个字段,) into(到一个临时表中去) #temp from cat
delete from cat
insert into cat from select * from #temp
drop table #temp
13.外连接(左连接,右连接)
select w.ename,b.ename from emp w left t join emp b on w.mgr = b.empno
左外连接指:左边的表记录全部显示,没有匹配的记录,没有匹配的记录用NULL填
-----------2.约束
not null (非空) null 和 ''不一样
unique (唯一)--和主键不一样,都不允许重复,unique能放空(可是只能有一个空),主键不能放空
primary key (主键)主键只能有一个,不过可以有组合主键,就是字段联合做主键
复合主键
primary key (clownname1,clownname2)
foreign key (外键)定义主表和从表之间的关系,定于在从表上
check (范围) clownname int ckeck(clownname > 1000 and clownname <25000)
default(默认)
3.-----
备份数据库
backup database dataname(数据库名) to disk = 'f:/sp.bak'(备份到的路径)
删除数据库
drop database dataname
恢复数据库
restore database dataname(数据库名) from disk = 'f:/sp.bak'(备份到的路径)
SQL_server 的基本操作的更多相关文章
- Sql_server基本操作
使用Sql_server创建表,视图,触发器,存储过程,函数等基本操作. create table test1( /* 创建一个表 */ num int ) alter table test1 /* ...
- Key/Value之王Memcached初探:二、Memcached在.Net中的基本操作
一.Memcached ClientLib For .Net 首先,不得不说,许多语言都实现了连接Memcached的客户端,其中以Perl.PHP为主. 仅仅memcached网站上列出的语言就有: ...
- Android Notification 详解(一)——基本操作
Android Notification 详解(一)--基本操作 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/Notification 文中如有纰 ...
- Android Notification 详解——基本操作
Android Notification 详解 版权声明:本文为博主原创文章,未经博主允许不得转载. 前几天项目中有用到 Android 通知相关的内容,索性把 Android Notificatio ...
- 三、Redis基本操作——List
小喵的唠叨话:前面我们介绍了Redis的string的数据结构的原理和操作.当时我们提到Redis的键值对不仅仅是字符串.而这次我们就要介绍Redis的第二个数据结构了,List(链表).由于List ...
- 二、Redis基本操作——String(实战篇)
小喵万万没想到,上一篇博客,居然已经被阅读600次了!!!让小喵感觉压力颇大.万一有写错的地方,岂不是会误导很多筒子们.所以,恳请大家,如果看到小喵的博客有什么不对的地方,请尽快指正!谢谢! 小喵的唠 ...
- 一、Redis基本操作——String(原理篇)
小喵的唠叨话:最近京东图书大减价,小喵手痒了就买了本<Redis设计与实现>[1]来看看.这里权当小喵看书的笔记啦.这一系列的模式,主要是先介绍Redis的实现原理(可能很大一部分会直接照 ...
- Linq查询基本操作
摘要:本文介绍Linq查询基本操作(查询关键字) - from 子句 - where 子句 - select子句 - group 子句 - into 子句 - orderby 子句 - join 子句 ...
- C++ map的基本操作和使用
原文地址:http://blog.sina.com.cn/s/blog_61533c9b0100fa7w.html Map是c++的一个标准容器,她提供了很好一对一的关系,在一些程序中建立一个map可 ...
随机推荐
- 一种Android换肤机制的实现
http://eastmoneyandroid.github.io/2016/01/22/android-reskin/
- 英语之路 zt
各位为英语而郁闷的兄弟姐妹们: 自从考完GRE和TOEFL以后,心有所感,本想写点心得,但是因为太懒没写成.今日风雨如晦,心中又有所感,于是一舒笔墨,写下我学英语的方法.俺知道有很多兄弟姐妹们和曾经的 ...
- 提高entity framework 性能,要注意哪些事情.
转自:http://www.cnblogs.com/jake1/archive/2013/04/25/3043664.html 我发现现在有不少博友,都反对使用EF框架,说它性能低.其实只要你用的好, ...
- 有7g和2g的砝码各一个,怎样称可以3次把140g东西分为50g和90g???????
第一次:等分 50和90为 70 70 2. 7g 和2g ,取出一个70中的9g , 61 70 3.利用 9g和2g砝码,取出61中的11克,前面的9 和 11 都放进70
- Android JNI 由C/C++本地代码向Java层传递数据
最近做的Android项目需要调用C代码,进行串口通信及与硬件设备通信,因此要用到JNI,其中本地代码需要向Java层返回三个参数,分别为 参数一:int型: 参数二: 通信指令,本地代码中为unsi ...
- [LeetCode] 3Sum 解题思路
Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find all un ...
- Apache 虚拟主机 VirtualHost 配置
虚拟主机 (Virtual Host) 是在同一台机器搭建属于不同域名或者基于不同 IP 的多个网站服务的技术. 可以为运行在同一物理机器上的各个网站指配不同的 IP 和端口, 也可让多个网站拥有不同 ...
- hdoj 1054 Strategic Game【匈牙利算法+最小顶点覆盖】
Strategic Game Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- Yii2 自动更新时间created_at updated_at
创建model之后,新建一条记录,结果设计的表中created_at 字段 updated_at 字段 都是datetime 类型的,却不能自动插入当前时间.查看了资料,解决如下: 1.在class ...
- eclipse中建立tomcat容器
步骤 1. new - orther - server 出现下图,选择tomcat版本, 2. 选择已有的web项目至tomcat容器中,如果尚未建立,可不选. 3. 点击完成后,就会发现一个新建项 ...