oracle入门基础语法

1、创建用户和密码: create user 用户名 identified by 密码;
[default tablespace 用户的默认表空间,用于储存数据库对象。如忽略此参数,则默认存储到SYSTEM表空间]
[temporary tablespace 临时对象默认存储的表空间,包括临时表。如忽略此参数,则默认存储到SYSTEM表空间];


2、授用户登录权限:grant create session to 用户名,用户名;(可多个授权,用户名之间用逗号分隔)


3、修改用户密码: alter user 用户名 identified by 密码;(也可修改当前用户)
   修改当前登录用户的密码: password 命令


4、查询用户:select 查询的属性 from dba_users;


5、删除用户:drop user 用户名(cascade);(进行联级删除)


6、给用户赋权:grant 角色名 to 用户名(with admin option);(允许它有赋角色的权利)


7、查看用户所拥有的角色: select * from user_role_privs;
 select * from session_roles;


8、给用户赋权:grant 权限名 to 用户名(with admin option);(允许它有赋权的权利)


9、查看用户所拥有的权限: select * form user_sys_privs


10、撤销用户的权限:revoke 权限名 form 用户名;


11、创建表空间:create tablespace 表空间名
datafile 表空间路径
size 表空间大小;


12、创建表: create table 表名
    (
列名 类型 数据类型的大小,(若添加该列名为主键:constraint 主键名 primary key)
列名 类型 数据类型的大小
     );


创建表及命名规则:
必须以字母开头
必须在 1–30 个字符之间
必须只能包含 A–Z, a–z, 0–9, _, $, 和 #
必须不能和用户定义的其他对象重名
必须不能是Oracle 的保留字
Oracle默认存储是都存为大写


必须具备:
create table 权限
存储空间


必须指定:
表名
列名, 数据类型, 数据类型的大小




13、查看表中列的信息: describe 表名(dos命令行可用)


14、删除表:drop table 表名;


15、重新命表名:rename 旧表名 to 新表名;


16、查看表中行的信息:select * form 表名;


17、增加列:alter table 表名 add 列名 类名类型 (not null);(是否能为null)


18、增加列,指定默认值:alter table 表名 列名 date default sysdate not null;


19、增加虚列(不可添加到临时表上): alter table 表名 add (添加的列名 as (一个或多个进行操作的列名));


20、删除列: alter table 表名 
    drop column 列名;


21、修改列:alter table 表名 
   modify 列名 列名类型的大小(精度、类型);


22、修改列的默认值: alter table 表名 
      modify 列名 default sysdate-1;


23、给列重命名: alter table 表名 rename column 旧的列名 to 新的列名;


24、添加行:insert into 表名(列名1,列名2,列名3,...)values (值1,值2,值3,...);




25、将行从一个表复制到另一个表:insert into 目标表(列名1,列名2,列名3,...)
select 值1,值2,值3...
from 源表
where 行;
(where后为条件 如不加则是复制所有行)


26、修改表中的行:update 表名 set 列名=值 where 行;
(where后为条件 如不加则是修改所有行)


27、删除行:delete from 表名 where 行;
(where后为条件 如不加则是删除所有行)


28、截断表:truncate table 表名;(注意:只能删除所有的行和重置表的存储区域)


29、列出所有的列:select * from 表名;


30、列出指定列:select 列名1,列名2,...from 表名;


31、列出指定列,并改名:selece 列名1 as “要改的名”,列名2 as “要改的名”,...from 表名;(注意:as可省略,“”可省略)


32、将多个列和字符串连接一起:select 列名1||列名2 as“字符串” from 表名;
     select concat(列名1,列名2) as “字符串” from 表名;


33、where子句中的字符串和日期必须含在单引号中,但数字不能;字符值是区分大小写的。


34、提交数据: commit;
    修改dos命令行的宽度:set linesize;
    修改dos命令行的长度:set pagesize;
    清空dos命令行:host cls;


35、dual表常用在没有查询目标的select语句块中:select sysdate from dual;


36、日期计算:select to_date(‘日期’)+修改的值 from dual;
     select to_date(‘日期’)-修改的值 from dual;


37、SQL运算符可以进行模式匹配,像字符串、列表值、NULL值。
like:匹配字符串
in:匹配列表值
between:匹配范围值
is null:匹配空值
is nan:匹配非数字值
同样可以在上述运算符前加not取反


38、like运算符:
可以使用普通字符及通配符进行组合,通配符如下:
下划线(_):表示匹配某个位置的字符
百分号(%):表示在某个位置的任意个字符


39、转义字符:select 列名 from 表名 where 列名 link ‘%\%%’ escape ‘\’;(将中间的%不作为通配符)


40、表中的列的升序排序:select * from 表名 order by 列名;


41、表中的列的降序排序:select * from 表名 order by 列名 desc;


42、用户输入查询:select * from 表名 where 列名=&参数名;


43、查询用户下的所有表名: select table_name from user_tables;

猜你喜欢

转载自blog.csdn.net/xhh_1817/article/details/78757668
今日推荐