access軟件是數據庫管理系統嗎 access是一個什么軟件系統



文章插圖
access軟件是數據庫管理系統嗎 access是一個什么軟件系統

文章插圖
Access數據庫這些功能如果你掌握了,數據從此為你所用
數據表“合計”公式的應用
我們先來打開一個“學生成績表4”,如下圖:
然后點擊“開始”選項卡下面的“合計公式”
在數據表的最后一行出現了“匯總”字樣:
你可以在匯總一行的每個字段下選擇想要的結果
對于數字格式的字段會有7種結果
而對于文本則只有一個“計數”結果:
下面是文本字段:
分別對字段班級1求“計數”
對英語求“平均分”
對語文求“最高分”
對數學求“最低分”
得到如下的結果是有21條數據
英語平均分是62.3分
語文最高分是96分
數學最低分是47分,如下圖:
數據表的“篩選”功能
從2007以后版本的Access數據庫開始兼容了Excel的一些基本操作功能
再加上本身的數據庫功能,使得它倍受青睞
你如果想在Access數據庫中,對表實現一些簡單的“篩選”功能,可以不用寫“查詢語句”,直接用鼠標操作即可
假如你想對下面的學生成績表進行篩選
你需要二班語、數、外成績及格的人員數據:
通常在數據庫中,你需要寫“查詢語句”來實現上述的任務
創建一個查詢,并寫上語句:
select * from 學生成績表 where 班級=‘二班 and 英語分數>=60 and 語文分數>=60 and 數學分數>=60
點擊紅色嘆號運行,結果如下:
可以看到,二班的學生三門課同時都及格的只有兩名學生
學號分別是17號和21號,你如果不寫查詢語句怎么完成這個操作呢?
其實很簡單,從下面能夠看到,每個字段名字旁邊都有一個黑色的三角號:
點擊黑色小三角:
直接選中二班,點確定:
看到了嗎,數據只有二班的了,接著點擊英語分數旁邊的黑色小三角:
界面有點不一樣了,因為它是數字格式的字段
你不要一個一個地去選,比較麻煩
直接點擊數字篩選器,再點擊大于(實際上這是個大于等于):
輸入60即可,然后確定,以此類推,語文和數據都這么弄,就得到下面的結果:
這個不用寫語句,同樣可以實現
所以零基礎的小白學習Access數據庫也是相當容易的
數據表中數據的“排序”功能
你想要對下面的學生成績表,按英語分數由低到高進行排序:
如果你用查詢語句實現,你可以創建一個查詢并寫上語句:
select * from 學生成績表 order by 英語分數這里面的order by表示由低到高進行排序:
點擊紅色嘆號運行,結果如下:
如果你想要由高到低排序怎么辦?
SQL語句這么寫:
select * from 學生成績表 order by 英語分數 desc只是在原來的基礎上多了一個“desc”,即為由高到低排序:
運行結果:
你除了寫查詢語句進行排序外,還可以通過簡單的鼠標操作來實現數據的排序問題
【access軟件是數據庫管理系統嗎 access是一個什么軟件系統】打開學生成績表,右鍵點擊“英語分數”字段:
可以看到,有升序和降序兩種選擇
你只需要選擇一種我們想要的排序即可,排序結果如下(由低到高排序):
這種用鼠標操作的排序是非常簡單的
“left”的用法
“left”在Access數據庫中表達的含義是“左截取”
也就是從左面開始截取字符,它的用法是:
left(字段名稱,2),表示對某個字段進行左截取2個字符
你要對下面的“學生信息表”中的出生日期精確到月份即可,就可以用到left:
你可以創建一個查詢并寫上語句:
select *,left(出生日期,6) as csrq from 學生信息表這里面的left(出生日期,6)即為對字段“出生日期”從左面開始取6位
關于“as csrq”表示一個別名,前面的文章已經講過:
點擊紅色嘆號運行,結果如下:
可以看到出生日期精確到月份了
從“出生日期”字段左面取了6位,這只是一個查詢,并沒有生成真正的數據表
如果要生成真正的數據表,需要這樣:
select *,left(出生日期,6) as csrq into 學生信息表改 from 學生信息表加一個“into 學生信息表改”即可:
運行結果:
這時你的數據庫中就生成了一個實實在在的表了“學生信息表改”
“top”用法
對于下面的“學生成績表”
你只想要顯示前7行數據
在查詢語句中怎么進行控制呢?
你可以創建一個查詢并寫上語句:
select top 7 * from 學生成績表這里面的top 7就是顯示前7行
*就是顯示所有字段的數據:
點擊紅色嘆號運行,結果如下:
假如你只想要顯示班級,學號和英語分數這幾個字段
應該這么寫:
select top 7 班級,學號,英語分數 from 學生成績表
運行結果:
“文本類型”轉換為“時間類型”
下面是學生的入學時間表
為了方便錄入數據,錄入人員在“入學時間”字段錄入的是文本類型的數據
你怎么才能把它轉換為真正的日期型呢?
第一步:加一個“入學時間1”字段,類型選擇“日期/時間”型:
可以看到“入學時間1”字段,這個字段的類型就是“日期/時間”型的:
第二步:創建查詢,寫語句:
UPDATE 入學表SET 入學時間1 = CDATE(LEFT(入學時間,4)&"/"&MID(入學時間,5,2)&"/"&RIGHT(入學時間,2))
CDATE函數就是將文本轉換為日期,里面由三部分組成,每個部分用”/”隔開:
1、LEFT(入學時間,4):表示年,用left實現,左邊截取4位
2、MID(入學時間,5,2):表示月,用mid實現,從每5位開始截取2位
3、RIGHT(入學時間,2):表示日,用right實現,右邊截取2位
“&”用于連接每一部分與”/” 。
第三步:運行結果:
可以看到入學時間1字段變成了日期型的
SQL查詢“不重復”數據
對于下面的“學生成績表7”,里面有一些重復的數據
你怎么來查詢不讓它重復呢?
你可以創建一個查詢并寫上語句:
select distinct 班級,學號,語文分數,數學分數from 學生成績表7order by 學號distinct就是顯示唯一的數據值,后面接想要的字段名稱即可
order by的作用就是按學號進行升序排序
運行,結果如下:
除了這種方法,還有一種方法同樣可以實現這種操作
SQL語句改為:
select 班級,學號,語文分數,數學分數from 學生成績表7group by 班級,學號,語文分數,數學分數order by 學號
運行結果:
SQL查詢“between and”的用法
SQL查詢語句中“between and”表示條件的范圍,一般跟在where的后面
下面是“學生成績表”
你想要查詢英語分數在40分到70分之間的學生:
你可以創建一個查詢并寫上語句:
select * from 學生成績表 where 英語分數 between 40 and 70”這里面的between…and就表示在哪個區間:
運行結果如下:
查詢語句“字符匹配”
下面是所有學生成績表:
你想要把所有姓“張”的學生的成績提出來,應該怎么辦?
創建一個“查詢”并寫上語句:
select * from 學生成績表 where 姓名 like '張*'
從查詢語句可以看出“like”可以實現字符匹配
like ‘張*’字符匹配,“*”代表通配符
你想要提取姓“張”的學生,所以“張”字開頭,后面用“*”代替后面的名字
運行結果如下:
如果,你想要把所有學生名字中帶“冰”字的學生成績提出來,應該怎么辦?
創建一個“查詢”并寫上語句:
select * from 學生成績表 where 姓名 like '*冰*'
前后都加通配符,表示“冰”字可以在名字中的任何位置
運行結果如下:
如何用not like 來提取不包含這些字的學生
看下面這個語句:
select * from 學生成績表 where 姓名 not like '張*'
運行結果如下:
當然,如果想要提名字最后一個字是“玲”字和最后一個字不是“玲”字的學生成績,也很容易
SQL查詢語句【in】和【null】的用法
1、【in】的用法
下面是學生成績表:
你只要一班和二班學生成績信息,創建一個查詢
查詢語句為:
select * from 學生成績表 where 班級 in('一班','二班')【in】的用途就是把班級限制在(‘一班’,’二班’)這個集合中
下面就是集合限制的查詢語句:
當然,集合里面是可以有多個元素的,也可以加上三班或者四班
運行結果如下:
顯示的查詢結果能夠看出,只有“一班”和“二班”的學生成績
那如果在“in”的前面加個“not”表達什么含義呢?看下面的【not in】的用法:
查詢語句:
select * from 學生成績表 where 班級 not in('一班','二班')語句中多了一個“not”:
運行結果如下:
2、【null】的用法
從下面的學生成績表中可以看到,有些學生的班級信息漏掉了
你要把這些學生找出來
看這個查詢:
select * from 學生成績表 where 班級 is null
運行結果:
那么【is not null】就表示不為空:
select * from 學生成績表 where 班級 is not null
運行結果:
用【and】進行多條件查詢實例
下面是一個“學生成績表”:
想要在學生成績表中提取一班、二班和三班學生的三科成績
這些學生英語不及格,但數學成績及格
語文分在50-70分之間,并且名字中不能包括“冰”字
創建一個查詢:
select * from 學生成績表 where 班級 in('一班','二班','三班') and 姓名 not like '*冰*' and 英語分數<60 and 數學分數>=60 and (語文分數 between 50 and 70)
這個SQL查詢語句看著有點長,實際上并不復雜:
條件1,班級 in(‘一班’,’二班’,’三班’),這個用到了“in”,表示所在的集合;
條件2,姓名 not like ‘*冰*’,這個用到了“not like”,表示不包含;
條件3,英語分數<60,這個用到了“<”,表示小于;
條件4,數學分數>=60,這個用到了“>=”,表示大于等于;
條件5,語文分數 between 50 and 70,這個用到了“between…and”,表示介于兩個數之間 。
同時滿足這一個條件,最后的查詢結果是:
有9個學生滿足以上五個條件 。
其實,在條件1中,你還可以這樣寫:
條件1,班級 not in(‘四班’,null)
運行的結果如下,查詢的結果也是這9個學生:
用【or】進行“并列或”的條件查詢
下面是一個“學生成績表”:
想要在學生成績表中提取一班和三班學生的三科成績
這些學生三門課只要有一門不及格就提出來
并且這些學生只能姓“張”或者姓“劉”
創建一個查詢:
select * from 學生成績表where 班級 in('一班','三班') and (姓名 like '張*' or 姓名 like '劉*') and (英語分數<60 or 數學分數<60 or 語文分數<60 )
來分析一下:
條件1,班級 in(‘一班’,’三班’),這個表示一班和三班的都提出來;
條件2,(姓名like ‘張*’ or 姓名like ‘劉*’),這個表示姓張的或者姓劉的學生都提出來;
條件3,(英語分數<60 or 數學分數<60 or 語文分數<60 ),這個表示只要學生有一科沒及格就提出來 。
以上的【or】都表示“或者”,最后的查詢結果是一共有16個學生符合條件:
你只要用括號把大的條件分清,再用or或者and去限制小的條件,基本是不會出錯的 。
用“rnd()”函數產生隨機數
下面是一個“學生成績表”
已經添加了三個字段,都是數字格式的,用于生成三組不同類型的隨機數字
還添加了一個自動編號格式的ID字段:
至于如何添加字段,可以翻看以前的文章
然后創建一個查詢,并寫上SQL查詢語句:
update 學生成績表 set 隨機數1=rnd(id)
以前講過update set的用法,它是對表進行更新操作,也就是修改表
來分析一下隨機數字是怎么產生的:
隨機數1=rnd(id) 表示rnd(id)產生一組0-1之間的隨機數
并放到隨機數1這個字段
Access數據庫很特殊,這里面用到了id字段
它就是一個自動編號字段,運行結果如下:
那如何產生0-100之間的隨機數字呢?請看下面的語句:
update 學生成績表 set 隨機數2=rnd(id)*100將rnd(id)乘以100,表示0-100之間的隨機數字,結果如下:
上面產生的隨機數都是從0開始的
那么,如何產生兩個固定數字之間的數呢?
假如你想要50-100之間的數呢?
請看下面的語句:
update 學生成績表 set 隨機數3=rnd(id)*50+50rnd(id)是0-1之間
rnd(id)*50就表示0-50之間
rnd(id)*50+50就表示50-100之間
運行結果如下:
實現字段數據的“自動計算”
下面是一個“學生成績表”
有語、數、外三科成績:
你想要加一個總分,實現字段的自動計算
第一步:打開表,點擊設計視圖:
增加一個總分字段,數據類型選擇“計算”:
在上面的空白處鍵入“[英語分數]+[數學分數]+[語文分數]”
所表達的含義是新增加的“總分”字段的內容是“語數外三個字段的和”:
點擊確定后,回到數據表視圖下
可以看到多了一個“總分”字段,并且自動計算出了總分:
假使,你對期中的一科成績進行修改,那么總分會自動更新結果:
可以看到英語分數修改了,總分跟著就自動計算
導入VF數據庫時出錯的處理方法
有一些VF數據表需要導入Access數據庫:
你想要把它們導入到Access數據庫
第一步:點外部數據選項卡下的其他,選擇最后一項dBASE文件:
選擇VF數據庫所在的路徑后,雙擊文件即可:
確定后,出現了下面的錯誤信息“外部表不是預期的格式”:
什么原因呢?
這是因為Access數據庫并不識別現有的VF數據庫格式
只需要把VF數據庫另存一下,改一下格式就可以了
首先,我們把VF數據表打開,點擊文件,選擇導出:
確定后,出現下面這個界面,將默認的VF3.0格式改成下面的Dbase 格式:
確定后可以看到再次導入VF數據時,彈出了下面的界面:
說明你已經成功導入了這個表:
輕松實現對Access數據庫的基本設置
第一步,雙擊打開你的數據庫:
第二步,點擊“文件”選項卡,選擇“選項”:
選擇選項后,會彈出以下界面:
第三步,對常規、當前數據庫、數據表和對象設計器等四項進行設置:
1、常規:
選擇藍色后,點擊確定,可以看到數據庫的顏色變啦:
變成藍色了,你也可以選擇黑色:
2、“當前數據庫”設置:
選擇選項卡式,你的數據表可以很容易的找到:
下面這是重疊式的:
3、“數據表”設置:
你可以對數據表進行基本的設置
你選擇凸起的效果,字號大一點并加粗:
4、“對象設計器”設置:
你可以對默認的字段類型和字段大小等進行修改
原來是文本的可以設置數字的
這樣你增加一個字段后,它的類型就自動是數字的:
總結
1、了解Access數據庫
Access是Microsoft公司推出的Office系列辦公自動化軟件的一個組件,是一個小型的數據庫管理系統 。它廣泛應用于財務、行政、金融、統計、審計和科研項目等眾多領域 。
2、創建Access數據庫
“開始”→“所有程序”→“Microsoft Office” →“Microsoft Access 2010” →啟動Access 2010:
在右下角,你可以選擇將該數據庫保存的路徑及文件名稱:
3、創建“數據表”
打開空的數據庫→創建→表
創建了名字為表1的表,你可以給它改名字
你可以直接將Excel表里面的數據粘貼過來:
粘貼之后給你的表起個名字:
當然了,也可以導入其它格式的數據到你這個數據庫里面
4、創建“查詢”
創建→查詢設計→單擊右鍵→SQL視圖
可以寫查詢語句了:
5、查詢分類
分兩大類:
一是選擇查詢
二是操作查詢
顯示的圖標都不太一樣,不同圖標表示不同種類的查詢,前面的文章講的很詳細 。
6、常用的SQL查詢語句寫法
一是(選擇查詢):
Select * from 學生成績表 where 英語分數>=60二是(更新查詢):
update 學生成績表 set 英語分數=英語分數+5三是(生成表查詢):
Select 學號, 數學分數 into 數學成績表 from 學生成績表四是(追加查詢):
Insert into 一班成績 select * from學生成績表五是(刪除查詢):
delete * from 一班成績 where 班級 = '二班'7、常用的函數用法 。
Access數據庫中一些常用的函數,如:avg()函數、sum()函數、count()函數、max()函數、min()函數、left()函數、cdate()函數