数据库和SQL基本知识点
前言:
數(shù)據(jù)庫系統(tǒng)是指包含數(shù)據(jù)庫應(yīng)用的計算機系統(tǒng),不僅僅是一組對數(shù)據(jù)進行管理的軟件,即數(shù)據(jù)庫管理系統(tǒng),也不僅僅是一個數(shù)據(jù)庫,而是一個可運行的,按照數(shù)據(jù)庫方式組織、存儲、維護和向應(yīng)用系統(tǒng)提供數(shù)據(jù)支持的系統(tǒng)。
SQL(Structured Query Lanuage,結(jié)構(gòu)化查詢語言)是用于查詢,更新和管理關(guān)系數(shù)據(jù)庫的數(shù)據(jù)庫語言。
SQL 語言簡介
- 數(shù)據(jù)定義語言
(1) CREATE語句:用于創(chuàng)建數(shù)據(jù)庫中的表。如:
CREATE TABLE 學(xué)生信息表(學(xué)號,姓名,年齡)
(2) DROP 語句:用于從數(shù)據(jù)庫刪除表。類同。
(3) ALTER語句:用于向現(xiàn)存表中加入新的指定列。如向?qū)W生信息表粒加入新的一列是否是三好學(xué)生的語句。
ALTER TABLE 學(xué)生信息表 ADD 三好學(xué)生 bit
數(shù)據(jù)控制語句
(1) GRANT語句:用于授予用戶一定的權(quán)限。如把更改物資編碼表價格的權(quán)限授予用于user的語句:
Grant update(價格) on table 物資編碼表 to user
(2) REVOKE語句:用于取消用戶的一定的權(quán)限。注意:允許授予和取消的權(quán)限包括SELECT、INSERT、DELETE、UPDATE、REFERENCES等。
數(shù)據(jù)操縱語言
(1) SELECT語句:用于列出滿足一定條件的記錄集。列出入庫表的所有記錄的語句:
select *from 入庫表
(2) INSERT語句:用于在表中插入新的一行記錄。
(3) DELETE語句:用于刪除表中的記錄。
DELETE FROM 學(xué)生 WHERE 學(xué)號=“200303018”
(4) UPDATE 語句:用于更改表中的記錄。
UPDATE 學(xué)生 SET 姓名=‘木木’WHERE 學(xué)號=‘200303018’注意: SQL語句里所有的英文單詞大小寫可隨意,不用區(qū)分。
Select 語句的使用
1. 基本Select 語句
Select 語句用于從數(shù)據(jù)庫或表中查詢指定的數(shù)據(jù),是SQL語句中最常用的查詢語句。Select語句包括As、From、Where、Group By、Order By等子句。
2. As 子語句
Select 列表達式1 As 列名 1,[列表達式2 As 列名2,][…] FROM table.
這里的“費用”就是購買數(shù)量*價格的別名
3. Where語句
Where子語句指定查詢要滿足的條件,包含Where子語句的格式如下。
Select 列表 FROM table WHERE 條件表達式
條件表達式中可以用算術(shù)運算符、邏輯運算符、關(guān)系運算符、”Like”、”Between”、“in”等來限定查詢的范圍。
4. Group By子語句
Group By子語句按列名分組,如下:
SELECT 列表 FROM table [WHERE 條件表達式] GROUP BY 別名1,[列名2,…][HAVING 表達式]
語句中的HAVING表達式用來指定分組后的篩選條件。Where 子句從基表中選擇滿足條件的記錄。
5. Order By子語句
Order By 子語句實現(xiàn)對記錄集合的排序,包含Order By子句的Select語句的格式如下。
Select 列表 FROM table [WHERE 條件表達式][GROUP BY 列名1,[列名2,…][HAVING 表達式]] ORDER BY 字段名 [ASCIDESC],字段名[ASCIDESC]…
檢索結(jié)果按Order By 后面的一個或多個字段排序,若有ASC按升序,DESC按降序,默認升序。
SQL 常用函數(shù)
(1) count()函數(shù)
該函數(shù)返回與括號里參數(shù)匹配的列中不為NULL值的記錄的個數(shù)。
SELECT COUNT([DISTINCT] 列名) FROM table
加入關(guān)鍵字DISTINCT,COUNT()就不會統(tǒng)計重復(fù)的記錄,反之,就會。
(2) SUM()函數(shù)
該函數(shù)返回指定列值的總和。格式如下。
SUM([DISTINCT] 數(shù)值表達式)
| 注意:該函數(shù)只是用于數(shù)值型的列,不包括NULL值。 |
(3)AVG函數(shù)
該函數(shù)返回列的算術(shù)平均值。格式如下。
AVG([ALL][DISTINCT] 表達式)
| 注意:同上。 |
(4)MAX()函數(shù)
該函數(shù)返回某一列的最大值。格式為:
SELECT MAX(列) FROM table
該函數(shù)適用于數(shù)值型、字符型和日期型的字段。對于列值為NULL的列,MAX()函數(shù)不將其列為對比的對象。同理還有MIN()函數(shù)。
總結(jié)
以上是生活随笔為你收集整理的数据库和SQL基本知识点的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python读取hive方案分析
- 下一篇: Oracle数据库基本知识