鍍金池/ 教程/ 數(shù)據(jù)庫/ MariaDB創(chuàng)建表
MariaDB比較運算符
MariaDB查詢數(shù)據(jù)
MariaDB Like子句
MariaDB Sum()函數(shù)
MariaDB過程
MariaDB限制返回記錄
MariaDB Count()函數(shù)
MariaDB更新數(shù)據(jù)
MariaDB導(dǎo)出數(shù)據(jù)
MariaDB Intersect運算符
MariaDB函數(shù)
MariaDB Min()函數(shù)
MariaDB創(chuàng)建數(shù)據(jù)庫
MariaDB Avg()函數(shù)
MariaDB刪除數(shù)據(jù)
MariaDB條件
MariaDB功能特點
MariaDB創(chuàng)建表
MariaDB左外連接
MariaDB Union運算符
MariaDB安裝
MariaDB選擇數(shù)據(jù)庫
MariaDB Max()函數(shù)
MariaDB Where子句
MariaDB右外連接
MariaDB內(nèi)連接
MariaDB截斷表
MariaDB Order By子句
MariaDB教程
MariaDB正則表達(dá)式
MariaDB Union All運算符
MariaDB Distinct子句
MariaDB修改表
MariaDB刪除表
MariaDB插入數(shù)據(jù)
MariaDB From子句
MariaDB刪除數(shù)據(jù)庫
MariaDB簡介
MariaDB數(shù)據(jù)類型

MariaDB創(chuàng)建表

在MariaDB中,CREATE TABLE語句用于在選定的數(shù)據(jù)庫中創(chuàng)建表。使用CREATE TABLE語句創(chuàng)建一個具有給定名稱(tbl_name)的表。 必須具有表或數(shù)據(jù)庫的CREATE權(quán)限才能創(chuàng)建表。

語法如下 -

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語句提供了一個表名稱,后跟一列,索引和約束。 默認(rèn)情況下,該表是在默認(rèn)數(shù)據(jù)庫中創(chuàng)建的。 用db_name.tbl_name指定一個數(shù)據(jù)庫。 如果引用表名稱,則必須分別將數(shù)據(jù)庫名稱和表名引用為db_name.tbl_name。 這對于CREATE TABLE ... SELECT是特別有用的,因為它允許在包含來自其他數(shù)據(jù)庫的數(shù)據(jù)的數(shù)據(jù)庫中創(chuàng)建表。

最基本的語法如下 -

CREATE TABLE table_name (column_name column_type);

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

示例

"testdb"數(shù)據(jù)庫中創(chuàng)建一個"students"表。參考以下創(chuàng)建語句 -

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 )
);

執(zhí)行上面查詢語句,結(jié)果如下 -

查詢數(shù)據(jù)庫中的表

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

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

MariaDB [testdb]>

在上面結(jié)果中,可以看到有創(chuàng)建了"students"表。查看"students"表的結(jié)構(gòu):

SHOW CREATE TABLE `testdb`.`students`;

執(zhí)行上面查詢語句,輸出結(jié)果如下 -

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創(chuàng)建表

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

在數(shù)據(jù)庫列表中,選擇testdb,點擊右鍵在彈出的菜單項中選擇:創(chuàng)建新的 -> ,如下所示 -

點擊選項后,得到以下的結(jié)果 -

在以上圖形界面中創(chuàng)建一個表:"students",并添加相關(guān)列和數(shù)據(jù)類型,如下所示 -

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

這樣,創(chuàng)建一個表就完成了。

其它創(chuàng)建表常用的語句 -

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)
);