zoukankan      html  css  js  c++  java
  • SQL Server学习内容(一)

    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用于把来自两个或多个表的行结合起来,基于这些表

     

    其他

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

  • 相关阅读:
    AppDomain and related
    实现 Finalize 和 Dispose 以清理非托管资源
    递归显示treeview,求更好方法
    SQL练习题之子查询
    jquery in action 学习笔记
    daily english 201117
    TOP AND APPLY
    Create trace with tsql
    (转)sqlserver 锁查看
    一个简单的windows services demo(c#)
  • 原文地址:https://www.cnblogs.com/polaris1997/p/11773531.html
Copyright © 2011-2022 走看看