问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

navicat for mysql 如何 插入 新 记录

发布网友 发布时间:2022-04-11 05:24

我来回答

4个回答

懂视网 时间:2022-04-11 09:45

(推荐教程:mysql视频教程)

MySQL 数据表是由行和列构成的,通常把表的“列”称为字段(Field),把表的“行”称为记录(Record)。

数据库与表创建成功以后,需要向数据库的表中插入数据。在 MySQL 中可以使用 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 为指定的列名,等号后面为指定的数据,而对于未指定的列,列值会指定为该列的默认值。

    由 INSERT 语句的两种形式可以看出:

  • 使用 INSERT…VALUES 语句可以向表中插入一行数据,也可以插入多行数据;

  • 使用 INSERT…SET 语句可以指定插入行中每列的值,也可以指定部分列的值;

  • INSERT…SELECT 语句向表中插入其他表的数据。

  • 采用 INSERT…SET 语句可以向表中插入部分列的值,这种方式更为灵活;

  • INSERT…VALUES 语句可以一次插入多条数据。

  • 在 MySQL 中,用单条 INSERT 语句处理多个插入要比使用多条 INSERT 语句更快。

    当使用单条 INSERT 语句插入多行数据的时候,只需要将每行数据用圆括号括起来即可。

    向表中的全部字段添加值

    在 test_db 数据库中创建一个课程信息表 tb_courses,包含课程编号 course_id、课程名称 course_name、课程学分 course_grade 和课程备注 course_info,输入的 SQL 语句和执行结果如下所示。

    mysql> 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)
     -> );
    Query OK, 0 rows affected (0.00 sec)

    向表中所有字段插入值的方法有两种:一种是指定所有字段名;另一种是完全不指定字段名。

    【实例 1】在 tb_courses 表中插入一条新记录,course_id 值为 1,course_name 值为“Network”,course_grade 值为 3,info 值为“Computer Network”。

    在执行插入操作之前,查看 tb_courses 表的SQL语句和执行结果如下所示。

    mysql> SELECT * FROM tb_courses;
    Empty set (0.00 sec)

    查询结果显示当前表内容为空,没有数据,接下来执行插入数据的操作,输入的 SQL 语句和执行过程如下所示。

    mysql> INSERT INTO tb_courses
     -> (course_id,course_name,course_grade,course_info)
     -> VALUES(1,'Network',3,'Computer Network');
    Query OK, 1 rows affected (0.08 sec)
    mysql> SELECT * FROM tb_courses;
    +-----------+-------------+--------------+------------------+
    | course_id | course_name | course_grade | course_info |
    +-----------+-------------+--------------+------------------+
    |  1 | Network |  3 | Computer Network |
    +-----------+-------------+--------------+------------------+
    1 row in set (0.00 sec)

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

    INSERT 语句后面的列名称顺序可以不是 tb_courses 表定义时的顺序,即插入数据时,不需要按照表定义的顺序插入,只要保证值的顺序与列字段的顺序相同就可以。

    【实例 2】在 tb_courses 表中插入一条新记录,course_id 值为 2,course_name 值为“Database”,course_grade 值为 3,info值为“MySQL”。输入的 SQL 语句和执行结果如下所示。

    mysql> INSERT INTO tb_courses
     -> (course_name,course_info,course_id,course_grade)
     -> VALUES('Database','MySQL',2,3);
    Query OK, 1 rows affected (0.08 sec)
    mysql> SELECT * FROM tb_courses;
    +-----------+-------------+--------------+------------------+
    | course_id | course_name | course_grade | course_info |
    +-----------+-------------+--------------+------------------+
    |  1 | Network |  3 | Computer Network |
    |  2 | Database |  3 | MySQL  |
    +-----------+-------------+--------------+------------------+
    2 rows in set (0.00 sec)

    使用 INSERT 插入数据时,允许列名称列表 column_list 为空,此时值列表中需要为表的每一个字段指定值,并且值的顺序必须和数据表中字段定义时的顺序相同。

    【实例 3】在 tb_courses 表中插入一条新记录,course_id 值为 3,course_name 值为“Java”,course_grade 值为 4,info 值为“Jave EE”。输入的 SQL 语句和执行结果如下所示。

    mysql> INSERT INTO tb_courses
     -> VLAUES(3,'Java',4,'Java EE');
    Query OK, 1 rows affected (0.08 sec)
    mysql> SELECT * FROM tb_courses;
    +-----------+-------------+--------------+------------------+
    | course_id | course_name | course_grade | course_info |
    +-----------+-------------+--------------+------------------+
    |  1 | Network |  3 | Computer Network |
    |  2 | Database |  3 | MySQL  |
    |  3 | Java |  4 | Java EE  |
    +-----------+-------------+--------------+------------------+
    3 rows in set (0.00 sec)

    INSERT 语句中没有指定插入列表,只有一个值列表。在这种情况下,值列表为每一个字段列指定插入的值,并且这些值的顺序必须和 tb_courses 表中字段定义的顺序相同。

    注意:虽然使用 INSERT 插入数据时可以忽略插入数据的列名称,若值不包含列名称,则 VALUES 关键字后面的值不仅要求完整,而且顺序必须和表定义时列的顺序相同。如果表的结构被修改,对列进行增加、删除或者位置改变操作,这些操作将使得用这种方式插入数据时的顺序也同时改变。如果指定列名称,就不会受到表结构改变的影响。

    热心网友 时间:2022-04-11 06:53

    lz的有什么问题?我也是用这个mysql客户端,你说的是在图形化界面下增加新纪录吧!
    打开表,在左下方有一个+号,单击会新增一行,在里面输入内容就可以了,当然输完之后你也可以单击一下左下方的沟号马上保存数据

    热心网友 时间:2022-04-11 08:11

    键盘使用直接按下键插入新纪录就可以

    热心网友 时间:2022-04-11 09:46

    右键打开表,在下面有插入按钮“+”
    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
    求助:补全成语. _然而止、_然不屈、_然四顾、_然若失、_然而至、_然拒绝、_然无声... 我姑妈(姑妈去世),现奶奶的房产 姑妈的女儿有继承权吗? 丈夫去世遗产应该能怎么分配 《人世间》骆士宾遗产股权归谁所有 为什么说曹珊不应该得罪水自流_百 ... 有谁知我国十大元帅及十大上将? 解放中国的10大元帅是那几个? 对中国有何影响? 中国历史上的十大元帅 为什么中国过去有元帅现在没有了 ...想看中国80年代、90年代热播的电视剧,《渴望》、《蛙女》等,越多... Blockchain区块链的定义是什么? 区块链the sandbox怎么玩 blockchain是什么? 有知道,外地的普通话证书在天津考教师资格证,还需要考普通话吗? 关于天津教师资格证对户口的限制 我是河南的,但是现在在天津上学,请问能考教师资格证吗?考完回老家还能用么? 工作单位在天津,但是户口不在,可在天津考教师资格证吗? 天津教师资格证都考哪些科目,有试讲吗?我现在在外地上学,户口还在天津这边可以考吗? 我一个朋友是外地的,户口档案都没在天津,想在天津考教师资格证,不知道能不能考,求那个大神解答一下。 请问:我是外地的学生,在天津报考教师资格证,填居住申领地的时候我填了有,但其实我并没有。 我户籍在河北,现在在天津上学,可以报考教师资格证的考试吗?只是考试 在拼多多买的衣服有很大味道怎么办? 拼多多买的裤子洗过拆了牌 超过7天 但裤子质量实在太差了 还能退货退款嘛? 你好买家退回的衣服有很大的香味? 买家反映衣服有刺鼻味道洗过还是有很浓的味道说是衣服质量问题要求退货怎么处理 易语言怎么实现mysql的增加记录 谁有免费 网速快的电影电影网站 现在还有快速影视网址吗 求电影上的比较快的电影网站 求更新最快的影视网站 Mysql怎么插入记录? 好用的无线蓝牙耳机有哪些?要音质好的 无线蓝牙耳机哪个品牌音质更好一点? 《忘川的河》是哪部电影的主题曲? 请告诉我怎么吧忘川的河这首歌放到我的快手里? 我只身跳进忘川的河是什么歌? 婚庆可以用忘川的河这首歌曲跳舞吗? 忘川河的传说歌曲 涉密人员上岗证怎么考 保密师的考试时间 保密师的收费标准 保密师的保密讲师介绍 中度抑郁症可自愈吗? 抑郁症可以自愈吗?如果是中度或者重度呢? 中度抑郁症不吃药可以自愈吗 得了中度抑郁症能治好吗 抑郁症可以自愈吗?他有什么特别的? 中度抑郁症和焦虑症可以自愈吗? 中度抑郁症能治好吗? 中度抑郁症不吃药能自我调理好吗?