mysql增删改的方法是什么

网友投稿 522 2023-11-21

mysql增删改的方法是什么

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

插入数据

mysql增删改的方法是什么

代码案例

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

代码案例

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

代码案例

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

代码案例

# 新建1张表,字段c即为计算列 CREATE TABLE test1( a INT, b INT, c INT GENERATED ALWAYS AS (a + b) VIRTUAL   ); # 插入前2个字段时,自动计算第3个字段 INSERT INTO test1(a,b) VALUES(10,20); # 修改第1个字段后,自定计算第3个字段 UPDATE test1 SET a = 100;综合案例

代码案例

# 创建数据库test01_library CREATE DATABASE IF NOT EXISTS test01_library CHARACTER SET utf8; # 切换数据库 USEtest01_library;# 创建表 books,表结构如下: CREATE TABLE IF NOT EXISTS books( id INT, `name` VARCHAR(50), `authors` VARCHAR(100), price FLOAT, pubdate YEAR, note VARCHAR(100), num INT ); # 查看表结构 DESC books; # 查看表数据 SELECT * FROM books; # 向books表中插入记录 # 1)不指定字段名称,插入第一条记录 INSERT INTO books VALUES(1Tal of AAADickes231995novel11); # 2)指定所有字段名称,插入第二记录 INSERT INTO books(idNAMEAUTHORS, price, pubdate, note, num) VALUES(2,EmmaTJane lura351993joke22); # 3)同时插入多条记录 INSERT INTO books(idNAMEAUTHORS, price, pubdate, note, num) VALUES (3Story of JaneJane Tim402001novel0), (4Lovey DayGeorge Byron202005novel30), (5Old landHonore Blade302010Law0), (6The BattleUpton Sara301999medicine40), (7Rose HoodRichard haggard282008cartoon28); # 将小说类型(novel)的书的价格都增加5 UPDATEbooksSET price = price + 5 WHERE note = novel; # 将名称为EmmaT的书的价格改为40,并将说明改为drama UPDATE books SET price = 40, note =drama WHERE NAME = EmmaT; # 删除库存为0的记录 DELETE FROM books WHERE num = 0; 统计书名中包含a字母的书 SELECT NAME FROM books WHERE NAME LIKE %a%; # 统计书名中包含a字母的书的数量和库存总量 SELECT COUNT(*), SUM(num) FROM books WHERE NAME LIKE %a%; #  找出“novel”类型的书,按照价格降序排列 SELECT NAME, note, price FROM books WHERE note = novel ORDER BY price DESC; # 查询图书信息,按照库存量降序排列,如果库存量相同的按照note升序排列 SELECT * FROM books ORDER BY num DESC, note ASC; # 按照note分类统计书的数量 SELECT note, COUNT(*) FROM books GROUP BYnote;# 按照note分类统计书的库存量,显示库存量超过30本的 SELECT note, SUM(num) FROM books GROUP BY note HAVING SUM(num) > 30; # 查询所有图书,每页显示5本,显示第二页 SELECT * FROM books LIMIT 55; # 按照note分类统计书的库存量,显示库存量最多的 SELECT note, SUM(num) sum_num FROM books GROUP BY note ORDER BY sum_num DESC LIMIT 01; # 查询书名达到10个字符的书,不包括里面的空格 SELECT CHAR_LENGTH(REPLACE(NAME, , )) FROMbooks;# 方式2: SELECT NAME FROM books WHERE CHAR_LENGTH(REPLACE(NAME, , )) >= 10; # 查询书名和类型,其中note值为novel显示小说,law显示法律,medicine显示医药,cartoon显示卡通,joke显示笑话 SELECT NAME "书名", note, CASE note  WHEN novel THEN 小说 WHEN law THEN 法律 WHEN medicine THEN 医药 WHEN cartoon THEN 卡通 WHEN joke THEN 笑话 ELSE 其他 END "类型" FROM books; # 查询书名、库存,其中num值超过30本的,显示滞销,大于0并低于10的,显示畅销,为0的显示需要无货 SELECT NAME AS "书名"num AS "库存"CASE WHEN num > 30 THEN 滞销 WHEN num > 0 AND num < 10 THEN 畅销 WHEN num=0 THEN 无货 ELSE 正常 END "显示状态" FROM books; # 统计每一种note的库存量,并合计总量 SELECT IFNULL(note, 合计库存总量AS note, SUM(num) FROMbooksGROUP BY note WITH ROLLUP; # 统计每一种note的数量,并合计总量 SELECT IFNULL(note, 合计总量AS note, COUNT(*) FROM books GROUP BYnoteWITH ROLLUP; # 统计库存量前三名的图书 SELECT * FROM books ORDER BY num DESC LIMIT 03; # 找出最早出版的一本书 SELECT * FROM books ORDER BY pubdate ASC LIMIT 01; # 找出novel中价格最高的一本书 SELECT * FROM books WHERE note = novel ORDER BY price DESC LIMIT 01; # 找出书名中字数最多的一本书,不含空格 SELECT * FROM books ORDER BY CHAR_LENGTH(REPLACE(NAME, , )) DESC LIMIT 01;

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

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:SQL Server如何跨服务器操作数据库
下一篇:mysql子查询如何应用
相关文章

 发表评论

暂时没有评论,来抢沙发吧~