回顾:

打开数据服务

net start mssqlserver

关闭数据库服务

net stop mssqlserver

新增数据:

insert into -- 新增到
Student -- 表
(Name,Age,Address,Gid) --数据的字段
values -- 默认
('张三',26,'广东韶关',1)--值

修改数据:

update --修改
Student 
set Address = '湖南长沙' -- 修改字段
where Name='张三' -- 条件

删除数据:

delete

SQL Server查询

基本语法

select * from 表名 where 条件

查询所有

*通配,查询所有字段

select * from 表名

示例

select * from Teacher

sql server查询语句在哪里写 sql server 查询语句_用户信息

部分查询

select 字段名 from 表名

示例

select TeacherName,Sex,Birthday from Teacher

sql server查询语句在哪里写 sql server 查询语句_用户信息_02

字段别名:

-- 直接申明
select TeacherName '姓名',Sex '性别',Birthday '生日' from Teacher

-- 使用 字段 as '别名'
select TeacherName as '姓名',Sex as '性别',Birthday as '生日' from Teacher

-- 使用 '别名'=字段
select '姓名'=TeacherName ,'性别'= Sex  ,'生日'=Birthday   from Teacher

sql server查询语句在哪里写 sql server 查询语句_sql server查询语句在哪里写_03

条件查询

算数运算符

运算符

含义

+

加法

-

减法

*

乘法

/

除法

%

取模

-- 算数运算符
-- 加法
update Users set Age=Age+1 where Id=10002
update Users set Age+=1 where Id=10002

-- 减法
update Users set Age=Age-1 where Id=10011
update Users set Age-=1 where Id=10011
比较运算符

比较运算符

含义

=

等于

<

小于

>

大于

>=

大于等于

<=

小于等于

<>

不等于

!=

不等于

!>

不大于

!<

不小于

示例:

-- 比较运算符
-- 查询年龄等于18的用户信息
select * from Users where Age=18

-- 查询年龄小于18的用户信息
select * from Users where Age<18

-- 查询年龄大于等于18的用户信息
-- 大于等于18 包含18
select * from Users where Age>=18

-- 查询年龄小于等于18的用户信息
-- 小于等于18 包含18
select * from Users where Age<=18

-- 查询年龄不等于18的用户信息
-- 不等于18的其他用户
select * from Users where Age<>18
select * from Users where Age!=18

-- 查询年龄不大于18的用户信息
-- 不大于18 = 小于等于18
select * from Users where Age!>18

-- 查询年龄不小于18的用户信息
-- 不小于18 = 大于等于18
select * from Users where Age!<18
逻辑运算符

运算符

含义

and

并且-与

or

或者-或

not

取反-非

优先级:not>and>or

-- 逻辑运算符
-- 查询年龄大于18并且小于25的用户信息
select * from Users where Age>18 and Age<25

-- 查询年龄大于25或者小于18的用户信息
select * from Users where Age>25 or Age<18

-- 查询姓名不为空的用户信息
select * from Users where Name is not null

范围查询

between…and…
-- between...and...
-- 查询年龄在18到25之间的用户
-- 等同于 age>=18 and age <=25
select * from Users where Age between 18 and 25
in
-- in
-- 查询年龄在(18,29,30)的用户
select * from Users where Age in (18,29,30)

空值查询

查询一个字段的值是不是NULL,使用is

-- 查询姓名不为空的用户信息
select * from Users where Name is  null

模糊查询

like操作符

like操作符用于where子句中搜索列的指定模式

如果要查找NickName中含有’蛋’的用户信息,就要使用Like关键字来搜索,SQL如下,这里的%%为通配符

select * from Users where NickName like '%蛋%'

通配符

  • 在搜索数据库中的数据时,SQL 通配符可以替代一个或多个字符。SQL 通配符必须与 LIKE 运算符一起使用。
  • SQL Server通配符有:

通配符

描述

%

代替一个或多个字符

_

仅代替一个字符

[charlist]

字符列中的任何单一字符

[^charlist]

不在字符列中的任何单一字符

使用%通配符

1、搜索昵称以’g’结尾的用户

--搜索昵称以'g'结尾的用户
select * from Users where NickName like '%g'

sql server查询语句在哪里写 sql server 查询语句_数据库_04

2、搜索昵称以’张’开头的用户

--搜索昵称以'张'开头的用户
select * from Users where NickName like '张%'

sql server查询语句在哪里写 sql server 查询语句_sql_05

使用_通配符

_代表一个字符

-- 搜索除第一个字符之后为'蛋'的用户
select * from Users where NickName like '_蛋'
select * from Users where NickName like '_爱__'

sql server查询语句在哪里写 sql server 查询语句_sql_06

[charlist]通配符

1、搜索昵称以JWK开头的人

select * from Users where NickName like '[JWK]%'

sql server查询语句在哪里写 sql server 查询语句_sql server查询语句在哪里写_07

等同于like 'J%' or like 'W%' or like 'K%'

[^charlist]与[]相反,不包含某些字符

排序查询

语法

select 字段 from 表名 order by 字段 asc/desc

1、升序asc 默认升序,可以省略不写

--年龄升序
select * from Users order by Age asc
--年龄升序,FaceId升序
--先根据年龄升序,如果一样则根据FaceId升序
select  * from Users order by Age,FaceId

2、降序desc

--年龄降序
select * from Users order by Age desc
--年龄降序,FaceId降序
select  * from Users order by Age desc,FaceId desc

获取指定数量数据

select top 数量 * from 表名

s order by Age asc
–年龄升序,FaceId升序
–先根据年龄升序,如果一样则根据FaceId升序
select * from Users order by Age,FaceId

2、降序`desc`

```mssql
--年龄降序
select * from Users order by Age desc
--年龄降序,FaceId降序
select  * from Users order by Age desc,FaceId desc

获取指定数量数据

select top 数量 * from 表名