[SQL] SQL 基礎知識梳理(一)- 數據庫與 SQL


SQL 基礎知識梳理(一)- 數據庫與 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 基礎知識梳理(四) - 數據更新

 

備注

  這里的語句采用 SQL Server 進行驗證。

 

 


【參考】《SQL ゼロからはじめるデータベース操作》

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM