MySQL_INSERT UPDATE DELETE语句

使用INSERT(增加)向表中插入数据:

案例:创建一张商品表,并添加两条记录:

sql 复制代码
#使用insert语句
#创建表
CREATE TABLE t08(id INT,goods_name VARCHAR(10),price DOUBLE);
#添加数据
INSERT INTO t08(id,goods_name,price) VALUES(11,'华为手机',2000);
INSERT INTO t08(id,goods_name,price) VALUES(22,'苹果手机',3000);

#创建表
CREATE TABLE t09(id INT(11),user_name VARCHAR(64),birthday DATE,entry_date DATETIME,
	job VARCHAR(60),salary DOUBLE,`resume` TEXT,image VARCHAR(32));
#添加数据
INSERT INTO t09(id,user_name,birthday,entry_date,job,salary,`resume`,image) VALUES('101','林表','1907-12-5','1971-9-13 20:00:00','公务员',500,'开果元帅',' ');

SELECT * FROM t09

细节说明:

1.插入的数据应与字段的数据类型相同

2.数据的长度应该在列规定范围内

3.在values中列出的数据位置必须与被加入的列的排列位置相对应

4.字符和日期型数据应包含在单引号中

5.列可以插入空值(前提是该字段允许为空)

sql 复制代码
INSERT INTO TABLE VALUE(NULL);

6.可以以 INSERT INTO tab_name(列名) values (),(),()的形式添加多条记录

7.如果是给表中的所有字段添加数据,可以不写前面的字段名称

8.默认值的使用,当不给某个字段值时,如果有默认值就会添加,否则报错

sql 复制代码
#说明insert 语句的细节
-- 1.插入的数据应与字段的数据类型相同。
--       比如 把 'abc' 添加到 int 类型会错误
INSERT INTO `goods` (id, goods_name, price) 
	VALUES('泥嚎', '小米手机', 2000);
-- 2. 数据的长度应在列的规定范围内,例如:不能将一个长度为80的字符串加入到长度为40的列中。
INSERT INTO `goods` (id, goods_name, price) 
	VALUES(40, 'vovo手机vovo手机vovo手机vovo手机vovo手机', 3000);
-- 3. 在values中列出的数据位置必须与被加入的列的排列位置相对应。
INSERT INTO `goods` (id, goods_name, price)  -- 不对
	VALUES('vovo手机',40, 2000);
-- 4. 字符和日期型数据应包含在单引号中。
INSERT INTO `goods` (id, goods_name, price) 
	VALUES(40, vovo手机, 3000); -- 错误的 vovo手机 应该 'vovo手机'
-- 5. 列可以插入空值[前提是该字段允许为空],insert into table value(null)
INSERT INTO `goods` (id, goods_name, price) 
	VALUES(40, 'vovo手机', NULL);
-- 6. insert into tab_name (列名..)  values (),(),()  形式添加多条记录
INSERT INTO `goods` (id, goods_name, price) 
	VALUES(50, '三星手机', 2300),(60, '海尔手机', 1800);
-- 7. 如果是给表中的所有字段添加数据,可以不写前面的字段名称
INSERT INTO `goods`   
	VALUES(70, 'IBM手机', 5000);
-- 8. 默认值的使用,当不给某个字段值时,如果有默认值就会添加默认值,否则报错
      -- 如果某个列 没有指定 not null ,那么当添加数据时,没有给定值,则会默认给null
      -- 如果我们希望指定某个列的默认值,可以在创建表时指定
INSERT INTO `goods` (id, goods_name)   
	VALUES(80, '格力手机');

SELECT * FROM goods;

INSERT INTO `goods2` (id, goods_name)   
	VALUES(10, '顺平手机');
SELECT * FROM goods2;

使用UPDATE(改)语句修改表中的数据:

应用案例:

sql 复制代码
#创建表
CREATE TABLE t10(id INT(11),user_name VARCHAR(64),birthday DATE,entry_date DATETIME,
	job VARCHAR(60),salary DOUBLE,`resume` TEXT,image VARCHAR(32));
INSERT INTO t10(id,user_name,birthday,entry_date,job,salary,`resume`,image) VALUES('001','小妖怪','2000-1-1','2011-1-1 20:00:00','后勤处',2500,'后勤管理',' ');
INSERT INTO t10(id,user_name,birthday,entry_date,job,salary,`resume`,image) VALUES('002','中妖怪','2003-1-1','2015-1-1 20:00:00','前端',12500,'前端程序员',' ');
INSERT INTO t10(id,user_name,birthday,entry_date,job,salary,`resume`,image) VALUES('003','老妖怪','2005-1-1','2018-1-1 20:00:00','后端',22500,'CRUD程序员',' ');

SELECT * FROM t10;

#使用UPDATE进行修改
#1.将所有员工薪水修改为5000元,如果没有带where条件,会修改所有sal
UPDATE t10 SET salary = 5000;
#2.将姓名为 小妖怪的员工薪水修改为3000元
UPDATE t10 SET salary = 3000 WHERE user_name = '小妖怪';
#3.将姓名为 老妖怪的员工薪水在原基础上增加1000元
UPDATE t10 SET salary = salary + 1000 WHERE user_name = '老妖怪';

细节说明:

1.UPDATE语法可以用新值更新原有表行中的各列

2.SET字句知识要修改那些列和要给予哪些值

3.WHERE字句指定应更新哪些行.如没有WHERE字句,则更新所有的行

4.如果需要修改多个字段,可以通过 set字段1 = 值1,字段2 = 值2......

使用DELETE语句删除表中数据:

应用案例:

sql 复制代码
#使用DELETE进行删除数据操作
#删除上表中名为'老妖怪'的记录
DELETE FROM t10 WHERE user_name = '老妖怪';
#删除表中所有记录
DELETE FROM t10;

SELECT * FROM t10;

细节说明:

1.如果不使用WHERE字句,将删除表中的所有数据

2.DELETE语句不能删除某一列的值,(可使用update 设为null或者' ')

3.使用DELETE语句仅删除记录,不删除表本身.如要删除表,使用drop table语句:

sql 复制代码
DROP TABLE 表名;
相关推荐
bksczm1 分钟前
InnoDB 页结构详解:页类型、页头页尾、数据行与页目录
数据库·mysql
bksczm1 小时前
InnoDB 行格式详解:DYNAMIC / COMPACT / COMPRESSED / REDUNDANT
java·开发语言·数据库
余槐i1 小时前
MySQL 8.0 联合索引走错:为什么加了索引查询反而从 200ms 变成 8s
java·spring boot·mysql·docker·性能优化
字节跳动开源1 小时前
OpenViking连接业务系统,LLM Wiki一键编译
数据库·开源
进击的荆棘2 小时前
MySQL——数据库基础
数据库·mysql
Decay__2 小时前
22_MySQL 运维自动化平台 —— 部署编排 + 监控 + 巡检 + 告警 + 工单闭环一体化
运维·数据库·sql·mysql·架构
FungLeo3 小时前
成为全栈·基础补充·数据库索引:为什么加了索引还是慢
mysql·postgresql·sqlite·sql优化·数据库索引·成为全栈
codeejun3 小时前
每日一Go·MySQL-11、覆盖索引 & 回表原理
javascript·数据库·mysql
CoderYanger3 小时前
Java EE 进阶:8.MyBatis 操作数据库(入门)(第一弹)
java·数据库·spring·面试·职场和发展·java-ee·mybatis
XLYcmy4 小时前
信息检索报告数字经济赋能城市低碳治理的路径研究——基于“传统数据库 + 生成式人工智能”双轮驱动的检索实践 检索实施与结果分析 Web of Science
数据库·ai·llm·prompt·ssci·deepseek·wos