加入收藏 | 设为首页 | 会员中心 | 我要投稿 源码门户网 (https://www.92codes.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql第四天笔记

发布时间:2022-09-30 07:33:15 所属栏目:MsSql教程 来源:转载
导读: --DML--INSERT 关键字 --作用 往表中插入一条(多条)记录
--元祖(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.给用户授权--允许用户登陆

oracle中序列的使用_mssql 使用序列_核酸序列与核苷酸序列

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;

(编辑:源码门户网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!