MySQL数据库(四)_SQL语句之DML

By | 2019年 11月 23日

SQL语句分类:

  1. DDL: CREATEDROPALTER
  2. DML: INSERTDELETEUPDATE
  3. DCL: GRANTREVOKECOMMITROLLBACK
  4. DQL: SELECT

DML语句(增删改)

DML: INSERT, DELETE, UPDATE

INSERT

一次插入一行或多行数据
示例:

#INSERT tbl_name [(col1,...)] VALUES (val1,...), (val21,...);
#语法1
insert student(mobile,name,gender)values('888888','xiaoming','m');
#语法2
insert student set name="mage",gender="m",mobile="13800138000";
#语法3
insert student(name,gender) select name,gender from student;

UPDATE

格式

UPDATE [LOW_PRIORITY] [IGNORE] table_reference 
SET col_name1={expr1|DEFAULT} [, col_name2={expr2|DEFAULT}] ... 
[WHERE where_condition] 
[ORDER BY ...] 
[LIMIT row_count] 

示例:

update student set mobile="99999" where id=4;
[centos]$ mysql -U   #没有'限制'时无法使用
#参数sql_safe_updates=ON
update student set mobile="99999" ;

注意:一定要有限制条件,否则将修改所有行的指定字段
限制条件:WHERELIMITORDER BY
mysql -U 可以限制update没有用where时执行。

DELETE:

格式:

DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tbl_name
[WHERE where_condition]
[ORDER BY ...]
[LIMIT row_count]

示例:

#"-"表示倒序,不加正序
DELETE FROM coc ORDER BY -ClassID LIMIT 1;
#表示把表coc删除按classid倒序的第一个

可先排序再指定删除的行数
注意:一定要有限制条件,否则将清空表中的所有数据
限制条件:WHERELIMITORDER BY

快速清空表

TRUNCATE TABLE tbl_name;

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注