数据的操作(DML)-增删改
1.插入数据
-- 不指定具体字段名:
INSERT [INTO] tbl_name VALUES (值)
-- 插入指定字段的数值
INSERT [INTO] tbl_name (字段名称1,...) VALUES|VALUE(值)
这时候的字段和值的顺序要一一对应
值可以用DEFAULT 默认值来代替
-- 同时插入多条记录
INSERT [INTO] tbl_name[(字段名称...)] VALUES(值...),(值...)...
只能用VALUES
示例:
INSERT tbl_name VALUES
(num1,num2),
(num3,num4);
-- 通过SET形式插入记录
INSERT [INTO]tbl_name SET 字段名称=值,...
示例:
INSERT tbl_name SET
id = 1,
username = 'AAA';
这种方式只能插入一条记录
-- 将查询结果(其他表的数据)插入到表中
INSERT [INTO] tbl_name[(字段名称,...)] SELECT 字段名称 FROM tbl_name
示例:
全表插入,要求两个表的字段和类型要一样:
INSERT test
SELECT *FROM test1;
部分字段插入:
INSERT test(id)
SELECT id FROM test1;
使用第二种形式的时候,字段的数量需要匹配
要保证字段的名称和类型要一样
2.更新数据
UPDATE tbl_name SET 字段名称=值,...[WHERE 条件][ORDER BY 字段名称][LIMITE 限制条数]
如果不加WHERE 表中同一字段的所有数据都会被更新
字段的值可以用DEFAULT 来代替,这样可以恢复默认值
示例:
UPDATE tbl_name SET age=5,email='374070938@qq.com'
WHER id=1;
3.删除数据
DELETE FROM tbl_name [WHERE 条件][ORDER BY字段名称][LIMIT 限制条数]
条件如果不加的话,表中所有的数据都会被删掉
虽然是删除了数据,但是AUTO_INCREMENT的值没有重置
彻底改清空表TRUNCATE[TABLE]tbl_name 既可以清空数据表,又可以重置自增长,速度快,但是不能撤回删除
DELETE可以撤回删除