在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 填入用戶名,密碼,服務(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)
);