当前位置: 首页 > wzjs >正文

网站标题字体网站建设伍际网络

网站标题字体,网站建设伍际网络,学校的网站是怎么建设的,wordpress最新版核心MySQL 插入、删除和更新操作详解 一、插入数据(INSERT) 1. 基本插入语法 2. 插入多行数据 3. 从其他表插入数据 4. 插入NULL值和默认值 二、更新数据(UPDATE) 1. 基本更新语法 2. 使用子查询更新 3. 批量更新注意事项 三、删除数据(DELETE) 1. 基本删除语法 2. 清空…

MySQL 插入、删除和更新操作详解

一、插入数据(INSERT)

1. 基本插入语法

2. 插入多行数据

3. 从其他表插入数据

4. 插入NULL值和默认值

二、更新数据(UPDATE)

1. 基本更新语法

2. 使用子查询更新

3. 批量更新注意事项

三、删除数据(DELETE)

1. 基本删除语法

2. 清空表数据

3. 使用外键约束的删除

四、高级操作技巧

1. INSERT ON DUPLICATE KEY UPDATE

2. REPLACE INTO

3. 使用事务保证操作原子性

五、性能优化建议

总结


MySQL 插入、删除和更新操作详解

MySQL 中的插入(INSERT)、删除(DELETE)和更新(UPDATE)操作是数据库管理的基础操作,下面我将详细介绍这些操作的知识点,并提供代码示例。

一、插入数据(INSERT)

1. 基本插入语法

INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...); 

示例:

-- 向employees表中插入一条记录 
INSERT INTO employees (emp_id, name, department, salary) 
VALUES (101, '张三', '销售部', 5000); 

2. 插入多行数据

INSERT INTO table_name (column1, column2, ...) 
VALUES (value1, value2, ...), (value1, value2, ...), ...; 

示例:

-- 一次性插入多条记录 
INSERT INTO employees (emp_id, name, department, salary) 
VALUES (102, '李四', '技术部', 8000), (103, '王五', '市场部', 6000), (104, '赵六', '人事部', 5500); 

3. 从其他表插入数据

INSERT INTO table_name1 (column1, column2, ...) 
SELECT column1, column2, ... FROM table_name2 WHERE condition; 

示例:

-- 从temp_employees表中选择数据插入到employees表 
INSERT INTO employees (emp_id, name, department, salary) 
SELECT emp_id, name, department, salary FROM temp_employees WHERE hire_date > '2022-01-01'; 

4. 插入NULL值和默认值

-- 插入NULL值 
INSERT INTO employees (emp_id, name, department, salary, bonus) VALUES (105, '钱七', '财务部', 7000, NULL); 
-- 使用默认值 
INSERT INTO employees (emp_id, name, department, salary) VALUES (106, '孙八', DEFAULT, 6500); 

二、更新数据(UPDATE)

1. 基本更新语法

UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition; 

示例:

-- 更新特定员工的工资 
UPDATE employees SET salary = 7500 WHERE emp_id = 101; -- 更新多个字段 UPDATE employees SET department = '研发部', salary = salary * 1.1 WHERE department = '技术部'; 

2. 使用子查询更新

UPDATE table_name SET column1 = (SELECT ...) WHERE condition; 

示例:

-- 根据部门平均工资调整员工工资 
UPDATE employees e SET salary = salary * 1.05 WHERE salary < ( SELECT AVG(salary) FROM employees WHERE department = e.department ); 

3. 批量更新注意事项

对于大批量更新,建议:

  • 在低峰期执行
  • 分批更新,每次更新少量数据
  • 添加适当的sleep时间避免锁争用

示例:

-- 分批更新示例 
UPDATE products SET price = price * 1.1 
WHERE id BETWEEN 1 AND 100; DO SLEEP(0.1); UPDATE products SET price = price * 1.1 WHERE id BETWEEN 101 AND 200; DO SLEEP(0.1); 

三、删除数据(DELETE)

1. 基本删除语法

DELETE FROM table_name WHERE condition; 

示例:

-- 删除特定员工记录 
DELETE FROM employees WHERE emp_id = 105; 
-- 删除特定条件的记录 
DELETE FROM employees WHERE department = '临时部门'; 

2. 清空表数据

-- 使用DELETE清空表(可回滚) 
DELETE FROM table_name; 
-- 使用TRUNCATE清空表(更快,不可回滚) 
TRUNCATE TABLE table_name; 

3. 使用外键约束的删除

当表有外键约束时,可以使用ON DELETE CASCADE自动删除相关记录:

-- 创建表时设置级联删除 
CREATE TABLE orders ( order_id INT PRIMARY KEY, emp_id INT, order_date DATE, FOREIGN KEY (emp_id) REFERENCES employees(emp_id) ON DELETE CASCADE ); 
-- 删除员工时,其相关订单也会自动删除 
DELETE FROM employees WHERE emp_id = 101; 

四、高级操作技巧

1. INSERT ON DUPLICATE KEY UPDATE

当插入数据时如果主键冲突,则执行更新操作:

INSERT INTO employees (emp_id, name, department, salary) 
VALUES (101, '张三', '销售部', 5500) ON DUPLICATE KEY UPDATE name = VALUES(name), department = VALUES(department), salary = VALUES(salary); 

2. REPLACE INTO

如果记录存在则先删除再插入,不存在则直接插入:

REPLACE INTO employees (emp_id, name, department, salary) 
VALUES (101, '张三', '销售部', 6000); 

3. 使用事务保证操作原子性

START TRANSACTION; INSERT INTO orders (order_id, emp_id, order_date, amount) VALUES (1001, 101, '2023-05-01', 1000); UPDATE employees SET sales_count = sales_count + 1 WHERE emp_id = 101; COMMIT; -- 如果出现错误可以执行 ROLLBACK; 

五、性能优化建议

  1. 批量操作:尽量使用批量插入而非单条插入
  2. 索引影响:无索引时装载比索引装载更快
  3. LOAD DATA:大批量数据导入时,LOAD DATA比INSERT快约20倍
  4. 锁定策略:大批量更新时考虑分批进行,避免长时间锁表
  5. 禁用索引:大批量插入前可暂时禁用索引,完成后再重建

示例:

-- 禁用索引 
ALTER TABLE employees DISABLE KEYS; -- 执行大批量插入 
INSERT INTO employees ...; -- 启用索引 
ALTER TABLE employees ENABLE KEYS; 

总结

MySQL的增删改操作是数据库管理的核心功能。合理使用这些操作,并结合事务、索引优化等技术,可以显著提高数据库操作效率和安全性。在实际应用中,应根据具体场景选择最适合的操作方式,并注意性能优化和数据一致性问题。


文章转载自:

http://QEO8WfKq.qysnd.cn
http://rdpfYtbe.qysnd.cn
http://babWWXB1.qysnd.cn
http://Wq49YISh.qysnd.cn
http://JBmAI9AT.qysnd.cn
http://BQzO0StS.qysnd.cn
http://wCSH3QrW.qysnd.cn
http://YNCJJhB1.qysnd.cn
http://XJDxrOOv.qysnd.cn
http://NGOz4RBO.qysnd.cn
http://TDLoZ35K.qysnd.cn
http://zM9KJckG.qysnd.cn
http://XR6r80QT.qysnd.cn
http://UquLe5I1.qysnd.cn
http://3hTszZJ8.qysnd.cn
http://jg6s4Mjc.qysnd.cn
http://ShtIBhZ5.qysnd.cn
http://otAksCYr.qysnd.cn
http://dcwDNRuB.qysnd.cn
http://zrPkplyQ.qysnd.cn
http://IBVcPLTW.qysnd.cn
http://Uc4e9Dj1.qysnd.cn
http://R2A4ZD0o.qysnd.cn
http://R80fuOSE.qysnd.cn
http://6CY9P0xQ.qysnd.cn
http://IB2IthqD.qysnd.cn
http://nMuGtYna.qysnd.cn
http://tTkPPGpY.qysnd.cn
http://30cPInwu.qysnd.cn
http://T2M5hI9h.qysnd.cn
http://www.dtcms.com/wzjs/645765.html

相关文章:

  • 电子商务网站策划书网页设计模板图片
  • discuz网站名称做个网站多少钱 百度能查到的
  • 网站icp备案wordpress 插件启用钩子
  • 汕头模板做网站最值得购买 wordpress
  • 怎么测网站流量吗亚马逊跨境电商官方网站
  • 建设网站费用评估wordpress 评论双击
  • 宁津 做网站wordpress hsts
  • 自媒体短视频制作教程seo引擎
  • 免费网站建设软件大全网站开发过程分为哪几个阶段
  • 新网站建设信息印刷网站模板下载
  • 佛山网站优化包年html的网页代码
  • 做网站需要几个服务器做淘宝客网站用什么程序最好
  • 莱芜网站建设怎么样电子商务网站帮助中心该怎么更好地设计
  • 网站域名怎么做网站关键词排名快速提升
  • 网站动态小图标南开区网站建设
  • 刘涛做的网站网站设计与网页制作在线
  • 企业网站建设大概的费用河源建网站
  • 海外广告投放是干嘛的在线排名优化
  • 网站做成app客户端网站图片设置链接
  • 一家公司做两个网站wordpress全自动淘宝客
  • 东莞 网站推广网站为什么需要备案号
  • 怎么在工商局网站做股东变更网店美工实训报告
  • 网页设计模板html代码软件成都搜狗seo
  • 有了网站源码如何做网页怎样制作自己的网站
  • 网站建设制度制定情况WordPress如何设置付费下载
  • 网站开发邮件服务器南宁有做门户网站的公司吗
  • 网站建设管理招聘网站后台更改首页代码
  • 设计网站 f怀化网页
  • 无锡高端网站建设哪家好企业网站建设排名官网
  • 网站建设的设立方式什么是网络营销概念