第三章 数据库管理语言DML

以后补充

第四章 数据库增删改查

一、插入行数据

mysql插入数据是按行插入的。

INSERT INTO customers (待插入列1,待插入列2,待插入列3)
VALUES(数据1,数据2,数据3)  #	插入多行
,(数据1,数据2,数据3)
,(数据1,数据2,数据3)




INSERT INTO customers  # 未指定插入列时全部插入
VALUES(数据1,数据2,数据3......)  
,(数据1,数据2,数据3......)  
,(数据1,数据2,数据3......)  


# 插入分层行:什么是分层?可以理解同一个产品的两种销售价格。这种数据存储时需要用到分层。
INSERT INTO customers
VALUES(LAST_INSERT_ID(), data1, data2, data3, data...)
VALUES(LAST_INSERT_ID(), data1_1, data2, data3, data...)

二、创建表复制

CREATE table invoices_archived AS  # 创建表
SELECT i.invoice_id    # 子查询
,i.number
,c.name
,i.invoice_total
,i.payment_total
,i.invoice_date
,i.due_date
FROM sql_invoicing.invoices i 
JOIN sql_invoicing.clients c 
WHERE i.client_id = c.client_id  
AND i.payment_date IS NOT NULL

三、UPDATE在表中更新多行

UPDATE sql_store.customers  #	更新表
SET points = points + 50	# 更新表中列的值
WHERE birth_date < '1990-01-01'

四、UPDATE中使用子查询

UPDATE sql_store.orders  o #	更新表
SET comments = '黄金会员'	# 更新表中列的值
WHERE customer_id in
		(SELECT customer_id 
		FROM sql_store.customers c
		WHERE c.points >= 3000
		)

五、删除行DELETE

DELETE FROM sql_invoicing.invoices i # 删除
WHERE i.client_id =	# 这里如果不写就会删除整张表,所以要注意!
(
	SELECT c.client_id
	FROM sql_invoicing.clients c
	WHERE c.name = 'Myworks'
)

仅供学习。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值