Sql语句中的DML语句

一、什么是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.字段

 


版权声明:本文为scbiaosdo原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。