详解mysql数据库增删改操作
插入数据
insert into 表名(列名1,列名2,列名3) values(值1,值2,值3);
insert into user(user_id,name,age) values(1,'nice',24);
简单写法可以省去字段名,但是要插入全部字段。
批量插入
单条插入和批量插入的效率问题
mysql多条数据插入效率大于单条数据插入
删除记录
delete from 表名 [where 条件]
如果没有指定条件,会将表中数据一条一条全部删除掉。
delete删除数据和truncate删除数据有什么区别
delete:属于DML,一条一条删除表中的数据
truncate:属于DDL,先删除表再重建表
delete和truncate哪个删除数据效率高
如果数据比较少,delete比较高效
如果数据量比较多,truncate比较高效
更新记录
update 表名 set 列名=列的值,列名2=列2的值 [where条件]
修改多字段数据
全部修改(慎用)
以上所述是小编给大家介绍的mysql数据库增删改操作详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
相关推荐
-
Mysql优化策略(推荐)
总的来说: 1.数据库设计和表创建时就要考虑性能 2.sql的编写需要注意优化 3.分区.分表.分库 设计表的时候: 1.字段避免null值出现,null值很难查询优化且占用额外的索引空间,推荐默认数字0代替null. 2.尽量使用INT而非BIGINT,如果非负则加上UNSIGNED(这样数值容量会扩大一倍),当然能使用TINYINT.SMALLINT.MEDIUM_INT更好. 3.使用枚举或整数代替字符串类型 4.尽量使用TIMESTAMP而非DATETIME 5.单表不要有太多字段,建议
-
MySQL执行update语句和原数据相同会再次执行吗
背景 本文主要测试MySQL执行update语句时,针对与原数据(即未修改)相同的update语句会在MySQL内部重新执行吗? 测试环境 MySQL5.7.25 Centos 7.4 binlog_format为ROW 参数 root@localhost : (none) 04:53:15> show variables like 'binlog_row_image'; +------------------+-------+ | Variable_name | Value | +------
-
详解MySQL是如何解决幻读的
一.什么是幻读 在一次事务里面,多次查询之后,结果集的个数不一致的情况叫做幻读. 而多出来或者少的哪一行被叫做 幻行 二.为什么要解决幻读 在高并发数据库系统中,需要保证事务与事务之间的隔离性,还有事务本身的一致性. 三.MySQL 是如何解决幻读的 如果你看到了这篇文章,那么我会默认你了解了 脏读 .不可重复读与可重复读. 1. 多版本并发控制(MVCC)(快照读) 多数数据库都实现了多版本并发控制,并且都是靠保存数据快照来实现的. 以 InnoDB 为例,每一行中都冗余了两个字断.一个是行的
-
想取消错误的mysql命令怎么办?
敲了一个错误的mysql命令, 想取消怎么办? 如果用ctrl + c, 就直接退出了.怎么办呢?来看看: mysql> show tables; \c +-------------------+ | Tables_in_db_test | +-------------------+ | tb_test | | tb_test_ex | +-------------------+ 2 rows in set (0.00 sec) mysql> show tables \c mysql>
-
使用shell脚本来给mysql加索引的方法
用shell脚本来给mysql加索引 刚好用到, mark一下: #! /bin/bash tb_base=tb_student_ arr=("0" "1" "2" "3" "4" "5" "6" "7" "8" "9" "a" "b" "c" &q
-
解决MySQl查询不区分大小写的方法讲解
问题 最近,在用SSH框架完成一个实践项目时,碰到了一个莫名其妙的Bug困扰了我好久,最后终于解决,记录如下. 问题:同学在测试系统的时候突然发现,数据库保存的账户本来应该是admin,结果该同学用Admin账户居然登录成功了-- --EXM???这样也行?好吧,我还是查找这个Bug发生的原因吧.然后就是各种排查程序的过程,找来找去也没发现什么问题.终于想到,不用hql,自己写sql语句在数据库里面直接查询试试,结果果然发现了问题所在: select * from user where user
-
MySQL字符集乱码及解决方案分享
前言 字符集是一套符号和编码的规则,不论是在oracle数据库还是在mysql数据库,都存在字符集的选择问题,而且如果在数据库创建阶段没有正确选择字符集,那么可能在后期需要更换字符集,而字符集的更换是代价比较高的操作,也存在一定的风险,所以,我们推荐在应用开始阶段,就按照需求正确的选择合适的字符集,避免后期不必要的调整. 实战 1.安装MySQL数据库 2.乱码演示 mysql> show variables like 'character_set%'; +-------------------
-
Mysql开启慢SQL并分析原因
第一步.开启mysql慢查询 方式一:修改配置文件 Windows:Windows 的配置文件为 my.ini,一般在 MySQL 的安装目录下或者 c:\Windows 下. Linux:Linux 的配置文件为 my.cnf ,一般在 /etc 下 在 my.ini 增加几行: [mysqlld] long_query_time=2 #5.0.5.1等版本配置如下选项 log-slow-queries="mysql_slow_query.log" #5.5及以上版本配置如下选项 s
-
详解使用navicat连接远程linux mysql数据库出现10061未知故障
使用使用navicat连接远程linux mysql数据库出现10061未知故障,设置使用ssh连接后出现2013故障 本机环境:win10 navicat premium mysql数据库主机环境:Linux version 4.15.0-42-generic (buildd@lgw01-amd64-023) (gcc version 7.3.0 (Ubuntu 7.3.0-16ubuntu3)) #45-Ubuntu SMP Thu Nov 15 19:32:57 UTC 2018 mysq
-
Mysql查询很慢卡在sending data的原因及解决思路讲解
因为编写了一个Python程序,密集的操作了一个Mysql库,之前数据量不大时,没发现很慢,后来越来越慢,以为只是数据量大了的原因,但是后来慢到不能忍受了,查了半天,索引能用的都用上了,执行一次还是要3到4秒,不能忍受了. 于是把一些可以缓存的查询全部用redis缓存了起来,大大加速了应用. 但是还是有一些没办法缓存的,或者说,每次查询都是不一样的结果的就没办法了.用navicat的查询概况可以看到卡住的地方是在:Sending data一段,用时3.5秒,占了99%的查询时间. 在网上查了一些
随机推荐
- shell脚本一键安装php7的实例(推荐)
- 学习ExtJS form布局
- Android开发笔记 改变字体颜色的三种方法
- 深入Javascript函数、递归与闭包(执行环境、变量对象与作用域链)使用详解
- WampServer下使用多端口访问的技巧
- ASP.NET设计FTP文件上传的解决方案
- PHP网页游戏学习之Xnova(ogame)源码解读(十四)
- C#常用的命名规则汇总
- PHP获取photoshop写入图片文字信息的方法
- js 单引号 传递方法
- AJAX实现跨域的三种方法(代理,JSONP,XHR2)
- JS组件福利大放送 推荐12款好用的Bootstrap组件
- jqPlot jquery的页面图表绘制工具
- js实现ifram取父窗口URL地址的方法
- 微信小程序 配置文件详细介绍
- ASP.NET与数据库相关技巧
- 在ASP.NET 2.0中操作数据之十二:在GridView控件中使用TemplateField
- PyQt5打开文件对话框QFileDialog实例代码
- JS根据json数组多个字段排序及json数组常用操作
- mysql踩坑之limit与sum函数混合使用问题详解