插入
INSERT语句格式如下:
INSERT [INTO] table_name [(column_name,...]
VALUES ({exprDEFAULT), ...), (..), ...
|SET column_name={exprDEFAULT),...
对INSERT语句的说明如下。
● table_name:表示进行插入操作的表名。
● column name:表示需要插入数据的字段名。当省略字段名时,表示给全部数据。如果只给表中的部分字段插入数据,则需要指出字段名。对于没有段,其值根据字段的默认值或相关属性来确定。相关规则如下:具有默段,其值为默认值;没有默认值的字段,若允许为空值,则其值为空值错;向自增型 auto increment字段插入数据时,系统自动生成下一个编类型为timestamp的字段,其值系统自动填充为当前系统日期和时间。
● VALUES 子句:包含各字段需要插入的数据清单,数据的顺序要与字
SET子句:用于给指定字段赋值。
使用INSERT语句可以向表中插入一行记录或多行记录,插入的记录可以给出每个的值或给出部分字段值,还可以插入其他表中的数据。
使用 INSERT INTO…SELECT…可以从一个表或多个表中向目标表中插入记录SELECT 语句中返回的是一个查询到的结果集,INSERT 语句将这个结果集插入到目标中,结果集中记录的字段数和字段的数据类型要与目标表完全一致。INSERT INTO SELECT…的语法格式如下:
INSERT [INTO]tablename[(columnname,.)]
SELECT (column_name,...) from source_table_name where conditions;
替换
REPLACE语句
使用REPLACE 语句也可以将一条或多条记录插入表中,或者将一个表中的结果集插入到目标表中。REPLACE语句的语法格式1如下。
REPLACE [INTO] table_name [(column_name,..)]
VALUES ((expr[DEFAULT), ..). (..),..
|SET column_name={expr|DEFAULT},...
REPLACE语句的语法格式2如下。
REPLACE [INTO] table_name[(column_name,...)]
SELECT (column name,...) from source_table_name where conditions;
从上面的语法格式中可以看出,INSERT 语句与REPLACE语句的功能基本相同。不同之处在于:使用REPLACE语句添加记录时,如果新记录的主键值或者唯一性约束的字段值与已有记录相同,则已有记录被删除后再添加新记录。
更新
当记录插入后,可以使用UPDATE 语句对表中的记录进行修改。UPDATE 语句的语:格式如下。
UPDATE table_name
SET column_name={expr|DEFAULT),...
[where condition]
在上面的 UPDATE 语句中,where 子句用于指出表中哪些记录需要修改。如果省略了where 子句,则表示表中的所有记录都需要修改。set 子句用于指出记录中需要修改的字段及其取值。
删除
DELETE删除表记录
DELETE语句的语法格式如下。
DELETE from table_name
[WHERE condition]
在上面的DELETE语句中,如果没有指定WHERE子句,则表中的所有记录都将被删除,但表结构仍然存在。
TRUNCATE 清空表记录
除了使用 DELETE 语句删除表中的记录外,还可以使用 TRUNCATE 语句清空表记TRUNCATE语句的语法格式如下。
TRUNCATE [table] table_name
从上面的语法格式中可以看出,TRUNCATE语句的功能与DELETE from table name语句的功能相同。但使用 TRUNCATE table语句清空表记录后会重新设置自增型字段的计数起始值,但DELETE语句不会。