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 表名;
相关推荐
老李四2 小时前
深入理解MySQL事务:特性、原理与实践
数据库·mysql
洋生巅峰2 小时前
股票爬虫实战解析
爬虫·python·mysql
SelectDB技术团队2 小时前
慢 SQL 诊断准确率 99.99%,天翼云基于 Apache Doris MCP 的 AI 智能运维实践
大数据·数据库·人工智能·sql·apache
倔强的小石头_2 小时前
Python 从入门到实战(十三):Flask + 数据库(让 Web 应用支持数据持久化与多人协作)
数据库·python·flask
冰冰菜的扣jio2 小时前
探秘数据库——MySQL基础(四)
数据库·mysql
愚公移码2 小时前
蓝凌EKP产品:扩展Druid 数据源KmssDruidDataSource在企业级数据源初始化与连接监控实践
数据库·hibernate·蓝凌·druiddatasource
Java程序员-小白2 小时前
使用Docker安装MySQL
mysql·docker·容器
和光同尘20232 小时前
一文讲透CentOS下安装部署使用MYSQL
linux·运维·数据库·数据仓库·mysql·centos·database
深圳市恒星物联科技有限公司2 小时前
国内排水监测公司有哪些?
大数据·网络·数据库·物联网