[理] SQL 语句


1. 关键词 DISTINCT 用于返回唯一不同的值

    select distinct 列名称 from 表名称;

2. where

    select 列名称 from 表名称 where 列 运算符 值;

运算符          描述
=               等于
<>              不等于
>               大于
<               小于
>=              大于等于
<=              小于等于
BETWEEN         在某个范围内
LIKE            搜索某种模式

注释:在某些版本的 SQL 中,操作符 <> 可以写为 !=。
   
3. and / or

4. order by

5. 降序
    order by XXX desc;
   
6. update
    update 表名称 set 列名称 = 新值 where 列名称 = 某值;

7. limit

8. like

    现在,我们希望从上面的 "Persons" 表中选取居住在以 "N" 开始的城市里的人:

    我们可以使用下面的 SELECT 语句:

    SELECT * FROM Persons
    WHERE City LIKE 'N%'

    提示:"%" 可用于定义通配符(模式中缺少的字母)。
   
9. 通配符

通配符          描述
%               替代一个或多个字符
_               仅替代一个字符
[charlist]      字符列中的任何单一字符
[^charlist]     不在字符列中的任何单一字符
[!charlist]     不在字符列中的任何单一字符

10. IN

    SELECT column_name(s)
    FROM table_name
    WHERE column_name IN (value1,value2,...)

   
11. between

    SELECT column_name(s)
    FROM table_name
    WHERE column_name
    BETWEEN value1 AND value2   
   
12. alias

    表取别名:
    SELECT column_name(s)
    FROM table_name
    AS alias_name
  
    列取别名
    SELECT column_name AS alias_name
    FROM table_name
   
13. join
   
    select us.name dt.pos from table_user as us inner join detail as dt on us.id = dt.id;
   
    inner join/ left join/ right join/ full join
   
14. union

    UNION 操作符用于合并两个或多个 SELECT 语句的结果集。

    请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。
   
    SELECT column_name(s) FROM table_name1
    UNION
    SELECT column_name(s) FROM table_name2
   
    SELECT column_name(s) FROM table_name1
    UNION ALL
    SELECT column_name(s) FROM table_name2
   
    select * from table_user union all select * from table_user;
   
15. select into (sqlite not support)

    SELECT INTO 语句从一个表中选取数据,然后把数据插入另一个表中
   
    SELECT column_name(s)
    INTO new_table_name [IN externaldatabase]
    FROM old_tablename

16. constraint
    •NOT NULL
    •unique
    •primary key
    •foreign key
    •check
    •default

    CREATE TABLE Orders
    (
    Id_O int NOT NULL,
    OrderNo int NOT NULL,
    Id_P int,
    PRIMARY KEY (Id_O),
    FOREIGN KEY (Id_P) REFERENCES Persons(Id_P)
    )
   
    CREATE TABLE Persons
    (
    Id_P int NOT NULL CHECK (Id_P>0),
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Address varchar(255),
    City varchar(255)
    )

17. index

    CREATE INDEX index_name
    ON table_name (column_name)
   
    CREATE UNIQUE INDEX index_name
    ON table_name (column_name)
   
18. alter

    ALTER TABLE table_name
    ADD column_name datatype
   
   
    (sqlite 不支持删除, 可以采用复制表数据后 rename 表)
    ALTER TABLE table_name
    DROP COLUMN column_name
   
    注释:某些数据库系统不允许这种在数据库表中删除列的方式 (DROP COLUMN column_name)。

    要改变表中列的数据类型,请使用下列语法:

    ALTER TABLE table_name
    ALTER COLUMN column_name datatype

19. auto-increment
    CREATE TABLE Persons
    (
    P_Id int NOT NULL AUTO_INCREMENT,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Address varchar(255),
    City varchar(255),
    PRIMARY KEY (P_Id)
    )

20. date
    sqlite date()

参考:http://www.w3school.com.cn/sql/index.asp

原文地址:https://www.cnblogs.com/YBhello/p/5507994.html