1 插入语句(insert):
1) 往表中所有的列值都插入列值
SQL> desc person2;
名称
ID
NAME
案例:往person2表中任意的插入3条数据
insert into person2 values(10,'刘备');
insert into person2 values(11,'曹操');
insert into person2 values(12,'张辽');
SQL> desc person3;
名称
ID
NAME
JOB
往person3中插入任意的3条数据
insert into person3 values(10,'钱钟书','文学家');
insert into person3 values(11,'李清照','词人');
insert into person3 values(12,'郭沫若','作家');
2) 往指定的列插入列值
格式:
insert into 表名(列名1,列名2,列名3...)
values(列值1,列值2,列值3...)
a) 表名()中列名必须要跟values中列值一一对应。
b) 必须要给主键所在的列插入列值。
SQL> desc person4;
名称
ID
NAME
ADDRESS
AGE
insert into person4(id) values(1);
insert into person4(id,name) values(2,'张无忌');
往person4表任意插入3条数据
insert into person4(id,address) values(10,'常遇春');
insert into person4(id,name,age) values(11,'李文忠',27);
insert into person4(id,age) values(12,39);
2 修改语句(update):
格式:
update 表名 set 列名1 = 该列新值,列名2 = 该列新值...
where 条件
根据where条件修改表中的数据,如果没有where条件,修改表中所有的数据。
ID NAME ADDRESS AGE
1
2 张无忌
10 常遇春
11 李文忠 27
12 39
update person4 set name = '徐达',address = '漠北'
where id = 10;
案例:修改person4表中年龄是39岁信息,把name改为武则天,地址改为长安,年龄改为20
update person4 set name = '武则天',address = '长安',age = 20
where age = 39;
案例:修改person4表中姓名是李文忠的信息,把年龄改为30,地址改为北京,id改为20
update person4 set age = 30,address='北京',id=20
where name = '李文忠';
案例:修改person4表中所有人的年龄都改为30
update person4 set age =30;
ID NAME JOB
--- ------------------------ ------
10 钱钟书 文学家
11 李清照 词人
12 郭沫若 作家
案例:修改person3表中job是作家的信息,把姓名改为冰心,id改为20
update person3 set name = '冰心',id = 20
where job = '作家';
案例:修改person3表中姓名是李清照,把编号改为100,姓名改为辛弃疾
update person3 set id = 100,name = '辛弃疾'
where name = '李清照';
3 删除语句
1)delete删除
格式:
delete from 表名 where 条件
根据where条件删除对应表中的数据,如果没有where条件删除表中所有的数据。
案例:删除person3表中姓名是辛弃疾的信息
delete from person3 where name = '辛弃疾';
案例:删除person3表中职位是作家的信息
delete from person3 where job = '作家';
案例:删除person3表中编号id是10的信息
delete from person3 where id = 10;
案例:删除person2中所有的数据
delete from person2;
2) truncate删除:直接删除表中所有的数据,速度很快,并且删除的数据不能在被还原。
truncate table 表名
truncate table person1;
案例:删除person4表中所有的数据
truncate table person4;
4 删除表:
drop table 表名;
drop table person4;
案例:删除person1,person2,person3
drop table person1;
drop table person2;
drop table person3;
5 简单没有条件的查询语句
1)查询表中所有的数据
格式:
select * from 表名
案例:查询emp,dept,salgrade表中所有的数据
select * from emp
select * from dept
select * from salgrade
2)查询表中某些列的所有列值
格式:
select 列名1,列名2,列名3...from 表名
select empno,ename,sal from emp
案例:查询emp表中员工的姓名,职位,工资,入职时间
select ename,job,sal,hiredate from emp
案例:查询emp表中员工的编号,姓名,工资,奖金以及入职的时候和所属部门的编号
select empno,ename,sal,comm,hiredate,deptno
from emp
案例:查询dept表中部门的名称和地址
select dname,loc from dept
6 distinct :去掉重复的列值
案例:查询emp表中员工所在部门的编号
select distinct deptno from emp
案例:查询emp表中员工有哪些职位
select distinct job from emp
7 别名:给表或者列起别名。
1)给列起别名
a)使用as
格式:
select 列名1 as 别名1,列名2 as 别名2...
from 表名
select empno as 员工编号,ename as 员工姓名,job as 职业
from emp
案例:查询emp表中员工的姓名,职位,工资,入职时间,上级领导编号,对查询返回的列起别名
select ename as 员工姓名, job as 职位,sal as 工资,hiredate as 入职时间,mgr as 领导编号
from emp
案例:查询dept表中所有部门的信息,对查询返回的列都起别名
select deptno as 部门编号,dname as 部门名称,loc as 部门地址
from dept
b)使用空格给列起别名
格式:
select 列名1 别名1,列名2 别名2,列名3 别名3...
from 表名
select empno 员工编号,ename 员工姓名,mgr 上级经理编号
from emp
案例:查询emp表中员工的姓名,职位,工资,奖金,入职时间,对查询返回的列起别名
select ename 姓名,job 职位,sal 工资,comm 奖金,hiredate 入职时间
from emp
2)给表起别名:在多表连接查询中使用,为每一张表起别名,通过别名指向对应表中列,避免出现多张表中列名一致,无法确定到底查询的哪张表中的列。
格式:
select 别名.列名1,别名.列名2,别名.列名3...
from 表名 别名
select e.empno,e.ename,e.job,e.hiredate
from emp e