一、什么是DML语句
DML语句就是数据库操作语句。
二、DML语句的分类
Insert |
插入 |
Update |
修改更新 |
Delete |
删除 |
Select |
选择 |
三、insert语句
Delete from 表名名称 [where 条件];
DELETE FROM project WHERE id>11
DELETE FROM project WHERE id=5
1.插入一整条记录:
Insert into 表名称(字段) values(数据);
INSERT INTO student(id,NAME) VALUES(1,'学生1');
INSERT INTO student(id,NAME) VALUES(2,'学生2');
2.一次性插入多条记录:
insert into 表名称(字段1,字段2,字段3) values(数据1,数据2,数据3),(数据1,数据2,数据3);
INSERT INTO project(pid,pname,tijiaoren) VALUES(12,'项目53',5),(13,'项目55',5);
四、update语句
Update 表名称 set 字段名=新值[,列名2=新值,…][where 条件];
//将所有偶数项目id的状态变更为是
UPDATE project SET zt='是' WHERE MOD(id,2)=0
五、delete语句
delete 语句是数据库操作语言(dml),这个操作会放到 rollback segement 中,事务提交之后才生效;如果有相应的trigger执行的时候将被触发。
Delete from 表名 [where 条件];
DELETE FROM project WHERE id>11
DELETE FROM project WHERE id=5
六、select语句
Select *|distinct 字段1,字段2,…… 表达式 from 表名称[where 条件]
SELECT Company FROM Orders //表中如果有相同的值,则都会被列
SELECT DISTINCT Company FROM Orders //表中如果有相同的值,这只会显示一个
SELECT * FROM Orders //显示表中所有的值
//子查询作为操作数
SELECT (SELECT id FROM student WHERE id=1) FROM DUAL
//子查询作为条件
SELECT * FROM project WHERE tijiaoren>(SELECT 2 FROM DUAL)
//子查询作为数据表使用
SELECT * FROM (SELECT * FROM project , student WHERE project.tijiaoren=student.id) a WHERE a.name LIKE '%3%'
//多列比较
SELECT (3,2)<(3,4) FROM DUAL
//笛卡尔积
SELECT * FROM 表名称1,表名称2
//内连接(保留两表中on相匹配的值)
SELECT * FROM 表名称1 INNER JOIN 表名称2 ON 表名称1.字段=表名称2.字段;
//左外连接(保留表1中的值给表2补null)
SELECT * FROM 表名称1 LEFT JOIN 表名称2 ON 表名称1.字段=表名称2.字段
//右外连接(保留表2中的值给表1补null)
SELECT * FROM 表名称1 RIGHT JOIN 表名称2 ON 表名称1.字段=表名称2.字段
//全外连接(保留两个表的值,分别补null)
SELECT * FROM 表名称1 LEFT JOIN 表名称2 ON 表名称1.字段=表名称2.字段