SQL入門 初識資料庫與SQL

2021-10-20 18:32:34 字數 4168 閱讀 9034

資料庫是將大量資料儲存起來,通過計算機加工而成的可以 進行高效訪問的資料集合。該資料集合稱為資料庫(database,db)。用來管理資料庫的計算機系統稱為資料庫管理系統(database management system,dbms)。

1. 層次資料庫(hierarchical database, hdb)

把資料通過層次結構(樹型結構)的方式表現出來,是最早的資料庫系統,最基本的資料關係是層次關係,記錄型別之間一對多的關係,也叫做雙親  子女關係(pcr);

2. 關係型資料庫(relational database, rdb)

採用由行和列組成的二維表來管理資料,當前使用最廣泛的資料庫,使用sql(structured query language,結構化查詢語言)對資料進行操作;

代表性資料庫有:a. oracle database:甲骨文公司的rdbms

b. sql server:公司的rdbms

c. db2: ibm公司的rdbms

d. postgresql:開源的rdbms

e.mysql:開源的rdbms   

3. 物件導向資料庫(object oriented database,oodb)

把資料以及對資料的操作集合起來以物件為單位進行管理,程式語言當中有一種被稱為物件導向開發,物件導向資料庫就是用來儲存這些物件的資料  庫。

4. xml資料庫(xml database,xmldb)

一種支援對xml(標準通用標記語言下的乙個應用)格式文件進行儲存和查詢等操作的資料管理系統;可以對xml形式的大量資料進行高速處理;

5. 鍵值儲存系統(key-value store,kvs)

鍵值資料庫是一種用以鍵(key)和值(value)組合的方式儲存資料的資料庫。即非關係型資料庫(no sql)。

代表性資料庫有:

a. redis:結構化資料儲存, 用於資料庫、快取、訊息**;

b. memcached: 基於易失性記憶體的鍵-值儲存器;

使用 rdbms 時,最常見的系統結構就是客戶端 / 伺服器型別(c/s型別)這種結構(圖 1-3)

資料庫中儲存的表結構類似於excel中的行和列,在資料庫中,行稱為記錄,它相當於一條記錄,列稱為字段,它代表了表中儲存的資料專案。

行和列交匯的地方稱為單元格,乙個單元格中只能輸入一條記錄。

根據對 rdbms 賦予的指令種類的不同,sql 語句可以分為以下三類.

ddl(data definition language,資料定義語言) 用來建立或者刪除儲存資料用的資料庫以及資料庫中的表等物件。ddl 包含以下幾種指令。

dml(data manipulation language,資料操縱語言) 用來查詢或者變更表中的記錄。dml 包含以下幾種指令。

dcl(data control language,資料控制語言) 用來確認或者取消對資料庫中的資料進行的變更。除此之外,還可以對 rdbms 的使用者是否有許可權運算元據庫中的物件(資料庫表等)進行設定。dcl 包含以下幾種指令。

實際使用的 sql 語句當中有 90% 屬於 dml

'abc', 1234, '26 jan 2010', '10/01/26', '2010-01-26'…

sql 語句的單詞之間需使用半形空格或換行符來進行分隔,且不能使用全形空格作為單詞的分隔符,否則會發生錯誤,出現無法預期的結果。

語法:create database < 資料庫名稱 > ;

語法:create table < 表名 >

( < 列名 1> < 資料型別 > < 該列所需約束 > ,

< 列名 2> < 資料型別 > < 該列所需約束 > ,

< 列名 3> < 資料型別 > < 該列所需約束 > ,

< 列名 4> < 資料型別 > < 該列所需約束 > ,..

. < 該錶的約束 1> ,

< 該錶的約束 2> ,……);

資料庫建立的表,所有的列都必須指定資料型別,每一列都不能儲存與該列資料型別不符的資料。

四種最基本的資料型別

用來指定儲存整數的列的資料型別(數字型),不能儲存小數。

用來儲存定長字串,當列中儲存的字串長度達不到最大長度的時候,使用半形空格進行補足,由於會浪費儲存空間,所以一般不使用。

用來儲存可變長度字串,定長字串在字元數未達到最大長度時會用半形空格補足,但可變長字串不同,即使字元數未達到最大長度,也不會用半形空格補足。

用來指定儲存日期(年月日)的列的資料型別(日期型)。

束是除了資料型別之外,對列中儲存的資料進行限制或者追加條件的功能。

not null是非空約束,即該列必須輸入資料。

primary key是主鍵約束,代表該列是唯一值,可以通過該列取出特定的行的資料。

刪除表的語法:

drop table < 表名 > ;

需要特別注意的是,刪除的表是無法恢復的,只能重新插入,請執行刪除操作時無比要謹慎。

新增列的 alter table 語句:

alter table < 表名 > add column < 列的定義 >;

alter table 語句和 drop table 語句一樣,執行之後無法恢復。誤添的列可以通過 alter table 語句刪除,或者將表全部刪除之後重新再建立。

清空表內容:

truncate table table_name;

優點:相比drop``/``deletetruncate用來清除資料時,速度最快。

資料的更新語法:

update 《表名》

set 《列名》 = 《表示式》 [, 《列名2>=《表示式2>...];

where 《條件》; -- 可選,非常重要。

order by 子句; --可選

limit 子句; --可選

使用 update 時要注意新增 where 條件,否則將會將所有的行按照語句修改

基本語法:

insert into 《表名》 (列1, 列2, 列3, ……) values (值1, 值2, 值3, ……);

編寫一條 create table 語句,用來建立乙個包含表 1-a 中所列各項的表 addressbook (位址簿),並為 regist_no (註冊編號)列設定主鍵約束

表1-a 表 addressbook (位址簿)中的列

答案:

create table addressbook(

regist_no integer not null,

name varchar(128) not null,

address varchar(256) not null,

tel_no char(10),

mail_address char(20),

primary key(regist_no)

);

列名 : postal_code

資料型別 :定長字串型別(長度為 8)

約束 :不能為 null

答案:

alter table addressbook add column postal_code char(8) not null
編寫 sql 語句來刪除 addressbook 表。

答案:

drop table addressbook
編寫 sql 語句來恢復刪除掉的 addressbook 表。

create table addressbook(

regist_no integer not null,

name varchar(128) not null,

address varchar(256) not null,

postal_code char(8) not null,

tel_no char(10),

mail_address char(20),

primary key(regist_no)

);

初識資料庫

隨著vb學習任務的結束,我又迎來了新的學習任務 資料庫。剛接觸資料庫真是一頭霧水啊,看哪哪覺得陌生,那麼什麼是資料庫呢?下面蒐集的這些資料希望對我們初學者有所幫助。資料庫,顧名思義就是 資料的倉庫 計算機系統經常用來處理各種各樣的,大量的資料,比如使用計算機系統收集超市裡進出貨的清單,某地區的人口資...

初識資料庫

資料庫安裝 版本 postgres 配置環境變數,path中新增解壓後bin檔案路徑 安裝 執行cmd 解壓資料夾下 執行指令 initdb locale c e utf 8 d 安裝路徑 data 註冊服務 以管理員身份執行cmd 輸入指令 pg ctl register n 服務名稱 d 安裝路...

初識資料庫

一 什麼是資料庫?資料庫就是將資訊規範化並使之電子化,形成電子資訊 庫 以便利用計算機對這些資訊進行快速有效的儲存,檢索,統計與管理。資料庫起源於規範化 表 table 的處理。table 以按行按列形式組織及展現的資料 表中都有什麼呢?table 的構成和關於 table 的常用術語 資料庫與表是...