1、数据库中创建课程信息表 tb_courses,包含课程编号 course_id、课程名称 course_name、课程学分 course_grade 和课程备注 course_info,输入的 SQL 语句和执行结果如下所示。
2、查看表里的数据还是空的。
3、在 tb_courses 表中插入一条新记录,course_id 值为 1,course_name 值为“Network”,course_grade 值为 3,info 值为“Computer Network”。
4、可以看到插入记录成功。在插入数据时,指定了 tb_courses 表的所有字段,因此将为每一个字段插入新的值。
5、在 tb_courses 表中插入一条新记录,course_id 值为 2,course_name 值为“Database”,course_grade 值为 3,info值为“MySQL”。输入的 SQL 语句和执行结果如下所示。
6、最后查看表数据,就完成了。
import_table(importTable) 的延申功能:可定制化行输入。
import_table(importTable) 我们之前有介绍过,是一款并行导入各种格式文本的工具,封装了 MySQL 语句 load data local infile。
比如说要导入一个以 TAB 为分隔符的文本数据文件:/tmp/sample_ytt.txt 到表:ytt_new.t1,可以执行下面语句:
上面结果是 load data infile 语句的导入结果。如果改用 import_table 方法来做同样的事情,基于 Python 语法,使用方法如下:
那接下来看另外一个需求:在导入文本文件时对每行做预处理(例如在导入数据之前更改列 r2 的值为 mod(r1,10),列 r5 的值为 abs(r4-46) ),这样可以减少导入后再次处理的时间开销。
这个需求用 load data infile 语句非常容易实现:(导入时更改列 r2 和 r5 的数据,类似 UPDATE 语法)
那如果要用 util.import_table(importTable) 来实现上面的需求,在 MySQL 8.0.22 之前是没办法的。
随着 MySQL 8.0.22 的发布,MySQL 对 import_table 方法做了些扩充功能,其中增加了一个选项 “decodeColumns” 可以实现字段的预先输入定制化功能,并且还可以更加丰富。
接下来用 import_table 来实现上面的需求,定制化字段 r2 和 r5:
以上 Options 选项,见下图:
我来具体解释下上图的含义:蓝色字体 columns 对应的数组分别指定数据文件中的每行字段,也就是默认的 TAB 分隔符所分割的每列值,1 和 2 代表占位符,1 代表数据文件中每行的第一个列,2 代表数据文件中每行的第四列,decodeColumns 字典分别对需要预先输入的字段做处理。比如 r1 字段保留为变量 @1,r2 字段对应 mod(r1,10) 等。
如果还是不太理解变换规则,可以临时打开 general log, 上面 import_table(importTable)对应的 MySQL 日志为:
以上日志写的很清楚,内部转换为最基本的load data infile语法。
那这里我简单解读了下 MySQL 8.0.22 对 MySQL Shell 的一项定制化输入文本文件的新特性,更多的新特性可以继续关注。
本回答被网友采纳在mysql中为某一行的某几列插入数据怎么写
1、数据库中创建课程信息表 tb_courses,包含课程编号 course_id、课程名称 course_name、课程学分 course_grade 和课程备注 course_info,输入的 SQL 语句和执行结果如下所示。2、查看表里的数据还是空的。3、在 tb_courses 表中插入一条新记录,course_id 值为 1,course_name 值为“Network”,c...
mysql 要插入到 某个表的某一行的第几列怎么写?
用update语句,因为这条数据已经存在 UPDATE 表名 SET 学生列名(也就是第三列列名)=“学生",班长列名(也就是第四列列名)=“班长”WHERE 主键=“001”;望采纳,不明白的可以追问
MySQL插入语句轻松实现数据库数据添加mysql插入语句
首先,介绍普通MySQL插入语句,它使用 INSERT INTO 语句来实现,其中表名表示待插入数据的表名,column1,column2等列名表示要添加值的列,value1,value2等值表示要添加的具体数据值。语句的形式如下:INSERT INTO table_name (column1, column2, …)VALUES (value1, value2, …);实例中...
MySQL简单入门插入一列数据mysql一列插入数据
其中,table_name是要插入数据的表名;column1, column2, column3, …是要插入数据的列名;value1, value2, value3, …是对应列名的数据值。例如,我们要向一个名为“users”的表中插入一列数据,该表包含列名“id”和“name”。我们可以使用以下语句向表中插入一个新的数据:INSERT ...
在mysql中insert语句有哪些用法?
在MySQL中,INSERT语句用于向表中插入新的行或记录。以下是几种常见用法:完整行数据的插入、部分行数据的插入、插入查询结果、插入默认值、插入忽略重复以及插入更新重复。1、插入完整的行数据。2、插入部分行数据,可以一次性插入多行数据,每行数据的列和值需要匹配。3、插入查询结果,允许从另一个表...
MySQL数据插入INSERT INTO与条件查询WHERE的基本用法(二)
首先,我们需要了解MySQL的书写顺序和执行顺序。一、导入数据 在上一节课中,我们在firstdb数据库中创建了表titanic,现在我们想要向该表中插入数据,有如下两种方法:第一种,通过insert into SQL语句逐行插入。基本语法:INSERT INTO table_name ( field1,field2,...fieldN ) VALUES ( value1,value...
如何向mysql数据库的表中录入数据
fieldname fieldname from tablename 以上基本上罗列了用insert插入数据的方法 当然你也可以用insert语句将几行同时插入到一个表中 如下所示:insert into tablename values( ) ( ) 在mysql运行环境下 我们还可以用LOAD DATA 语句把文件里面的数据读取录入到表里面 一般来讲 因为此文件是由服务器在...
如何向MySQL数据库的表中录入数据
set fieldname1=value1,fieldname2=value2,...insert into tablename(fieldname1,fieldname2) select fieldname1,fieldname2 from tablename1以上基本上罗列了用insert插入数据的方法,当然你也可以用insert语句将几行同时插入到一个表中.如下所示:insert into tablename values(...),(...)...
求mysql数据库里将一行数据的某些列更新到另外一行的对应某些列的sql语 ...
update product set xxx=(select xxx from product where id_lang=1),yyy=(select yyy from product where id_lang=1),zzz=(select zzz from product where id_lang=1)where id_lang=7
mysql数据插入问题
具体插入数据的步骤是:使用"insert into 表名 (列名) values (值);"语句,将你需要插入的数据按照表结构的列名依次填写。例如,如果你想插入一条记录,可能的命令是"insert into users (name, email) values ('John', 'john@example.com');"完成数据插入后,通过执行"select * from 表名;"查询...