MySQL黄冈学习内参:5.插入数据、更新和删除数据、创建和操纵表、使用视图

本文深入讲解了SQL语言在数据管理中的应用,包括数据插入、更新、删除及表的创建与修改等关键操作。同时,文章介绍了如何使用视图来简化复杂查询,提升数据检索效率。

5.1 插入数据

INSERT

INSER INTO customers(c_name,
					c_address,
					c_city,
					c_state,
					c_zip,
					c_country,
					c_contact,
					c_email
					)
VALUES(NULL,
       'Pei charlse',
	   '100 Main Street',
	   'Los Angeles',
	   'CA',
	   '90046',
	   'USA',
	   NULL,
	   NULL);

一般不要使用没有明确给出列的列表的INSERT语句,
省略的列必须满足:1,允许为NULL值。
2,在表中定义中给出默认值
若数据检索很重要,则使用LOW_PRIORITY降低优先级

INSER LOW_PRIORITY INTO

同样也适用于UPDATE,DELETE

插入多个行

多个INSERT语句的列名和次序相同

INSER INTO customers(c_name,
					c_address,
					c_city,
					c_state,
					c_zip,
					c_country,
					c_contact,
					c_email
					)
VALUES(NULL,
       'Pei charlse',
	   '100 Main Street',
	   'Los Angeles',
	   'CA',
	   '90046',
	   'USA',
	   NULL,
	   NULL)(NULL,
       'Sei charlse',
	   '300 Main Street',
	   'DC',
	   'DC',
	   '90222',
	   'USA',
	   NULL,
	   NULL);

插入检索出的数据
INSERT SELECT

INSER INTO customers(c_name,
					c_address,
					c_city,
					c_state,
					c_zip,
					c_country,
					c_contact,
					c_email
					)
SELECT s_id,
		s_con
		s_sd
		...
		...
FROM ssss

5.2 更新和删除数据

UPDATE cust
SET cust_email = 'ddkdkd@123.com'
WHERE cust_id = 1004;

UPDATE cust
SET cust_name = 'ddk',
SET cust_email = 'ddkdkd@123.com'
WHERE cust_id = 1004;

即使是发生错误,也会继续进行更新。使用IGNORE

UPDATE IGNORE cust...

为了删除某个 列的值,可设置为NULL

UPDATE cust
SET cust_email = NULL
WHERE cust_id = 1005;

删除数据

DELETE FROM cust
WHERE cust_id = 1004;

DELETE是删除整行
不删除表本身

5.3 创建和操纵表

创建表

CREATE TABLE customers
(c_id            int             NOT NULL AUTO_INCREMENT,
c_name           char(50)        NOT NULL DEFAULT 'KSKKS',
c_adress         char(50)        NULL,
PRIMARY KEY (c_id)
 )ENGINE - InnoDB;

使用NULL值
主键中只能 使用不允许NULL值 的列
使用AUTO_INCREMENT
指定默认值
引擎类型

更新表

给表添加一个列

ALTER TABLE ven
ADD ven_phone CHAR(20);

删除刚刚添加的列

ALTER TABLE ven
DROP COLUMN ven_phone;

定义外键

ALTER TABLE ven
ADD CONSTRAINT fk_orderitems_orders
FOREIGN KEY (order_num) REFERENCES orders (order_num);

删除表

DROP TABLE customers2;

重命名删除表

RENAME TABLE customers2 TO customers1;

5.4 使用视图

视图是虚拟的表,只包含使用时动态检索数据 的查询。

CREATE VIEW orderitemsexpanded AS
SELECT order_num,
	   prod_id,
	   quantity,
	   item_price,
	   quantity*item_price AS expanded_price
FROM orderitems;

更新一个视图将更新 其基表
并非所有的视图都是可更新的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值