zoukankan      html  css  js  c++  java
  • SQL总结

    1、SELECT 语句用于从表中选取数据。结果被存储在一个结果表中(称为结果集)。

         SELECT 列名称 FROM 表名称

          SELECT LastName,FirstName FROM Persons

    2、SQL SELECT DISTINCT 语句

    在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。

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

    SELECT DISTINCT 列名称 FROM 表名称

    SELECT DISTINCT Company FROM Orders

    3、WHERE 子句如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句。

    SELECT 列名称 FROM 表名称 WHERE 列 运算符 值

    SELECT * FROM Persons WHERE City='Beijing'

    4、AND 和 OR 运算符用于基于一个以上的条件对记录进行过滤。

    SELECT * FROM Persons WHERE FirstName='Thomas' AND LastName='Carter'

    SELECT * FROM Persons WHERE firstname='Thomas' OR lastname='Carter'

    5、ORDER BY 语句

    ORDER BY 语句用于根据指定的列对结果集进行排序。

    ORDER BY 语句默认按照升序对记录进行排序。

    如果您希望按照降序对记录进行排序,可以使用 DESC 关键字。

         SELECT Company, OrderNumber FROM Orders ORDER BY Company, OrderNumber

    6、INSERT INTO 语句用于向表格中插入新的行。

         INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)

         INSERT INTO Persons (LastName, Address) VALUES ('Wilson', 'Champs-Elysees')

    7、UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值

         UPDATE Person SET FirstName = 'Fred' WHERE LastName = 'Wilson' 

    8、DELETE 语句用于删除表中的行。

         DELETE FROM Person WHERE LastName = 'Wilson' 

    9、TOP 子句

    TOP 子句用于规定要返回的记录的数目。

    对于拥有数千条记录的大型表来说,TOP 子句是非常有用的。

    注释:并非所有的数据库系统都支持 TOP 子句。(注:在MySQL中不起作用,不知原因)

    SELECT TOP 2 * FROM Persons;

    SELECT TOP 50 PERCENT * FROM Persons;

    10、LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。

    SELECT * FROM Persons WHERE City LIKE 'N%';      (提示:"%" 可用于定义通配符(模式中缺少的字母))

    SELECT * FROM Persons WHERE City LIKE '%g';

    SELECT * FROM Persons WHERE City LIKE '%lon%';

    11、SQL 通配符在搜索数据库中的数据时,SQL 通配符可以替代一个或多个字符。SQL 通配符必须与 LIKE 运算符一起使用。

    例1:现在,我们希望从上面的 "Persons" 表中选取名字的第一个字符之后是 "eorge" 的人:

    SELECT * FROM Persons WHERE FirstName LIKE '_eorge';

    例二:我们希望从 "Persons" 表中选取的这条记录的姓氏以 "C" 开头,然后是一个任意字符,然后是 "r",然后是任意字符,然后是 "er":SELECT * FROM Persons  WHERE LastName LIKE 'C_r_er';

    例三:现在,我们希望从上面的 "Persons" 表中选取居住的城市以 "A" 或 "L" 或 "N" 开头的人:我们可以使用下面的 SELECT 语句:SELECT * FROM Persons WHERE City LIKE '[ALN]%';(注:MySQL不好使,不知原因)

    例四:我们希望从上面的 "Persons" 表中选取居住的城市不以 "A" 或 "L" 或 "N" 开头的人:我们可以使用下面的 SELECT 语句:

    SELECT * FROM Persons WHERE City LIKE '[!ALN]%';(注:MySQL不好使,不知原因)

    12、IN 操作符允许我们在 WHERE 子句中规定多个值。

    SELECT * FROM Persons WHERE LastName IN ('Adams','Carter')

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

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

    SELECT * FROM Persons  WHERE  LastName  BETWEEN 'Adams' AND 'Carter';

    14、 join 用于根据两个或多个表中的列之间的关系,从这些表中查询数据(依赖两个表的主键)

    SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo  FROM Persons  INNER JOIN Orders  ON Persons.Id_P = Orders.Id_P  ORDER BY Persons.LastName   (INNER JOIN 与 JOIN 是相同的)

    (1)JOIN: 如果表中有至少一个匹配,则返回行

    (2)LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行

    (3)RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行

    (4)FULL JOIN: 只要其中一个表中存在匹配,就返回行

    15、UNION 操作符用于合并两个或多个 SELECT 语句的结果集注UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL。UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名

    SELECT E_Name FROM Employees_China UNION SELECT E_Name FROM Employees_USA(若有相同的列则不重复列出)

    SELECT E_Name FROM Employees_China UNION ALL SELECT E_Name FROM Employees_USA(列出所有的列)

    16、SELECT INTO 语句从一个表中选取数据,然后把数据插入另一个表中。

           SELECT INTO 语句常用于创建表的备份复件或者用于对记录进行存档。

    下面的例子会创建一个名为 "Persons_Order_Backup" 的新表,其中包含了从 Persons 和 Orders 两个表中取得的信息:

    SELECT Persons.LastName,Orders.OrderNo

    INTO Persons_Order_Backup

    FROM Persons

    INNER JOIN Orders

    ON Persons.Id_P=Orders.Id_P

    17、CREATE DATABASE 用于创建数据库

    create datebase orders;  创建一个数据库名为orders

    18、CREATE TABLE 语句用于创建数据库中的表。

    CREATE TABLE Persons

    (

    Id_P int,

    LastName varchar(255),

    FirstName varchar(255),

    Address varchar(255),

    City varchar(255)

    )(最后一条不用逗号)

    19、SQL 约束 (Constraints)

    NOT NULL 约束强制列不接受 NULL 值。NOT NULL 约束强制字段始终包含值。这意味着,如果不向字段添加值,就无法插入新记录或者更新记录。下面的 SQL 语句强制 "Id_P" 列和 "LastName" 列不接受 NULL 值:

    CREATE TABLE Persons

    (

    Id_P int NOT NULL,

    LastName varchar(255) NOT NULL,

    FirstName varchar(255),

    Address varchar(255),

    City varchar(255)

    )

    20、UNIQUE 约束唯一标识数据库表中的每条记录。UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证。PRIMARY KEY 拥有自动定义的 UNIQUE 约束。请注意,每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束。

    CREATE TABLE Persons

    (

    Id_P int NOT NULL UNIQUE,

    LastName varchar(255) NOT NULL,

    FirstName varchar(255),

    Address varchar(255),

    City varchar(255)

    )

    如果需要命名 UNIQUE 约束,以及为多个列定义 UNIQUE 约束,请使用下面的 SQL 语法:

    CREATE TABLE Persons

    (

    Id_P int NOT NULL,

    LastName varchar(255) NOT NULL,

    FirstName varchar(255),

    Address varchar(255),

    City varchar(255),

    CONSTRAINT uc_PersonID UNIQUE (Id_P,LastName)

    )

     撤销 UNIQUE 约束

    ALTER TABLE Persons DROP CONSTRAINT uc_PersonID;

  • 相关阅读:
    WPF数据绑定之4种绑定模式
    MVVM弹出提示
    MVVM 事件汇总
    C#读取数据库返回泛型集合 把DataSet类型转换为List泛型集合
    WINFORM 父窗体Load事件中打开子窗体并关闭自身
    常用正则表达式
    GridView密技#3GridView合并储存格后,隔列变底色(AlternatingRowStyle)
    自己动手写的版本 网站的 Detail程序 (DataReader)
    [入门] 双重关联 下拉式选单(DropDownList)
    GridView密技#2GridView合并储存格
  • 原文地址:https://www.cnblogs.com/lc93/p/7879121.html
Copyright © 2011-2022 走看看