mysql中先判断数据是否存在,如存在则增加数量,不存在则增加一条记录

mysql中先判断数据是否存在,如存在则增加数量,不存在则增加一条记录,第1张

比如想往表中插入一条数据如果表中没有该条数据才插入,如果已经存在该条数据就不插入。

首先,在创建表时,将不需要重复的字段设置为unique,然后在插入时,使用insert ignore语句

例如:(数据库用的是mysql5)

创建一张表用来存储用户:

create table user_info

(

   uid mediumint(10) unsigned NOT NULL auto_increment primary key,

   last_name char(20) not null,

   first_name char(20) not null,

   unique ( last_name, first_name)

)

alter table anser add UNIQUE (last_name,first_name)

插入数据:

insert ignore into user_info (last_name,first_name) values ('x','y')

这样一来,如果表中已经存在last_name='x'且first_name='y'的数据,就不会插入,如果没有就会插入一条新数据。

——————注意,以上是我直接复制粘贴的信息,以下为原创

然后捕捉查询结果,如果确实已经执行了插入 *** 作,那么就结束sql

否则,就执行一次update *** 作

这样的话,我觉得程序运行性能是较好的

1、使用 create table 语句可完成对表的创建, create table 的创建形式:

create table 表名称(列声明)

以创建 people 表为例, 表中将存放 学号(id)、姓名(name)、性别(sex)、年龄(age) 这些内容:

create table people(

id int unsigned not null auto_increment primary key,

name char(8) not null,

sex char(4) not null,

age tinyint unsigned not null

)

其中,auto_increment就可以使Int类型的id字段每次自增1。

2、向表中插入数据使用insert 语句。

insert 语句可以用来将一行或多行数据插到数据库表中, 使用的一般形式如下:

insert [into] 表名 [(列名1, 列名2, 列名3, ...)] values (值1, 值2, 值3, ...)

其中 [] 内的内容是可选的, 例如, 要给上步中创建的people 表插入一条记录, 执行语句:

insert into people(name,sex,age) values( "张三", "男", 21 )

3、想要查询是否插入成功,可以通过select 查询语句。形式如下:

select * from people;

扩展资料:

当mysql大批量插入数据的时候使用insert into就会变的非常慢, mysql提高insert into 插入速度的方法有三种:

1、第一种插入提速方法:

如果数据库中的数据已经很多(几百万条), 那么可以 加大mysql配置中的 bulk_insert_buffer_size,这个参数默认为8M

举例:bulk_insert_buffer_size=100M;

2、第二种mysql插入提速方法:

改写所有 insert into 语句为 insert delayed into

这个insert delayed不同之处在于:立即返回结果,后台进行处理插入。

3、第三个方法: 一次插入多条数据:

insert中插入多条数据,举例:

insert into table values('11','11'),('22','22'),('33','33')...

增加一条学生记录时,会自动检查年龄是否符合范围要求。每当删除一条学生信息时,自动删除其成绩表上的对应记录。

触发器是与表有关的数据库对象,指在insert/updateldelete之前或之后,触发并执行触发器中定义的SQL语句集合。

创建两个表,目的是在一个表里删除一条记录,另一个表也删除一条记录。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/6102866.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-14
下一篇 2023-03-14

发表评论

登录后才能评论

评论列表(0条)

保存