首页 >常见问题 >create语句能用来建立表结构并追加新的记录吗

create语句能用来建立表结构并追加新的记录吗

青灯夜游
青灯夜游原创
2022-07-25 11:25:273378浏览

不能。CREATE语句的功能是创建一个表结构,但不能追加新的记录,追加新的记录可以使用INSERT语句。CREATE语句可用于在数据库中创建新表,并规定数据列的属性和约束;但新建的表是一个空表,需要使用INSERT语句追加新的记录。INSERT语句用于向数据库已有的表中插入一行或者多行元组数据。

create语句能用来建立表结构并追加新的记录吗

本教程操作环境: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的权限。

  • a26d98d33123a70024fa8ba5642906c6:指定要创建表的名称,在 CREATE TABLE 之后给出,必须符合标识符命名规则。表名称被指定为 db_name.tbl_name,以便在特定的数据库中创建表。无论是否有当前数据库,都可以通过这种方式创建。在当前数据库中创建表时,可以省略 db-name。如果使用加引号的识别名,则应对数据库和表名称分别加引号。例如,'mydb'.'mytbl' 是合法的,但 'mydb.mytbl' 不合法。

  • 81cb9941225be39234dd5e9402c830a3:表创建定义,由列名(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) ];

语法说明如下。

  • a26d98d33123a70024fa8ba5642906c6:指定被操作的表名。

  • dbbf19904bed3b90013ba2fcce963ac6:指定需要插入数据的列名。若向表中的所有列插入数据,则全部的列名均可以省略,直接采用 INSERTa26d98d33123a70024fa8ba5642906c6VALUES(…) 即可。

  • 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,&#39;Network&#39;,3,&#39;Computer Network&#39;);

3.png

可以看到插入记录成功。在插入数据时,指定了 tb_courses 表的所有字段,因此将为每一个字段插入新的值。

【相关推荐:mysql视频教程

以上是create语句能用来建立表结构并追加新的记录吗的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn