您的当前位置:首页>全部文章>文章详情

【MySQL】数据操作

CrazyPanda发表于:2024-06-21 17:37:47浏览:309次TAG: #mysql

一、数据操作介绍

在MySQL管理软件中,可以通过SQL语句中的DML语言来实现数据的操作

1.INSERT实现数据的插入2.UPDATE实现数据的更新3.DELETE实现数据的删除4.SELECT查询数据

二、插入数据

一: 按字段进行插入
insert into 表(字段1,字段2 ...) values (值1,值2 ...);
 
二:按字段顺序插入
insert into 表 values (值1,值2 ...);
 
三: 插入多条记录
insert into 表 values (值1,值2 ...) ,(值1,值2 ...)  ,(值1,值2 ...);
 
四:插入查询结果
insert into 表(字段1,字段2 ...)  select 字段1,字段2 ... from 表;

四种插入数据方式:

一.插入一条数据
insert into student(id,name,age,sex,salary) values(1,'小猪',18,'男',2500);

二.插入多条数据
insert into student(id,name,age,sex,salary) values(1,'小猪',18,'男',2500) ,(2,'小猪2',28,'男',2500),(3,'小猪3',38,'男',2500);

三.直接插入
insert into student values(1,'小猪',18,'男',2500);
ps:如果插入的数据个数和位置正好与表的字段个数和位置匹配,则可以省略表名后面的字段定义

四.查询并插入
insert into student(id,name,age) select id,name,age from tb ;
ps:从tb表中查询数据并插入到 student表中


三 、更新操作 UPDATE

一: 更新整表数据
update 表 set 字段1= '值1', 字段2='值2' ... ;
 
二:更新符合条件字段3的数据
update 表 set 字段1= '值1', 字段2='值2' ... where 字段3 = 值3;

方式一:
update student set name = '猪猪哥' ;
ps: student表中所有的 name 字段 的值 全部被更新为 '猪猪哥'方式二:
update student set name= '猪猪哥' ,age =13  where id = 2;
ps: 更新 student 表中 name 和 age 字段的值,并且只更新 id = 2的一条记录

 

四 删除操作 DELETE


一:整表数据删除
delete from 表 ;
 
二:删除符合 where后条件的数据
delete from 表 where 字段1=值1;

方式一:
delete from student;
ps:删除 student 表中所有的数据,注意:如果有自增主键,主键记录的值不会被删除.

方式二:
delete from student where id=1;
ps:只删除id 为1的数据.

方式三:
truncate student;
ps:清空表

truncate和delete的区别?[面试题]

1、TRUNCATE 在各种表上无论是大的还是小的都非常快。而DELETE 操作会被表中数据量的大小影响其执行效率.2、TRUNCATE是一个DDL语言而DELETE是DML语句,向其他所有的DDL语言一样,他将被隐式提交,不能对TRUNCATE使用ROLLBACK命令。3、TRUNCATE不能触发触发器,DELETE会触发触发器。4、当表被清空后表和表的索引和自增主键将重新设置成初始大小,而delete则不能。


五 查询操作 SELECT

根据查询功能的不同,我们可以为查询划分为以下几类:

1.单表查询

2.多表查询  

猜你喜欢

【MySql】索引怎么提高查询的速度?
文章目录索引:怎么提高查询的速度?如何创建组合索引?组合索引的原理如何创建单字段索引?单字段索引的作用如何选择索引字段?索引是什么?单字段索引组合索引总结索引索引相关面试题MySQL索引的底层实现索引创建原则索引优缺点索引失效场景索引:怎么提高查询的速度?在超市信息系统刚刚开始运营的时候,因为数据量很少,每一次的查询都能很快拿到结果。但是,系统运转时间长了以后,数据量不断地累积,变得越来越庞大,很多查询的速度就变得特别慢。这个时候,我们就采用了 MySQL 提供的高效访问数据的方法—— 索引,有
发表于:2023-12-07 浏览:383 TAG:
【MySql】MySQL产生死锁的根本原因及解决方法
概念死锁是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去.此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等的进程称为死锁进程一、 什么是死锁死锁是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去.此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等的进程称为死锁进程.二、 死锁产生的四个必要条件互斥条件:指进程对所分配到的资源进行排它性使用,即在一段时间内某资源只
发表于:2024-03-13 浏览:295 TAG:
【MySQL】表操作
第三篇:表操作#一、什么是表#表相当于文件,表中的一条记录就相当于文件的一行内容,不同的是,表中的一条记录有对应的标题,称为表的字段二、创建表#语法CREATE TABLE 表名( 字段名1  类型[(宽度)约束条件], 字段名1  类型[(宽度)约束条件], 字段名1  类型[(宽度)约束条件] )ENGINE=innodb DEFAULT CHARSET utf8; create
发表于:2024-06-21 浏览:287 TAG: #mysql
【MySql】批量替换数据表中某字段的值
系统域名变更,需要把数据库存储的图片、文件等链接域名也替换掉,使用了文字替换的方法,在此记录一下:数据库:mysqlUPDATE user SET headimg = REPLACE(headimg, 'a.com', 'b.com');其中 user 是数据表,headimg是其中的字段,把headimg中'a.com'全部替换成'b.com',headimg中
发表于:2024-04-02 浏览:337 TAG:
【MySql】存储与字段
文章目录1. 存储:一个完整的存储过程是怎样的?·创建MySQL数据库·确认字段·创建数据表·插入数据2. 字段:那么多字段类型,该怎么定义?·整数类型·浮点数类型和定点数类型·文本类型·日期与时间类型1. 存储:一个完整的存储过程是怎样的?在 MySQL 中,一个完整的数据存储过程总共有 4 步,分别是创建数据库、确认字段、创建数据表、插入数据。·创建MySQL数据库数据存储的第一步就是创建数据库。为什么不是直接创建数据表,而是创建一个数据库呢?从系统架构层次上看,MySQL数据库系统从大到小
发表于:2023-12-08 浏览:377 TAG:
【MySQL】MySQL主从同步实现
要实现MySQL的主从同步,可以按照以下步骤来进行操作:1 配置主服务器确保主服务器的MySQL配置文件my.cnf或my.ini中启动了二进制日志中brinary.log,即设置了log-bin参数为ON。为主数据库创建一个用于复制的用户,并授予复制权限。例如使用以下明命令:Create USER 'repl'@'slave_ip_address' INENTIFIED BY 'password';Grant REPLACEACTION SLAV
发表于:2024-06-27 浏览:241 TAG:
【MySQL】库操作
第二篇:库操作#一、系统数据库#1.information_schema :虚拟库,不占用磁盘空间,存储的是数据库启动后的一些参数,如用户表信息、列表息、权限信息、字符信息等 2.mysql:核心数据库,里面包含用户、权限、关键字等信息。不可以删除 3.performance_schema:mysql 5.5 版本后添加的新库,主要收集系统性能参数,记录处理查询请求时发生的各种事件、锁等现象 4.sys:mysql5.7 版本新增加的库,通过这个库可
发表于:2024-06-21 浏览:392 TAG: #mysql
【MySQL】mysql百万级数据表翻页查询特别慢的优化方式
最近遇到了mysql百万级数据表翻页查询特别慢的问题,查询第一页的时候,特别快,翻页跨度特别大的时候,翻页查询就会特别慢
发表于:2024-11-14 浏览:258 TAG: #mysql
【MySql】where和having的异同?
文章目录面试常考:where与having有什么不同?一个实际查询需求wherehaving怎么正确的使用where和having?面试常考:where与having有什么不同?我们在进行查询的时候,经常需要按照条件对查询结果进行筛选,这就要用到条件语句where和having了。where是直接对表中的字段进行限定来筛选结果,having则需要跟分组关键字group by一起使用,通过对分组字段或分组计算函数进行限定来筛选结果。虽然它们都是对查询进行限定,却有着各自的特点和适用场景。很多时候,
发表于:2023-12-08 浏览:402 TAG:
【MySql】SELECT* 会导致查询效率低的原因
前言一、适合SELECT*的使用场景二、SELECT*会导致查询效率低的原因2.1、数据库引擎的查询流程2.2、SELECT*的实际执行过程2.3、使用SELECT*查询语句带来的不良影响三、优化查询...
发表于:2024-10-21 浏览:303 TAG: #mysql