SQL Server學習內容(一)

SQL Server

SQL Server對大小寫不敏感,每條語句末端使用分號。正則表達式

1.SQL命令

  • SELECT 從數據中提取數據sql

  • UPDATE 更新數據中的數據數據庫

  • DELETE 從數據庫中刪除數據函數

  • INSERT INTO 向數據庫中插入新數據網站

  • CREATE DATABASE 建立新數據庫url

  • ALTER DATABASE 修改數據庫spa

  • 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用於把來自兩個或多個表的行結合起來,基於這些表

 

其餘

  • 文本字段用單引號環繞,數值字段不須要

相關文章
相關標籤/搜索