Insert语句可将一行或多行插入到表中。

INSERT语法:

INSERT INTO table(column1,column2...)

VALUES (value1,value2,...);

首先,在INSERT INTO子句之后,在括号内指定表名和逗号分隔列的列表。

然后,将括号内的相应列的逗号分隔值放在VALUES关键字之后。

在执行插入语句前,需要具有执行INSERT语句的INSERT权限

INSERT语法实际应用:

tasts表:

USE testdb;

CREATE TABLE IF NOT EXISTS tasks (

task_id INT(11) AUTO_INCREMENT,

subject VARCHAR(45) DEFAULT NULL,

start_date DATE DEFAULT NULL,

end_date DATE DEFAULT NULL,

description VARCHAR(200) DEFAULT NULL,

PRIMARY KEY (task_id)

)ENGINE=InnoDB DEFAULT CHARSET=utf8;

插入:

INSERT INTO tasks(subject,start_date,end_date,description)

VALUES('Learn MySQL INSERT','2017-07-21','2017-07-22','Start learning..');

插入多行:

INSERT INTO tasks(subject,start_date,end_date,description)

VALUES ('任务-1','2017-01-01','2017-01-02','Description 1'),

('任务-2','2017-01-01','2017-01-02','Description 2'),

('任务-3','2017-01-01','2017-01-02','Description 3');

INSERT与SELECT混合应用

MySQL中,可以使用SELECT语句返回的列和值来填充INSERT语句的值

INSERT INTO table_1

SELECT c1, c2, FROM table_2;

假设要将tasks表复制到tasks_bak表。

首先,通过复制tasks表的结构,创建一个名为tasks_bak的新表,如下所示:

INSERT INTO tasks_bak

SELECT*FROM tasks;

第二步,使用以下INSERT语句将tasks表中的数据插入tasks_bak表:

INSERT INTO tasks_bak

SELECT*FROM tasks;

第三步,检查tasks_bak表中的数据,看看是否真正从tasks表复制完成了。

mysql> select * from tasks;

INSERT与On Duplicate Key Update

应用On Duplicate Key Update:

INSERT INTO tasks(task_id,subject,start_date,end_date,description)

VALUES (4,'Test ON DUPLICATE KEY UPDATE','2017-01-01','2017-01-02','Next Priority')

ON DUPLICATE KEY UPDATE

task_id= task_id + 1,

subject= 'Test ON DUPLICATE KEY UPDATE';

应用Update函数:

UPDATE tasks

SET

task_id= task_id + 1,

subject= 'Test ON DUPLICATE KEY UPDATE'WHERE

task_id= 4;

INSERT IGNORE语句

功能介绍:

INSERT语句向表中添加一些行数据并且在处理期间发生错误时,INSERT语句将被中止,并返回错误消息。因此,可能不会向表中没有插入任何行。

但是,如果使用INSERT INGORE语句,则会忽略导致错误的行,并将其余行插入到表中。

INSERT IGNORE语法:

INSERT IGNORE INTO table(column_list)

VALUES( value_list),

( value_list),

...

STRICT语句

当STRICT模式打开时,如果您尝试将无效值插入到表中,MySQL将返回错误并中止INSERT语句。

创建一个名为tokens的新表:

USE yiibaidb;

CREATE TABLE IF NOT EXISTS tokens (

s VARCHAR(6)

);

将长度为7的字符串插入到tokens表中

INSERT INTO tokens VALUES('abcdefg');

STRICT模式打开,MySQL发出以下错误

mysql> INSERT INTO tokens VALUES('abcdefg');1406 - Data too long for column 's' at row 1

mysql insert 数据_MySQL-插入数据(INSERT)相关推荐

  1. mysql insert id菜鸟_MySQL 插入数据

    MySQL 插入数据 MySQL 表中使用INSERT INTOSQL语句来插入数据. 你可以通过 mysql> 命令提示窗口中向数据表中插入数据,或者通过PHP脚本来插入数据. 语法 以下为向 ...

  2. 数据表插入数据insert into

    1.数据表插入数据方式汇总: 普通插入(全字段):INSERT INTO table_name VALUES (value1, value2, ...) 普通插入(限定字段):INSERT INTO ...

  3. mysql longblob 读取_MySQL数据库之Mysql的longblob字段插入数据问题解决

    本文主要向大家介绍了MySQL数据库之Mysql的longblob字段插入数据问题解决 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 在使用mysql的过程中,有个问题就是my ...

  4. MySQL(12)--- 插入数据

    MySQL 插入数据 MySQL 表中使用 INSERT INTO SQL语句来插入数据. 你可以通过 mysql> 命令提示窗口中向数据表中插入数据,或者通过PHP脚本来插入数据. 语法 以下 ...

  5. mysql如何高效批量插入数据

    mysql如何高效批量插入数据 1.一种可以再代码中循环着执行单条插入数据的语句,这种效率太差. insert into table ([列名],[列名]) values ([列值],[列值])); ...

  6. MySQL中添加或插入语句(Insert)的几种使用方式

    1.各大培训机构,价格10万的视频 Java架构师视频免费送 2.各种电子书籍经典Java书籍免费送 3.关注下方我的公众号进行免费获取 MySQL中添加或插入语句(Insert)的几种使用方式 1. ...

  7. mysql创建数据库及中英文数据表--插入数据

    目录 一.创建数据库及数据表 二.插入数据 三.中文数据表创建 一.创建数据库及数据表 1.用create database 创建school数据库: 2.进入school数据库,创建info数据表: ...

  8. mysql 插入数据 自增长_MySQL ------ 插入数据(INSERT和insert select)(二十)

    数据插入(INSERT): 用来插入(或添加)行到数据表中.也可利用mysql 的安全机制机制使用insert 语句 可使用的四种方式:插入完整的行,插入行的一部分,插入多行和插入某些查询结果 一.插 ...

  9. insert exec 语句不能嵌套_MySQL ------ 插入数据(INSERT和insert select)(二十)

    数据插入(INSERT): 用来插入(或添加)行到数据表中.也可利用mysql 的安全机制机制使用insert 语句 可使用的四种方式:插入完整的行,插入行的一部分,插入多行和插入某些查询结果 一.插 ...

  10. mysql批量insert into_mysql批量插入数据

    review代码发现,同事mysql批量插入数据的实现方法是,用for循环遍历,将列表每个数据单次插入.相当于批量插入N条数据,进行了n次的数据库连接和插入操作. 底层有批量插入的方法,但是会有问题, ...

最新文章

  1. 【 Vivado 】时钟组(Clock Groups)
  2. requests模块--python发送http请求
  3. 中国大学最顶尖的学科名单(人民日报整理版)
  4. figma下载_迁移至Figma
  5. java 序列化快捷键_IntelliJ IDEA生成 Serializable序列化UID的快捷键
  6. java (Eclipse)连接MySQL数据库
  7. android中pdf转换成图片格式,Android-PDF转图片
  8. css竖向箭头符号_如何使用CSS制作箭头符号
  9. 【Axure高保真原型】拖拉拽元件库
  10. Firefox os
  11. 20+主流跨境电商平台API地址大全
  12. 基于端到端深度学习的自动驾驶:AirSim教程(包含Ubuntu18.04下配置AIrsim仿真环境解决方案)
  13. Verilog 语法入门知识
  14. win10 GTX1050配置VS19+CUDA10.2+CUDNN
  15. libconfig c语言实例
  16. SVD的原理及python实现——正本清源
  17. java中的repo什么意思_洛丽塔圈子常说的“repo”是什么意思?很多人都用错了
  18. HANA 与 Oracle 12c哪一个更快
  19. C练题笔记之:Leetcode-307. 区域和检索 - 数组可修改
  20. C语言数据类型和存储

热门文章

  1. 代码详解 | 用Pytorch训练快速神经网络的9个技巧
  2. 【干货】CNN与Transformer的强强联合!谷歌最新开源BoTNet,ImageNet达84.7%准确率
  3. 速度超快!字节跳动开源序列推理引擎LightSeq
  4. Bengio亲自授课,英国皇家院士参与,这份机器学习在线课别错过丨免费
  5. 姚班学霸陈立杰:16岁保送清华,18岁拿下IOI世界冠军,现摘得FOCS 2019最佳学生论文...
  6. python模块学习---mechanize(模拟浏览器)
  7. 爬虫scrapy框架中间件的使用
  8. 网络应用 axIos +vue的应用
  9. 干货|简单理解逻辑回归基础
  10. 实战|基于图割算法的木材表面缺陷图像分析