zoukankan      html  css  js  c++  java
  • SQL 之相关语法及操作符

    概述:UNION、SELECT INTO、INSERT INTO SELECT、SQL 约束。

    UNION操作符

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

    请注意,UNION 内部的每个 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每个 SELECT 语句中的列的顺序必须相同。

    默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL。

    语法:

    SELECT column_name(s) FROM table1
    UNION ALL
    SELECT column_name(s) FROM table2;
    --UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名。

    SELECT INTO 语句

    通过 SQL,您可以从一个表复制信息到另一个表。

    SELECT INTO 语句从一个表复制数据,然后把数据插入到另一个新表中。

    语法:

    --新表将会使用 SELECT 语句中定义的列名称和类型进行创建。您可以使用 AS 子句来应用新名称。
    SELECT * INTO newtable  FROM table1  --我们可以复制所有的列插入到新表中
    
    SELECT column1,column2  INTO newtable FROM table1  --或者只复制希望的列插入到新表中
    
    SELECT Websites.name, access_log.count, access_log.date  INTO WebsitesBackup2016  FROM Websites  LEFT JOIN access_log  ON Websites.id=access_log.site_id  --复制多个表中的数据插入到新表中
    
    SELECT *  INTO newtable FROM table1 WHERE 1=0  --SELECT INTO 语句可用于通过另一种模式创建一个新的空表。只需要添加促使查询没有数据返回的 WHERE 子句即可

    INSERT INTO SELECT 语句

    通过 SQL,您可以从一个表复制信息到另一个表。

    INSERT INTO SELECT 语句从一个表复制数据,然后把数据插入到一个已存在的表中。

    语法:

    INSERT INTO table2 SELECT * FROM table1  --我们可以从一个表中复制所有的列插入到另一个已存在的表中
    
    INSERT INTO Websites (name, country)  SELECT app_name, country FROM apps  --或者我们可以只复制希望的列插入到另一个已存在的表中

    SQL  约束

    SQL 约束用于规定表中的数据规则。

    如果存在违反约束的数据行为,行为会被约束终止。

    约束可以在创建表时规定(通过 CREATE TABLE 语句),或者在表创建之后规定(通过 ALTER TABLE 语句)。

    在 SQL 中,我们有如下约束:

    • NOT NULL - 指示某列不能存储 NULL 值。
    • UNIQUE - 保证某列的每行必须有唯一的值。
    • PRIMARY KEY - NOT NULL 和 UNIQUE 的结合。确保某列(或两个列多个列的结合)有唯一标识,有助于更容易更快速地找到表中的一个特定的记录。
    • FOREIGN KEY - 保证一个表中的数据匹配另一个表中的值的参照完整性。
    • CHECK - 保证列中的值符合指定的条件。
    • DEFAULT - 规定没有给列赋值时的默认值。

     

     

  • 相关阅读:
    2019山东ACM省赛K题 zoj4123 Happy Equation
    2019山东ACM省赛总结
    ds
    CCPC2018 桂林 A: Array Merge(贪心、带权并查集合并)
    temp
    BZOJ 1013 球形空间产生器(高斯消元)
    BZOJ 2973 石头游戏(矩阵构造,矩阵快速幂)
    POJ 3233 Matrix Power Series (矩阵乘法,分块矩阵)
    每日bing API
    《音乐商店》第3集:模型规划
  • 原文地址:https://www.cnblogs.com/Liyuting/p/6847558.html
Copyright © 2011-2022 走看看