create語句能用來建立表結構並追加新的記錄嗎

2022-07-25 14:00:38

不能。CREATE語句的功能是建立一個表結構,但不能追加新的記錄,追加新的記錄可以使用INSERT語句。CREATE語句可用於在資料庫中建立新表,並規定資料列的屬性和約束;但新建的表是一個空表,需要使用INSERT語句追加新的記錄。INSERT語句用於向資料庫已有的表中插入一行或者多行元組資料。

本教學操作環境:windows7系統、mysql8、Dell G3電腦。

「create語句用來建立表結構並追加新的記錄」,是錯誤的。

CREATE語句的功能是建立一個表結構,但不能追加新的記錄,追加新的記錄可以使用INSERT語句。

CREATE語句

CREATE語句可用於在資料庫中建立新表;而建立資料表的過程是規定資料列的屬性的過程,同時也是實施資料完整性(包括實體完整性、參照完整性和域完整性)約束的過程。

建立表的其語法格式為:

CREATE TABLE <表名> ([表定義選項])[表選項][分割區選項];

其中,[表定義選項]的格式為:

<列名1> <型別1> [,…] <列名n> <型別n>

CREATE TABLE 命令語法比較多,其主要是由表建立定義(create-definition)、表選項(table-options)和分割區選項(partition-options)所組成的。

這裡首先描述一個簡單的新建表的例子,然後重點介紹 CREATE TABLE 命令中的一些主要的語法知識點。

CREATE TABLE 語句的主要語法及使用說明如下:

  • CREATE TABLE:用於建立給定名稱的表,必須擁有表CREATE的許可權。

  • <表名>:指定要建立表的名稱,在 CREATE TABLE 之後給出,必須符合識別符號命名規則。表名稱被指定為 db_name.tbl_name,以便在特定的資料庫中建立表。無論是否有當前資料庫,都可以通過這種方式建立。在當前資料庫中建立表時,可以省略 db-name。如果使用加引號的識別名,則應對資料庫和表名稱分別加引號。例如,'mydb'.'mytbl' 是合法的,但 'mydb.mytbl' 不合法。

  • <表定義選項>:表建立定義,由列名(col_name)、列的定義(column_definition)以及可能的空值說明、完整性約束或表索引組成。

  • 預設的情況是,表被建立到當前的資料庫中。若表已存在、沒有當前資料庫或者資料庫不存在,則會出現錯誤。

範例:建立 tb_courses 資料表

CREATE TABLE tb_courses(
course_id INT NOT NULL AUTO_INCREMENT,
course_name CHAR(40) NOT NULL,
course_grade FLOAT NOT NULL,
course_info CHAR(100) NULL,
PRIMARY KEY(course_id)
);

1.png

檢視一下tb_emp1 資料表的資料

SELECT * FROM tb_courses;

2.png

可以看到新建的表中是不包含資料的。插入記錄需要使用INSERT語句。

INSERT語句

INSERT 語句可以向資料庫已有的表中插入一行或者多行元組資料。

INSERT 語句有兩種語法形式,分別是 INSERT…VALUES 語句和 INSERT…SET 語句。

1) INSERT…VALUES語句

INSERT VALUES 的語法格式為:
INSERT INTO <表名> [ <列名1> [ , … <列名n>] ]
VALUES (值1) [… , (值n) ];

語法說明如下。

  • <表名>:指定被操作的表名。

  • <列名>:指定需要插入資料的列名。若向表中的所有列插入資料,則全部的列名均可以省略,直接採用 INSERT<表名>VALUES(…) 即可。

  • VALUES 或 VALUE 子句:該子句包含要插入的資料清單。資料清單中資料的順序要和列的順序相對應。

2) INSERT…SET語句

語法格式為:

INSERT INTO <表名>
SET <列名1> = <值1>,
        <列名2> = <值2>,
        …

此語句用於直接給表中的某些列指定對應的列值,即要插入的資料的列名在 SET 子句中指定,col_name 為指定的列名,等號後面為指定的資料,而對於未指定的列,列值會指定為該列的預設值。

在 MySQL 中,用單條 INSERT 語句處理多個插入要比使用多條 INSERT 語句更快。當使用單條 INSERT 語句插入多行資料的時候,只需要將每行資料用圓括號括起來即可。

範例:向表中的全部欄位新增值

在 tb_courses 表中插入一條新記錄,course_id 值為 1,course_name 值為「Network」,course_grade 值為 3,info 值為「Computer Network」。

INSERT INTO tb_courses
(course_id,course_name,course_grade,course_info)
VALUES(1,'Network',3,'Computer Network');

3.png

可以看到插入記錄成功。在插入資料時,指定了 tb_courses 表的所有欄位,因此將為每一個欄位插入新的值。

【相關推薦:】

以上就是create語句能用來建立表結構並追加新的記錄嗎的詳細內容,更多請關注TW511.COM其它相關文章!