MySQL建表語句及完整案例詳解

一、MySQL查詢建表語句

在MySQL中查詢已經建好的表語句很簡單,只需要用到SHOW CREATE TABLE和表名的語法。具體語句如下:

SHOW CREATE TABLE table_name;

例如我們現在要查詢一個名為「user_info」的表的建表語句,則語句為:

SHOW CREATE TABLE user_info;

執行以上語句,可以得到 「user_info」表的建表語句。當然,如果不喜歡在查詢結果中出現反引號,可以使用以下語句:

SET sql_notes = 0;
SHOW CREATE TABLE table_name;
SET sql_notes = 1;

執行以上語句,即可隱藏所有表名外部的反引號。

二、MySQL建表的完整步驟

MySQL建表的完整步驟可以總結為以下幾個關鍵點:

1. 選擇好庫名

在使用MySQL建表前,首先需要在命令行或者圖形化界面上創建好庫名。具體命令為:

CREATE DATABASE database_name;

2. 切換到選定的庫名

使用以下命令切換到選定的庫名:

USE database_name;

3. 設計表結構

在MYSQL中首先需要設計好表結構,在設計的過程中需要考慮表需要承載的數據類型,表的關聯,表中欄位之間的依賴等問題。表設計的好壞直接決定了數據的規範和管理實現的難度。

4. 創建表

在MYSQL中使用CREATE TABLE創建一個新表。語法格式如下:

CREATE TABLE table_name (
    column1 datatype contraint,
    column2 datatype constraint,
    column3 datatype constraint,
    ....
     );

其中,table_name為所要創建的新表的名稱;column1, column2, column3為表中的欄位名稱,datatype為數據類型,constraint為限制條件。

5. 添加表數據

在MYSQL中向表中添加數據,可以使用INSERT INTO語法。語法格式如下:

INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);

其中,table_name為表名稱,column1,column2,column3為表欄位名稱,value1,value2,value3為對應的欄位值。

三、MySQL建表語句

MySQL建表語句的語法格式如下:

CREATE TABLE table_name (
    column1 datatype constraint,
    column2 datatype constraint,
    column3 datatype constraint,
    ....
     );

其中,table_name為所要創建的新表的名稱;column1, column2, column3為表中的欄位名稱,datatype為數據類型,constraint為限制條件。

例如,以下是一個創建「customer_info」表的例子,包含了3個欄位,分別為「user_id」,「user_name」,「user_age」:

 CREATE TABLE customer_info (
    user_id INT PRIMARY KEY,
    user_name VARCHAR(255) NOT NULL,
    user_age INT 
);

執行以上語句,「customer_info」表將被成功創建。

四、MySQL建表語句日期

如果需要在MySQL建表語句中添加日期類型的欄位,可以使用DATE, TIME, DATETIME, TIMESTAMP, YEAR等類型,其語法如下:

CREATE TABLE table_name (
    column_name DATE,
    column_name TIME,
    column_name DATETIME,
    column_name TIMESTAMP,
    column_name YEAR
);

例如,以下是一個創建「book_info」表的例子,包含了3個欄位,分別為「book_id」,「book_name」,「book_publish_time」:

CREATE TABLE book_info (
    book_id INT PRIMARY KEY,
    book_name VARCHAR(255) NOT NULL,
    book_publish_time DATE
);

執行以上語句,「book_info」表將被成功創建,其中「book_publish_time」欄位類型為DATE。

五、MySQL的建表語句

MySQL建表語句包含了數據類型和約束條件兩個關鍵點。數據類型代表了欄位的數據類型,包括INT, VARCHAR, DECIMAL等等。約束條件則用於限制欄位的取值範圍和規則,包括NOT NULL, PRIMARY KEY, UNIQUE, CHECK等。

例如,以下是一個創建一個包含了數據類型和約束條件的「order_info」表的例子,包含了5個欄位,分別為「order_id」,「user_id」,「order_time」,「order_desc」,「order_price」:

CREATE TABLE order_info (
            order_id INT PRIMARY KEY,
            user_id INT NOT NULL,
            order_time DATETIME NOT NULL,
            order_desc VARCHAR(255),
            order_price DECIMAL(10, 2) NOT NULL,
            UNIQUE (user_id)
);

執行以上語句,「order_info」表將被成功創建,其中order_id欄位類型為INT PRIMARY KEY,user_id欄位類型為INT NOT NULL,order_time欄位類型為DATETIME NOT NULL,order_desc欄位類型為VARCHAR(255),order_price欄位類型為DECIMAL(10, 2) NOT NULL,其中約束條件為UNIQUE (user_id)。

六、MySQL建庫建表語句

MySQL建庫建表語句是用於建立一整個資料庫架構的方法,即不僅需要建表,還需要建立相關的表之間的關聯和索引。

以下是一個統計用戶購買行為的MySQL建庫建表語句的例子:

CREATE DATABASE user_order;

USE user_order;

CREATE TABLE user (
    user_id INT(11) NOT NULL AUTO_INCREMENT COMMENT '用戶ID',
    user_name VARCHAR(255) NOT NULL COMMENT '用戶昵稱',
    email VARCHAR(255) NOT NULL COMMENT '用戶郵箱',
    PRIMARY KEY (user_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用戶信息表' ;

CREATE TABLE order (
    order_id INT(11) NOT NULL AUTO_INCREMENT COMMENT '訂單ID',
    user_id INT(11) NOT NULL COMMENT '用戶ID',
    product_id INT(11) NOT NULL COMMENT '商品ID',
    order_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '下單時間',
    order_status INT(11) NOT NULL DEFAULT '0' COMMENT '訂單狀態:0-未支付,1-已支付,2-已取消',
    PRIMARY KEY (order_id),
    KEY user_id (user_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='訂單信息表';

執行以上語句,則會在MySQL中創建一個名為「user_order」的資料庫和兩張對應的表——「user」和「order」。

七、MySQL建庫建表例子

以下是一個類似於博客網站的例子,展示了如何在MySQL中建立多張表格,以存儲博客的用戶、文章和評論信息。具體內容如下:

CREATE DATABASE blog_system;

USE blog_system;
 
CREATE TABLE user (
    user_id INT PRIMARY KEY AUTO_INCREMENT,
    user_name VARCHAR(50) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用戶信息表';

CREATE TABLE article (
    article_id INT PRIMARY KEY AUTO_INCREMENT,
    user_id INT NOT NULL,
    title VARCHAR(50) NOT NULL,
    content TEXT NOT NULL,
    publish_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    INDEX (user_id),
    CONSTRAINT article_user_fk FOREIGN KEY (user_id) REFERENCES user(user_id)
        ON DELETE CASCADE
        ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='文章信息表';

CREATE TABLE comment (
    comment_id INT PRIMARY KEY AUTO_INCREMENT,   
    user_id INT NOT NULL,
    article_id INT NOT NULL,
    content TEXT NOT NULL,
    comment_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    CONSTRAINT comment_article_fk FOREIGN KEY (article_id) REFERENCES article(article_id)
        ON DELETE CASCADE
        ON UPDATE CASCADE,
    CONSTRAINT comment_user_fk FOREIGN KEY (user_id) REFERENCES user(user_id)
        ON DELETE CASCADE
        ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='文章評論表';

執行以上語句,則在MySQL中成功創建了一個「blog_system」資料庫和三張對應的表——「user」、「article」和「comment」。

八、MySQL建表語句加註釋

在MySQL中,添加註釋可以使代碼更加易讀,方便其他人理解。常用的添加註釋的的方法有以下兩種:

1. 添加註釋到表格中

在MySQL建表語句中向表格中添加註釋十分簡單,只需要在列名和數據類型之間添加註釋即可。例如:

CREATE TABLE blog_info (
    blog_id INT(11) PRIMARY KEY COMMENT '博客ID',
    blog_title VARCHAR(50) NOT NULL COMMENT '博客標題',
    blog_content TEXT COMMENT '博客內容'
) ENGINE=InnoDB CHARSET=utf8 COMMENT='博客信息表';

2. 添加註釋到欄位中

在MySQL建表語句中向欄位中添加註釋,只需要在數據類型和約束條件之間添加註釋就可以了。例如:

CREATE TABLE payment (
  payment_id INT(11) NOT NULL COMMENT '訂單ID',
  payment_date TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '支付時間',
  amount DECIMAL(10,2) NOT NULL COMMENT '支付金額',
  PRIMARY KEY (payment_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='支付信息記錄表';

以上語句為建立一個「payment」表,其中「payment_id」欄位有注釋「訂單ID」,「payment_date」欄位有注釋「支付時間」,「amount」欄位有注釋「支付金額」。

九、MySQL建表語句主鍵

在MySQL的建表語句中,主鍵是非常重要的。主鍵用於保證表中記錄的唯一性,並且可用於優化表格的性能。

以下是一張包含了主鍵的「order_info」表的MySQL建表語句的例子:

CREATE TABLE order_info (
    order_id INT PRIMARY KEY AUTO_INCREMENT,
    user_id INT NOT NULL,
    order_time DATETIME NOT NULL,
    order_status INT NOT NULL DEFAULT '0',
    UNIQUE KEY unique_user_order (user_id,order_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='訂單信息表';

執行以上語句,則會在MySQL中創建一個名為「order_info」的表格,其中包含了「order_id」欄位作為主鍵。另外,在該表格中還添加了一個包含了「user_id」和「order_id」的聯合唯一索引。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/308219.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2025-01-02 18:05
下一篇 2025-01-02 18:05

相關推薦

  • Python數據統計案例的實現

    Python作為一個高級編程語言,擁有著豐富的數據處理庫和工具,能夠快速、高效地進行各類數據處理和分析。本文將結合實例,從多個方面詳細闡述Python數據統計的實現。 一、數據讀取…

    編程 2025-04-29
  • 打造照片漫畫生成器的完整指南

    本文將分享如何使用Python編寫一個簡單的照片漫畫生成器,本文所提到的所有代碼和技術都適用於初學者。 一、環境準備 在開始編寫代碼之前,我們需要準備一些必要的環境。 首先,需要安…

    編程 2025-04-29
  • 如何在Java中拼接OBJ格式的文件並生成完整的圖像

    OBJ格式是一種用於表示3D對象的標準格式,通常由一組頂點、面和紋理映射坐標組成。在本文中,我們將討論如何將多個OBJ文件拼接在一起,生成一個完整的3D模型。 一、讀取OBJ文件 …

    編程 2025-04-29
  • Python中文版下載官網的完整指南

    Python是一種廣泛使用的編程語言,具有簡潔、易讀易寫等特點。Python中文版下載官網是Python學習和使用過程中的重要資源,本文將從多個方面對Python中文版下載官網進行…

    編程 2025-04-29
  • 伺服器安裝Python的完整指南

    本文將為您提供伺服器安裝Python的完整指南。無論您是一位新手還是經驗豐富的開發者,您都可以通過本文輕鬆地完成Python的安裝過程。以下是本文的具體內容: 一、下載Python…

    編程 2025-04-29
  • 微信小程序和Python數據交互完整指南

    本篇文章將從多個方面介紹如何在微信小程序中實現與Python的數據交互。通過本文的學習,您將掌握如何將微信小程序與後台Python代碼結合起來,實現更豐富的功能。 一、概述 微信小…

    編程 2025-04-29
  • 使用Snare服務收集日誌:完整教程

    本教程將介紹如何使用Snare服務收集Windows伺服器上的日誌,並將其發送到遠程伺服器進行集中管理。 一、安裝和配置Snare 1、下載Snare安裝程序並安裝。 https:…

    編程 2025-04-29
  • 使用Python圖書館搶座腳本的完整步驟

    本文將從多個方面詳細介紹如何使用Python編寫圖書館的座位搶佔腳本,並幫助您快速了解如何自動搶佔圖書館的座位,並實現您的學習計劃。 一、開發環境搭建 首先,我們需要安裝Pytho…

    編程 2025-04-28
  • Python Flask系列完整示例

    Flask是一個Python Web框架,在Python社區中非常流行。在本文中,我們將深入探討一些常見的Flask功能和技巧,包括路由、模板、表單、資料庫和部署。 一、路由 Fl…

    編程 2025-04-28
  • 微信mac版歷史版完整代碼示例與使用方法

    微信是一款廣受歡迎的即時通訊軟體,為了方便用戶在Mac電腦上也能使用微信,微信團隊推出了Mac版微信。本文將主要講解微信mac版歷史版的完整代碼示例以及使用方法。 一、下載微信ma…

    編程 2025-04-28

發表回復

登錄後才能評論