zoukankan      html  css  js  c++  java
  • 创建和操作表

    17.1.3  指定默认值SQL允许指定默认值,在插入行时如果不给出值,DBMS将自动采用默认值。默认值在CREATE TABLE语句的列定义中用关键字DEFAULT指定。

    请看下面的例子:

    输入▼

    CREATE TABLE OrderItems
    (
        order_num      INTEGER          NOT NULL,
        order_item     INTEGER          NOT NULL,
        prod_id        CHAR(10)         NOT NULL,
        quantity       INTEGER          NOT NULL      DEFAULT 1,
        item_price     DECIMAL(8,2)     NOT NULL
    );

    分析▼
    这条语句创建OrderItems表,包含构成订单的各项(订单本身存储在Orders表中)。quantity列为订单中每个物品的数量。在这个例子中,这一列的描述增加了DEFAULT 1,指示DBMS,如果不给出数量则使用数量1

    默认值经常用于日期或时间戳列。例如,通过指定引用系统日期的函数或变量,将系统日期用作默认日期。MySQL用户指定DEFAULT CURRENT_DATE(),Oracle用户指定DEFAULT SYSDATE,而SQL Server用户指定DEFAULT GETDATE()。遗憾的是,这条获得系统日期的命令在不同的DBMS中几乎都是不同的。表17-1列出了这条命令在某些DBMS中的语法。这里若未列出某个DBMS,请参阅相应的文档。

    表17-1 获得系统日期

    DBMS函数/变量
    Access NOW()
    DB2 CURRENT_DATE
    MySQL CURRENT_DATE()
    Oracle SYSDATE
    PostgreSQL CURRENT_DATE
    SQL Server GETDATE()
    SQLite date('now')

    提示:使用DEFAULT而不是NULL

     

     

    复杂的表结构更改一般需要手动删除过程,它涉及以下步骤:

     

    1. 用新的列布局创建一个新表;
    2. 使用INSERT SELECT语句(关于这条语句的详细介绍,请参阅第15课)从旧表复制数据到新表。有必要的话,可以使用转换函数和计算字段;
    3. 检验包含所需数据的新表;
    4. 重命名旧表(如果确定,可以删除它);
    5. 用旧表原来的名字重命名新表;
    6. 根据需要,重新创建触发器、存储过程、索引和外键。

     

     

  • 相关阅读:
    STM8s在利用库配置端口的小问题
    ABAP调试
    READ TABLE 的用法
    人在低谷
    力扣 两数之和
    未来选择
    选择
    室友问题该如何解决呢?
    力扣 两数之和
    谈谈自己
  • 原文地址:https://www.cnblogs.com/qook/p/4899999.html
Copyright © 2011-2022 走看看