SQL Server

SQL Server对大小写不敏感,每条语句末端使用分号。

1.SQL命令

  • SELECT 从数据中提取数据

  • UPDATE 更新数据中的数据

  • DELETE 从数据库中删除数据

  • INSERT INTO 向数据库中插入新数据

  • CREATE DATABASE 创建新数据库

  • ALTER DATABASE 修改数据库

  • CREATE TABLE 创建新表

  • ALTER TABLE 变更(改变)数据库表

  • DROP TABLE 删除表

  • CREATE INDEX 创建索引(搜索键)

  • DROP INDEX 删除索引

2.语法:

  1. SELECT语句 用于从数据库中抽取数据,结果存储在一个结果表中,称为结果集。

  • SELECT column_name,column_name  FROM  table_name;(抽取指定列)

    SELECT * FROM table_name;(抽取所有列)  
  • SELECT DISTINCT column_name,column_name  FROM table_name;
    SELECT DISTINCT语句用于返回唯一不同的值,没有重复项。
  • SELECT column_name,column_name FROM table_name
    WHERE column_name operator value;
    (WHERE子句用于过滤记录)
    WHERE子句中的运算符
  1. AND & OR

  2. ORDER BY 用于对结果集进行排序。

ORDER BY关键字用于对结果集按照一个列或者多个列进行排序,默认按照升序对记录进行排序,如需使用降序,需要使用DESC关键字。

SELECT column_name,column_name FROM table_name
ORDER BY column_name,column_name ASC|DESC;
ASC 表示升序;DESC 表示降序;
  1. INSERT INTO用于向表中插入新记录

  • 不指定要插入数据的列名,只提供被插入的值
    INSERT INTO table_name
    VALUES (values1,values2,values3,...);
    此时需要列出插入行的每一列数据
  • 指定列名及插入的值
    INSERT INTO table_name (column1,column2,column3,...)
    VALUES (value1,value2,value3,...);
  1. UPDATE语句,用于更新表中的记录

UPDATE table_name
SET column1=value1,column2=value2,...
WHERE some_column=some_value;

注意:如果省略WHERE语句,则将会对表中该列所有内容赋该值。

  1. DELETE语句:用于删除表中数据

DELETE FROM table_name
WHERE some_column=some_value;
DELETE FROM table_name;

DELETE * FROM table_name;
在不删除表的情况下删除所有的行,表的结构、属性、索引保持不变。
  1. SELECT TOP语句:用于规定要返回的记录的数目,更适用于拥有数千条记录的大型表

LIMIT, ROWNUM

SELECT TOP number|percent column_name(s)
FROM table_name;
实例:
SELECT * FROM table_name LIMIT NUMBER;
表示,从“table_name”表中选取number条记录。
  1. LIKE操作符:用于在WHERE子句中搜索指定列中的指定模式

SELECT column_name(s)
FROM table_name
WHERE column_name LIKE pattern;
  1. 通配符:可用于替代字符串中的任何其他字符。与LIKE操作符一起使用

通配符 描述
% 替代0个或多个字符
_ 替代一个字符
[charlist] 字符列中的任何单一字符
[^charlist]或[!charlist] 不在字符列中的任何单一字符
%:
SELECT * FROM Websites WHERE url LIKE 'https%';
SELECT * FROM Websites WHERE url LIKE '%OO%';
_:
SELECT * FROM Websites WHERE name LIKE '_oogle';
SELECT * FROM Websites WHERE name LIKE 'G_o_le';
[charlist]:
SELECT * FROM Websites WHERE name REGEXP '^[GFs]';
选取name以“G”、“F”或“s”开始的所有网站
使用REGEXP或NOT REGEXP运算符(或RLIKE和NOT RLIKE)来操作正则表达式。
SELECT * FROM Websites WHERE name REGEXP '^[A-H]';
选取 name 以 A 到 H 字母开头的网站
[^charlist]或[!charlist]:
SELECT * FROM Websites WHERE name REGEXP '^[^A-H]';
选取 name 不以 A 到 H 字母开头的网站.
  1. IN操作符

    SELECT column_name(s)
    FROM table_name
    WHERE column_name IN (value1,value2,...);
  2. BETWEEN操作符

    BETWEEN操作符选取介于两个值之间的数据范围内的值,这些值可以是数值、文本或者日期。

    • BETWEEN

    SELECT column_name(s)
    FROM table_name
    WHERE column_name BETWEEN value1 AND value2;
    • NOT BETWEEN

      如需要显示不在范围内的数据,使用NOT BETWEEN:

    SELECT column_name(s)
    FROM table_name
    WHERE column_name NOT BETWEEN value1 and value2;
    • 带有IN的BETWEEN操作符实例

    SELECT column_name(s)
    FROM table_name
    WHERE (column_name BETWEEN value1 and value2)
    AND column_name IN ('value1', 'value2');

    带有文本值的需要在文本值上加上单引号' '。

  3. SQL别名

    通过使用SQL,可以为表名称或列名称指定别名。基本上,创建别名是为了让列名称的可读性更强。

    • 列的SQL别名语法

    SELECT column_name1 AS alias_name,column_name2 AS alias_name
    FROM table_name;

    可以把多个列合起来作为一个列使用别名语法

    SELECT CONCAT(column_name1,','column_name2,',',column_name3) AS alias_name
    FROM table_name;
    • 表的SQL别名语法

    SELECT column_name(s)
    FROM table_name AS alias_name;
    • 在以下情况中,使用别名用处更大:

      • 在查询中涉及超过一个表

      • 在查询中使用了函数

      • 列名称很长或者可读性差

      • 需要把两个列或者多个列结合在一起

  4. SQL连接(JOIN)

    SQL JOIN用于把来自两个或多个表的行结合起来,基于这些表

其他

  • 文本字段用单引号环绕,数值字段不需要

SQL Server学习内容(一)的更多相关文章

  1. SQL server学习

    慕课网sql server学习 数据库第一印象:desktop--web server--database server** 几大数据库:sql server.oracle database.DB2. ...

  2. SQL server学习(三)T-SQL编程、逻辑控制语句和安全模式

    T-SQL编程 T-SQL编程与C语言类似,只是语法稍有不同而已,总体思想还是没有变化的.多的就不说了,还是从变量开始. 变量也分为全局变量和局部变量,表示方式稍有不同. 局部变量: 局部变量必须以标 ...

  3. SQL Server 学习博客分享列表(应用式学习 + 深入理解)

    SQL Server 学习博客分享列表(应用式学习 + 深入理解) 转自:https://blog.csdn.net/tianjing0805/article/details/75047574 SQL ...

  4. sql server学习路径地址

    联机丛书2005:https://docs.microsoft.com/zh-cn/previous-versions/sql/sql-server-2005/ms130214(v=sql.90) 联 ...

  5. SQL Server 学习系列之六

    SQL Server 学习系列之六 SQL Server 学习系列之一(薪酬方案+基础) SQL Server 学习系列之二(日期格式问题) SQL Server 学习系列之三(SQL 关键字) SQ ...

  6. SQL Server 学习系列之五

    SQL Server 学习系列之五 SQL Server 学习系列之一(薪酬方案+基础) SQL Server 学习系列之二(日期格式问题) SQL Server 学习系列之三(SQL 关键字) SQ ...

  7. SQL Server 学习系列之四(SQL 内幕)

    SQL Server 学习系列之四(SQL 内幕) SQL Server 学习系列之一(薪酬方案+基础) SQL Server 学习系列之二(日期格式问题) SQL Server 学习系列之三(SQL ...

  8. 【SQL Server 学习系列】-- sql 随机生成中文名字

    原文:[SQL Server 学习系列]-- sql 随机生成中文名字 ,) )) -- 姓氏 ,) )) -- 名字 INSERT @fName VALUES ('赵'),('钱'),('孙'),( ...

  9. 【SQL Server学习笔记】Delete 语句、Output 子句、Merge语句

    原文:[SQL Server学习笔记]Delete 语句.Output 子句.Merge语句 DELETE语句 --建表 select * into distribution from sys.obj ...

随机推荐

  1. GIL全局解释器锁、死锁、递归锁、线程队列

    目录 GIL全局解释锁 多线程的作用 测试计算密集型 IO密集型 死锁现象 递归锁 信号量(了解) 线程队列 GIL全局解释锁 GIL本质上是一个互斥锁. GIL是为了阻止同一个进程内多个进程同时执行 ...

  2. 简单的shell脚本

    1.1每隔一秒向屏幕输出一个数字,并且每次加1. #/bin/bashfor((i=1;i<=100;i++)) do echo -en " $i\n"; sleep 1;d ...

  3. (入门SpringBoot)SpringBoot项目创建基本配置(二)

    SpringBoot的环境搭建和基本开发:1.环境开发就不说了,一个程序员的基本功:2.基本开发-使用自定义的配置:2.1.配置文件.properties和yml文件.2.2.SpringBoot配置 ...

  4. 堆与栈(heap and stack)在c/c++的应用(概念)

    在学习c/c++时,我们经常会遇到 堆与栈 的问题,今天就来讲一下各类情况下的heap,stack的应用. 程序内存布局场景下,堆与栈表示两种内存管理方式: 1.内部分配时,堆和栈表示两种不同的内存管 ...

  5. softmax求导、cross-entropy求导及label smoothing

    softmax求导 softmax层的输出为 其中,表示第L层第j个神经元的输入,表示第L层第j个神经元的输出,e表示自然常数. 现在求对的导数, 如果j=i,   1 如果ji, 2 cross-e ...

  6. HTML与CSS学习笔记(7)

    1.响应式布局 利用媒体查询,即media queries,可以针对不同的媒体类型定义不同的样式,从而实现响应式布局. 常见选项: 媒体类型 and.not min-width.max-width: ...

  7. python3.5.3rc1学习八:文件打包

    from cx_Freeze import setup, Executable setup(name='test to exe', version = '0.1', description='test ...

  8. php 学习笔记之关于时区的那点事

    科普一下什么是时区 众所周知,地球绕着太阳转的同时也会自转,因此同一时刻不同地区所接收到太阳照射的情况不同,所以有的地区是日出,有的地区是日落,还有的地区可能是黑夜. 既然地球上的不同地区时间不同,那 ...

  9. 【2019年08月26日】A股最便宜的股票

    查看更多A股最便宜的股票:androidinvest.com/CNValueTop/ 便宜指数 = PE + PB + 股息 + ROE,四因子等权,数值越大代表越低估. 本策略只是根据最新的数据来选 ...

  10. resharper 8.2

    用户名:ronle注册码:ZoJzmeVBoAv9Sskw76emgksMMFiLn4NM