插入语句
语法:
INSERT INTO 表名 [(列名 1, 列名 2,...)] VALUES ('值 1', '值 2',...);
INSERT INTO 表名 SET 列名 1='值 1', 列名 2='值 2' ...;
INSERT INTO 表名 [(列名 1, 列名 2,...)] SELECT ...;
案例:
1, 插入单行数据
- INSERT INTO student(id,name,age) VALUES(1,'小明',6);
- INSERT INTO student SET id=1, name='小明', age=6;
2, 插入多行数据
INSERT INTO student(id,name,age) VALUES(1,'小明',6),(2,'小红',5),(3,'小强',7);
3, 插入子查询数据
INSERT INTO student(id,name,age) SELECT 1,'小明',6;
修改语句
语法:
UPDATE 表名 SET 列名 1='值 1' [, 列名 2='值 2', ...]
[WHERE 条件];
案例:
1, 修改单表数据
UPDATE student SET age=7 WHERE name='小明';
2, 修改多表数据
sql92 语法: UPDATE student s,class c SET s.age=5,c. NAME='向日葵小班' WHERE s.class_id=c.id and c.id = 1;
sql99 语法: UPDATE student s INNER JOIN class c ON s.class_id=c.id SET s.age=5,c.name='向日葵小班' WHERE c.id = 1;
删除语句
方式一:
语法:
DELETE FROM table [WHERE condition];
案例:
1, 删除单行数据
DELETE FROM student WHERE id=1;
2, 删除多表数据
sql92 语法: DELETE s,c FROM student s,class c WHERE s.class_id = c.id AND c.id = 1;
sql99 语法: DELETE s,c FROM student s INNER JOIN class c ON s.class_id = c.id WHERE c.id = 1;
方式二:
语法:
TRUNCATE TABLE table;
案例:
1, 清空单表所有数据
TRUNCATE TABLE student;
区别:
DELETE TRUNCATE
删除方式: 逐条删除 先摧毁表, 再重建
删除后插入: 自增 ID 为断点值 自增 ID 为 1
速度: 慢 快
返回值: 有 没有
WHERE 条件: 可以 不可以
日志: 记录 不记录
触发器: 触发 不触发
回滚: 可以 不可以
闪回: 可以 不可以
释放空间: 不会 会
产生碎片: 会 不会
来源: http://www.bubuko.com/infodetail-2689700.html