MySQL之DML常用命令

DML简介

DML是对数据库表中的数据进行增、删、改的操作,即添加表中的数据,删除表中的数据,修改表中的数据。主要下面三个关键字:INSERT、DELETE、UPDATE。

数据库图形化界面工具

直接从命令提示符中输入sql语句不方便,我们可以通过数据库图形化界面工具更方便的操作数据库。常用的有下面几个:

  • MySQL workbench
  • Navicat
  • sqlyog
  • mysql front

navicat安装包:https://pan.baidu.com/s/1BboUg8Fmf62nJsRTeWlutQ

提取码:dns8

navicat安装文档:https://pan.baidu.com/s/18TjLkw8zh63EMNRbN77-nQ
提取码:uog6

INSERT

语法:

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

注意:字段名与值的类型、个数、顺序要对应上。
值不要超出字段定义的长度,否则会报错。
如果插入空值,需要使用null
插入的日期和字符都使用单引号括起来。

示例:
先在数据库中创建一张员工表emp

create table emp(
    id int,
    name varchar(100),
    sex char(6),
    birthday date,
    salary float(10,2)
);

向表中添加三条数据:

INSERT INTO emp (id,name,sex,birthday,salary) VALUES (1,'andy','male','1995-05-15',10000);

INSERT INTO emp (id,name,sex,birthday,salary) VALUES (2,'paul','male','1996-06-15',15000);

INSERT INTO emp (id,name,sex,birthday,salary) VALUES (3,'lucy','female','1998-07-11',8000);

批量添加数据:

INSERT INTO emp (id,name,sex,birthday,salary) VALUES (4,'james','male','1985-08-10',50000),
(5,'marry','female','1987-06-15',30000),
(6,'carter','male','1995-05-15',10000);

如果为表所有字段都插入数据时, 字段列表可以省略:

INSERT INTO emp VALUES
(7,'jack','male','1999-05-15',10000);

UPDATE

语法:UPDATE 表名 SET 字段1=列值1,字段2=列值2 。。。 WHERE 字段=值

上面语句中WHERE后面的是条件,即指出要修改哪一条数据,如果没有WHERE条件的话,会将表中所有的数据修改。倘若没有where条件的时候,如果报safe update mode之类的错误的话,可以执行下面语句关闭安全更新模式

SET SQL_SAFE_UPDATES = 0;

示例:
将emp表中所有员工的性别改成male,薪水改成3000:

UPDATE emp SET salary=3000;

将james的薪水改成8000

UPDATE emp SET salary=8000 where name='james';

DELETE

语法:DELETE FROM 表名 WHERE 字段=值

示例:

删除name是lucy的数据:

DELETE from emp where name='lucy';

删除表中的全部数据:

DELETE from emp;

使用TRUNCATE删除数据:

TRUNCATE TABLE emp;

DELETE和TRUNCATE的区别:

DELETE只是删除表中的数据,不删除表,删除后的数据可以恢复。
TRUNCATE删除是把表直接DROP掉,然后再创建一个同样的新表。删除的数据不能找回。执行速度比DELETE快。

开发中通常使用DELETE。