SQL中DML 语句基本增删改以及创建表结构

SQL 的分类:

   DDL:创建create,删drop,改alter

   DML:增insert、删delete、改update

   DCL:数据控制语言:赋权:grant,revoke

   DQL:查询 select等

   TCL:事务控制语言:提交commit,回滚 rollback

SQL 的注释

---     代表单行注释

  /*……*/   代表多行注释

SQL 的表的别名

select * from 表名 as 别名

1、创建表结构

create table 表名(
            列名1 类型(字符串 varchar2(10)),
            列名2 类型(数字 number(10),
            列名3 类型 (数字 number(10));

2、DML语句的增删改

(1)增加语句

insert into 表名(列名1,列名2,列名3) values(数据1,数据2,数据3);
insert into 表名 values(数据1,数据2,数据3);——默认为所有列名

(2)删除数据(drop,delete,truncate)

        drop————删除表数据和表结构
drop table 表名;
        delete————删除某条表数据(最好提前备份)
delete table 表名 where 删除条件;
        truncate————删除表中所有数据,保留表结构
truncate table 表名;

——————备份表————

create table 备份后表名 as 备份前的表名;

(3)修改表数据

update 表名 set 列名=修改后的数据 where 列名=修改前的数据;

3、查询表数据

(1)查询单表中所有的数据

select * from 表名;     ————“ * ”代表表中所有的列
select 列名1,列名2,列名3 from 表名;

(2)查询单表中的某一条数据、多条数据、满足多个条件的数据(>大于,<小于,=等于,!=不等于)

(某一条数据)select * from 表名 where 条件;
(多条数据)select * from 表名 where 条件1 or 条件2;
(满足多个条件的数据)select * from 表名 where 条件1 and 条件2……;

(3)关联多个表(多个表中要有相同的列名用于关联)

第一种:select 别名1.*,别名2.* from 表1 as 别名1,表2 as 别名2 
             where 别名1.列名1=别名2.列名2;
第二种:select 别名1.*,别名2.* from 表1 as 别名1 
             left join 表2 as 别名2 on 别名1.列名1=别名2.列名2;

【所谓的关联学术称为‘联合查询’】

联合查询分为:

交叉连接(又称为笛卡尔积连接):

select e.*,d.* from emp e cross join dept d;

外连接(左连接,右链接):

on的后面可以加and或者where

区别是:执行顺序的不同

on后面加and,代表连接条件是两个条件同时满足然后显示,出来的结果是以主表为主符合条件

on的后面加where,代表的是先满足关联的条件(也就是on)然后再去判断符合where条件的数据,查出来的数据只有符合where条件的才会被显示

       左连接,以左表为主

select * from 表1 as 别名1 left join 表2 as 别名2 on 别名1.列名1=别名2.列名2

        右连接,以右表为主

select * from 表1 as 别名1 right join 表2 as 别名2 on 别名1.列名1=别名2.列名2

自连接:自己跟自己连接

select 别名1.*,别名2.列名1 列名1的中文名 from 表名 别名1
join 表名 别名2 on 别名1.mgr=别名2.empno

内连接:

select 列名1.*,列名2.* from 表名1 别名1 
inner join 表名2 别名2 on 别名1.列名1=别名2.列名2;

不等连接:(在条件1和条件2之间的所有数据)

select 别名1.*,别名2.* from 表名1 别名1 
join 表名1 别名2 on 别名1.列名1 between 条件1 and 条件2;

全连接:

select e.*,d.* from emp e full outer join dept d on e.deptno=d.deptno;

你可能感兴趣的:(sql,oracle)