MariaDB創建表

在MariaDB中,CREATE TABLE語句用於在選定的數據庫中創建表。使用CREATE TABLE語句創建一個具有給定名稱(tbl_name)的表。 必須具有表或數據庫的CREATE權限才能創建表。

語法如下 -

CREATE [OR REPLACE] [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
    (create_definition,...) [table_options    ]... [partition_options]
CREATE [OR REPLACE] [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
    [(create_definition,...)] [table_options   ]... [partition_options]
    select_statement
CREATE [OR REPLACE] [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
   { LIKE old_table_name | (LIKE old_table_name) }

select_statement:
    [IGNORE | REPLACE] [AS] SELECT ...   (Some legal select statement)

在最基本的形式中,CREATE TABLE語句提供了一個表名稱,後跟一列,索引和約束。 默認情況下,該表是在默認數據庫中創建的。 用db_name.tbl_name指定一個數據庫。 如果引用表名稱,則必須分別將數據庫名稱和表名引用爲db_name.tbl_name。 這對於CREATE TABLE ... SELECT是特別有用的,因爲它允許在包含來自其他數據庫的數據的數據庫中創建表。

最基本的語法如下 -

CREATE TABLE table_name (column_name column_type);

也可以指定一個column_name作爲主鍵 - primary_key,它必須是一個NOT NULL值。

示例

"testdb"數據庫中創建一個"students"表。參考以下創建語句 -

USE testdb;
CREATE TABLE students(  
    student_id INT NOT NULL AUTO_INCREMENT,  
    student_name VARCHAR(100) NOT NULL,  
    student_address VARCHAR(40) NOT NULL,  
    admission_date DATE,  
    PRIMARY KEY ( student_id )
);

執行上面查詢語句,結果如下 -

MariaDB創建表

查詢數據庫中的表

您可以使用SHOW TABLES命令驗證是否創建表成功了。

MariaDB [testdb]> show tables;
+------------------+
| Tables_in_testdb |
+------------------+
| students         |
+------------------+
1 row in set (0.00 sec)

MariaDB [testdb]>

在上面結果中,可以看到有創建了"students"表。查看"students"表的結構:

SHOW CREATE TABLE `testdb`.`students`;

執行上面查詢語句,輸出結果如下 -

CREATE TABLE `students` (
    `student_id` INT(11) NOT NULL AUTO_INCREMENT,
    `student_name` VARCHAR(100) NOT NULL,
    `student_address` VARCHAR(40) NOT NULL,
    `admission_date` DATE NULL DEFAULT NULL,
    PRIMARY KEY (`student_id`)
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB;

使用HeidiSQL創建表

首先啓動 HeidiSQL 填入用戶名,密碼,服務器IP地址等,然後點擊 打開 連接到MariaDB服務器,如下所示 -

MariaDB創建表

在數據庫列表中,選擇testdb,點擊右鍵在彈出的菜單項中選擇:創建新的 -> ,如下所示 -

點擊選項後,得到以下的結果 -

MariaDB創建表

在以上圖形界面中創建一個表:"students",並添加相關列和數據類型,如下所示 -

MariaDB創建表

添加定義的所有列後,點擊保存 ,如下所示 -

MariaDB創建表

這樣,創建一個表就完成了。

其它創建表常用的語句 -

create table if not exists test (
    a bigint auto_increment primary key,
    name varchar(128) charset utf8,
    key name (name(32))
) engine=InnoDB default charset utf8;

以下語句僅適用於MariaDB 10.2.1 以上版本。

CREATE TABLE t1(
  a int DEFAULT (1+1),
  b int DEFAULT (a+1),
  expires DATETIME DEFAULT(NOW() + INTERVAL 1 YEAR)
);