數據庫的腳本

 

顯示當前用戶: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

 

 

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