初识SQL
一、數據庫基礎
1、什么是數據庫?
數據庫(database),保存有組織的數據的容器(通常是一個文件或一組文件)。
數據庫和數據庫軟件的區別:
數據庫軟件應稱為DBMS(數據庫管理系統)。數據庫是通過DBMS創建和操縱的容器。數據庫可以是保存在硬件設備上的文件,但也可以不是。很大程度上說,數據庫究竟是文件還是別的東西并不重要,因為你并不直接訪問數據庫,你使用的是DBMS,它替你訪問數據庫。2、表
(1)表(table),某種特定類型數據的結構化清單。
存儲在表中的數據是一種類型的數據或一個清單。數據庫中的每一個表都有一個名字,用來表示自己。此名字是唯一的,這表示數據庫中沒有其他表具有相同的名字。
表名:表明的唯一性取決于多個因素,如數據庫名和表名等的結合。在相同的數據庫中不能兩次使用相同的表名,但在不同的數據庫中卻可以使用相同的表名。
(2)模式(schema),關于數據庫和表的布局及特性的信息。
描述表的這組信息就是所謂的模式,模式可以用來描述數據庫中的特點的表以及整個數據庫(和其中表的關系)。
3、列和數據類型 (表由列組成。列中存儲著表中某部分的信息。)
(1)列(column),表中的一個字段。所有的表都是由一個或多個列組成的。
比如數據庫就是一個網格,網格中的每一列存儲著一條特定的信息。例如,在顧客表中,一個列存儲著顧客編號,另一個列存儲著顧客姓名,地址、城市等等都存儲在各自的列中。
(2)數據類型(datatype),所容許的數據的類型。每個表列都有相應的數據類型,它限制(或容許)該列中存儲的數據。數據類型限制可存儲在列中的數據類型(例如,防止在數值字段中錄入字符值)。數據類型還幫助正確的排序數據,并在優化磁盤使用方面起重要作用。
4、行
行(row),表中的一個記錄。
表中的數據是按照行存儲的,所保存的每一個記錄存儲在自己的行內。如果將表想象為網格,網格中垂直的列為表列,水平行為表行。(例如,顧客表可以存儲一個顧客。表中的行數為記錄的總數。)
行(row)、數據庫記錄(record),在很大程度上這兩個術語是可以互相代替的。但從技術上來講,行才是正確的術語。
5、主鍵
主鍵(primary key),一列(或一組列),其值能夠唯一區分表中的每個行。
表中的每一行都應該有可以標識自己的一列(或一組列)。(例如,一個顧客表可以使用顧客編號列,而訂單表可以使用訂單ID,雇員表可以使用雇員ID或雇員社會保險號。)
唯一標識標中每行的這個列(或這組列)稱為主鍵。主鍵用來表示一個特定的行。沒有主鍵,更新或刪除表中特定行很困難,因為沒有安全的方法保證只涉及相關的行。
表中的任何列都可以作為組件,只要滿足一下條件:
任意兩行都不具有相同的主鍵值。
每一行都必須具有一個主鍵值(主鍵列不允許NULL值)
主鍵值規則:
主鍵通常定義在表的一列上,但這不是必須的,也可以一起使用多個列作為主鍵。在使用多個列作為主鍵。在使用多列作為主鍵時,上述條件必須應用到構成主鍵的所有列,所有列值的組合必須時唯一的(但單個列的值可以不唯一)。
主鍵的最好習慣:
不更新主鍵列中的值;
不重用主鍵列的值;
不再主鍵列中使用可能會更改的值。(例如,如果使用一個名字作為主鍵以標識某個供應商,當該供應商合并和更改其名字時,必須更改這個主鍵。)
?
二、什么是SQL
1、SQL:是結構化查詢語言(Structured Query Language)的縮寫。SQL是一種專門用來與數據庫通信的語言。
2、SQL的優點:
(1)SQL不是某個特定數據庫供應商專有的語言。幾乎所有重要的DBMS都支持SQL。能與所有數據庫打交道。
(2)SQL簡單易學。它的語句全都是描述性很強的英語單詞組成,而且單詞數目不多。
(3)SQL盡管看上去很簡單,但實際上是一種強有力的語言,靈活使用其語言元素,可以進行非常復雜和高級的數據庫操作。
?
轉載于:https://www.cnblogs.com/LW-5208/articles/9990535.html
總結
- 上一篇: 微型计算机控制技术应用,微型计算机控制技
- 下一篇: mmdetection学习之anchor