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 - 规定没有给列赋值时的默认值。

     

     

  • 相关阅读:
    使用FolderBrowserDialog组件选择文件夹
    使用OpenFileDialog组件打开多个文
    使用OpenFileDialog组件打开对话框
    获取弹出对话框的相关返回值
    PAT 甲级 1139 First Contact (30 分)
    PAT 甲级 1139 First Contact (30 分)
    PAT 甲级 1138 Postorder Traversal (25 分)
    PAT 甲级 1138 Postorder Traversal (25 分)
    PAT 甲级 1137 Final Grading (25 分)
    PAT 甲级 1137 Final Grading (25 分)
  • 原文地址:https://www.cnblogs.com/Liyuting/p/6847558.html
Copyright © 2011-2022 走看看