2021-04-16 SQL基础-增删改

增删改功能
**[增]:**数据插入-INSERT INTO
INSERT INTO + 表名 + VALUES(插入值)
示例,允许NULL或缺省存在
插完整行:

INSERT INTO pro_info VALUES(1, '火腿肠', '55g', '2019/2/4', 12, 15.5, 21)

插部分/完整行

 INSERT INTO pro_info(prod_id,prod_name...) VALUES(1, ‘火腿肠’ ...)
            建议选择上面这种写法,因为这样可以调整列的顺序,可以只给部分行,表结果发生变化也不影响

          注意:文本类型一定要加引号
          变化:将SELECT语句查询结果直接插入表中:结果直接代替‘插入值’中
             不影响WHERE/GROUP BY/HAVING 等子句的使用
             可以调整列的顺序,可以只给部分行,表结构发生变化也不影响
             示例代码:
   INSERT INTO prod_info2(prod_id, prod_name, brand, type)  SELECT CONCAT('a', p.prod_id), p.prod_name, p.brand, p.type FROM prod_info AS p WHERE p.prod_id = '10003';

[改]:数据更新:UPDATE
UPDATE[表名] SET [字段=值] WHERE [过滤条件]

            注意:
                1. 指定要更新的表,有且仅有一个,且# 必须是真实的表;
                2. 更新多个字段,逗号隔开,#可以是计算表达式
                3. 指定更新行,否则全部更新,#过滤条件可以有0个或多个

[删]:数据删除:DELETE

    DELETE FROM [表名]  WHERE [过滤条件]
    删除的只是表中的数据,而非删除表
    示例代码
    DELETE FROM prod_info2 WHERE prod_name = '洗衣液';
	TRUNCATE TABLE [表名]
    清空表,表中无内容,但表仍然存在
    示例代码
    TRUNCATE TABLE prod_info2;

代码:

select * from prod_info2;
INSERT INTO prod_info2 VALUES('T0001','测试商品','test','test','test','16','20','NJ0001');
select * from prod_info2 order by prod_id desc;

-- 插入部分行
INSERT INTO prod_info2(prod_id, prod_name, brand, type) VALUES('T0002','测试商品','test','test');
INSERT INTO prod_info2(prod_id, prod_name, type, brand) VALUES('T0003','测试商品','type','brand'); #改变顺序了

SELECT * FROM prod_info AS p WHERE p.prod_id = '10001';

INSERT INTO prod_info2 SELECT * FROM prod_info AS p WHERE p.prod_id = '10001';
INSERT INTO prod_info2 SELECT CONCAT('c', p.prod_id),p.prod_name, p.brand, p.type, p.class, p.cost, p.sale_price, p.supplier_id
FROM prod_info AS p
WHERE p.prod_id = '10001';

INSERT INTO prod_info2(prod_id, prod_name, brand, type)  SELECT CONCAT('a', p.prod_id), p.prod_name, p.brand, p.type FROM prod_info AS p WHERE p.prod_id = '10003';

SELECT CONCAT('T', prod_id),prod_name, brand, type  
FROM prod_info as p
WHERE p.prod_id LIKE '2000_';

INSERT INTO prod_info2 
SELECT CONCAT('T', prod_id), p.prod_name, p.brand, p.type, p.class, p.cost, p.sale_price, p.supplier_id
FROM prod_info AS p
WHERE p.prod_id LIKE '2000_';
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值