本文主要是介绍数据操作(CUD),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
插入数据
一次插入单条数据
- 语法:
INSERT [INTO] 数据表名 [(字段名1[, 字段名2] ...)] {VALUES | VALUE} (值1) [, (值2)] ...;
- 演示:
1、在数据库ems中创建员工表emp:
CREATE TABLE emp(empno INT PRIMARY KEY,ename VARCHAR(20) UNIQUE NOT NULL,job VARCHAR(20) NOT NULL,mgr INT comment '直接领导的工号',sal DECIMAL(7,2),comm DECIMAL(7,2) comment '奖金',deptno INT
) ;
2、向所有字段插入数据:
指定字段名:
INSERT INTO emp (`empno`,`ename`,`job`,`mgr`,`sal`,`comm`,`deptno`) VALUES(9902,'赵六','分析员',9566,4000,NULL,20);
使用SELECT语句查询数据:
SELECT * FROM emp;
也可以省略所有字段名:
INSERT INTO emp VALUES(9566,'李四','经理',9839,3995,NULL,20);
3、向部分字段插入数据:
INSERT INTO emp (empno,ename,job,sal,deptno)VALUES(9839,'刘一','董事长',6000,10);
4、字段的默认值等信息可以通过数据表的创建语句进行查看
SHOW CREATE TABLE emp\G
执行结果:
- 注意
如果某个字段在定义时添加了非空约束,但没有添加默认值约束,那么插入新数据时就必须为该字段赋值,否则数据库系统会提示错误。
- 另一种语法
ININSERT INTO 数据表名SET 字段名1=值1[,字段名2=值2,…];
一次插入多条数据
- 语法
INSERT [INTO] 数据表名 [(字段名1,字段名2,…) ] {VALUES | VALUE}(值1,值2,…),(值1,值2,…), … (值1,值2,…);
- 演示
INSERT INTO emp
VALUES
(9499,'孙七','销售',9698,2600,300,30),
(9521,'周八','销售',9698,2250,500,30),
(9654,'吴九','销售',9698,2250,1400,30),
(9982,'陈二','经理',9839,3450,NULL,10),
(9988,'王五','分析员',9566,4000,NULL,20),
(9844,'郑十','销售',9698,2500,0,30),
(9900,'萧十一','保洁',9698,1050,NULL,30);
更新数据
更新数据是指对数据表中已经存在的数据进行修改。
- 语法
UPDATE 数据表名 SET 字段名1 = 值1[,字段名2 = 值2,…] [WHERE 条件表达式];
- 更新部分记录
UPDATE emp SET sal=sal+200 WHERE ename='张三';
UPDATE emp SET sal=sal+300 WHERE job='保洁';
- 更新全部记录
UPDATE emp SET sal=sal+500;
删除数据
删除数据是指对数据表中已经存在的数据进行删除。
- 语法
DELETE FROM 数据表名 [WHERE 条件表达式];
TRUNCATE [TABLE] 数据表名;
- 删除部分数据
DELETE FROM emp WHERE ename='孙七';
DELETE FROM emp WHERE job='分析员';
- 删除全部数据
DELETE FROM emp;
TRUNCATE emp;
- TRUNCATE语句和DETELE语句的区别
1.DELETE语句是数据操纵语句,TRUNCATE语句通常被认为是数据定义语句。
2.DELETE语句后面可以跟WHERE子句,通过指定WHERE子句中的条件表达式只删除满足条件的部分数据,而TRUNCATE语句只能用于删除表中的所有数据。
3.DELETE 语句是逐行删除记录,而TRUNCATE语句则是直接删除数据表,再重新创建一个一模一样的新表。
4.使用TRUNCATE语句删除表中的数据后,再次向表中添加数据时,自动增加字段的默认初始值重新由1开始,而使用DELETE语句删除表中所有数据后,再次向表中添加数据时,自动增加字段的值为删除时该字段的最大值加1。
- 演示上述第4条区别
1、创建一张表tab_truncate:
CREATE TABLE tab_truncate(id INT(3) PRIMARY KEY AUTO_INCREMENT,name VARCHAR(4)
);
2、向tab_truncate表中添加5条记录
INSERT INTO tab_truncate(name) VALUES('A'),('B'),('C'),('D'),('E');
3、删除tab_truncate表中的所有数据
TRUNCATE TABLE tab_truncate;
4、在空表tab_truncate 中,重新添加5条数据
INSERT INTO tab_truncate(name)VALUES('F'),('G'),('H'),('I'),('J');
执行后id从1开始。
5、使用DELETE语句删除tab_truncate表中的所有数据
DELETE FROM tab_truncate;
6、向tab_truncate数据表中添加一条新数据
INSERT INTO tab_truncate(name) VALUES('K');
执行后id从6开始。
上机实践:图书表的数据操作
# 向图书表book中插入表3-1中的图书信息
name | price | state |
Java基础入门(第3版) | 59.00 | '0' |
# 向用户表user中批量插入表3-2中的用户信息
name | state |
张三 | '0' |
李四 | '0' |
# 向图书表book中批量插入表3-3中的图书信息
name | price | state |
三国演义 | 69.00 | '2' |
MySQL数据库入门 | 40.00 | '0' |
JavaWeb程序开发入门 | 49.00 | '0' |
西游记 | 59.00 | '2' |
红楼梦 | 33.00 | '2' |
水浒传 | 66.66 | '2' |
# 将图书表book中图书《西游记》状态修改为可借阅(state字段的值为0代表可借阅)
# 将图书表book中《水浒传》的价格修改为66.00
# 将图书表book中所有的图书价格下调10%
# 删除图书表中图书《红楼梦》
# 为编号为1的用户借阅图书《MySQL数据库入门》
这篇关于数据操作(CUD)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!