INSERT语句
向数据表写入记录,可以是一条记录,也可以是多条记录。
INSERT INTO 表名(字段1、字段2.。。)
VALUES(值1,值2,.....); #插入一条
INSERT INTO 表名(字段1、字段2.。。)
VALUES(值1,值2,.....),(值1,值2,.....); #插入多条
INSERT INTO t_emp
(empno,ename,job,mgr,hiredate,sal,comm,deptno)
VALUE。。。。。。(SELECT deptno FROM t_dep WHERE deptname="技术部" );
INSERT语句方言
MYSQL的一种方言语法
INSERT INTO 表名 SET 字段1=值1,字段2=值2,.....; into 可省略
IGNOER关键字
关键字会让INSERT只插入数据库不存在的记录。
INSERT [IGNORE] INTO 表名....; 忽略冲突的记录。
UPDATE语句
用于修改表的记录
UPDATE [IGNORE] 表名
SET 字段1=值1,字段2=值2,.............
[WHERE 条件1......]
[ORDER BY......]
[LIMIT .....]; limit只能写一个参数。
UPDATE的表连接
UPDATE 表1 JOIN 表2 ON 条件
SET 字段1=值1,字段2=值2,.....;
update t_emp e join t_dept d
set e.deptno=d.deptno,e.job="ANALYST"
where e.ename="ALLEN" and d.dname="RESEARCH";
UPDATE语句的表连接既可以做内连接,又可以做外链接
UPDATE 表1 [LEFT|RIGHT] JOIN 表2 ON 条件 SET 字段1=值1,字段2=值2,,....;
DELETE语句
删除记录
DELETE [IGNORE] FROM 表名
[WHERE 条件1,条件2......]
[ORDER BY ......]
[LIMIT .....];
相关子查询执行效率低,可以使用表连接
DELETE 表1,.....FROM 表1 JOIN 表2 ON条件
DELETE外连接
DELETE 表1,.....FROM 表1 [LEFT|RIGHT] JOIN....
DELETE语句事务机制下,先把删除的记录保存到日志文件,然后再删记录。
TRUNCATE 语句在事务机制之外删除记录,速度远超DELETE
TRUNCATE TABLE 表名; 清空表只能一张表