SQL

數據庫基本概念數據庫

        數據庫(Database, DB)
        數據庫管理系統(Database Management System, DBMS)
        數據庫管理員( Database Administrator, DBA )
        數據庫系統( Database System, DBS )
關係型數據庫(Relationship Database, RDB)安全

       關係型數據庫管理系統(RDBMS)
       SQL語言(Structured Query Language)
       使用關係模型的數據庫語言,用於和各種數據庫的交互,提供通用的數據管理和查詢功能:
       改變數據庫結構
       更改系統安全設置
       設置用戶對數據庫或表的許可權限
       在數據庫中檢索須要的信息
       對數據庫的信息進行更新
經常使用SQL指令:
       SELECT、INSERT、DELETE、UPDATE、CREATE、DR
當前流行的大型關係型數據庫: Oracle、IBM DB二、SQL Server、SyBase、Informix等。服務器

實體間聯繫:網絡

一對一關係(1:1)
       兩個實體集A和B,若A中的每一個實體至多和B中的一個實體有聯繫,反之,B中的每一個實體至多和A中的一個實體有聯繫,稱A對B或B對A是一對一關係。
一對多關係(1:n)
       兩個實體集A和B,若是A中的每一個實體能夠和B中的0~多個實體有聯繫,而B中的每一個實體至多和A中的一個實體有聯繫,則稱A對B爲一對多關係。
多對多關係(m:n)
       兩個實體集A和B,若A中的每一個實體可與和B中的多個實體有聯繫,反之亦然,稱A對B或B對A是多對多關係。架構

關係型數據庫基本術語:oracle

  關係:整個二維表
  關係名:表格名稱
  元組:行數據(記錄)
   屬性:列數據(字段/份量)
   屬性名:列名稱(字段名)
   主鍵:惟一肯定元組的屬性組(關鍵字)
   域:屬性的取值範圍
   關係模式:關係名(屬性列表)
        如:學生(學號,姓名,性別,系別,年齡,籍貫)
   約束
   域完整性約束
   實體完整性約束
   參照完整性約束
數據庫(Database)
    是磁盤上存儲的數據的集合(包括配置文件、數據文件、日誌文件和控制文件等)
數據庫實例(Database Instance)
    運行在數據庫文件上的一組Oracle後臺進程/線程以及一個共享內存區。數據庫能夠由實例裝載和打開。
Oracle實時應用集羣( RAC, Real Application Clusters)
    Oracle並行服務器架構/RAC架構
數據庫服務名( Database Service_Name)
    從oracle8i開始引入,數據庫客戶端與服務器端鏈接時建議指定其數據庫服務名,而不是數據庫實例名。
網絡服務名(Net Service Name)
    數據庫在客戶端的邏輯表示,包含數據庫服務名和網絡地址兩方面信息
監聽器(Monitor)
SQL語句分類:
Select查詢語句
      DML語句(數據操做語言)
Insert、Update、Delete、Merge
      DDL語句(數據定義語言)
Create、Alter、Drop、Truncate
      DCL語句(數據控制語言)
Grant、Revoke
     事務控制語句
Commit 、Rollback、Savepoint
        線程

         SQL 語言大小寫不敏感。
         SQL 能夠寫在一行或者多行
         關鍵字不能被縮寫也不能分行
         各子句通常要分行寫。
         使用縮進提升語句的可讀性。
數字和日期使用的數學表達式。
        SELECT last_name, salary, salary + 300
        FROM   employees;
         乘除的優先級高於加減。
         同一優先級運算符從左向右執行。
         括號內的運算先執行。

         空值是無效的,未指定的,未知的或不可預知的值。
         空值不是空格或者0。
 列的別名:
         重命名一個列。
         便於計算。
         緊跟列名,也能夠在列名和別名之間加入關鍵字‘AS’,以便在別名中包含空格或特殊的字符並區分大小寫。  日誌

在emp表中查詢相關信息        orm

       select * from emp;  
        select * from emp where ename like'%*_%' escape'*';
        select * from emp where deptno=30;
        select empno,ename from emp where job='manager';
        select * from emp where comm>sal;
        select sal+comm,ename from emp;
        select * from emp where(deptno=10 and job='MANAGER')or(deptno=20 and job='CLERK');
        select * from emp where deptno=10 and job not in('MANAGER','CLERK')and sal>=2000;
        select distinct job from emp where comm is not null and comm>0;
        select * from emp where comm<500 or comm is null;
        select ename from emp order by hiredate;
        emp表
blog

相關文章
相關標籤/搜索