sql第四天笔记
--元祖(tuple)值式的插入(一次插入一条记录)
--语法1:insert into tablename(column1,column2,....,columnN) values(val1,v
--DML--INSERT 关键字 --作用 往表中插入一条(多条)记录 --元祖(tuple)值式的插入(一次插入一条记录) --语法1:insert into tablename(column1,column2,....,columnN) values(val1,val2,...,valN) --例子: insert into emp(empno,ename,sal,deptno)values (9527,'xixi',1000,40) --如果往表中所有的列都添加数据时,表后面的字段可以不添加,直接写emp insert into emp values(9528,'haah','aaaa',7698,sysdate,10000,5000,40) --查询结果式的插入 --语法 insert into tablename sub-query --例子 insert into emp_temp(select * from emp where deptno = 20)--把部门编号位20的表插入emp-temp的表里 select * from emp_temp --创建一个emp的临时复制表 create table emp_temp as select * from emp where 1 = 2 --delete关键字--作用 删除表中的数据 --语法 delete [from] tablename [where condition] --例子 delete emp_temp where empno=7369 delete from emp_temp --传闻中的删库跑路 建议不用 --update关键字--作用 更新表中的数据 --语法 update tablename set column1=value1,column2=value2...coiumnN=valueN[where condition] --例子 update emp_temp set sal=sal*2,mgr=7888 where ename='JONES' --用户管理(需要通过sys管理员才能使用 不要求掌握)--1.创建一个账号 create user zhangsan identified by 123456 --2 修改账户的密码 alter user zhangsan identified by 654321 --3 删除一个账户[cascade 表示是否级联删除] drop user zhangsan --4 让一个用户的密码失效 alter user zhangsan password expire --5 锁定 解锁一个用户 alter user zhangsan account lock; alter user zhangsan account unlock; --DCL--grant 授予权限--revoke 收回权限 --1.给用户授权--允许用户登陆 grant creata session to zhangsan; --给账户授权可以操作表 grant all on scott.emp_temp to zhangsan --2 取消用户的权限 revoke all on scott.emp_temp from zhangsan --创建序列 (Oracle特有 它用来产生一个自动递增的数列) create sequence seq_emp_temp --seq_表名 increment by 1 --递增的数值 start with 1 --从哪个地方开始 --使用序列-- 通过序列名.next_val select seq_emp_temp.nextval from dual; --查询 .currval select seq_emp_temp.currval from dual; --导入到表中 insert into emp_temp(empno) values(seq_emp_temp.nextval) select * from emp_temp; --删除序列 drop sequence seq_emp_temp --登陆到sys账户给scott赋予创建视图的权限 grant create view to scott --1.视图的创建 create view v$_emp_dept as select ename,sal,job,dname from emp,dept where emp.deptno=dept.deptno --视图也可以从视图中产生 create view v$_emp_dept_temp as select ename,sal from v$_emp_dept --修改视图的数据,就是修改基表的数据 create or replace view v$_emp as select empno,ename from emp with read only--只读模式 不能修改 select * from v$_emp; select * from emp update emp set sal=888 where empno=9527 --视图的优点 可以使某些重复出翔sal语句变得更为简单(重复大于30才用) --视图的缺点 1如果修改基表的结构,试图失效 --2 增加数据库的维护成本 --3 试图会被覆盖掉 --4 一般情况下 不要对视图进行DML操作 --删除视图所表示的基表 create view v$_aaa as select * from aaa; --删除表 aaa drop table aaa; --查询视图 select * from v$_aaa --删除视图v$_aaa drop view v$_aaa --DDL --create--作用:用来创建数据库的对象(表,视图,序列,索引等) create table tablename(column1 dataType, column2 dataType,...,columnN dataType) --例子 create table t_user(id number, ename varchar2(30), password varchar2(30)) --可以使用子查询--语法2 create table tablename as subquery--例子 create table emp_e1 as select * from emp --后面加判断可以创空表 create table emp_e1 as select * from emp where 1=1;--条件成立 可以把数据传过去 create table emp_e1 as select * from emp where 1=2;--条件不成立 没数据 --alter关键字--作用;用来修改数据库的对象(表,视图,序列,索引等)--语法 alter table tablename[modify(修改)/add(添加)/drop(删除)] --例子--当数据类型不满足填写的内容时 需要对表进行修改 alter table emp_e1 modify(ename,varchar2(30)) insert into emp_e1(empno,ename) values(9898,'cai10cai10cai') --例子--添加一列内容 alter table emp_e1 add(phone,vrachar2(30)) --例子--删除一列内容 alter table table emp_e1 drop column phone --drop--作用:用来删除数据库的对象(表,视图mssql 使用序列,序列,索引等)--语法 drop table tablename drop table emp_e1; (编辑:源码门户网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |