sqlserver取模_sqlserver取模_SqlServer基础知识点(T-SQL语言基础)

本文详细介绍了SQLServer中的数据操作,包括INSERT用于插入数据,UPDATE用于更新数据,DELETE用于删除数据。讲解了如何插入单行、多行数据,更新特定条件的数据行,以及删除数据行时的注意事项。还提到了使用TRUNCATE TABLE清空表的危险性,并展示了DQL(数据查询语言)的基础查询和排序操作。
摘要由CSDN通过智能技术生成

DML(数据操作语言)

INSERT、UPDATE、DELETE 等

插入、修改和删除数据库中的数据

- 插入数据

## 插入数据语法:(字符数据需要单引号,数值数据不需要单引号。)

INSERT INTO 表名 (列名)VALUES (值列表)

## 示例:向学生表中插入一行数据

INSERT INTO Students (SName,SAddress,SGrade,SEmail,SsEX)

VALUES ('张青裁','上海松江',6,[email protected]',0)

## 示例:向学生表中插入多行数据

INSERT INTO Students (SName,SAddress,SGrade,SEmail,SsEX)

SELECT '张青裁','上海松江',6,[email protected]',0 UNION

SELECT '张三','上海松江',3,[email protected]',1 UNION

SELECT '刘筱','上海松江',2,[email protected]',0

- 每次插入一行数据,不能只插入半行或者几列数据,插入的数据是否有效将按照整行的完整性的要求来检验。

- 每个数据值的数据类型、精度和小数位数必须与相应的列匹配。

- 不能给标识列插入值。

- 不允许为空的列,则必须插入数据。

- 有缺省值的列,插入时可以使用 DEFAULT(缺省)关键字来代表缺省值。

- 用null表示空

# 将某一个表里的数据添加到另一个已存在的表中:

INSERT INTO 表名 (列名)

SELECT 列名

FROM 源表名

# 示例:将Students表中SName,SAdderss,SEmail列数值插入AddressList表的 (姓名,地址,电子邮件)列

INSERT INTO AddressList (姓名,地址,电子邮件)

SELECT SName,SAdderss,SEmail

FROM Students

# 注意:AddressList 表需包含 (姓名,地址,电子邮件) 列

# 将某一个表里的数据添加到新表中:

SELECT (列名)

INTO 表名

FROM 源表名

# 示例:将Students表中SName,SAdderss,SEmail列数值创建新NEWAddressList表

SELECT SName,SAdderss,SEmail

INTO NEWAddressList

FROM Students

- 更改数据

## 更新数据行:(更新多列数据使用逗号隔开)

UPDATE 表名

SET 列名=更新值, 列名=更新值, ...

WHERE 条件

## 示例1:将Students 表中的SSEX列中所有数值改为0

UPDATE Students

SET SSEX=0

## 示例2:将Students 表中的SAddress列中 上海黄浦 改为 上海松江

UPDATE Students

SET SAddress='上海松江'

WHERE SAddress='上海黄浦'

- 勿忘条件限制,以防有效数据的丢失。

- 删除数据

## 删除数据行:

DELETE FROM 表名

WHERE 条件

## 示例1:删除Students 表中的SName列为 张青裁 行

DELETE FROM Students

WHERE SName='张青裁'

## 直接清空表:(慎用)

TRUNCATE TABLE 表名

DQL(数据查询语言)

SELECT 等

用来查询数据库中的数据

## 查询数据:

SELECT 列名

FROM 表名

WHERE 条件 (可选)

ORDER BY 排序的列名 (可选)

##示例1:查询Students表中所有的列

SELECT *

FROM Students

## 示例2:查询Students表中SSEX列值为0的数据行,只显示SCode,SName,SAddress列,并按SCode列的值排序。

SELECT SCode,SName,SAddress

FROM Students

WHERE SSEX = 0

ORDER BY SCode

## 示例3:查询Students表中Email值为空的行。

SELECT *

FROM Students

WHERE Email is null

## 示例4:查询Students表中Email值非空的行。

SELECT *

FROM Students

WHERE Email is not null

- 排序默认按升序排列,降序语法:ORDER BY 列名 desc。

- 多列排序可以用 , 隔开列名,多列排序语法:ORDER BY 列名1,列名2。

## 只查询前几行数据

##方式1:按指定行数查询

SELECT TOP * 列名

FROM 表名

WHERE 条件 (可选)

ORDER BY 排序的列名 (可选)

## 示例:查询Students表所有列前5行数据

SELECT TOP 5 *

FROM Students

##方式2:按总行百分百查询

SELECT TOP * PERCENT 列名

FROM 表名

WHERE 条件 (可选)

ORDER BY 排序的列名 (可选)

## 示例:查询Students表所有列前20%行数据

SELECT TOP 20 PERCENT *

FROM Students

## 自定义数据结果列名称

##方法1

SELECT 列名 AS 新列名,列名 AS 新列名,...

FROM 表名

WHERE 条件 (可选)

ORDER BY 排序的列名 (可选)

##方法2

SELECT 新列名=列名,新列名=列名,...

FROM 表名

WHERE 条件 (可选)

ORDER BY 排序的列名 (可选)

## 显示结果中增加一个自定义列

SELECT 列名 AS 新列名,'自定义内容' AS 自定义列名,

FROM 表名

WHERE 条件 (可选)

ORDER BY 排序的列名 (可选)

## 多列合并查询

##方式1

SELECT 列名+列名

FROM 表名

WHERE 条件 (可选)

ORDER BY 排序的列名 (可选)

##方法2

SELECT 列名+列名 AS 新列名

FROM 表名

WHERE 条件 (可选)

ORDER BY 排序的列名 (可选)

- +连接的列,值需要是同一种类型

- 如果+连接的列是字符类数据,结果为数据内容相连。如:姓名+地址 结果为:姓名地址。

- 如果+连接的列是数值类数据,结果为数值之和。如:12+20 结果为:32。

DCL(数据控制语言)

用来控制存取许可、存取权限等

GRANT、REVOKE 等

DDL(数据定义语言)

用来建立数据库、数据库对象和定义表的列

CREATE TABLE、DROPTABLE 等

运算符

一种符号,他用来进行列间或者变量之间的比较和数学运算

包括算术运算符、赋值运算符、比较运算符、逻辑运算符

算术运算符

算术运算符

说明

+

加运算,求两个数或者表达式相加的和

-

减运算,求两个数或者表达式相减的差

*

乘运算,求两个数或者表达式相乘的积

/

除运算,求两个数或者表达式相除的商,如:5/3的值为1

%

取模运算,求两个数或者表达式相除的余数,如:5%3的值为2

赋值运算符

赋值运算

说明

=

吧一个数或变量或表达式赋值给另一个变量,如:Name='王华'

比较运算符

比较运算

含义

=

等于

>

大于

<

小于

>=

大于或等于

<=

小于或等于

<>

不等于

!

非(Java语言中为not)

逻辑运算符

逻辑表达式

说明

示例

AND

逻辑与

1 AND 1 = ; 1 AND 0 = 0; 0 AND 0 = 0;

OR

逻辑或

1 OR 1 = 1; 1OR 0 = 1; 0 OR 0 = 0;

NOT

逻辑非

NOT 1 = 0; NOT 0 = 1;

通配符

解释

示例

‘_’

一个字符

A Like 'C_'

%

任意长度的字符串

B Like 'CO_%'

[ ]

括号中所指定范围内的一个字符

C Like '9W0[1-2]'

[^]

不在括号中所指定范围内的一个字符

D Like ‘%[A-D][^1-2]'

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值