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 -- 回忆笔记(二):增删改查,修改表结构,约束,关键字使用,函数,多表联合查询的更多相关文章

  1. Sql Server数据库之四个增删改查

    一.数据库的增删改查 1.新建数据库 create database students on primary ( name="students_data",--主数据文件的逻辑名 ...

  2. MyBatis学习(二)、SQL语句映射文件(2)增删改查、参数、缓存

    二.SQL语句映射文件(2)增删改查.参数.缓存 2.2 select 一个select 元素非常简单.例如: <!-- 查询学生,根据id --> <select id=" ...

  3. MyBatis学习 之 二、SQL语句映射文件(2)增删改查、参数、缓存

    目录(?)[-] 二SQL语句映射文件2增删改查参数缓存 select insert updatedelete sql parameters 基本类型参数 Java实体类型参数 Map参数 多参数的实 ...

  4. SQL你必须知道的-增删改查与约束

    SQL你必须知道的-增删改查与约束   -- 插入数据    --Insert 语句可以省略表名后的列名,但是不推荐    insert into Class values ('' 高一一班 '', ...

  5. MyBatis学习系列二——增删改查

    目录 MyBatis学习系列一之环境搭建 MyBatis学习系列二——增删改查 MyBatis学习系列三——结合Spring 数据库的经典操作:增删改查. 在这一章我们主要说明一下简单的查询和增删改, ...

  6. SQL Server -- 回忆笔记(五):T-SQL编程,系统变量,事务,游标,触发器

    SQL Server -- 回忆笔记(五):T-SQL编程,系统变量,事务,游标,触发器 1. T-SQL编程 (1)声明变量 declare @age int (2)为变量赋值 (3)while循环 ...

  7. Python进阶----数据库的基础,关系型数据库与非关系型数据库(No SQL:not only sql),mysql数据库语言基础(增删改查,权限设定)

    day37 一丶Python进阶----数据库的基础,mysql数据库语言基础(增删改查,权限设定) 什么是数据库:    简称:DataBase ---->DB    数据库即存放数据的仓库, ...

  8. Android SQL语句实现数据库的增删改查

    本文介绍android中的数据库的增删改查 复习sql语法: * 增 insert into info (name,phone) values ('wuyudong','111') * 删 delet ...

  9. MongoDB学习笔记,基础+增删改查+索引+聚合...

    一 基础了解 对应关系 -> https://docs.mongodb.com/manual/reference/sql-comparison/ database -> database ...

随机推荐

  1. Python下用Scrapy和MongoDB构建爬虫系统(1)

    本文由 伯乐在线 - 木羊 翻译,xianhu 校稿.未经许可,禁止转载!英文出处:realpython.com.欢迎加入翻译小组. 这篇文章将根据真实的兼职需求编写一个爬虫,用户想要一个Python ...

  2. MySql的创建时间和修改时间

      在创建时间字段的时候 DEFAULT CURRENT_TIMESTAMP表示当插入数据的时候,该字段默认值为当前时间 ON UPDATE CURRENT_TIMESTAMP表示每次更新这条数据的时 ...

  3. Perl文件句柄相关常量变量

    文件句柄相关变量 对应的官方手册:http://perldoc.perl.org/perlvar.html#Variables-related-to-filehandles 默认情况下: $/:输入行 ...

  4. Python循环结构用法

    本文介绍python中的while循环.for循环.在python中for可以用于循环,也可用于另一种近亲的列表解析,列表解析是python中非常重要的特性,详细内容见后面的文章. 一般来说,pyth ...

  5. Redis持久化及其配置

    引言 终于可以有时间继续看书,整理自己的见解, 写下2019年第一篇自己的随笔.从去年9月份跳槽到新公司后,几乎天天的加班让整个人都盲目了,原本计划好的事情总是会被打乱.都说坚持一件事情很难,特别是写 ...

  6. L1与L2损失函数和正则化的区别

    本文翻译自文章:Differences between L1 and L2 as Loss Function and Regularization,如有翻译不当之处,欢迎拍砖,谢谢~   在机器学习实 ...

  7. SQL语句NOT IN优化之换用NOT EXISTS

    NOT IN查询示例(示例背景描述:根据条件查询Questions表得到的数据基本在PostedData表中不存在,为完全保证查询结果在PostedData表中不存在,使用NOT IN): SET S ...

  8. javaScript遍历对象、数组总结(转载)

    javaScript遍历对象.数组总结  转载来源 https://www.cnblogs.com/chenyablog/p/6477866.html 在日常工作过程中,我们对于javaScript遍 ...

  9. 先装IIS后装.Net Framework

    1.动态页面和静态页面的区别 动态页面(动态网站):通过C#代码(或别的语言)与服务器的交互的实现(比如新建一个ashx一般处理程序中的C#代码就可以和服务器实现交互,修改数据库,上传图片等都属于和服 ...

  10. [PHP] PHP多进程处理tcp连接

    <?php if(($sock = socket_create(AF_INET, SOCK_STREAM, 0)) < 0) { echo "failed to create s ...