MySQL插入数据的方法

插入数据方法:

1.insert into 表  values(value1, value2, value3....)
2.insert into 表 (字段1, 字段3, 字段5) values(value1, value2, value3)
3.insert into 表 [(字段1, 字段2, 字段3....)] values(value1, value2,value3.....)[,(value1, value2, value3....) .....]

例:创建一个数据库然后建一张表,要求:

1.第一行数据,使用第一种形式
2.第二行数据,指定你要指定要插入字段
3.第三行数据,指定要插入的字段,但不是所有字段,除了(stu_id, stu_gender)
4.使用一条insert into语句插入多条记录

5.更新数据:更新所有的数据, 只更新age:22upate 表  set 字段=值

1.建立名为mydb2的数据库

mysql> create database mydb2;

 2.建表

mysql> create table stu_info(
    -> stu_id int primary key auto_increment comment '学号',
    -> stu_name varchar(30) not null comment '姓名',
    -> stu_age tinyint not null check (stu_age >= 18),
    -> stu_gender char(1) not null default 'M' check (stu_gender in ('F', 'M'))
    -> );

 查看表的结构

mysql> desc stu_info;

3.插入数据

(1)第一行数据,使用第一种形式:

因为第一列stu_id为主键,如果要使用"INSERT INTO 表 VALUES (value1, value2, value3, …)"的方式插入数据,并且表的主键是自增列确保主键列是定义为自增列 (AUTO_INCREMENT) 的。可以在创建表时或者使用 ALTER TABLE 语句来定义自增列

mysql> insert into stu_info values (1,'pzz',40,'F');

(2)第二行数据,指定你要指定要插入字段

insert into stu_info (stu_id,stu_name,stu_age,stu_gender)valuees (2,'kxy',28,'F');

(3) 第三行数据,指定要插入的字段,但不是所有字段,除了(stu_id, stu_gender)

insert into stu_info (stu_name, stu_age) VALUES ('LHD', 18);

(4)使用一条insert into语句插入多条记录

mysql> INSERT INTO mydb2.stu_info (stu_id,stu_name,stu_age,stu_gender)
    -> values
    -> (4,'zy',59,'F'),
    -> (5, '周杰伦', 44, 'M'),
    -> (6, '林俊杰', 42, 'M'),
    -> (7, '薛之谦', 40, 'M');

(5) 更新数据:更新所有的数据, 只更新age:22upate 表  set 字段=值

mysql> update stu_info set stu_age = 22;

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL插入数据的耗时受多个因素影响。其中一些因素包括数据库服务器性能,硬盘速度,网络传输速度,代码解析效率,以及MySQL的相关配置。 具体来说,以下因素可能导致MySQL插入数据的耗时增加: 1. Mysql插入缓存(bulk_insert_buffer_size):Mysql插入数据时会使用插入缓存,而较小的缓存大小可能导致频繁的刷新操作,从而增加插入数据的耗时。 2. 数据库约束条件验证:每次插入数据时,MySQL都需要验证是否违反表中的约束条件(如主键、唯一约束等),这个验证过程也会增加插入数据的耗时。 3. 索引构建:在InnoDB存储引擎中,数据通常会先写入缓存,然后写入事务日志,最后写入数据文件。这个过程中,索引的构建也会带来一定的时间消耗。 4. 事务提交模式:默认情况下,MySQL的事务自动提交模式是开启的,这意味着每次执行插入语句都会立即提交事务,这会导致频繁的事务提交,从而降低插入数据的速度。可以通过手动开启事务,并在所有插入任务完成后再提交事务来提高插入数据的效率。 5. innodb_flush_log_at_trx_commit设置:如果将innodb_flush_log_at_trx_commit设置为2,MySQL会在每次事务提交时将日志缓冲区的数据写入日志文件。然而,刷新操作(即将数据刷到磁盘)并不会立即进行,而是每秒执行一次。这种设置可能会影响插入数据的耗时。 除了以上因素,还有其他一些因素可能会对MySQL插入数据的耗时产生影响,例如服务器性能、CPU性能、硬盘速度和网络传输速度等。 综上所述,MySQL插入数据的耗时受多个因素影响,包括Mysql插入缓存、约束条件验证、索引构建、事务提交模式和innodb_flush_log_at_trx_commit设置等。优化这些因素可以提高插入数据的速度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值