主键(PrimaryKey):主键就是一个表中每个数据行的唯一标识。不会有重复值的列才能当主键。一个表可以没有主键,但是会非常难以处理,因此没有特殊理由表都要设定主键。SQLServer中生成GUID的函数newid(),.Net中生成Guid的方法:Guid.NewGuid(),返回是Guid类型。
  常用字段类型:bit(可选值0、1)、datetime、int、varchar、nvarchar(可能含有中文用nvarchar)、Nvarchar(50)、Nvarchar(MAX)
  varchar、nvarchar 和char(n)的区别: char(n)不足长度n的部分用空格填充。Var:Variable,可变的。
  SQL语句中字符串用单引号。SQL语句是大小写不敏感的,不敏感指的是SQL关键字,字符串值还是大小写敏感的。创建表、删除表不仅可以手工完成,还可以执行SQL语句完成,在自动化部署、数据导入中用的很多,CREATE TABLE T_Person(Id int NOT NULL,Name nvarchar(50),Age int NULL)、Drop table T_Person1。(*) SQL主要分DDL(数据定义语言)和DML(数据操作语言)两类。Create Table、Drop Table、Alter Table等属于DDL,Select、Insert、Update、Delete等属于DML。
  新增 - Inert into Table(col,col2...)values(data1,data2...)。如果插入的行中有些字段的值不确定,那么Insert的时候不指定那些列即可。可以给字段默认值,如果Guid类型主键的默认值设定为newid()就会自动生成。更新- update Table set col=value,col2=value2 where ...注意SQL中等于判断用单个=,而不是==。Where中还可以使用复杂的逻辑判断,or相当于C#中的||(或者)。Where中可以使用的其他逻辑运算符:or、and、not、<、>、>=、<=、!=(或<>)等。删除- delete [from] Table where col=data。删除表中全部数据:DELETE FROM T_Person。Delete只是删除数据,表还在,和Drop Table不同。Delete 也可以带where子句来删除一部分数据:DELETE FROM T_Person WHERE FAge > 20。检索- select col,col2[,*] from Table where ...简单的数据检索 :SELECT * FROM T_Employee。只检索需要的列 :SELECT FNumber FROM T_Employee 、SELECT FName,FAge FROM T_Employee 列别名:SELECT FNumber AS 编号,FName AS 姓名,FAge AS Age111 FROM T_Employee 使用where检索符合条件的数据:SELECT FName FROM T_Employee WHERE FSalary<5000。还可以检索不与任何表关联的数据:select 1+1;select newid();select getdate();
  SQL聚合函数:MAX(最大值)、MIN(最小值)、AVG (平均值)、SUM (和)、COUNT(数量)。ORDER BY子句位于SELECT语句的末尾,它允许指定按照一个列或者多个列进行排序,还可以指定排序方式是升序(从小到大排列,ASC)还是降序(从大到小排列,DESC)。ORDER BY子句要放到WHERE子句之后。
  通配符过滤关键字使用LIKE 。单字符匹配的通配符为半角下划线“_”,它匹配单个出现的字符。多字符匹配的通配符为半角百分号“%”,它匹配任意次数(零或多个)出现的任意字符。 “k%”匹配以“k”开头、任意长度的字符串。
  数据库中,一个列如果没有指定值,那么值就为null,这个null和C#中的null,数据库中的null表示“不知道”,而不是表示没有。因此select null+1结果是null,因为“不知道”加1的结果还是“不知道”。SELECT * FROM T_Employee WHERE FNAME=null ; SELECT * FROM T_Employee WHERE FNAME!=null ;都没有任何返回结果,因为数据库也“不知道”。SQL中使用is null、is not null来进行空值判断: SELECT * FROM T_Employee WHERE FNAME is null ; SELECT * FROM T_Employee WHERE FNAME is not null ;GROUP BY子句必须放到WHERE语句的之后 。没有出现在GROUP BY子句中的列是不能放到SELECT语句后的列名列表中的 (聚合函数中除外)。在Where中不能使用聚合函数,必须使用Having,Having要位于Group By之后:SELECT FAge,COUNT(*) AS 人数 FROM T_Employee GROUP BY FAge HAVING COUNT(*)>1 。注意Having中不能使用未参与分组的列,Having不能替代where。作用不一样,Having是对组进行过滤。
  (*)检索按照工资从高到低排序检索从第六名开始一共三个人的信息 :SELECT top 3 * FROM T_Employee WHERE FNumber NOT IN (SELECT TOP 5 FNumber FROM T_Employee ORDER BY FSalary DESC) ORDER BY FSalary DESC 。DISTINCT是对整个结果集进行数据重复处理的,而不是针对每一个列。
  简单的结果集联合:SELECT FNumber,FName,FAge FROM T_Employee UNION SELECT FIdCardNumber,FName,FAge FROM T_TempEmployee 基本的原则:每个结果集必须有相同的列数;每个结果集的列必须类型相容。
  1.UNION合并两个查询结果集,并且将其中完全重复的数据行合并为一条
SELECT FName FROM T_Employee UNION ALL SELECT FName FROM T_TempEmployee 2.Union因为要进行重复值扫描,所以效率低,因此如果不是确定要合并重复行,那么就用UNION ALL 

ABS() :求绝对值。CEILING():舍入到最大整数 。3.33将被舍入为4、2.89将被舍入为3、-3.61将被舍入为-3。 Ceiling→天花板 FLOOR():舍入到最小整数。3.33将被舍入为3、2.89将被舍入为2、-3.61将被舍入为-4。 Floor→地板。 ROUND():四舍五入。舍入到“离我半径最近的数” 。Round→“半径”。Round(3.1425,2)。LEN() :计算字符串长度。LOWER() 、UPPER () :转小写、大写。LTRIM():字符串左侧的空格去掉 RTRIM () :字符串右侧的空格去掉 SUBSTRING(string,start_position,length)
参数string为主字符串,start_position为子字符串在主字符串中的起始位置,length为子字符串的最大长度。GETDATE() :取得当前日期时间 DATEADD (datepart , number, date ),计算增加以后的日期。参数date为待计算的日期;参数number为增量;参数datepart为计量单位。DATEDIFF ( datepart , startdate , enddate ) :计算两个日期之间的差额。 DATEPART (datepart,date):返回一个日期的特定部分 。CAST ( expression AS data_type)。CONVERT ( data_type, expression) 。ISNULL(expression,value) 。

sql server 数据库基础知识(一)的更多相关文章

  1. SQL Server 数据库基础知识

    数据库(Database)是由文件管理系统发展起来的,按照数据结构来组织.存储和管理数据的建立在计算机存储设备上的仓库. 特点:       尽可能小的冗余度.       具有较高的数据独立性和易扩 ...

  2. sql server 数据库基础知识(二)

    CASE函数用法1:单值判断,相当于switch caseCASE expression WHEN value1 THEN returnvalue1 WHEN value2 THEN returnva ...

  3. C#面试题(转载) SQL Server 数据库基础笔记分享(下) SQL Server 数据库基础笔记分享(上) Asp.Net MVC4中的全局过滤器 C#语法——泛型的多种应用

    C#面试题(转载) 原文地址:100道C#面试题(.net开发人员必备)  https://blog.csdn.net/u013519551/article/details/51220841 1. . ...

  4. SQL server 数据库基本知识

    SQL server 数据库基本知识 一.数据库: 分为层次型.网状型.关系型.现在通常都是使用关系型 常用的有:SQLserver.Oracle.DB2.Access.Visual Foxpro.M ...

  5. Sql Server数据库基础

    --------------------------------------第一章  Sql Server数据库基础------------------------------------------ ...

  6. SQL Server 数据库基础笔记分享(下)

    前言 本文是个人学习SQL Server 数据库时的以往笔记的整理,内容主要是对数据库的基本增删改查的SQL语句操作和约束,视图,存储过程,触发器的基本了解. 注:内容比较基础,适合入门者对SQL S ...

  7. SQL Server 数据库基础笔记分享(上)

    前言 本文是个人学习SQL Server 数据库时的以往笔记的整理,内容主要是对数据库的基本增删改查的SQL语句操作和约束,视图,存储过程,触发器的基本了解. 注:内容比较基础,适合入门者对SQL S ...

  8. sql server 2008 基础知识

    一.配置管理器   1.管理服务 使用配置管理器可以启动.停止.重新启动.继续或暂停服务. 服务器和客户端网络协议 2.SQLSMS 简介:SQLSMS是一个集成环境,用于访问.配置.管理和开发SQL ...

  9. 【2017-03-09】SQL Server 数据库基础、四种约束

    一.数据库和内存的区别 数据库:一些存储在硬盘上的数据文件 内存:计算机临时存储的一些数据 二.常用数据库 .Net - SQL Server PHP - MySql Java - Oreacl 三. ...

随机推荐

  1. 【数位dp】hdu3555 Bomb

    题意就是找0到n有多少个数中含有49.数据范围接近10^20 DP的状态是2维的dp[len][3]dp[len][0] 代表长度为len不含49的方案数dp[len][1] 代表长度为len不含49 ...

  2. Microsoft office(1)分页符和分节符

    Microsoft office下的页面布局中的分页符和分节符的区别: 分页符:标记一页的终止并开始下一页的点 分节符:插入分节符并在下一页开始新节 一般情况下,分节符在分页符外围,分节符一般是各种格 ...

  3. 使用Nmon监控Linux的系统性能

    Nmon(得名于 Nigel 的监控器)是IBM的员工 Nigel Griffiths 为 AIX 和 Linux 系统开发的一款计算机性能系统监控工具.Nmon 可以把操作系统的统计数据展示在屏幕上 ...

  4. Golang 内存热力图

    https://cizixs.com/2017/09/11/profiling-golang-program/

  5. sqoop操作与使用

    sqoop只要安装到集群中的一台节点就可以了 1.上传sqoop到节点中 2.安装和配置 在添加sqoop到环境变量到/etc/profile中 将数据库连接驱动拷贝到$SQOOP_HOME/lib里 ...

  6. Kafka 集群搭建 (自用)

    Zookeeper集群搭建 1.软件环境 (3台服务器-测试环境) 192.168.56.9 192.168.56.6 192.168.56.7 1.Linux服务器一台.三台.五台.(2*n+1), ...

  7. 解决防火墙限制远程连接MySQL(导致错误10060可能之一)

    打开windows防火墙,打开高级设置 1. 入站规则设置 ① 选择入站规则,然后新建规则,选择端口,然后下一步 ② 选择TCP,选择特定端口,然后输入端口,如有多个端口需要用逗号隔开了 例如: 33 ...

  8. Node.js 解析gzip网页(https)

    gzip网页指网页头字段Content-Encoding是gzip(GNU zip)内容编码方式.内容编码是指不丢失实体信息的前提下所进行的压缩. Node.js 代码如下: //========== ...

  9. MyISAM的key_buffer_size和InnoDB的innodb_buffer_pool_size

    一.MyISAM的key_buffer_size MyISAM的索引方式是非聚集索引,主索引和其他索引没有本质区别,在data域都是存储了具体记录行的地址.key_buffer_size规定了系统将多 ...

  10. JavaScript——中的prototype(原型)

    JS中的prototype是JS中比较难理解的一个部分 本文基于下面几个知识点: 1 原型法设计模式 在.Net中可以使用clone()来实现原型法 原型法的主要思想是,现在有1个类A,我想要创建一个 ...