資料庫複習1

2021-06-21 02:09:47 字數 3705 閱讀 4355

1.常用的資料庫軟體

a. 大型資料庫:oracle——oracle(甲骨文)公司

db2——ibm公司

sybase——sybase公司(較早採用c/s技術)

b. 中小型資料庫:sql server——microsoft,支援c/s結構,採用標準sql語言

mysql——體積小,速度快,開發原始碼,很多中小型**為降低成本選擇mysql作為**資料庫

c. 小型資料庫:microsoft access

2. 常用概念

rdbms: relational database management system

sql:      structured query language

dba:      database administrator

table:    表

3. 連線資料庫

a. 用telnet連線伺服器——telnet ip位址

b. sqlplus:oracle提供的客戶端工具

用sqlplus連線資料庫sqlplus 使用者名稱/密碼

4. 建表

例如:create table user(

id number(4),

passwd char(4),

name char(20),

email varchar2(50) );

number(n);

number(n, m) 總長n位(不含小數點),小數點後m位

char(n) 定長字串,方便查詢

varchar(n) 變長字串,節省空間

varchar2(n) oracle自己定義的變長字串

date 日期

注:清屏clear scr

4. 插入資料

例子:insert into user values(

123, '456', 'wangqing', '[email protected]');

5. 查詢資料

例子:select * from user;

6. sqlplus 命令

a. sqlplus命令不加分號結尾, sql語句以分號結尾

b. 設定行的寬度: set linesize 200——顯示200個字元再換行

c. 設定列的寬度:column name format a6——設定列name寬度為6個字元

column id format 9999——設定列id為4個數字

注:在oracle中,字元和數字是區別對待的,所以設定格式也是區別對待

注:column可簡寫為col, format可簡寫為for

d. 檢視表的結構:desc user(表名)

e. /  ——執行上一條sql語句,忽略sqlplus命令

f. 設定分頁顯示   set pagesize 100 —— 每100行分頁顯示

set pagesize 0    —— 設定為0則不分頁顯示

注: pagesize 可以簡寫為pages

7. 查詢語句

a. 查詢id = 100, passwd = 『1234』的考生的名字

select name from user where id  = 100 and passwd = '1234';

b. 列的別名

select name, salary, salary*12 year_sal from emp;

8. 刪除表

drop table user(表名);

9. 空值

1)oracle中空值的概念:null

a.任何資料都可以為空值

b.空值和任何資料做算術運算,結果都為空值

c.空值和字串型別做連線操作,結果相當於空值不存在

2)nvl(d1, d2):如果d1為空值,那麼用d2替代

注:nvl引數的型別可以為數字,字元,日期,但是兩個引數的型別必須一致

3)插入空值的時候:

insert into user values(111, 'wangqing', null, null);

可以簡寫為

insert into user(id, name) values(111, 『wangqing』);

4)查詢空值舉例

select id, nvl(name, 'no name') from user;

10. 複製表

create table emp_wangqing as select * from emp_yuqingqing;

11. distinct關鍵字:去除重複的

select distinct job from s_emp;

select distinct dptno from s_emp;

12. 大小寫問題

1) sql語句大小寫不敏感,但是對於資料的大小寫敏感

2) lower()函式

select * from user where lower(name) = 'wangqing';

3) upper()函式

select * from user where upper(name) = 'wangqing';

13. between …and…關鍵字

1) 為閉區間

2) select * from user where salary <= 10000 and salary >= 5000;

select * from user where salary between 5000 and 10000;

14. in(列表)

select * from user where name = 'wangqing' or name = 'yuqing';

select * from user where name in('wangqing', 'yuqing');

15. 模糊匹配 like % _

1) %代表0到多個字元

2)_代表乙個字元

select * from user where lower(job) like '%sale%';

select * from user where lower(name) like '_wang%';

查詢資料庫中有多少個以's_'開頭的表

select count(*) from user_tables where table_name like 's\_%' escape '\';

15. 否定形式

1) 判斷為空要用 is null 和 is not null

2) not between and

3) not in(list);

16. sql語言分類

1) ddl(data difinition language)資料定義語句

常用:create, drop, alter(修改), truncate(清空)

2) dml(data manipulation language) 資料操縱語句

常用:insert,update(更新操作), delete(刪除操作)

3) dql (data query language) 資料查詢語句

常用:select

4) 事物控制語句(用來對dml進行確認操作)

常用:commit, rollback

add:

1.字串拼接

select first_name||last_name name from s_emp;

資料庫複習

這是本科資料庫課程的複習。考試內容主要是資料庫的基本概念,資料庫設計資料庫系統的優化和恢復。至於設計底層的資料庫管理系統原理,坑先挖了,日後補,是我計畫中的一門課程。目錄資料庫系統 一般由資料庫。資料庫管理系統 及其開發工具 應用系統 資料庫管理員構成。目的 儲存資訊並支援使用者檢索和更新所需的資訊...

資料庫複習

資料庫複習 2016年6月15日 21 34 main logical data model ldm 邏輯資料模型 1.邏輯資料模型的三要素 data structure 資料結構 data operation 資料操縱 data constraints 資料約束 2.關係模型的歷史 提出關係代數 ...

資料庫複習

連線查詢 一 內連線 內連線查詢操作列出與連線條件匹配的資料行,它使用比較運算子比較被連線列的列值。內連線分三種 1 等值連線 在連線條件中使用等於號 運算子比較被連線列的列值,其查詢結果中列出被連線表中的所有列,包括其中的重複列。2 不等連線 在連線條件使用除等於運算子以外的其它比較運算子比較被連...