DML与视图
前言
这次分享DML(数据查询语言)跟视图,这两个无非是增删改查,我把知识点整理了出来,然后后面用案例来实现。
一、总结出的知识点
总结出知识点后,根据上面总结出来的知识点来开始来看看这些SQL语句吧。
二、DML(数据查询语言)
1.简介
2.插入数据
字符和日期型整数应包含在单引号中
方式一:
INSERT INTO t_mysql_departments(department_id, department_name, manager_id, location_id)
VALUES (70, 'Public Relations', 100, 1700);
方式二:
INSERT INTO t_mysql_employees(employee_id,last_name,email,hire_date,job_id)
VALUES (300,’Tom’,’tom@126.com’,to_date(‘2012-3-
21’,’yyyy-mm-dd’),’SA_RAP’);
向表中插入空值
1.隐式方式: 在列名表中省略该列的值。
INSERT INTO t_mysql_departments (department_id, department_name )
VALUES (30, 'Purchasing');
2.显示方式: 在VALUES 子句中指定空值。
INSERT INTO t_mysql_departments
VALUES (100, 'Finance', NULL, NULL);
插入指定的值
INSERT INTO t_mysql_employees (employee_id, first_name, last_name, email, phone_number,hire_date, job_id, salary, commission_pct, manager_id,department_id)
VALUES (113, 'Louis', 'Popp', 'LPOPP', '515.124.4567',
NOW(), 'AC_ACCOUNT', 6900, NULL, 205, 100);
从其它表中拷贝数据
在 INSERT 语句中加入子查询。
INSERT INTO emp2
SELECT *
FROM t_mysql_employees
WHERE department_id = 90;
INSERT INTO sales_reps(id, name, salary, commission_pct)
SELECT employee_id, last_name, salary, commission_pct
FROM t_mysql_employees
WHERE job_id LIKE '%REP%';
3.更新数据
• 使用 UPDATE 语句更新数据。
• 可以一次更新多条数据。
• 如果需要回滚数据,需要保证在DML前,进行
设置:SET AUTOCOMMIT = FALSE;
• 使用 WHERE 子句指定需要更新的数据。
UPDATE t_mysql_employees
SET department_id = 70
WHERE employee_id = 113;
• 如果省略 WHERE 子句,则表中的所有数据都将被更新
UPDATE copy_emp
SET department_id