一、插入数据
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
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文档。