插入数据的多种方式直接通过insert语句插入
语法:
INSERT [INTO] tbl_name [(col_name [, col_name] ...)] { {VALUES | VALUE} (value_list) [, (value_list)] ... }
示例:
# 插入数据 第一种方式 values关键字可以替换为value 两者作用一致insert into human(`name`) values ('情韵测试');# 批量插入insert into human(`name`) value ('情韵测试'),('青云测试'),('青云测试'),('青云测试'),('青云测试'),('青云测试'),('青云测试'),('青云测试');
运行结果:
通过insert … set方式插入数据
语法:
INSERT [INTO] tbl_name SET assignment_list
示例:
# 插入数据 第二种方式# 这种方式不能批量插入 简化了之前的插入insert into human set name = '测试' ,id = 101;
运行结果:
通过insert … table/select/values 方式插入数据
语法:
INSERT [INTO] tbl_name [(col_name [, col_name] ...)] { SELECT ... | TABLE table_name | VALUES row_constructor_list }
示例1select
:
# insert ... select# 从另一张表格中选出的数据格式和数量必须相同,不要求列名必须相同insert into human select name,id from person;
示例2table
:
# insert ... table# 另一张表格中对应的数据格式和字段数量必须相同,不要求列名必须相同insert into human table person;
示例3values
:
insert into human(`name`) values row('name'), row('name'), row('name'), row('name'), row('name'), row('name');
运行结果:
通过load data的方式插入数据
这种方式首先得准备好要插入的数据文档,然后进行插入。
我们可以先导出一份数据库表的数据:
语法:
SELECT select_expr [, select_expr] ... [FROM table_references [WHERE where_condition] [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]] [HAVING where_condition] [ORDER BY {col_name | expr | position} [ASC | DESC], ... [WITH ROLLUP]] [LIMIT {[offset,] row_count | row_count OFFSET offset}] [into_option] into_option: { INTO OUTFILE 'file_name' [CHARACTER SET charset_name] export_options | INTO DUMPFILE 'file_name' | INTO var_name [, var_name] ...}
示例:
# 将数据导入到本地# secure_file_priv 是只读变量 需要去配置文件修改 secure-file-priv=''select * from human into outfile 'f:/db.txt';
需要修改配置文件:
[mysqld]...# 配置select ... from ... into outfile '文件地址'secure-file-priv=''...[mysql]...
重启mysql
查看生成的文件:
使用load data插入数据
语法:
LOAD DATA INFILE 'file_name' INTO TABLE tbl_name [CHARACTER SET charset_name] [{FIELDS | COLUMNS} [TERMINATED BY 'string'] [[OPTIONALLY] ENCLOSED BY 'char'] [ESCAPED BY 'char'] ]
示例:
这里如果提示不允许也需要修改配置文件【注意:不太建议开启 ,记得及时关闭,有安全风险!】
[mysqld]...# 配置文件读取数据local_infile=1# 配置select ... from ... into outfile '文件地址'secure-file-priv=''...[mysql]# 配置文件读取数据local_infile=1...
重启mysql
load data infile 'f:/db.txt' into table human;
运行结果:
使用source 以及 mysqldump插入数据
使用命令行方式导入数据,这种方式比较简单,百度搜一下即可。