插入、更新、删除数据

一、插入数据

INSERT INTO Customers(cust_id,cust_name,cust_address)
VALUES('10006','toy land','123 amy street')

#INSERT可插入完整行或部分行(只给某些列提供值,给其他列不提供值<允许NULL或默认值的列>)



INSERT INTO Customers(cust_id,cust_name,cust_address)
SELECT cust_id,cust_name,cust_address
FROM CustNew;  --从CustNew表中读出数据插入到Customers


DBMS不关心SELECT返回的列名,它使用的是列的位置,SELECT中的第一列将用来填充表列中指定的第一列(不管其列名)

INSERT INTO只插入一行;INSERT INTO ...SELECT插入SELECT返回的所有行,即导出数据到一表中


SELECT *
INTO CustCopy
FROM Customers;

SELECT INTO 是将数据复制到一个新表中,将一个表复制到另一个表中。使用SELECT INTO 可以使用任何SELECT 选项和子句,包括WHERE/GROUP BY等,也可以利用连接从多个表插入数据,但最终数据都只能插入到一个表中。



二、更新数据

UPDATE Customers
SET cust_email='kim@163.com'
WHERE cust_id='10005';

更新多行时,在每个‘列=值’对之间用逗号隔开即可

若要删除某个列,可设置它为NULL(假定表定义允许NULL值)

SET cust_id=NULL

注意:NULL表示空值,就是没有意思,而‘ ’表示空字符串,表示一个值。




三、删除数据

DELETE FROM Customers  --不需要列名或通配符
WHERE cust_id='10005';

DELETE从表中删除行,甚至是表中所有的行,但是 DELETE语句不删除表本身

而UPDATE删除指定的列


注意:使用强制实施引用完整性和数据库,DBMS将不允许删除其数据与其他表相关联的行

要执行UPDATE、DELETE时不带WHERE子句,表中的所有数据都将被删除,要慎重不使用WHERE子句。



四、创建、更新、删除表

CREATE TABLE OrderItems
(      order_num INTEGER NOT NULL,
       prod_id       char(10) NOT NULL,
       prod_desc   VAECHAR(1000) NULL
);

如果不指定NOT NULL,就默认为NULL,允许作为NULL值的列是不能作为唯一标识符,不可作为主键。


更新表:

ALTER TABLE Vendors
ADD vend_phone char(20);--给表增加一个新列

删除表:

DROP TABLE CustCopy;

删除整个表而不是其内容,DELETE 是删除表的数据不删除表本身。

删除表没有确认,也不能撤销,执行这条语句将永远删除该表。


创建、更新、删除表这些语句 应小心使用,并且应该在备份之后使用。这些语句的语法在不同的DBMS中有所不同,集体使用时应参阅相应的DBMS文档。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值