SQL與關係數據庫基本操作——數據庫系統原理(本科)

第一節:SQL概述

一、SQL的發展——結構化查詢語言(不區分大小寫)
關係代數和關係演算之間的語言。
二、SQL的特點
1、不是某個特定數據庫供應商專有的
2、簡單易學,很強描述性的單詞組成
3、看上去簡單,是一種很強力的語言,可以進行復雜和高級的操作
三、SQL的組成
1、數據定義語言DDL——create創建,alter修改,drop刪除
2、數據操作語言DML——insert添加,delete刪除,update更新
3、數據控制語言DCL——grant授權,revoke撤銷
4、嵌入式和動態SQL規則
5、SQL調用和會話規則

第二節:MYSQL預備知識

一、MYSQL使用基礎
1、LAMP(Linux+Apcahe+MySQL+PHP/Perl/Python)
2、WAMP(Windows+Apcahe+MySQL+PHP/Perl/Python)
二、MYSQL中的SQL
1、常量
(1)字符串常量:單引號或雙引號括起來的字符序列,ASCII字符串常量(一個字節)和Unicode字符串常量(兩個字節)
(2)數值常量:整數常量和浮點數常量
(3)十六進制常量
(4)日期時間常量:DATE和TIME
(5)位字段值
(6)布爾值:TRUE和FALSE
(7)NULL值:空值、無數據
2、變量——@定義
用戶可以在表達式重使用自己定義的變量——用戶變量
使用前必須定義和初始化,沒初始化的值爲NULL
3、運算符
(1)算術運算符:加、減、乘、除、求模(取餘)
(2)位運算符:位與&、位或|、位異或^、位取反~、右移(除2)>>、左移(乘2)<<
(3)比較運算符:=、>、<、>=、<=、!=
(4)邏輯運算符:與、或、非、異或
4、表達式:常量、變量、列名、複雜計算、運算符和函數的組合
5、內置函數

第三節:數據定義

一、數據模式定義
1、創建數據庫 create database [if not exists] 數據庫名
2、選擇數據庫 use 數據庫名
3、修改數據庫 alter database 數據庫名
4、刪除數據庫 drop database 數據庫名
5、查看數據庫 show databases
二、表定義
數值類型:整數類型——int 浮點——float、double、decimal
日期和時間:日期——date 時間——datetime、time 時間戳——timestamp
字符串:固定長度——char(255位) 可變長度——varchar(65535) 文本——text
1、創建create table [if not exitst] 表名 { 字段名,數據類型 [ 約束 ] }
2、添加字段alter table 表名 add 新的字段 已有字段
3、修改字段alter table 表名 change/alter/modify 原字段 新字段
4、刪除字段alter table 表名 dorp 字段
5、重命名alter table 原表名 rename 新表名
Rename table 原表名 to 新表名(批量)
6、刪除表 dorp table 表名
7、查看錶 show table [ from | in] 表名
三、索引定義——目錄
用途:
普通索引——index 唯一性索引——unique
主鍵——primary key 全文索引——fulltext 聚簇索引
1、創建索引:create index 索引名 on 表名 (列 [ 長度 ] [ asc | desc ] )
2、查看索引:show { index | indexs | keys } { from| in } 表名 [ { from| in } 數據庫 ]
3、刪除索引:drop index 索引名 on 表名
alter table 表名 drop index 索引名

第四節:數據更新

一、插入數據
Insert into 表名 (列) values (數據)
二、刪除數據
Delete from 表名 [ 條件 ]
Truncate [ table ] 表名——清空數據
三、修改數據
Update 表名 set 列=值 [ 條件 ]

第五節:數據查詢

一、SELECT語句
Select 數據 from 表名 where 條件
二、列的選擇與指定
1、選擇列指定:select 各列名 from 表名
選擇所有列:select * from 表名
2、定義並使用列的別名:select 列名 as 別名 from 表名
3、替換查詢結果數據:case where 條件 then 表達式 else 表達式 end
4、計算列值:select 計算 from 表名
5、聚合函數:count max min sum avg
三、FROM子句與奪標連接查詢
1、交叉連接
2、內連接:from 表1 [ inner ] join 表2 on 連接條件
等值連接:from 表1,表2 where table1.字段 <條件運算符> table2.字段
3、外連接:
左連接:from 表名1 [ left ] join 表名2 on 連接條件
右連接:from 表名1 [ right] join 表名2 on 連接條件
四、WHERE子句與條件查詢
比較、確定範圍(between…and)、確定集合(in,not in)、字符匹配(%,_)、
空值(is null,is not null)、多重條件(and、or)
子查詢:in語法:where 列名 in (select語句)
比較運算符:where 列名 <比較運算符> (select語句)
Exist查詢:where exist (select語句)
五、GROUP BY子句與分組數據
按某一列的值相同的分成一組,進行聚合運算
六、HAVING子句
在GROUP BY之後進行過濾
七、ORDER BY子句
排序:asc升序和desc降序
八、LIMIT子句
Limit [ 位置 ] 行數

第六節:視圖——一張虛表

一、創建視圖
Create [ or replace ] view 視圖名稱 as select語句
二、刪除視圖
Drop view [ if exists ] 視圖名稱
三、修改視圖定義
Alter view 視圖名 as select語句
四、查看視圖定義
Show create view 視圖名
五、更新視圖數據
必須保證視圖是可更新圖
六、查詢視圖數據
對視圖進行查詢檢索:select * form 視圖名

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章