文章目录
DROP TABLE 语句和DELETE语句
1.DROP TABLE语句可以将表完全删除。
如果再想插入数据,必须重新创建一个表
2.delete 语句会留下表(容器),而删除表中的全部数据
想要再次插入数据,使用insert语句即可
DELETE语句的基本语法
1.保留数据表,删除全部数据行
DELETE 语句的删除对象是行(记录)
DELETE FROM 表名;
指定删除对象的DELETE语句(搜索型delete)
使用where子句指定删除条件,删除部分数据行
语法结构
DELETE FROM 表名
WHERE 条件;
DELETE FROM ShopinfoCopy
WHERE sale_danjia>4000;
p.s.舍弃truncate
只能删除表中全部数据,不能指定删除条件,处理速度比delete快,可以回滚。
TRUNCATE 表名;
数据的更新
UPDATE语句的基本语法
UPDATE 表名
SET 列名=表达式;
更新对象的列和更新后的值都记述在SET子句中。
eg.更改商品表中的日期
原表
UPDATE ShopinfoCopy
SET signdate='2009-10-10';
指定条件的UPDATE语句(搜索型UPDATE)
基本语法
UPDATE 表名
SET 列名=表达式
WHERE 条件;
eg.将厨房用具的销售单价更新为原来的10倍
UPDATE ShopinfoCopy
SET sale_danjia=10*sale_danjia
WHERE shop_cata='厨房用具';
set子句赋值表达式的右边不仅可以是单纯的值,还可以是包含列的表达式
使用NULL进行更新
将数据更新为NULL的时候,将赋值表达式右边的值直接写为null即可,只限于未设置not null约束的列
将编号0008数据的登记日期更新为NULL
UPDATE ShopinfoCopy
SET signdate=NULL
WHERE shop_id='0008';
多列更新
将厨房用具销售单价更新为10倍,同时进价更新为原来的一半。
方法一、用逗号将列分隔
UPDATE ShopinfoCopy
SET sale_danjia=10*sale_danjia,
jinhuo_danjia=jinhuo_danjia/2
WHERE shop_cata='厨房用具';
方法二、将列用()括起来
但是MYSQL不能使用这种方法,因此建议使用第一种方法
UPDATE ShopinfoCopy
SET (sale_danjia,jinhuo_danjia)=(10*sale_danjia,jinhuo_danjia/2)
WHERE shop_cata='厨房用具';