DML数据管理语言
简介
DML(Data Manipulation Language 数据操纵语言)
事务是由完成若干项工作的DML语句组成的
可以在下列条件下执行:
1.向表中插入数据
2.修改现存数据
3.删除现存数据
插入数据
使用 INSERT 语句向表中插入数据。
使用这种语法一次只能向表中插入一条数据。
语法:
INSERT INTO table [(column [, column...])]
VALUES (value [, value...]);
1.插入所有列段 表名后面的列段书写
2.插入指定列段 表名后必须写指定的列字段名
2.插入指定的的值
隐式方式: 在列名表中省略该列的值。
INSERT INTO t_mysql_departments (department_id, department_name )
VALUES (30, 'Purchasing');
显示方式: 在VALUES 子句中指定空值。
INSERT INTO t_mysql_departments
VALUES (100, 'Finance', NULL, NULL);
3.从其他表中拷贝数据过来
先创建一张表emp , 表示有这张表,用来接收拷贝的数据
CREATE TABLE EMP
SELECT * FROM t_mysql_employees
WHERE 1=2
在 INSERT 语句中加入子查询。
INSERT INTO EMP
SELECT *
FROM t_mysql_employees
WHERE department_id = 90;
结果:SELECT * FROM emp
修改数据
1.修改数据:
语法:
update 表名 set 列字段=? where
2.一次修改多表的数据
修改张无忌的女朋友的手机号为119
UPDATE t_mysql_boys bo
INNER JOIN t_mysql_beauty b ON bo.`id`=b.`boyfriend_id`
SET b.`phone`='119',bo.`userCP`=1000
WHERE bo.`boyName`='张无忌';
结果:
更新数据
使用 UPDATE 语句更新数据。
UPDATE table
SET column = value [, column = value, ...]
[WHERE condition];
可以一次更新多条数据。
如果需要回滚数据,需要保证在DML前,进行
设置:SET AUTOCOMMIT = FALSE;
删除数据
1.使用 DELETE 语句从表中删除数据。
DELETE FROM table
[WHERE condition];
2.使用 WHERE 子句删除指定的记录。
DELETE FROM t_mysql_departments
WHERE department_name = 'Finance';
3.如果省略 WHERE 子句,则表中的全部数据将被删除
DELETE FROM copy_emp;
4.一次删除多表的数据
案例:
删除张无忌的女朋友的信息
DELETE b
FROM t_mysql_beauty b
INNER JOIN t_mysql_boys bo ON b.`boyfriend_id` = bo.`id`
WHERE bo.`boyName`='张无忌';
结果:相关‘张无忌’的CP删除成功
视图(view)
视图的使用性:
1、安全性:创建一个视图,定义好该视图所操作的数据。
2、查询性能提高 (表与表之间先连接好,等查询的时候效率的快了)
3、有灵活性的功能需求后,需要改动表的结构而导致工作量比较大,那么可以使用虚拟表的形式达到少修改的效果。
4、复杂的查询需求,然后将创建多个视图获取数据。将视图联合起来就能得到需要的结果了。
一、创建视图
语法:
create view 视图名
as
查询语句;
二、视图的修改
方式一:
create or replace view 视图名
as
查询语句;
方式二:
语法:
alter view 视图名
as
查询语句;
三、删除视图
语法:
drop view 视图名,视图名,...;
四、查看视图
DESC myv3;
SHOW CREATE VIEW myv3;