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。