做IT這一行,知識面就要廣。感覺總有學不完的東西,痛苦的是學完了不一定工作中都能用到,隨著時間的流逝,以前花大力氣學的東西,又忘了,每到換工作時,又要充一下電,要重新學習溫習,似乎又從0開始了。唉,什么時候是個頭呢。
今天把數(shù)據(jù)庫相關(guān)的知識再重新?lián)炱饋怼_^一過大腦吧。
SQL 是什么?
SQL(結(jié)構(gòu)化查詢語言), 是一門 ANSI(美國國家標準化組織) 的標準計算機語言,用來訪問和操作數(shù)據(jù)庫系統(tǒng)。SQL 語句用于取回和更新數(shù)據(jù)庫中的數(shù)據(jù)。SQL 可與數(shù)據(jù)庫程序協(xié)同工作,比如 MS Access、DB2、Informix、MS SQL Server、Oracle、Sybase 以及其他數(shù)據(jù)庫系統(tǒng)。
不幸地是,存在著很多不同版本的 SQL 語言,但是為了與 ANSI 標準相兼容,它們必須以相似的方式共同地來支持一些主要的關(guān)鍵詞(比如 SELECT、UPDATE、DELETE、INSERT、WHERE 等等)。
注釋:除了 SQL 標準之外,大部分 SQL 數(shù)據(jù)庫程序都擁有它們自己的私有擴展!
RDBMS(關(guān)系型數(shù)據(jù)庫管理系統(tǒng)),是SQL的基礎(chǔ)
同樣也是所有現(xiàn)代數(shù)據(jù)庫系統(tǒng)的基礎(chǔ),比如 MS SQL Server, IBM DB2, Oracle, MySQL 以及 Microsoft Access。
RDBMS 中的數(shù)據(jù)存儲在被稱為表(tables)的數(shù)據(jù)庫對象中。
表是相關(guān)的數(shù)據(jù)項的集合,它由列和行組成。
在您的網(wǎng)站中使用 SQL
要創(chuàng)建發(fā)布數(shù)據(jù)庫中數(shù)據(jù)的網(wǎng)站,您需要以下要素:
- RDBMS 數(shù)據(jù)庫程序(比如 MS Access, SQL Server, MySQL)
- 服務(wù)器端腳本語言(比如 PHP 或 ASP)
- SQL
- HTML / CSS
SQL Server是微軟的,只能在Windows上運行;
Oracle、IBM DB2、可以在UNIX/Linux上跑,系統(tǒng)性能、安全性、可靠性比SQL Server強得多。
在Linux上,mysql使用也很多,這是一款可以免費使用的數(shù)據(jù)庫產(chǎn)品,功能也非常強大。
SQL 能做什么?
- SQL 可在數(shù)據(jù)庫中插入新的記錄
- SQL 可從數(shù)據(jù)庫刪除記錄
- SQL 可更新數(shù)據(jù)庫中的數(shù)據(jù)
- SQL 面向數(shù)據(jù)庫執(zhí)行查詢
- SQL 可從數(shù)據(jù)庫取回數(shù)據(jù)
- SQL 可創(chuàng)建新數(shù)據(jù)庫
- SQL 可在數(shù)據(jù)庫中創(chuàng)建新表
- SQL 可在數(shù)據(jù)庫中創(chuàng)建存儲過程
- SQL 可在數(shù)據(jù)庫中創(chuàng)建視圖
- SQL 可以設(shè)置表、存儲過程和視圖的權(quán)限
SQL DML 和 DDL
可以把 SQL 分為兩個部分:數(shù)據(jù)操作語言 (DML) 和 數(shù)據(jù)定義語言 (DDL)。SQL (結(jié)構(gòu)化查詢語言)是用于執(zhí)行查詢的語法。但是 SQL 語言也包含用于更新、插入和刪除記錄的語法。
查詢和更新指令構(gòu)成了 SQL 的 DML 部分:
- INSERT INTO - 向數(shù)據(jù)庫表中插入數(shù)據(jù)
- DELETE - 從數(shù)據(jù)庫表中刪除數(shù)據(jù)
- UPDATE - 更新數(shù)據(jù)庫表中的數(shù)據(jù)
- SELECT - 從數(shù)據(jù)庫表中獲取數(shù)據(jù)
SQL 的數(shù)據(jù)定義語言 (DDL) 部分使我們有能力創(chuàng)建或刪除表格。我們也可以定義索引(鍵),規(guī)定表之間的鏈接,以及施加表間的約束。
SQL 中最重要的 DDL 語句:
- CREATE DATABASE - 創(chuàng)建新數(shù)據(jù)庫
- ALTER DATABASE - 修改數(shù)據(jù)庫
- CREATE TABLE - 創(chuàng)建新表
- ALTER TABLE - 變更(改變)數(shù)據(jù)庫表
- DROP TABLE - 刪除表
- CREATE INDEX - 創(chuàng)建索引(搜索鍵)
- DROP INDEX - 刪除索引
select 列1,列2 from 某表 where 字段1=‘某值’and 字段2=‘某值22’or 字段3>12 order by 字段3 desc, 字段4 asc
對表的數(shù)據(jù)按照一定的條件進行篩選,排序。 select * from 某表 要看表的全部數(shù)據(jù)
select distinct 列1 from 某表 要看表中列1字段中的經(jīng)排重后的所有數(shù)據(jù)
insert into 某表 (字段1,字段2) values ('值1','值2') 在表中添加一條新數(shù)據(jù),字段1值為值1,字段2值為值2,其他為空
update 某表 set 字段1=‘值1’,字段2=‘值2’ where 字段3=‘值3’ 更改表中字段3值為值3的字段1的值為值1,字段2的值為值2.delete * from 某表 刪除某表的全部數(shù)據(jù)
delete from 某表 where 字段1=值1 將表中字段1值為值1的數(shù)據(jù)從某表中刪除。
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點擊舉報。