MySQL特别的CRUD

1.IGNORE表示忽略错误,继续执行下面的

INSERT IGNORE INTO t_dept(deptno,dname,loc)
VALUES (40,'企划部','北京'),
       (50,'培训部','上海'),
	   (60,'后勤部','北京'),
	   (70,'技术部','北京'),
	   (80,'市场部','北京')

​ 就算中途某条执行错误,MySQL还是会继续执行下面的

2.写入数据

INSERT INTO t_emp_ip(id,empno,ip)
VALUES (1,8000,'192.168.99.40'),
       (2,8001,'192.168.99.41'),
	   (3,8002,'192.168.99.42'),
	   (4,8003,'192.168.99.43')

3.插入或更新数据时,有时候不知道表中有没有数据,需要先查一下有没有,其实不用,

ON DUPLICATE KEY UPDATE ip=VALUES(ip);

如果发现已有记录,把已有记录更新
数据表中已有8001数据,但IP不同,运行后8001的ip变成192.168.99.47

INSERT INTO t_emp_ip(id,empno,ip)
VALUES (5,8004,'192.168.99.44'),
       (6,8005,'192.168.99.45'),
	   (7,8006,'192.168.99.46'),
	   (8,8001,'192.168.99.47')
ON DUPLICATE KEY UPDATE ip=VALUES(ip);

4.表连接:更新表

UPDATE t_emp e JOIN t_dept d ON e.deptno=d.deptno
AND d.dname='SALES'
SET e.sal=10000,d.dname='销售部'

5.表连接:删除表

删除ed两张表销售部的记录

DELETE e,d FROM t_emp e JOIN t_dept d ON d.deptno=e.deptno
AND d.dname='销售部'
发布了4 篇原创文章 · 获赞 0 · 访问量 119

猜你喜欢

转载自blog.csdn.net/qq_44930184/article/details/104682699