SQL总结.docx
《SQL总结.docx》由会员分享,可在线阅读,更多相关《SQL总结.docx(10页珍藏版)》请在冰豆网上搜索。
![SQL总结.docx](https://file1.bdocx.com/fileroot1/2022-11/16/4201bc98-e211-4810-ad8a-befe88af572b/4201bc98-e211-4810-ad8a-befe88af572b1.gif)
SQL总结
----用户管理
----dba_users(用户信息)、dba_tab_privs(权限信息)
createuser<用户>identifiedby<密码>;--创建用户
dropuser<用户>;--删除用户
dropuser<用户>cascade;--级联删除用户
grantcreatetableto<用户>;--授予用户建表的权限
revokecreatetablefrom<用户>;--撤销用户建表的权限
grantselecton<表名>to<用户>;--授予用户查看<表名>表的权限
revokeselecton<表名>from<用户>;--撤销用户查看<表名>表的权限
grantselect(<列1><列2>)on<表名>to<用户>;--授权用户只能查表的的<列1><列2>两列
select*fromdba_tab_privswheregrantee='<用户>';--查询指定用户有哪些权限
selectusernameuser_idfromdba_userswhereusername='<用户>';--查询指定用户的id
select*fromsysuserswhereid=();--通过用户id,进行查看该用户的详细密码策略
selectgranteegranted_rolefromdba_role_privswheregrantee='sysdba';--查看哪些用户具有sysdba权限
selectusernameaccount_statusfromdba_users;--查看所有用户的当前状态(是否锁定)
alterusertestaccountlock/unlock;--锁定/解锁用户密码
createuser<新用户>identifiedby"<密码>"defaulttablespace<表空间名>;--新建bkjyh用户,设置密码,指定默认表空间为bkj
alteruser<用户>defaulttablespace<表空间名>;--修改<用户>的默认表空间为<表空间>
----角色管理
----dba_roles(角色信息)、dba_role_privs(用户对应的角色)
createrole<角色>;--创建角色
droprole<角色>;--删除角色
callsp_set_role('<角色>'1);--启用角色
callsp_set_role('<角色>'0);--禁用角色
grant<角色>to<用户>;--把角色分配给用户
revoke<角色>from<用户>;--撤销用户的角色
select*fromdba_roleswhererole='<角色>';--查询指定角色信息
selectgranteegranted_rolefromdba_role_privswheregrantee='<用户>';--查看指定用户具有哪些角色
selectgranteeprivilegefromdba_sys_privswheregrantee='<角色>';--查看指定角色具有哪些权限
grantcreatetableto<角色>;--授予角色建表的权限
grantuppdateon<表名>to<角色>;--授予角色查看<表名>表的权限
----模式管理
createschema<模式>authorization<用户>;--创建属于哪个用户的模式
setschema<模式>;--切换到<模式>
dropschema<模式>;--删除模式
dropschema<模式>cascade;--级联删除模式
----表管理
----dba_cons_columns(所有用户下的表信息)
createtable<表名>(<列1><数据类型1><列2><数据类型2><精度>)storage(on<表空间>);--创建表
droptable<表名>;--删除表
droptable<表名>cascade;--级联删除表
altertable<表名>renameto<新表名>;--更改表名
select*from<表名>;--查找表
insertinto<表名>(<列1><列2><列3>)values('<数据1>''<数据2>''<数据3>');--表里插入数据
createtable<表名>(idnumbernamevarchar2(32));--创建一张表
insertinto<表名>(<列>)values(<序列名>.nextval);--插入序列
deletefrom<表名>where<列>='<需要删除的数据>';--删除表里指定数据
updateperson.personsetphone=118114wherename='李丽';--更改表里数据
deletefrom<表名>;--清空表数据
altertable<表名>addcolumn("<新列>"varchar(10));--添加列
altertable<表名>drop<列>cascade;--删除列
altertable<表名>alter<列>renameto<新列名>;--修改列
sp_create_system_packages
(1);--构建环境,安装包
sp_create_system_packages(0);--构建环境,关闭包
--建一个范围分区表,指定par2分区存储在ts_par2表空间上:
createtablepartition_table(c1intc2int)partitionbyrange(c1)(partitionpar1valueslessthan(5)partitionpar2valueslessthan(100)storage(onts_par2));
--建一个列存表,指定第二列占用的簇为15个:
createverticaltabledm(c1intstorage(section(10))c2varchar)storage(section(15));
--创建一个堆表,指定并发分支2个,非并发分支4个:
createtablelist_table(c1int)storage(branch(24));
----表空间
----v$huge_tablespace(huge表空间)
createtablespace<表空间名>datafile'<路径\数据文件>'size<大小>;--创建表空间
altertablespace<表空间名>renameto<新表空间名>;--更改表空间名字
droptablespace<表空间名>;--删除表空间
createhugetablespacepath;--创建huge表空间
select*fromv$huge_tablespace;--查看huge表空间
drophugetablespace;--删除huge表空间
altertablespace<表空间名>adddatafile'<路径\数据文件>'size<大小>;--为表空间添加数据文件
altertablespace<表空间名>resizedatafile'<路径\数据文件>'to<大小>;--为表空间扩展数据文件大小
altertablespace<表空间名>datafile'<路径\数据文件>'autoextendon;--指定表空间的数据文件可自动扩展
altertablespace<表空间名>offline;--修改表空间状态为脱机
altertablespace<表空间名>online;--修改表空间状态为联机
selecttablespace_namestatusfromdba_tablespaces;--查看表空间状态
selecttablespace_namefile_namefromdba_data_files;--查看表空间与数据文件的对应关系
selecttablespace_namebytes/1024/1024as"free_space"file_namefromdba_free_space;----查看表空间的剩余空间
----日志
alterdatabaxxxxseaddlogfile'D:
\dmdbms\data\DAMENG1\EE.log'size64;--为当前数据库增加日志
alterdatabaxxxxseresizelogfile'D:
\dmdbms\data\DAMENG1\EE.log'to128;--扩充日志大小
selectfile_idpathrlog_size/1024/1024as"rsize"fromv$rlogfile;--查看日志路径及大小
----视图管理
createview<视图名>asselectabfromempwherea='M';--创建视图查询emp表中满足a='M'条件的行
createorreplaceview<视图名>asselectabcfromemp;--修改视图查询范围
select*from<视图名>;--查询视图
drop*from<视图名>;--删除视图
----约束管理
----user_constraints(约束信息)
altertable<表名>dropconstraint<约束名>;--删除约束
altertable<表名>enableconstraint<约束名>;--启用约束
altertable<表名>disableconstraint<约束名>;--禁用约束
--非空约束(只能作为列级约束,不能作为表级约束)
altertable<表名>modify<列>notnull;--为该表增加非空约束
--唯一约束(可以是列级也可是表级)
altertable<表名>addconstraint<约束名>unique(<列>);--为该列添加唯一约束
--主键约束(可以是列级也可是表级)
altertable<表名>addconstraint<约束名>primarykey(<列>);--为该列添加主键约束
--外键约束
altertable<表名>addconstraint<约束名>foreignkey(<列>)referencesdept(<列>);--为该列添加主键约束
--检查约束
altertable<表名>addconstraint<约束名>check(lie>800);--为该列添加检查约束(lie>800)
----索引管理
----user_indexes(索引信息)
----sysobxxxxjects(索引信息)
selectidnamefromsysobxxxxjectswherename='<索引名>';--查找索引id
callsp_rebuild_index('<模式>''<索引id>');--重建索引
dropindex<索引