MySQL 列选项

table schema 由列定义和其他东西组成,一个列定义由
列名,数据类型,空指定,以及完整性约束组成,也可为每个列定义添加几个选项。

语法

<column definition> ::=
    <column name> <data type> [ <null specification> ]
    [ <column integrity constraint> ] [ <column option>... ]

<column option> ::=
    DEFAULT <literal> |
    COMMENT <alphanumeric literal>

列选项–DEFAULT
当一个新行添加到表中且没有指定值,就使用这个默认值。
text,blob,geometric 不能指定默认值。

创建 penalties 表,amount 默认值是50,payment_date 默认值1990/1/1,并插入两行

CREATE TABLE PENALTIES(
    PAYMENTNO INTEGER NOT NULL PRIMARY KEY,
    PLAYERNO INTEGER NOT NULL,
    PAYMENT_DATE DATE NOT NULL DEFAULT '1990-01-01',
    AMOUNT DECIMAL(7,2) NOT NULL DEFAULT 50.00
);

INSERT INTO PENALTIES(PAYMENTNO, PLAYERNO)VALUES (15, 27);
INSERT INTO PENALTIES(PAYMENTNO, PLAYERNO, PAYMENT_DATE, AMOUNT)VALUES (16, 27, DEFAULT, DEFAULT)

mysql> SELECT * from penalties;
+-----------+----------+--------------+--------+
| PAYMENTNO | PLAYERNO | PAYMENT_DATE | AMOUNT |
+-----------+----------+--------------+--------+
|        15 |       27 | 1990-01-01   |  50.00 |
|        16 |       27 | 1990-01-01   |  50.00 |
+-----------+----------+--------------+--------+
2 rows in set (0.01 sec)

把所有罚款更新为默认值

UPDATE PENALTIES SET AMOUNT = DEFAULT;

把所有罚款年份替换为payment_date 默认值乘10

UPDATE PENALTIES    SET AMOUNT = YEAR(DEFAULT(PAYMENT_DATE))*10

列选项–COMMENT

CREATE TABLE PENALTIES(
PAYMENTNO INTEGER NOT NULL PRIMARY KEY  COMMENT 'Primary key of the table',
PLAYERNO INTEGER NOT NULL COMMENT 'Player who has incurred the penalty',
PAYMENT_DATE DATE NOT NULL COMMENT 'Date on which the penalty has been paid',
AMOUNT DECIMAL(7,2) NOT NULL COMMENT 'Amount of the penalty in dollars'
)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值