亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

基本上生成的列是一項可在 CREATE TABLE 或 ALTER TABLE 語句中使用的功能,并且是一種存儲數(shù)據(jù)的方式,而無需通過 SQL 中的 INSERT 或 UPDATE 子句實際發(fā)送數(shù)據(jù)。 MySQL 5.7 中添加了此功能。生成的列在表域內(nèi)工作。其語法如下 –

語法

column_name data_type [GENERATED ALWAYS] AS (expression)
[VIRTUAL | STORED] [UNIQUE [KEY]]

登錄后復(fù)制

這里,首先指定列名及其數(shù)據(jù)類型。

    然后添加 GENERATED ALWAYS 子句以指示該列是生成的列。然后,使用相應(yīng)的選項指示生成列的類型 – VIRTUAL 或 STORED。默認情況下,如果您沒有顯式指定生成列的類型,MySQL 將使用 VIRTUAL。

    之后,在 AS 關(guān)鍵字后面的大括號內(nèi)指定表達式。表達式可以包含文字、不帶參數(shù)的內(nèi)置函數(shù)、運算符或?qū)ν槐碇腥魏瘟械囊谩H绻褂煤瘮?shù),則它必須是標(biāo)量和確定性的。

    最后,如果存儲生成的列,則可以為其定義唯一約束。

    示例

    在此示例中,我們創(chuàng)建一個名為employee_data 的表,其中包含員工的詳細信息以及生成的列,如下所示 –

    mysql> Create table employee_data(ID INT AUTO_INCREMENT PRIMARY KEY, First_name VARCHAR(50) NOT NULL, Last_name VARCHAR(50) NOT NULL, FULL_NAME VARCHAR(90) GENERATED ALWAYS AS(CONCAT(First_name,' ',Last_name)));
    Query OK, 0 rows affected (0.55 sec)
    
    mysql> DESCRIBE employee_data;
    +------------+-------------+------+-----+---------+-------------------+
    | Field      | Type        | Null | Key | Default | Extra             |
    +------------+-------------+------+-----+---------+-------------------+
    | ID         | int(11)     | NO   | PRI | NULL    | auto_increment    |
    | First_name | varchar(50) | NO   |     | NULL    |                   |
    | Last_name  | varchar(50) | NO   |     | NULL    |                   |
    | FULL_NAME  | varchar(90) | YES  |     | NULL    | VIRTUAL GENERATED |
    +------------+-------------+------+-----+---------+-------------------+
    4 rows in set (0.00 sec)
    
    mysql> INSERT INTO employee_data(first_name, Last_name) values('Yashpal','Sharma');
    Query OK, 1 row affected (0.09 sec)
    
    mysql> INSERT INTO employee_data(first_name, Last_name) values('Krishan','Kumar');
    Query OK, 1 row affected (0.09 sec)
    
    mysql> INSERT INTO employee_data(first_name, Last_name) values('Rakesh','Arora');
    Query OK, 1 row affected (0.08 sec)
    
    mysql> Select * from employee_data;
    +----+------------+-----------+----------------+
    | ID | First_name | Last_name | FULL_NAME      |
    +----+------------+-----------+----------------+
    | 1  | Yashpal    | Sharma    | Yashpal Sharma |
    | 2  | Krishan    | Kumar     | Krishan Kumar  |
    | 3  | Rakesh     | Arora     | Rakesh Arora   |
    +----+------------+-----------+----------------+
    3 rows in set (0.00 sec)

    登錄后復(fù)制

    以上就是什么是 MySQL GENERATED COLUMN 以及如何在創(chuàng)建表時使用它?的詳細內(nèi)容,更多請關(guān)注www.92cms.cn其它相關(guān)文章!

分享到:
標(biāo)簽:GENERATED MySQL 使用它 創(chuàng)建 如何在
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運動步數(shù)有氧達人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定