5)-MySQL插入数据

Posted 奢华使命

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了5)-MySQL插入数据相关的知识,希望对你有一定的参考价值。

1. 简单的mysql INSERT语句


 
MySQL INSERT语句允许您将一行或多行插入到表中。下面说明了INSERT语句的语法:
 
insert into table(column1,column2...)
values (value1,value2,...);
 
首先,在INSERT INTO子句之后,在括号内指定表名和逗号分隔列的列表。
然后,将括号内的相应列的逗号分隔值放在VALUES关键字之后。
在执行插入语句前,需要具有执行INSERT语句的INSERT权限。
 
让我们创建一个名为tasks的新表来练习INSERT语句,参考以下创建语句 -
 
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;
 
例如,如果要将任务插入到tasts表中,则使用INSERT语句如下:
 
insert into tasks(subject,start_date,end_date,description)
values(‘learn mysql insert‘,‘2017-07-21‘,‘2017-07-22‘,‘start learning..‘);
 

2. MySQL INSERT - 插入多行

想要在表中一次插入多行,可以使用具有以下语法的INSERT语句:
 
insert into table(column1,column2...)
values (value1,value2,...),
       (value1,value2,...),
...;
 
在这种形式中,每行的值列表用逗号分隔。 例如,要将多行插入到tasks表中,请使用以下语句:
 
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语句中的列列表,如下所示:
 
insert into table
values (value1,value2,...);
 
或者...
 
insert into table
values (value1,value2,...),
       (value1,value2,...),
...;
 
请注意,不必为自动递增列(例如taskid列)指定值,因为MySQL会自动为自动递增列生成值。

以上是关于5)-MySQL插入数据的主要内容,如果未能解决你的问题,请参考以下文章

使用线程插入mysql

Mysql-Insert插入过慢的原因记录和解决

mysql 基础篇5(mysql语法---数据)

Mysql报错UncategorizedSQLException无法插入表情

解决数据库mysql插入乱码问题

mysql-蠕虫复制--快速插入数据