1. 程式人生 > 其它 ><轉載>SQL 基礎知識梳理(一)- 資料庫與 SQL SQL 基礎知識梳理(一) - 資料庫與 SQLSQL 基礎知識梳理(二) - 查詢基礎SQL 基礎知識梳理(四) - 資料更新

<轉載>SQL 基礎知識梳理(一)- 資料庫與 SQL SQL 基礎知識梳理(一) - 資料庫與 SQLSQL 基礎知識梳理(二) - 查詢基礎SQL 基礎知識梳理(四) - 資料更新

 

【博主】反骨仔    【原文地址】http://www.cnblogs.com/liqingwen/p/5902856.html

 

目錄

 

一、What's 資料庫

  1.資料庫(Database,DB):將大量資料儲存起來,通過計算機加工而成的可以進行高效訪問的資料集合。如:大型-銀行儲存的資訊,小型-電話簿。

  2.資料庫管理系統(Batabase Management System,DBMS):用來管理資料庫的計算機系統。

  3.關係型資料庫(Relational Database,RDB):目前應用最廣泛的資料庫。

  4.結構化查詢語言(Structured Query Language,SQL):專門用於操作 RDB。

  5.常見的 5 種關係型資料庫管理系統(Relational Database Management System,RDBMS):

    ①Oracle Database:甲骨文公司

    ②SQL Server:微軟公司

    ③DB2:IBM 公司

    ④PostgreSQL:開源

    ⑤MySQL:開源

 

二、資料庫結構

  1.伺服器:用於接收並處理其它程式發出的請求的程式(軟體),或者是安裝此類程式的裝置(計算機)。

  2.客戶端:向伺服器發出請求的程式(軟體),或者是安裝此類程式的裝置(計算機)。

 

  3.表(table):類似 Excel,由行和列組成的二維表。

  4.欄位:表的列(垂直方向)。

  5.記錄:表的行(水平方向)。【注意】關係資料庫必須以行為單位進行資料讀寫。

  6.單元格:行列交匯處。【注意】與 Excel 不同,一個單元格只能輸入一個數據。

 

三、SQL 概要

  1.SQL 語句:用關鍵字、表名和列名等組合而成的一條語句。

  2.3 種 SQL 語句種類:

    (1)DDL(Data Definition Language,資料定義語言):建立、刪除或修改資料庫以及資料庫中的表等物件。

      ①CREATE:建立資料庫和表等物件

      ②DROP:刪除資料庫和表等物件

      ③ALTER:修改資料庫和表等物件

    (2)DML(Data Manipulation Language,資料操作語言):查詢或修改表中的記錄。

      ①SELECT:查詢表中的資料

      ②INSERT:向表中插入資料

      ③UPDATE:修改表中的資料

      ④DELETE:刪除表中的資料

    (3)DCL(Data Control Language,資料控制語言):確認或取消對資料庫中的資料變更的執行操作,以及對使用者的操作資料庫中的物件許可權進行設定。

      ①COMMIT:確認對資料庫中的資料進行的變更

      ②ROLLBACK:取消對資料庫中的資料進行的變更

      ③GRANT:賦予使用者的操作許可權

      ④REVOKE:取消使用者的操作許可權

    【備註】DML 使用最頻繁。

  3.SQL 語句書寫規範:

    ①以分號(;)結尾;

    ②大小寫不敏感,不區分關鍵字的大小寫;【注意】插入到表中的資料是區分大小寫的,如“HI”、“Hi”和“hi”都不同。

    ③該系列隨筆將採用“關鍵字大寫,表名和列名的首字母大寫”的格式。

    ④單詞使用半形空格或換行符隔開

  4.常數的書寫方式:

    字串、日期:用單引號括起來('),如'Hello','2016-09-24'。

    數字:直接書寫,不用加單引號,如:5。

  

四、建立資料庫與表

  1.資料庫建立:

-- 語法:CREATE DATABASE <資料庫名稱>
CREATE DATABASE Shop -- 建立名為 Shop 的資料庫

 

  

  2.表的建立

-- 語法:
-- CREATE TABLE <表名>
-- (
--        <列名1> <資料型別> <約束>,
--        <列名1> <資料型別> <約束>,
--        ...
--        <表約束1>,
--        <表約束2>,
--        ...
-- )
-- 建立名為 Shohin 的表
CREATE TABLE Shohin
(
    shohin_id     CHAR(4)      NOT NULL,
    shohin_mei    VARCHAR(100) NOT NULL,
    shohin_bunrui VARCHAR(32)  NOT NULL,
    hanbai_tanka  INTEGER ,
    shiire_tanka  INTEGER ,
    torokubi      DATE ,
    PRIMARY KEY (shohin_id)
 );

   

  3.命名規則:

    ①只能使用半形英文字母、數字、下劃線(_)作為資料庫、表和列的名稱;

    ②規範要求命名以半形英文字元開頭;

    ③名稱不能重複。

  4.資料型別的指定:宣告該列的資料型別,是一種約束。

  5.資料型別介紹:

    ①INTEGER:整型,意味不能儲存小數;

    ②CHAR:字串型,如 CHAR(10)和 CHAR(100)中的括號表名該列可以儲存的字串的最大長度。它是“定長字串”,如 CHAR(8) 表示在列中插入 'abc' 時會自動儲存成 'abc     '(後面5個半形空格)的形式;

    ③VARCHAR:字串型,類似 CHAR,不同的是它是 “可變長字串”,如 VARCHAR(8) 在插入 'abc',儲存的就是字串 'abc';

    ④DATE:日期型別;

    ... ...

  6.約束:

    ①非空約束:NULL 是空白(無記錄)的意思的關鍵字,NOT NULL 表示必須輸入的約束。

    ②主鍵約束:主鍵是可以確定一行資料的列,一般通過它取特定行的資料,它是唯一的,不允許重複。

    ... ...

 

五、更新和刪除表

  1.刪除表

-- 語法:DROP TABLE <表名>
DROP TABLE Shohin; -- 刪除名為 Shohin 的表

  【注意】被刪的表,無法恢復。

  2.更新表

    (1)新增列

-- 語法:ALTER TABLE <表名> ADD <列名> <型別>;
ALTER TABLE Shohin ADD Shohin_mei_Kana VARCHAR(100); -- 在 Shohin 中新增名為 Shohin_mei_Kana 型別為 VARCHAR(100) 的列

    (2)刪除列

-- 語法:ALTER TABLE <表名> DROP COLUMN <列名>;
ALTER TABLE Shohin DROP COLUMN Shohin_mei_Kana; -- 刪除 Shohin 表中名為 Shohin_mei_Kana 的列

  【注意】表定義變更後無法恢復。

 

傳送門

  《SQL 基礎知識梳理(一) - 資料庫與 SQL

  《SQL 基礎知識梳理(二) - 查詢基礎

  《SQL 基礎知識梳理(三) - 聚合和排序

  《SQL 基礎知識梳理(四) - 資料更新