一、select语句
简单SQL查询语句是:
select [ all | distinct ] 或者 select column_list1 as “a” ,select column_list2 as “b”
from
{ table_name|view_name } //表的连接,有三种连接方式,FROM tab_name1 (INNER) JOIN tab_name2 ON tab_name1.col = tab_name2.col
[ where clause ] //此处可以有子查询,where deptno=(select deptno from dept1 where dname='ACCOUNTING')
[ group by desc/aesc ] //结果以什么形式展示
[ having clause ] //显示几条数据
[ order by clause ] //对查询结果后的列进行排序
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.字段
二、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