您好,登錄后才能下訂單哦!
這篇“mysql create語句能不能用來建立表結(jié)構(gòu)并追加新的記錄”文章的知識點大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“mysql create語句能不能用來建立表結(jié)構(gòu)并追加新的記錄”文章吧。
不能。CREATE語句的功能是創(chuàng)建一個表結(jié)構(gòu),但不能追加新的記錄,追加新的記錄可以使用INSERT語句。CREATE語句可用于在數(shù)據(jù)庫中創(chuàng)建新表,并規(guī)定數(shù)據(jù)列的屬性和約束;但新建的表是一個空表,需要使用INSERT語句追加新的記錄。INSERT語句用于向數(shù)據(jù)庫已有的表中插入一行或者多行元組數(shù)據(jù)。
本教程操作環(huán)境:windows7系統(tǒng)、mysql8、Dell G3電腦。
“create語句用來建立表結(jié)構(gòu)并追加新的記錄”,是錯誤的。
CREATE語句的功能是創(chuàng)建一個表結(jié)構(gòu),但不能追加新的記錄,追加新的記錄可以使用INSERT語句。
CREATE語句
CREATE語句可用于在數(shù)據(jù)庫中創(chuàng)建新表;而創(chuàng)建數(shù)據(jù)表的過程是規(guī)定數(shù)據(jù)列的屬性的過程,同時也是實施數(shù)據(jù)完整性(包括實體完整性、引用完整性和域完整性)約束的過程。
創(chuàng)建表的其語法格式為:
CREATE TABLE <表名> ([表定義選項])[表選項][分區(qū)選項];
其中,[表定義選項]的格式為:
<列名1> <類型1> [,…] <列名n> <類型n>
CREATE TABLE 命令語法比較多,其主要是由表創(chuàng)建定義(create-definition)、表選項(table-options)和分區(qū)選項(partition-options)所組成的。
這里首先描述一個簡單的新建表的例子,然后重點介紹 CREATE TABLE 命令中的一些主要的語法知識點。
CREATE TABLE 語句的主要語法及使用說明如下:
CREATE TABLE:用于創(chuàng)建給定名稱的表,必須擁有表CREATE的權(quán)限。
<表名>:指定要創(chuàng)建表的名稱,在 CREATE TABLE 之后給出,必須符合標(biāo)識符命名規(guī)則。表名稱被指定為 db_name.tbl_name,以便在特定的數(shù)據(jù)庫中創(chuàng)建表。無論是否有當(dāng)前數(shù)據(jù)庫,都可以通過這種方式創(chuàng)建。在當(dāng)前數(shù)據(jù)庫中創(chuàng)建表時,可以省略 db-name。如果使用加引號的識別名,則應(yīng)對數(shù)據(jù)庫和表名稱分別加引號。例如,'mydb'.'mytbl' 是合法的,但 'mydb.mytbl' 不合法。
<表定義選項>:表創(chuàng)建定義,由列名(col_name)、列的定義(column_definition)以及可能的空值說明、完整性約束或表索引組成。
默認(rèn)的情況是,表被創(chuàng)建到當(dāng)前的數(shù)據(jù)庫中。若表已存在、沒有當(dāng)前數(shù)據(jù)庫或者數(shù)據(jù)庫不存在,則會出現(xiàn)錯誤。
示例:創(chuàng)建 tb_courses 數(shù)據(jù)表
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) );
查看一下tb_emp1 數(shù)據(jù)表的數(shù)據(jù)
SELECT * FROM tb_courses;
可以看到新建的表中是不包含數(shù)據(jù)的。插入記錄需要使用INSERT語句。
INSERT語句
INSERT 語句可以向數(shù)據(jù)庫已有的表中插入一行或者多行元組數(shù)據(jù)。
INSERT 語句有兩種語法形式,分別是 INSERT…VALUES 語句和 INSERT…SET 語句。
1) INSERT…VALUES語句
INSERT VALUES 的語法格式為: INSERT INTO <表名> [ <列名1> [ , … <列名n>] ] VALUES (值1) [… , (值n) ];
語法說明如下。
<表名>:指定被操作的表名。
<列名>:指定需要插入數(shù)據(jù)的列名。若向表中的所有列插入數(shù)據(jù),則全部的列名均可以省略,直接采用 INSERT<表名>VALUES(…) 即可。
VALUES 或 VALUE 子句:該子句包含要插入的數(shù)據(jù)清單。數(shù)據(jù)清單中數(shù)據(jù)的順序要和列的順序相對應(yīng)。
2) INSERT…SET語句
語法格式為:
INSERT INTO <表名> SET <列名1> = <值1>, <列名2> = <值2>, …
此語句用于直接給表中的某些列指定對應(yīng)的列值,即要插入的數(shù)據(jù)的列名在 SET 子句中指定,col_name 為指定的列名,等號后面為指定的數(shù)據(jù),而對于未指定的列,列值會指定為該列的默認(rèn)值。
在 MySQL 中,用單條 INSERT 語句處理多個插入要比使用多條 INSERT 語句更快。當(dāng)使用單條 INSERT 語句插入多行數(shù)據(jù)的時候,只需要將每行數(shù)據(jù)用圓括號括起來即可。
示例:向表中的全部字段添加值
在 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');
可以看到插入記錄成功。在插入數(shù)據(jù)時,指定了 tb_courses 表的所有字段,因此將為每一個字段插入新的值。
以上就是關(guān)于“mysql create語句能不能用來建立表結(jié)構(gòu)并追加新的記錄”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對大家有幫助,若想了解更多相關(guān)的知識內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。