数据库的脚本

 

显示当前用户:show user;

连接数据库(切换用户):

connect;然后输入用户名和口令
connect  用户名/口令;


SQL的脚本文件(.SQL)

编辑:edit d:\sql_test.sql()文件路径
运行:完整的脚本文件路径/从文件打开该文件(反应:非法的GET命令),然后@+文件名【11分19】
置换变量:&+随便起的名字,起提示作用(用法,以下代码在脚本文件中存储,运行时要输入变量的值)

select * from Student2
where sage='&sageis';

替换变量内容:

ACCEPT sageis PROMPT '请输入年龄>'[HIDE]//假如输入密码时加hide会隐藏输入内容

SQL用户管理话语法

创建用户:CREATE USER <用户名> IDENTIFIED BY <密码>

修改用户信息:(站在管理员的位置上)
ALTER USER <用户名> IDENTIFIED BY  <密码>;//修改该用户名的密码
ALTER USER <用户名> ACCOUNT LOCK;//锁定账户,冻结
ALTER USER <用户名> ACCOUNT UNLOCK;//解锁
DROP USER<用户名>;//删除用户

给用户授权:(SQL是严格的白名单系统,没有授权什么事都做不了,包括登录)
GRANT <权限列表> TO <用户名>;//给用户降级(赋予权限) 

创建新用户脚本:cuser.sql

set verify off
set echo off
accept username char prompt 'input username:'
accept password char prompt 'input password:' HIDE
create user &username identified by &password;
grant connect to &username;
grant resource to &username;
set echo on
set verify on
connect &username/&password;

注:用户密码不可以太简单(纯为数字)

脚本源代码回显
set echo on;//打开脚本源代码回显
set echo off;//关闭脚本源代码回显
set feedback on;//显示检索条目数量
set feedback off;//不显示检索条目数量
set verify on;//显示替换变量的对比
set verify off;//不显示替换变量的对比


SQL的函数

ROUND(输入值,精度)  (四舍五入)精度为负数指在小数点之前
select ROUND(100.056,2) from dual;//100.06

TRUNC(输入值,精度) (直接舍去)
select trunc(1234.567) from dual;1234.56

西文格式化方法
UPPER(表达式或字段名):全部改大写
select upper('hello world') from dual;
LOWER(表达式或字段名):全部改小写
INITCAP(表达式或字段名)from dual;改为首字母大写

单行函数
LENGTH(表达式或字段名):字符串长度
SUBSTR(字串,开始截取的位置,要截取的个数):截取子串
INSTR(源字串,查找子串,开始查找位置):子字串定位

TRIM(字段名):去除字符的空白字符
LTRIM(字段名):去除左边字符的空白字符
RTRIM(字段名):去除右边字符的空白字符

日期函数:

select to_char(sysdate,'YYYY-MM-DD') from test;//格式化显示日期
select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') from test;
 select to_char(sysdate,'YYYY"年"MM"月"DD"日"')from test;

 insert into test values('1-7月-16');//固定格式的日期插入
insert into test values(TO_DATE('2016-7-1','yyyy-mm-dd')); 
insert into test values(TO_DATE('2016-6','yyyy-mm'));//自定义格式的日期输入 1分13

NVL:nvl(字段名,'要替换的字段'):用指定字段替换空字段.

 select
 sno,
 sname,
 nvl(to_char(sage,'99'),'未录入') --nvl(字段名,'要替换的字段'):用指定字段替换空字段
 from student;

--显示:
SNO   SNAME                NVL(TO
----- -------------------- ------
10002 Jerry                未录入
10003 Lili                 未录入
10003 Tom                   12

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章