ToB企服应用市场:ToB评测及商务社交产业平台

标题: MySQL插入数据的多种方式 [打印本页]

作者: 圆咕噜咕噜    时间: 2023-2-6 21:43
标题: MySQL插入数据的多种方式
插入数据的多种方式

直接通过insert语句插入

语法:
  1. INSERT [INTO] tbl_name
  2.     [(col_name [, col_name] ...)]
  3.     { {VALUES | VALUE} (value_list) [, (value_list)] ... }
复制代码
示例:
  1. # 插入数据 第一种方式 values关键字可以替换为value 两者作用一致
  2. insert into human(`name`) values ('情韵测试');
  3. # 批量插入
  4. insert into human(`name`) value ('情韵测试'),('青云测试'),('青云测试'),('青云测试'),('青云测试'),('青云测试'),('青云测试'),('青云测试');
复制代码
运行结果:

通过insert ... set方式插入数据

语法:
  1. INSERT [INTO] tbl_name
  2.     SET assignment_list
复制代码
示例:
  1. # 插入数据 第二种方式
  2. # 这种方式不能批量插入 简化了之前的插入
  3. insert into human set name = '测试' ,id = 101;
复制代码
运行结果:

通过insert ... table/select/values 方式插入数据

语法:
  1. INSERT [INTO] tbl_name
  2.     [(col_name [, col_name] ...)]
  3.     { SELECT ...
  4.       | TABLE table_name
  5.       | VALUES row_constructor_list
  6.     }
复制代码
示例1select:
  1. # insert ... select
  2. # 从另一张表格中选出的数据格式和数量必须相同,不要求列名必须相同
  3. insert into human select name,id from person;
复制代码
示例2table:
  1. # insert ... table
  2. # 另一张表格中对应的数据格式和字段数量必须相同,不要求列名必须相同
  3. insert into human table person;
复制代码
示例3values:
  1. insert into human(`name`)
  2. values row('name'), row('name'), row('name'), row('name'), row('name'), row('name');
复制代码
运行结果:

通过load data的方式插入数据

这种方式首先得准备好要插入的数据文档,然后进行插入。
我们可以先导出一份数据库表的数据:
语法:
  1. SELECT select_expr [, select_expr] ...
  2.     [FROM table_references
  3.     [WHERE where_condition]
  4.     [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
  5.     [HAVING where_condition]
  6.     [ORDER BY {col_name | expr | position}
  7.       [ASC | DESC], ... [WITH ROLLUP]]
  8.     [LIMIT {[offset,] row_count | row_count OFFSET offset}]
  9.     [into_option]
  10.      
  11. into_option: {
  12.     INTO OUTFILE 'file_name'
  13.         [CHARACTER SET charset_name]
  14.         export_options
  15.   | INTO DUMPFILE 'file_name'
  16.   | INTO var_name [, var_name] ...
  17. }
复制代码
示例:
  1. # 将数据导入到本地
  2. # secure_file_priv 是只读变量 需要去配置文件修改 secure-file-priv=''
  3. select * from human into outfile 'f:/db.txt';
复制代码
需要修改配置文件:
  1. [mysqld]
  2. ...
  3. # 配置select ... from  ... into outfile '文件地址'
  4. secure-file-priv=''
  5. ...
  6. [mysql]
  7. ...
复制代码
重启mysql
查看生成的文件:

使用load data插入数据
语法:
  1. LOAD DATA
  2.     INFILE 'file_name'
  3.     INTO TABLE tbl_name
  4.     [CHARACTER SET charset_name]
  5.     [{FIELDS | COLUMNS}
  6.         [TERMINATED BY 'string']
  7.         [[OPTIONALLY] ENCLOSED BY 'char']
  8.         [ESCAPED BY 'char']
  9.     ]
复制代码
示例:
这里如果提示不允许也需要修改配置文件【注意:不太建议开启 ,记得及时关闭,有安全风险!】
  1. [mysqld]
  2. ...
  3. # 配置文件读取数据
  4. local_infile=1
  5. # 配置select ... from  ... into outfile '文件地址'
  6. secure-file-priv=''
  7. ...
  8. [mysql]
  9. # 配置文件读取数据
  10. local_infile=1
  11. ...
复制代码
重启mysql
  1. load data infile 'f:/db.txt' into table human;
复制代码
运行结果:

使用source 以及 mysqldump插入数据

使用命令行方式导入数据,这种方式比较简单,百度搜一下即可。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4