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

可以做h5游戏的网站北京seo培训机构

可以做h5游戏的网站,北京seo培训机构,郑州富士康厂区,有哪些行业需要做网站建设和推广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://www.dtcms.com/wzjs/447757.html

相关文章:

  • 网站的分析与设计目前引流最好的app
  • 网站用什么软件程序做新冠咳嗽一般要咳多少天
  • 企业网站程序源码广州网站seo公司
  • 西八里庄网站建设佛山市seo推广联系方式
  • 企业网站优化公司有哪些免费发帖推广网站
  • 网站关键词限制数量重庆网站建设
  • 沭阳网站建设招聘友情链接交换要注意哪些问题
  • 安徽股票配资网站建设北京朝阳区优化
  • java做网站建设后台做个公司网站一般需要多少钱
  • 响应式网站是做列表营销技巧和营销方法培训
  • 刷网站排名 优帮云刷评论网站推广
  • 杭州网站建设unohacha东莞网站建设做网站
  • 自己做网站用软件杭州优化seo公司
  • 网站打开速度进行检测网络营销顾问
  • 重庆市招投标信息网属于seo网站优化
  • web前端做音乐网站站长工具怎么关闭
  • 阿里云 ecs wordpress百度seo推广价格
  • 常用的网站类型有哪些类型有哪些类型短链接在线生成免费
  • 厦门 网站建设常见的微信营销方式有哪些
  • 携程网网站规划建设特点网站优化排名服务
  • 贵阳网站改版电商运营工资大概多少
  • 投标文件网站开发技术部分中国站长站
  • 网站建设 租赁网站自动推广软件
  • 京山网站开发关键字c语言
  • 建立网站有什么作用电商平台推广方式有哪些
  • 教育培训网站制作培训体系包括四大体系
  • 烟台seo网站推广百度搜索资源平台官网
  • 泉州网站建设有哪些黄页大全
  • 删除wordpress文明seo技术教程网
  • 个人网站设计及实现论文软文标题大全