INSERT
用于向表中插入数据。其涉及到的关键字为:INSERT INTO VALUES。
- 基本语法为:
INSERT INTO table (column1,column2) VALUES (value1,value2)
表名后跟的是要插入的行中的列名,它不一定是所有的列,VALUES 后跟的是对应的列的值,可以为 NULL。如:
INSERT INTO em(name,schoolId) VALUES ("fdsa",33)
向 em 表中插入一行记录,该记录的 name 列与 schoolId 列的值分别为fdsa , 33。其余未指定的列的值默认都是 NULL。
-
前面给出多少个列名,VALUES 中就必须给出多个值,即使值为NULL。
-
INSERT INTO 通常只插入一行,如果要插入多行,需要执行多个 INSERT INTO 语句。
与 SELECT 结合
INSERT INTO 与 SELECT 结合,表示将 SELECT 中查询到的数据插入到INSERT INTO 指定的表中,此时省略VALUES关键字,无论 SELECT 查询到多少条。
-
两者结合使用时,并不要求 INSERT INTO 指定的列名与 SELECT 返回的列名一致,DBMS 只会将 SELECT 返回的第一列用来填充 INSERT INTO 指定的第一列,第二列填充 INSERT INTO 的第二列,其余类推。
-
INSERT INTO 与 SELECT 结合时,可以达到复制效果。
INSERT INTO em(schoolId,name)
SELECT employees.EmployeeId,employees.Address FROM employees LIMIT 1 OFFSET 0
从中可以看出,SELECT 返回的列名与 INSERT INTO 指定的列名毫无关系,但一样可以插入 —— 因为 DBMS 不关心两者的列名是否相同,只关心插入的数据个数是不是相同。
另外,在 SELECT 之前,没有 VALUES 关键字。并且在 SELECT 中还可以使用 WHERE 语句来过滤要插入的数据。
更新
使用 UPDATE 与 SET 关键字。
- 在更新时一般需要使用 WHERE 子句,否则会更新所有行。
UPDATE Cxxx1 SET cust_name= 'xxxxx' WHERE cust_id= '1000000001'
- 如果更新多列,则在 SET 后跟多个 列=值 即可,不同的列之间用逗号隔开。
删除
使用 DELETE FROM 关键字.
一般要指定 WHERE 子句用于标明删除行,如果没有 WHERE 子句,则会删除表中所有行。
DELETE FROM Cxxx1 WHERE cust_id= '1000000001'
DELETE FROM 可以删除表中所有的行,但不会删除表。
网友评论