SQL Server -- 回忆笔记(二):增删改查,修改表结构,约束,关键字使用,函数,多表联合查询
SQL Server知识点回忆篇(二):增删改查,修改表结构,约束,关键字使用,函数,多表联合查询
1. insert
如果sql server设置的排序规则不是简体中文,必须在简体中文字符串前加N, 为了防止乱码问题
insert into tbUsers(UserName,Age,Email,DepartmentID) values(N'小胡子',26,'xiaohuzi@qq.com',11)
2. update
语法格式: update 表名 set 列名=值 where 条件
update tbUsers set Age=27 where id=1
3. delete
语法格式: delete from 表名 where 条件
delete from tbUsers where id=1
使用delete时需谨慎,注意Where条件的控制,避免多删除数据。如果不加where条件,会将表中的所有数据删除(表中自动编号的列不会回到初始值)。
使用 truncate 也可删除数据,但 truncate 无法根据条件删除,只能全部删除表中数据 (如果表中有identity自动编号的列,自动编号会回到初始值)。
4. select
语法格式:select 列名1,列名2,列名3.... from 表名 where 条件
select UserName,Age,Email from tbUsers where UserName='小胡子'
5. 修改表结构
删除列:
alter table tbUsers drop column Age
增加列:
alter table tbUsers add Age int
修改列:
alter table tbUsers alter column Email varchar(30)
添加主键约束:
alter table tbUsers add constraint pk_Email primary key(Email)
添加非空约束:
alter table tbUsers alter column Email varchar(50) not null
添加唯一约束:
alter table tbUsers add constraint UQ_Email unique(Email)
添加默认约束:
alter table tbUsers add constraint DF_Email default('test@qq.com') for Email
添加检查约束:
alter table tbUsers add constraint CK_Age check(Age>0 and Age<100)
添加外键约束:
alter table tbUsers add constraint FK_Department foreign key (DepartmentID) references department(DepartmentID)
删除约束:
alter table tbUsers drop constraint FK_Department
可以在创建表时就加上约束:
create table tbUsers
(
UserName varchar(20),
Age int check(Age>0 and Age<100),
Email varchar(30) unique,
DepartmentID varchar(50)
)
6. 关键字使用
order by: 排序,放在整个sql语句的最后,升序asc, 降序desc
distinct: 对查询出的整个结果集去除重复
top: 取查询结果集的前多少条记录, 与order by结合使用才有意义
like: 模糊查询( _:表示单个字符,%:表示任意字符,[ ]:表示筛选,范围)
group by: 分组统计,与聚合函数配合使用
between...and: 用于查询介于两个值之间的数据范围内的数据集
7. 聚合函数
sum(): 对表中值求和
count(): 统计指定条件下值的数目
max(): 求最大值
min(): 求最小值
avg(): 求平均值
8. 字符串函数
len(): 获取字符的个数
upper(): 转换大写
lower(): 转换小写
ltrim(): 去掉左边空格
rtrim(): 去掉右边空格
left(): 从左边开始截取
right(): 从右边开始截取
substring(): 可用来截取指定位置字符串
9. 日期函数
getdate(): 取得当前日期
dateadd(): 在某个日期加上指定时间段
datediff(): 在某个日期减去指定时间段
datepart(): 取得日期的某部分
convert(): 把日期转换为新数据类型的通用函数。可以用不同的格式显示日期/时间。
10. 多表联合查询
left join: 左表返回所有的行,即使在右表中没有匹配的行
right join: 右表返回所有的行,即使在左表中没有匹配的行。
union: 使用时 select 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 select 语句中的列的顺序必须相同
union all: 如果允许重复的值,请使用 union all。
11. NULL值的判断
在sql server中,判断是否为 null 值用 is null 或 is not null
SQL Server -- 回忆笔记(二):增删改查,修改表结构,约束,关键字使用,函数,多表联合查询的更多相关文章
- Sql Server数据库之四个增删改查
一.数据库的增删改查 1.新建数据库 create database students on primary ( name="students_data",--主数据文件的逻辑名 ...
- MyBatis学习(二)、SQL语句映射文件(2)增删改查、参数、缓存
二.SQL语句映射文件(2)增删改查.参数.缓存 2.2 select 一个select 元素非常简单.例如: <!-- 查询学生,根据id --> <select id=" ...
- MyBatis学习 之 二、SQL语句映射文件(2)增删改查、参数、缓存
目录(?)[-] 二SQL语句映射文件2增删改查参数缓存 select insert updatedelete sql parameters 基本类型参数 Java实体类型参数 Map参数 多参数的实 ...
- SQL你必须知道的-增删改查与约束
SQL你必须知道的-增删改查与约束 -- 插入数据 --Insert 语句可以省略表名后的列名,但是不推荐 insert into Class values ('' 高一一班 '', ...
- MyBatis学习系列二——增删改查
目录 MyBatis学习系列一之环境搭建 MyBatis学习系列二——增删改查 MyBatis学习系列三——结合Spring 数据库的经典操作:增删改查. 在这一章我们主要说明一下简单的查询和增删改, ...
- SQL Server -- 回忆笔记(五):T-SQL编程,系统变量,事务,游标,触发器
SQL Server -- 回忆笔记(五):T-SQL编程,系统变量,事务,游标,触发器 1. T-SQL编程 (1)声明变量 declare @age int (2)为变量赋值 (3)while循环 ...
- Python进阶----数据库的基础,关系型数据库与非关系型数据库(No SQL:not only sql),mysql数据库语言基础(增删改查,权限设定)
day37 一丶Python进阶----数据库的基础,mysql数据库语言基础(增删改查,权限设定) 什么是数据库: 简称:DataBase ---->DB 数据库即存放数据的仓库, ...
- Android SQL语句实现数据库的增删改查
本文介绍android中的数据库的增删改查 复习sql语法: * 增 insert into info (name,phone) values ('wuyudong','111') * 删 delet ...
- MongoDB学习笔记,基础+增删改查+索引+聚合...
一 基础了解 对应关系 -> https://docs.mongodb.com/manual/reference/sql-comparison/ database -> database ...
随机推荐
- python 时间模块time,datetime
模块(module)是 Python 中非常重要的东西,你可以把它理解为 Python 的扩展工具.换言之,Python 默认情况下提供了一些可用的东西,但是这些默认情况下提供的还远远不能满足编程实践 ...
- dubbo源码解析五 --- 集群容错架构设计与原理分析
欢迎来我的 Star Followers 后期后继续更新Dubbo别的文章 Dubbo 源码分析系列之一环境搭建 博客园 Dubbo 入门之二 --- 项目结构解析 博客园 Dubbo 源码分析系列之 ...
- Perl文件、目录常用操作
注意,这些操作的对象是文件名(相对路径/绝对路径),而非文件/目录句柄,句柄只是perl和文件系统中文件的关联通道,而非实体对象. 创建文件 在unix类操作系统中有一个touch命令可以非常方便的创 ...
- 基于SpringMVC+Spring+MyBatis实现秒杀系统【数据库接口】
前言 该篇教程主要关注MyBatis实现底层的接口,把MyBatis交给Spring来托管.数据库连接池用的c3p0.数据库用的MySQL.主要有2个大类:秒杀商品的查询.秒杀明细的插入. 准备工作 ...
- Hyperledger Fabric链码之一
什么是链码(Chaincode)? 我们知道区块链有3个发展阶段:区块链1.0,区块链2.0,区块链3.0.其中区块链2.0就是各种区块链平台百花齐放的阶段,区块链2.0最大的特点就是智能合约,我们接 ...
- 数据可视化 seaborn绘图(2)
统计关系可视化 最常用的关系可视化的函数是relplot seaborn.relplot(x=None, y=None, hue=None, size=None, style=None, data=N ...
- Python爬虫之足球小将动漫(图片)下载
尽管俄罗斯世界杯的热度已经褪去,但这届世界杯还是给全世界人民留下了无数难忘的回忆,不知你的回忆里有没有日本队的身影?本次世界杯中,日本队的表现让人眼前一亮,很难想象,就是这样一只队伍,二十几年还是 ...
- Maven(六)Eclipse使用Maven插件创建项目
1. 创建Maven版Java工程 1.1 具体步骤 1.2 更改默认JDK版本 默认JDK版本过低 可以通过配置setting.xml来更改JDK版本 加入如下代码 <profile> ...
- Docker 系列七(Dubbo 微服务部署实践).
一.前言 之前我们公司部署服务,就是大家都懂的那一套(安装JDK.Tomcat —> 编译好文件或者打war包上传 —> 启动Tomcat),这种部署方式一直持续了很久,带来的问题也很多: ...
- 设计模式—模板方法的C++实现
这是Bwar在2009年写的设计模式C++实现,代码均可编译可运行,一直存在自己的电脑里,曾经在团队技术分享中分享过,现搬到线上来. 1. 模板方法简述 1.1 目的 定义一个操作中的算法骨架,而将一 ...