一、简单查询

1、查询所有数据,查询部分列数据,列别名

SELECT * FROM 表名

SELECT 列1 AS 'BIAOTI1','BIAOTI2'=列2  FROM 表名

2、查询不重复的数据,

SELECT  DISTINCT  列名 FROM 表名

3、查询前n行数据

SELECT  TOP  N  PERCENT * FROM 表名

4、过滤行

运算符:比较运算符、逻辑运算符(AND/OR/NOT)、范围运算符([NOT]BETWWEEN  AND)、列表运算符(IN(值列表))、模式匹配符、空值判断符

SELECT * FROM 表名  WHERE  条件

模式匹配符:where 列名1 LIKE  '%'  '_'      '[^0-9][A-Z]'

NULL判断符:IS NULL  /IS NOT NULL

5、排序   ORDER BY 列名1  [ASC/DESC],列名2  [ASC/DESC]

二、函数

1、字符串函数:substring(expression,start,length)、--求子串

str(float_expression,[length,[decimal]])--将数字类型转换成字符类型

2、日期函数:getdate()、--获取当前系统日期

dateadd(datepart,number,date)、--yy  mm dd

Datediff(datepart,date1,date2)、--求两个日期的差

Year(date)、Month(date)、Day(date)

3、数学函数:round(numeric_exp,length)--

4、转换函数:convert(datatype [(length)],expression[,style])--类型转换函数

5、次序函数:row_number()、Rank()、dense_rank()

6、Isnull函数--

7、集合函数:min,max,sum,avg,count

三、分组

分组过滤(列1.列2 ,必须在group by 中出现的)

SELECT  列1 ,列2 ,COUNT(列3) FROM 表名 WHERE 条件

GROUP BY  列1,列2

HAVING 条件(分组之后的过滤,可以用聚合函数)

四、连接(子查询结果集如果在一个表中,用子查询,否则用连接)

1、内连接:  SELECT A.列名 ,B.列名  FROM 表1  A

[INNER] JOIN  表2  B  ON  A.列名= B.列名

2、外连接:左外连接、右外连接、全外连接

(保证一个表中的数据,全部显示出来,再加上另一个表中满足条件的数据)

SELECT A.列名 ,B.列名  FROM 表1  A

LEFT|RIGHT|FULL [OUTER] JOIN  表2  B  ON  A.列名= B.列名

五、子查询

select 列名1,列名2  from 表1

where 列 运算符 (select 语句)

select 列名1,列名2  from 表1

where [not] exists (select 语句)

[not] in

[not] exists

比较运算符引出的子查询

六、建库建表  creat alert drop 管理结构

1、建库 CREATE DATABASE 数据库名   / 删除数据库  DROP  DATABASE 数据库名

一般情况: mdf数据库主文件  ldf 日志文件

特殊情况(大型数据库): ndf辅助文件

2、建表 CREATE TABLE 表名         /    DROP TABLE 表名

( 列名1 数据类型  约束,  null/not null primary key check(),

列名2 数据类型  约束                  unique,

列名3 数据类型  约束                  Default值

列名4 数据类型  约束                  foreign key references 表名2(列明)

)

--添加字段

ALTER TABLE 表名

ADD

--修改字段

ALTER TABLE 表名

ALTER

--删除字段

ALTER TABLE 表名

DROP

use  数据库

3、管理表

INSERT [INTO]  表名(列列表)VALUES(值的列表)

UPDATE   表名  SET  列1=值1,列2=值2 WHERE  条件

DELETE  FROM 表名  WHERE  条件

七、数据完整性 constraint  references

类型:  1.实体完整性

2.参照(引用)完整性

3.域完整性

4.用户自定义完整性

实现:

1、Primary key 主键

2、Foreign key 外键  REFERENCES  表名(列名)

3、Unique 唯一约束

4、Check  检查约束

5、Default 默认值约束

数据管理

添加数据

insert [into] 表名 (列列表) values(zhi leibiao)

更新数据

update  表名 set 列名1=值1,列名2=值2 where

删除数据

delete  from  表名 where

八、视图

优点:

语法:create view view_name

as select 语句

九、索引

优点:提高对数据库操作的性能 建在经常使用的,小字段的地方

语法:create index index_name

on 表(列1,列2)

十、存储过程

优点:可以重用代码 客户端只要发送很少的参数跟存储过程名就可以 减少网络流量 安全性高

语法:create proc 存储过程名

@aa  类型,           输入参数

@bb  类型 output      输出参数

as sql语句

return 数值

调用:exec 过程名 参数[output]

十一、事务

特点:

四个特性:原子性   独立性 一致性  持久性

begin transaction 建立一个显示事务

commit transaction :标识一个隐士或显示事务

sql基础知识(新手必备)的更多相关文章

  1. [SQL] SQL 基础知识梳理(一)- 数据库与 SQL

    SQL 基础知识梳理(一)- 数据库与 SQL [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5902856.html 目录 What's 数据库 ...

  2. [SQL] SQL 基础知识梳理(二) - 查询基础

    SQL 基础知识梳理(二) - 查询基础 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5904824.html 序 这是<SQL 基础知识梳理( ...

  3. [SQL] SQL 基础知识梳理(三) - 聚合和排序

    SQL 基础知识梳理(三) - 聚合和排序 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5926689.html 序 这是<SQL 基础知识梳理 ...

  4. [SQL] SQL 基础知识梳理(四) - 数据更新

    SQL 基础知识梳理(四) - 数据更新 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5929786.html 序 这是<SQL 基础知识梳理( ...

  5. [SQL] SQL 基础知识梳理(五) - 复杂查询

    SQL 基础知识梳理(五) - 复杂查询 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5939796.html 序 这是<SQL 基础知识梳理( ...

  6. [SQL] SQL 基础知识梳理(六)- 函数、谓词、CASE 表达式

    SQL 基础知识梳理(六)-  函数.谓词.CASE 表达式 目录 函数 谓词 CASE 表达式 一.函数 1.函数:输入某一值得到相应输出结果的功能,输入值称为“参数”,输出值称为“返回值”. 2. ...

  7. [SQL] SQL 基础知识梳理(七)- 集合运算

    SQL 基础知识梳理(七)- 集合运算 目录 表的加减法 联结(以列为单位) 一.表的加减法 1.集合:记录的集合(表.视图和查询的执行结果). 2.UNION(并集):表的加法 -- DDL:创建表 ...

  8. 常见SQL语句和SQL基础知识

    引自:http://blog.csdn.net/u012467492/article/details/46790205 SQL语句考察(一) 1.查询出每门课都大于80 分的学生姓名 name   k ...

  9. SQL 基础知识终极指南

    什么是数据库? 数据库是以电子方式从系统中存储和检索的大量数据集合. 存储在数据库中的结构化数据被处理.操纵.控制和更新以执行各种操作. 行业中使用的一些流行数据库是 Oracle.MySQL.Pos ...

  10. 【JavaScript OPP基础】---新手必备

    今天和大家分享一下近期整理的有关JavaScriptOPP的基础知识~~~我们一起来学习一下-- JavaScriptOPP基础 一.面向对象编程OOP1.语言的分类:面向机器:汇编语言面向过程:C语 ...

随机推荐

  1. Bowtie2

    如何使用Bowtie2 相似功能的有: 创建索引 创建索引bowtie2-build使用的命令. -f指定要索引文件后,再给予索引的名称.名称可以连接到任何. bowtie2 build-f refe ...

  2. bll编译错误

    如果在项目中 ,bll有函数,却引用报错 原因很可能是因为bll在生成程序集的时候,没有生成好.其中有错误 解决办法. 1.将bll,web,dal重新生成 2.注意bll的生成,该添加的添加,该排除 ...

  3. python unicode字节串转成中文问题

    如题,其实我的问题很简单,就是在写爬虫的时候拿到网页的信息包含类似“\u65b0\u6d6a\u5fae\u535a\u6ce8\u518c”的字符串,实际上这是unicode的中文编码,对应的中文为 ...

  4. DataItem,gridview,repeater数据控件数据绑定

    Container.DataItem几种方式. 在绑定数据时经常会用到这个句程序:<%# DataBinder.Eval(Container.DataItem,"xxxx") ...

  5. HTTP请求中的form data和request payload的区别

    HTML <form> 标签的 enctype 属性 在下面的例子中,表单数据会在未编码的情况下进行发送: <form action="form_action.asp&qu ...

  6. 一步步构建自己的AngularJS(1)——项目初始化

    Angular1距离2009年发布已经好多年了,Angular2也已经出了Beta版,估计今年就能正式发布.大多数人对于Angular1.X的认识仅限于能够在项目中使用,对于其中的深层原理知道的并不多 ...

  7. @ResponseBody 返回中文乱码问题解决 spingmvc

    <!-- UTF8解决乱码问题 --> <bean class="org.springframework.web.servlet.mvc.method.annotation ...

  8. 如何理解andriod中的View和framelayout两个概念

    View 和 FrameLayout 是包含关系,FrameLayout 继承自ViewGroup,然后继承自View. FrameLayout是一种 ViewGroup,可以在里面放其它的View, ...

  9. Web Api 上传图片,解决上传图片无格式

    制作这个功能时,找了很多资料,不过忘记了地址,所以就不一一放连接了, 直接上代码吧! 1. 首先新建一个上传的控制器 /// <summary> /// 上传 /// </summa ...

  10. 用wamp配置的环境,想用CMD连接mysql怎么连

    签:用wamp配置的环境   想用cmd连接mysql怎么连 进到d盘该目录     (cd切不了盘,就输入盘符加冒号回车,再cd到目录) WAMP装好后,mysql数据库运行时没有 mysql 和 ...