zoukankan      html  css  js  c++  java
  • SQL学习笔记6

    INSERT INTO SELECT 语句从一个表复制数据,然后把数据插入到一个已存在的表中。目标表中任何已存在的行都不会受影响。

    SQL INSERT INTO SELECT 语法

    我们可以从一个表中复制所有的列插入到另一个已存在的表中:

    INSERT INTO table2
    SELECT * FROM table1;

    或者我们可以只复制希望的列插入到另一个已存在的表中:

    INSERT INTO table2(column_name(s))

    SELECT column_name(s)
    FROM table1;
     
    **********************************************************************************************************************************************************

    CREATE DATABASE 语句用于创建数据库。

    SQL CREATE DATABASE 语法

    CREATE DATABASE dbname;

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

    表由行和列组成,每个表都必须有个表名。

    SQL CREATE TABLE 语法

    CREATE TABLE table_name
    (
    column_name1 data_type(size),
    column_name2 data_type(size),
    column_name3 data_type(size),
    ....
    );

    column_name 参数规定表中列的名称。

    data_type 参数规定列的数据类型(例如 varchar、integer、decimal、date 等等)。

    size 参数规定表中列的最大长度。

    **********************************************************************************************************************************************************

    SQL 约束(Constraints)

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

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

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

    SQL CREATE TABLE + CONSTRAINT 语法

    CREATE TABLE table_name
    (
    column_name1 data_type(sizeconstraint_name,
    column_name2 data_type(sizeconstraint_name,
    column_name3 data_type(sizeconstraint_name,
    ....
    );

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

    NOT NULL - 指示某列不能存储 NULL 值。

    UNIQUE - 保证某列的每行必须有唯一的值。

    PRIMARY KEY - NOT NULL 和 UNIQUE 的结合。确保某列(或两个列多个列的结合)有唯一标识,有助于更容易更快速地找到表中的一个特定的记录。

    FOREIGN KEY - 保证一个表中的数据匹配另一个表中的值的参照完整性。

    CHECK - 保证列中的值符合指定的条件。

    DEFAULT - 规定没有给列赋值时的默认值。


    ********************************************************************************************************************************************************* 

    SQL NOT NULL 约束

    NOT NULL 约束强制列不接受 NULL 值。

    NOT NULL 约束强制字段始终包含值。这意味着,如果不向字段添加值,就无法插入新记录或者更新记录。

     


    ********************************************************************************************************************************************************* 

    SQL UNIQUE 约束

    UNIQUE 约束唯一标识数据库表中的每条记录。

    UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证。

    PRIMARY KEY 约束拥有自动定义的 UNIQUE 约束。

    请注意,每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束。

    如需命名 UNIQUE 约束,并定义多个列的 UNIQUE 约束,请使用下面的 SQL 语法:

    MySQL / SQL Server / Oracle / MS Access:

    CREATE TABLE Persons
    (
    P_Id int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Address varchar(255),
    City varchar(255),
    CONSTRAINT uc_PersonID UNIQUE (P_Id,LastName)
    )
     

    ALTER TABLE 时的 SQL UNIQUE 约束

    当表已被创建时,如需在 "P_Id" 列创建 UNIQUE 约束,请使用下面的 SQL:

    MySQL / SQL Server / Oracle / MS Access:

    ALTER TABLE Persons
    ADD UNIQUE (P_Id)

    如需命名 UNIQUE 约束,并定义多个列的 UNIQUE 约束,请使用下面的 SQL 语法:

    MySQL / SQL Server / Oracle / MS Access:

    ALTER TABLE Persons
    ADD CONSTRAINT uc_PersonID UNIQUE (P_Id,LastName)
     
     
     

    撤销 UNIQUE 约束

    如需撤销 UNIQUE 约束,请使用下面的 SQL:

    MySQL:

    ALTER TABLE Persons
    DROP INDEX uc_PersonID

    SQL Server / Oracle / MS Access:

    ALTER TABLE Persons
    DROP CONSTRAINT uc_PersonID
     
    *********************************************************************************************************************************************************************************
     
     
  • 相关阅读:
    MySQL查询优化
    MySQL主从复制与主主复制
    MySQL常用语句
    MySQL数据类型--日期时间
    制作类似ThinkPHP框架中的PATHINFO模式功能(二)
    制作类似ThinkPHP框架中的PATHINFO模式功能
    Smarty的基本使用与总结
    PHP与API讲解(一)
    PHP中遍历XML之SimpleXML
    submit text3常用快捷键
  • 原文地址:https://www.cnblogs.com/chickenwrap/p/9967023.html
Copyright © 2011-2022 走看看