建库

CREATE DATABASE 数据库名

ON[PRIMARY]  --默认属于PRIMARY主文件组,可省略

(

NAME='',  --主数据文件的逻辑名 名称

FILEAME='',  --主数据文件的物理名 路径 .mdf 次数据库为.ndf

SIZE=5mb,  --主数据文件初始大小

MASSIZE=100mb,  --主数据文件增长最大值

FILEGROETH=15%  --主数据文件增长率

)

LOG ON

(

NAME='',  --日志文件的逻辑名

FILEAME='',  --日志文件的物理名 .ldf

SIZE=5mb,  --日志文件初始大小

MASSIZE=100mb,  --日志文件增长最大值

FILEGROETH=15%  --日志文件增长率

)

删库  跑路

DROP  DATABASE 数据库名

删表

DROP TABLE 表名

一个表只能有一个主键,主键约束确保了表中的行是唯一的。

表中可以没有主键。

如果两列或多列组合起来唯一的标识每一行,则该主键又称组合键。

外键是对应主键而言的,是子表中对应于主键的列,他的值要求与主表的主键或者唯一键对应。

常用数据类型:

二进制数据:image是C#中的byte[]类型,数量随意。binary数据量限定。

字符串类型:

char//ncher//varcher//nvarcher

text//ntext

varcher(MAX)//nvercher(MAX)

不带n的数据类型,存储英文数字是一个字节,汉子两个字节。带n的则全部两个字节。char(2个字节) nchar(2个字符(4个字节))。

不带n的长度最长8000。带n的最长可以4000。(varcher(MAX)//nvercher(MAX)最大可以四个G,在05版本之前使用text,ntext。)

不带var的表示固定长度(永远占固定的字节,自动补全字节数,浪费空间)。带var的表示可变长度。

时间数据:datetime

插入语句(增)

INSERT INTO 表名 (列名,列名) VALUES ('xx','xx')

删除语句(删)

DELETE FROM 表名

WHERE 条件

删除全部记录:DELETE FROM 表名  --表结构,列,索引等还将存在,自增值依然从大值递增。

删除全部数据:TRUNCATE TABLE 表名    --不能用于有外键的表,表结构,列,索引等还将存在,速度比DELETE语句快。自增值重置。不触发触发器。

修改语句(改)

UPDATE 表名

SET 列名=值,列名=值

WHERE 条件

搜索语句(查)

搜索语句的处理顺序:

FORM 表名

ON

INNER JOIN ...

WHERE 条件

GROUP BY ...

WITH CUBE或WITH ROLLUP

HAVING ...

SELSCT 列名

DISTINCT

ORDER BY ASC/DESC

TOP

排序查询 ORDER BY ASC/DESC

该语句必须,一定放在语句的最后。

分组查询 GROUP BY 列名

当使用了分组语句或聚合函数时,在select列表中不能再包含其他的列名,除非该列名在分组语句中或聚合函数中。

分组后判断条件 HAVING

对分组后的条件筛选必须使用HAVING子句,在GROUP BY句之前可用WHERE。

having可以使用聚合函数,但while不可。

联合结果集 UNION

联合要求多个结果集列的数目相同,列的数据类型兼容。

UNION会去处重复,重新排序。UNION ALL不会,节省性能。

SELECT 表名.列,表名.列 FORM 表名 INNER JOIN 表名 ON 条件    --内连接查询语句,INNER JOIN可简写成JOIN

SELECT 表名.列,表名.列 FORM 表名 LEFT/RIOGHT/FULL OUTER JOIN 表名 ON 条件

--左外链接语句,OUTER可省略,结果集会包括LEFT JOIN所指定的左表的所有行,如果左表行在右表中无匹配,将会填充为空,右连接同理。

--FULL表示完全外链接,结果集会包含左右表的所有行,当某行在另一表中没有匹配行则会包含空值。

查询所有列,去重复数据:SELSCT DISTINCT* FORM 表名

DISTINCT  --针对查询出的结果集去除重复

限制行数查询:SELSCT TOP 5 * FORM 表名 ORDER BY 列名 ASC/DESC

TOP  --常与 ORDER BY 连用,

关于空值查询 NULL

NULL值无法用=和<>来判断,使用IS NULL或者IS NOT NULL。

任何值与 NULL 计算,结果都是NULL。

模糊查询

模糊查询:SELECT 列名 LIKE '%'

_  表示任意单个字符。

%  表示任意多个字符。

【0-9】【a-z】【_】表示筛选范围,^表示排除范围。

[]  转义  ESCAPE '/' 后跟此句代表自定义转义符。

按百分比限制查询:SELSCT TOP 50 PERCENT * FORM 表名

在某个范围查询:SELECT 列名 BETWEEN '' AND ''

在某些值内查询:SELECT 列名 FORM 表名 IN ('','')

聚合函数

聚合函数不统计空值

查询表达式中数值的和:SELECT SUM(列名) FORM 表名 WHERE 条件

查询平均值:SELECT AVG(列名) FORM 表名 WHERE 条件

查询最小值:SELECT MIN(列名) FORM 表名 WHERE 条件

查询最大值:SELECT MAX(列名) FORM 表名 WHERE 条件

查询非空列:SELECT COUNT(列名) FORM 表名 WHERE 条件

类型转换函数

CAST(值 as 数据类型)

CONVERT(数据类型,值)

黑马公开课: http://yun.itheima.com/course/165.html

转载请联系

MSSQL 基础知识与语句笔记的更多相关文章

  1. 《Python编程:从入门到实践》基础知识部分学习笔记整理

    简介 此笔记为<Python编程:从入门到实践>中前 11 章的基础知识部分的学习笔记,不包含后面的项目部分. 书籍评价 从系统学习 Python 的角度,不推荐此书,个人更推荐使用< ...

  2. sql sever 基础知识及详细笔记

    第六章:程序数据集散地:数据库 6.1:当今最常用的数据库 sql  server:是微软公司的产品 oracle:是甲骨文公司的产品 DB2:数据核心又称DB2通用服务器 Mysql:是一种开发源代 ...

  3. MSSQL 基础知识002

    ---启用sa账号 1. 先使用一个windows账号登陆. 2.在数据库实例上面右键,属性,安全性,登录名,sa. 右键,属性. 常规,修改sa的密码. 状态,启用sa账号. 主键的作用: 1.唯一 ...

  4. JavaScript基础知识(学习笔记)

    1.    在JavaScript中所有事物都是对象:字符串.数字.数组.日期等等2.    在JavaScript中,对象是拥有属性和方法的数据3.    属性是与对象相关的值,方法是能够在对象上执 ...

  5. VBA基础知识———常用语句

    语句一:if判断语句 Sub 判断1() '单条件判断 If Range("a1").Value > 0 Then Range("b1") = " ...

  6. .net窗体程序的基础知识及详细笔记

    第一章:初识Windows程序 1.1:第一个wondows程序 1.1.1:认识windows程序 Form1.cs:窗体文件:程序对窗体编写的代码一般都存放在这个文件(还有拖动控件时的操作和布局, ...

  7. java基础知识及详细笔记

    第一章:初识java 1.1.java的概述 ü  什么是计算机程序:计算机按照某种顺序而完成的一系列有序指令的集合. ü  Java的作用:1:安装和运行本机上的桌面程序.2:通过浏览器访问面向in ...

  8. HTML5基础知识及相关笔记

    HTML5基础 1.1HTML文件的基本结构和W3C标准 1.1.1HTML简介 HTML是一种描述网页的语言,一种超文本标记的语言! 1.1.2HTML文件的基本结构 头部(head) 头部是网页的 ...

  9. Linux基础知识_Shell编程笔记

    以下是一些 常用功能 , 基于 centos 6.5 x64 # cp /etc/localtime /etc/localtime.org # rm /etc/localtime # ln -s /u ...

随机推荐

  1. C# Func的同步、异步调用

    using System; namespace ActionDemo { class Program { static void Main(string[] args) { Console.Write ...

  2. ctime 时间

    1. 类型clock_t: 是个long型,用来记录一段时间内的时钟计时单元数,即CPU的运行单元时间.size_t: 标准C库中定义的,应为unsigned int,在64位系统中为long uns ...

  3. 20165320 预备作业3 :Linux安装及命令入门

    一.VirtualBox与Linux的安装 我是按照老师给的链接下的最新版本的VirtualBox5.26,然后Ubuntu软件(版本是16.04,最新的是17)是自己在网上找的旧版本下好的,因为我在 ...

  4. 使用qt写的进制转换器

    没有使用什么数据结构,直接使用qt自带的进制转换函数, 实时出结果,代码在后面的链接中,由于初学qt,好多不会,代码构造就有点乱 截图如下

  5. from setuptools import setup ImportError: No module named setuptools【转】

    转自:http://www.cnblogs.com/chinacloud/archive/2010/12/24/1915644.html from setuptools import setupImp ...

  6. 从一个局长使用BS系统的无奈看测试点

    今天我点名买了个B/S系统,听说只要有浏览器就能用.我最讨厌装客户端了,用浏览器就是方便啊. 下面就是我使用这个系统碰到的麻烦事: 我登录失败的时候没有任何提示,这没什么,反正提示也只是说失败…… 进 ...

  7. 【Android开发日记】之入门篇(五)——Android四大组件之Service

    这几天忙着驾校考试,连电脑都碰不到了,今天总算告一段落了~~Service作为Android的服务组件,默默地在后台为整个程序服务,辅助应用与系统中的其他组件或系统服务进行沟通.它跟Activity的 ...

  8. python logging 日志

    logging与print 区别,为什么需要logging? 在写脚本的过程中,为了调试程序,我们往往会写很多print打印输出以便用于验证,验证正确后往往会注释掉,一旦验证的地方比较多,再一一注释比 ...

  9. OpenCV与Python之图像的读入与显示以及利用Numpy的图像转换

    1:读入图像,显示图像与保存图像 代码: import cv2 img=cv2.imread('lena.jpg',cv2.IMREAD_COLOR) cv2.namedWindow('lena',c ...

  10. MongoDB中多表关联查询(

    1.使用aggregate 查看表数据 db.getCollection('reports').aggregate([ { $lookup: { from: "process", ...