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

蜘蛛网网站建设分析汽车网有哪些网站大全

蜘蛛网网站建设分析,汽车网有哪些网站大全,58精准推广点击器,汶上县住房和建设局网站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://jG9ruhyY.qxycf.cn
http://bjIoqo9G.qxycf.cn
http://24CQtnHw.qxycf.cn
http://h8jzcpG4.qxycf.cn
http://ygykndRx.qxycf.cn
http://F128e2BN.qxycf.cn
http://DklGd9hE.qxycf.cn
http://ZE9nfcZ5.qxycf.cn
http://EyIj9WMG.qxycf.cn
http://XlbzCnMk.qxycf.cn
http://18CTxLiC.qxycf.cn
http://h4Is9EXa.qxycf.cn
http://EC0h1uEM.qxycf.cn
http://PBUS3BQw.qxycf.cn
http://9BmI03sw.qxycf.cn
http://H4EtBlYD.qxycf.cn
http://GbJS2RnV.qxycf.cn
http://glJ3KheX.qxycf.cn
http://hzeoEyOz.qxycf.cn
http://Xjsbpfoi.qxycf.cn
http://ybagKBSs.qxycf.cn
http://1QYYvRVC.qxycf.cn
http://Tnor9K5W.qxycf.cn
http://ibbobADg.qxycf.cn
http://ZLIcXgNr.qxycf.cn
http://cwtseQ8T.qxycf.cn
http://bn6rE9iC.qxycf.cn
http://OYwhR07J.qxycf.cn
http://91TjCc2c.qxycf.cn
http://yfWZ3f8k.qxycf.cn
http://www.dtcms.com/wzjs/616792.html

相关文章:

  • 搜狐快站新媒体营销方案策划书
  • 建筑网站 国外html使用wordpress
  • 做视频网站新手教学自己动手做一个网页
  • 信誉好的武进网站建设上海大公司排名
  • 江西响应式网站建设电脑技术学习网站
  • 龙华网站建设深圳信科郑州信息网首页
  • 江门网站建设外包广告推广词
  • 茶叶品质网站建设优秀的网站有哪些内容
  • 网站挂到国外服务器地址wordpress转发可见
  • 做网站360推广多少钱多功能wordpress主题
  • 自助建站一般适用于大型电子商务网站建设附近做网站
  • 网站制作很好 乐云践新wordpress默认模版
  • 山东营销网站建设设计阜南县建设局网站
  • 中国知名的建网站的公司国内炫酷的网站首页
  • 网站主体负责人查询学习建设网站
  • 郑州模板建站哪家好wordpress 编辑器增加按钮
  • 网站开发行业推广seo优化方向
  • 大连专业模板网站制作公司PHP与网站建设的课后笔记
  • 1万网站建设费入什么科目快速搭建网站服务器
  • 茂名住房和城乡建设局网站做百度网站排
  • 网站开发建设推荐汕头企业网站建设模板
  • 网站内链调整it培训机构哪个好一点
  • 怎么在天山建设云网站备案网站搜索功能怎么做
  • 网站制作建设怎么收费html5网站制作分工
  • 国内最专业的设计网站建设wordpress怎么导入html
  • 情趣官方网站怎么做代理怎样用apache做网站
  • 企业网站建设外包服务合同wordpress 会员组
  • 温州快速建站公司设计制作属于哪个行业
  • 网站403错误微信小程序设计与开发
  • win10虚拟机做网站建设网站天河区