一、插入数据 一、插入数据
1、单行插入命令

(1) INSERT INTO <表名>[(字段列表)] VALUES(值 1,值 2……)
(2) INSERT INTO <表名> SET 字段名 1=值 1[,字段名 2=值 2……]

注意:
² 先插入父表,再插入子表
² 数值列表中字符、日期型的数据要加单引号;
² 若不插入所有列的值,则必须 insert into 表名(字段列表)
² 自动增长列写成 NULL 或 default 都可以
² 默认列可以写成 default
2、多行插入命令

(1)INSERT INTO <表名>[(字段列表)]
VALUES(值 1,值 2……),
……
(值 1,值 2……)

(2)INSERT INTO<表名>[(字段列表)] SELECT 子句 (注:该语句用于从一个表向另一个表值复制多行记录)
3、创建表并复制数据

CREATE TABLE <表名> AS SELECT 子句

(注:也可以只复制表的结构,就是要把查询条件设为永远为“假”)
例 1:把 stuinfo 所有女生的记录另存 为新表 stuinfo_female

CREATE TABLE stuinfo_female AS SELECT * FROM stuinfo WHERE stusex='女'

例 2:创建一个新表 stuinfo2, 字段定义与 stuinfo 表一致

CREATE TABLE stuinfo_female AS SELECT * FROM stuinfo WHERE 1=2

二、修改数据 二、修改数据
(1) 直接修改

UPDATE <表名>
SET <字段名>=<表达式 1>[,<字段名 2>=<表达式 2>…]
[WHERE <条件>]

(2) 嵌套修改

UPDATE <表名>
SET <字段名>=<返回单个值的子查询>
[WHERE <条件>]

3 、删除数据
(1)删除所选行

DELETE FROM <表名> [WHERE<条件>]

注意:先删除子表相关记录,再删除父表记录!
(2)删除整表数据

TRUNCATE TABLE <表名>

注意:DELETE 与 TRUNCATE 语句的区别
a) DELETE 语句是 DML 语句,TRUNCATE 语句通常被认为是 DDL 语句
b) 使用 DELETE 语句时,每删除一条记录都会在日志中记录,而使用 TRUNCATE 语句时,不会在日志中记录删除的内容,因此 TRUNCATE 语
句的执行效率比 DELETE 语句高。
c) DELETE 语句后面可以跟 WHERE 子句,通过指定 WHERE 子句中的条件表达式只删除满足条件的部分记录,而 TRUNCATE 语句只能用于删
除表中的所有记录
d) 使用 TRUNCATE 语句删除表中的数据,再向表中添加记录时,自动增加字段的默认初始值重新由 1 开始,使用 DELETE 语句删除表中所有记
录,再向表中添加记录时,自动增加字段的值为删除时该字段的最大值加 1。