这篇文章主要介绍“mysql增删改的方法是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“mysql增删改的方法是什么”文章能帮助大家解决问题。

插入数据

代码案例

#方式1:一条一条的添加数据#没有指明添加的字段时,一定要按照声明的字段的先后顺序添加INSERTINTOemp1VALUES(1,'Tom','2000-12-21',3400);#错误写法:没有指定添加字段,也没有按声明顺序INSERTINTOemp1VALUES(2,3400,'2000-12-21','Jerry');#指明要添加的字段(推荐)INSERTINTOemp1(id,hire_date,salary,`name`)VALUES(2,'1999-09-09',4000,'Jerry');#说明:没有进行赋值的hire_date的值为nullINSERTINTOemp1(id,salary,`name`)VALUES(3,4500,'shk');#同时插入多条记录(推荐)INSERTINTOemp1(id,NAME,salary)VALUES(4,'Jim',5000),(5,'张俊杰',5500);#VALUES也可以写成VALUE,但是VALUES是标准写法。#字符和日期型数据应包含在单引号中#方式2:将查询结果插入到表中;查询的字段一定要与添加到的表的字段一一对应INSERTINTOemp1(id,NAME,salary,hire_date)SELECTemployee_id,last_name,salary,hire_dateFROMemployeesWHEREdepartment_idIN(70,60);#说明:emp1表中要添加数据的字段的长度不能低于employees表中查询的字段的长度#如果emp1表中要添加数据的字段的长度低于employees表中查询的字段的长度的话,就有添加不成功的风险更新数据

代码案例

#UPDATE....SET....WHERE...#可以实现批量修改数据的#更新为当前时间UPDATEemp1SEThire_date=CURDATE()WHEREid=5;#同时修改一条数据的多个字段UPDATEemp1SEThire_date=CURDATE(),salary=6000WHEREid=4;#将表中姓名中包含字符a的提薪20%UPDATEemp1SETsalary=salary*1.2WHERENAMELIKE'%a%';#修改数据时,是可能存在不成功的情况的。(可能是由于约束的影响造成的)UPDATEemployeesSETdepartment_id=10000WHEREemployee_id=102;删除数据

代码案例

#删除id为1的数据DELETEFROMemp1WHEREid=1;#在删除数据时,也有可能因为约束的影响,导致删除失败DELETEFROMdepartmentsWHEREdepartment_id=50;#DML操作默认情况下,执行完以后都会自动提交数据#如果希望执行完以后不自动提交数据,则需要在DML操作前,使用SETautocommit=FALSEmysql8新特性,计算列

代码案例

#新建1张表,字段c即为计算列CREATETABLEtest1(aINT,bINT,cINTGENERATEDALWAYSAS(a+b)VIRTUAL);#插入前2个字段时,自动计算第3个字段INSERTINTOtest1(a,b)VALUES(10,20);#修改第1个字段后,自定计算第3个字段UPDATEtest1SETa=100;综合案例

代码案例

#创建数据库test01_libraryCREATEDATABASEIFNOTEXISTStest01_libraryCHARACTERSET'utf8';#切换数据库USEtest01_library;#创建表books,表结构如下:CREATETABLEIFNOTEXISTSbooks(idINT,`name`VARCHAR(50),`authors`VARCHAR(100),priceFLOAT,pubdateYEAR,noteVARCHAR(100),numINT);#查看表结构DESCbooks;#查看表数据SELECT*FROMbooks;#向books表中插入记录#1)不指定字段名称,插入第一条记录INSERTINTObooksVALUES(1,'TalofAAA','Dickes',23,'1995','novel',11);#2)指定所有字段名称,插入第二记录INSERTINTObooks(id,NAME,AUTHORS,price,pubdate,note,num)VALUES(2,'EmmaT','Janelura',35,'1993','joke',22);#3)同时插入多条记录INSERTINTObooks(id,NAME,AUTHORS,price,pubdate,note,num)VALUES(3,'StoryofJane','JaneTim',40,2001,'novel',0),(4,'LoveyDay','GeorgeByron',20,2005,'novel',30),(5,'Oldland','HonoreBlade',30,2010,'Law',0),(6,'TheBattle','UptonSara',30,1999,'medicine',40),(7,'RoseHood','Richardhaggard',28,2008,'cartoon',28);#将小说类型(novel)的书的价格都增加5UPDATEbooksSETprice=price+5WHEREnote='novel';#将名称为EmmaT的书的价格改为40,并将说明改为dramaUPDATEbooksSETprice=40,note='drama'WHERENAME='EmmaT';#删除库存为0的记录DELETEFROMbooksWHEREnum=0;#统计书名中包含a字母的书SELECTNAMEFROMbooksWHERENAMELIKE'%a%';#统计书名中包含a字母的书的数量和库存总量SELECTCOUNT(*),SUM(num)FROMbooksWHERENAMELIKE'%a%';#找出“novel”类型的书,按照价格降序排列SELECTNAME,note,priceFROMbooksWHEREnote='novel'ORDERBYpriceDESC;#查询图书信息,按照库存量降序排列,如果库存量相同的按照note升序排列SELECT*FROMbooksORDERBYnumDESC,noteASC;#按照note分类统计书的数量SELECTnote,COUNT(*)FROMbooksGROUPBYnote;#按照note分类统计书的库存量,显示库存量超过30本的SELECTnote,SUM(num)FROMbooksGROUPBYnoteHAVINGSUM(num)>30;#查询所有图书,每页显示5本,显示第二页SELECT*FROMbooksLIMIT5,5;#按照note分类统计书的库存量,显示库存量最多的SELECTnote,SUM(num)sum_numFROMbooksGROUPBYnoteORDERBYsum_numDESCLIMIT0,1;#查询书名达到10个字符的书,不包括里面的空格SELECTCHAR_LENGTH(REPLACE(NAME,'',''))FROMbooks;#方式2:SELECTNAMEFROMbooksWHERECHAR_LENGTH(REPLACE(NAME,'',''))>=10;#查询书名和类型,其中note值为novel显示小说,law显示法律,medicine显示医药,cartoon显示卡通,joke显示笑话SELECTNAME"书名",note,CASEnoteWHEN'novel'THEN'小说'WHEN'law'THEN'法律'WHEN'medicine'THEN'医药'WHEN'cartoon'THEN'卡通'WHEN'joke'THEN'笑话'ELSE'其他'END"类型"FROMbooks;#查询书名、库存,其中num值超过30本的,显示滞销,大于0并低于10的,显示畅销,为0的显示需要无货SELECTNAMEAS"书名",numAS"库存",CASEWHENnum>30THEN'滞销'WHENnum>0ANDnum<10THEN'畅销'WHENnum=0THEN'无货'ELSE'正常'END"显示状态"FROMbooks;#统计每一种note的库存量,并合计总量SELECTIFNULL(note,'合计库存总量')ASnote,SUM(num)FROMbooksGROUPBYnoteWITHROLLUP;#统计每一种note的数量,并合计总量SELECTIFNULL(note,'合计总量')ASnote,COUNT(*)FROMbooksGROUPBYnoteWITHROLLUP;#统计库存量前三名的图书SELECT*FROMbooksORDERBYnumDESCLIMIT0,3;#找出最早出版的一本书SELECT*FROMbooksORDERBYpubdateASCLIMIT0,1;#找出novel中价格最高的一本书SELECT*FROMbooksWHEREnote='novel'ORDERBYpriceDESCLIMIT0,1;#找出书名中字数最多的一本书,不含空格SELECT*FROMbooksORDERBYCHAR_LENGTH(REPLACE(NAME,'',''))DESCLIMIT0,1;

关于“mysql增删改的方法是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注亿速云行业资讯频道,小编每天都会为大家更新不同的知识点。