MySQL对数据的基本操作

166 阅读2分钟

INSERT语句

INSERT语句可以向数据表写入记录,可以是一条记录,也可以是多条记录

INSERT INTO 表名(字段1,字段2,.......)#如果不写字段声明,数据库就要先做词法分析再插入,效率降低

VALUES (值1,值2,......);

INSERT INTO 表名(字段1,字段2,.......)

VALUES (值1,值2,......),(值1,值2,......);

INSERT语句方言(只适用于MySQL)

INSERT INTO 表名 SET 字段1=值1,字段2=值2,......;

IGNORE关键字

会让INSERT只插入数据库不存在的记录,如果数据有问题则忽略不插入,数据库不报错

INSERT [IGNORE] INTO 表名 ......;

UPDATE语句

UPDATE语句用于修改表的记录

UPDATE [IGNORE] 表名 #执行顺序1

SET 字段1=值1,字段2=值2,...... 5

[WHERE 条件1.......] 2

[ORDER BY ......] 3

[LIMIT ......];#只能写一个参数 4

UPDATE 表1 JOIN 表2 ON 条件

SET 字段1=值1,字段2=值2,......;

表连接的UPDATE语句可以修改多张表的记录 

UPDATE 表1,表2 

SET 字段1=值1,字段2=值2,......

WHERE 连接条件;

UPDATE语句的表连接既可以是内连接,又可以是外连接

UPDATE 表1 [LEFT|RIGHT] JOIN 表2 ON 条件

SET 字段1=值1,字段2=值2,......;

DELETE语句

DELETE语句用于删除记录

DELETE [IGNORE] 5 FROM 表名 #执行顺序1

[WHERE 条件1,条件2,.......] 2

[ORDER BY ......] 3

[LIMIT ......];#只能写一个参数 4

DELETE语句的表连接

DELETE 表1,...... FROM 表1 JOIN 表2 ON 条件

[WHERE 条件1,条件2,.......] 

[ORDER BY ......] 

[LIMIT ......];

结果集不能被删除

DELETE语句的表连接既可以是内连接,又可以是外连接

DELETE 表1 ,...... FROM 表1 [LEFT|RIGHT] JOIN 表2 ON 条件 ......;

快速删除数据表全部记录

DELETE语句是在事务机制下删除记录,删除记录之前,先把将要删除的记录保存到日志文件里,然后再删除记录。

TRUNCATE语句在事务机制之外删除记录,速度远超过DELETE语句

TRUNCATE TABLE 表名;(单个表)