写给前端的数据库入门 | 导入数据2

59 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第9天,点击查看活动详情

上文我们来学习了如何如何从本地文件导入数据,今天讲一下其他导入数据的方式

复制表

如果需要把数据复制一份,可以用下面的语法来复制表

从原来的Users表中复制一份数据到新建的表cp_users中

CREATE TABLE cp_users AS SELECT * FROM Users;

看看复制后的效果

select * from cp_users;

可以看到原来user表中的数据都被复制过来 image.png

从一个表中选择数据插入到另一个表中

在数据库中,我们还可以从一个表中选择数据插入到另一个表中,具体语句如下所示
从Users表中选择出name,email,age等字段,插入到另一张表cp_users中

INSERT INTO cp_users(name, email, age)  SELECT name, email, age  FROM Use
rs;

可以看到数据被成功插入

image.png

总结

回顾前文,来看看我们插入数据的多种方式

  1. INSERT INTO 语句,可以插入一条或者多条数据
  2. LOAD DATA 语句,可以从文本文件中载入数据
  3. 复制表数据
  4. 从其他表中选择数据插入

那么当我们需要要选择什么方式呢?

还是得贴合实际使用场景来,比如

  1. 比如你在调试数据,需要一条条手动插入,用INSERT INTO 语句就可以满足需求
  2. 比如你需要一次性插入大量数据,你可以写脚本拼接INSERT INTO语句(使用这个方法的时候要注意mysql对sql语句有长度限制,可以修改max_allowed_packet配置来扩大长度),也可以用LOAD DATA来直接载入文件

其他文章
在线等,后端悄悄改了接口文档被我抓住了怎么办?
和后端对线 | 前端如何保存base64字符串为文件
释放生产力 | Yapi,swagger2,swagger3生成请求代码
什么?在React中也可以使用vue响应式状态管理
clean-js | 在hooks的时代下,使用class管理你的状态
clean-js | 手把手教你写一个羊了个羊麻将版
有没有一种可能,你从来都没有真正理解async