資料庫基礎
導讀:資料庫中常用到增刪改查,具體的應用一些小結,以MySQL為例來說明。
資料庫的管理是計算機的重要應用,資料的管理技術經歷了這幾個階段:
-
人工管理階段
-
檔案管理階段
-
資料庫管理階段
什麼是資料庫?
-
資料庫是組織、儲存、管理和加工資料的倉庫
-
資料庫是長期儲存在計算機內的、有組織的、可共享的資料集合
-
資料庫是資料的聚合
舉例
在關係型資料庫中,由若干個資料表組成,每個資料表都有很多個行(記錄,相當於物件),每個記錄都有很多列(欄位,相當於物件的屬性),表之間可以透過關鍵欄位實現表之間的關係。透過關係,我們可以更靈活的操縱資料庫中的資料。
特點:
-
表中的每一列都不可再分的基本屬性
-
各列被指定為不同的名字
-
各行不允許重複
-
列和行次序無關
關係型資料庫系統主要有:
Access、FoxPro、SQL Server、MySQL、Oracle......
-
Access 小型資料庫,配置簡單、移植方便、但訪問率比較低,適合小型網站(如個人網站)。
-
SQL Server 中型資料庫,執行穩定、訪問率高、速度快,但配置、移植比較複雜。 利用SQL Server 的匯入功能可以將Acess資料庫轉化為SQL Server 資料庫
-
Oracle 具有伸縮性的大型網站,訪問率高。
MySQL是開源的關係型資料庫服務軟體
官方站點:
MySQL特點:
-
多程式、多使用者
-
簡單易用、查詢速度快
-
基於C/S架構
-
安全可靠
訪問資料庫資料表中資料應用SQL(結構化查詢語句),常用的:
-
select 語句 -- 查詢資料
-
insett 語句 -- 新增記錄
-
delete/drop 語句 --刪除記錄
-
uodate 語句 --跟新記錄
1.select語句 --查詢資料
主要的實現資料庫的查詢,取得滿足指定條件的記錄集。而選出符合條件的虛擬資料表
語法:
select 欄位1名,欄位2名 ... from 表(where條件)
例如查詢符合條件的記錄,並顯示所有欄位的資料
select * from test where name='admin';
2. 選取符合條件的記錄,並只顯示指定欄位的資料
select name,password from test where name='admin'
select 語句示例:
-
選取符合和條件的記錄,並顯示所有欄位的資料
select * from user where tel='565645123'
2. 只選取符合條件的前n條資料
select top 1 real_name,email from user where tel = '1234567'
select real_name,email from user where tel = '1234567' limit 0, 1
(limit子句可以被用於強制SELECT語句返回指定的記錄數。limit接收一個或兩個引數,引數必須是整型,第一個引數指定第一個返回記錄行的偏移量,第二個引數指定返回記錄行的最大數目。初始化記錄行的偏移量是0不是1)
運算子:
主要有四大類:算術運算子、比較運算子、邏輯運算子、位操作運算子
where表示式運算子的使用示例:
-
select name,password from test where password>'123';
-
select name,password from test where password<'123456';
-
select name,password from test WHERE id>= 2;
-
select name,password from test where password>='123';
-
select name,password from test where id between 2 and 5;
-
select name,password from test where id not between 2 and 5;
-
select name,password from test where id in('1','3');
-
select name,password from test where id not in('1','3');
-
select name,password from test where name is null/not null;
-
select * from test where name='admin' and password='123';
-
select * from test where name='admin' or password='123';
-
select * from test where name is null or name='admin' and password='123';
-
select name,password from test where password like '%123%';
select 語句的非精確查詢:
select * from user where real_name like “%勇%”
經常應用在網頁搜尋
Select語句的查詢結果排序 :
按某一(或多個)欄位升序或降序的方式排列記錄。
語法為:Order By 欄位1 ASC 或者
Order By 欄位1 DESC
舉例:
select * from user order by id DESC //DESC 降序查詢
select * from user order by id ASC //ASC 升序查詢
UNION 運算子用於合併兩個或多個 SELECT 語句的結果集。請注意,UNION 內部的 SELECT語句必須擁有相同數量的列。列也必須擁有相似的資料型別。同時,每條 SELECT 語句中的列的順序必須相同。
SQL UNION 語法
select name,password from test
union
select host,address from test1;
註釋:預設地,UNION 運算子選取不同的值。如果允許重複的值,請使用 UNION ALL
2. Insert語句——新增記錄
在ASP中,我們經常會新增資料到資料庫中。這項任務可以由Insert語句實現。
語 法:
Insert Into 表(欄位1,欄位2,……)
values(欄位1的值,欄位2的值,……)
範例
:
新增一個使用者,使用者ID為3 使用者名稱為marry 使用者密碼為 456
insert into user(id,username,password) values(3,”marry”,456)
注 意:
(1)各欄位、各欄位的值要用逗號分開,並且各欄位和其對應的欄位值在順序上要一致。
(2)如果某個欄位的值為字元型或備註型,則該欄位值兩邊要加引號;如果為日期/時間型,則該欄位值兩邊要加#號或引號;若為布林型,則該欄位的值為true或false;若為自動編號型別,則不要給該欄位賦值
(3)設計資料表時要慎重考慮欄位下面幾個屬性的設定:“default”、“必填欄位” 。
-
如果某欄位設定了“default”值,並想在某個新加的記錄裡把該欄位設定為預設值,則該欄位值填寫Default;
-
如果某欄位“必填欄位”設定為“是”,則在某個新加的記錄裡,該欄位必須有值或使用預設值,否則出錯。
-
如果對欄位沒有進行特殊的設定,則可以把沒有值的欄位不出現在Insert語句中。
-
如果該欄位是自動編號的,該欄位可以不出現在Insert語句中。
3. Delete語句——刪除記錄
可刪除表中無用的記錄來維護資料庫。
語 法:
Delete from 表 [條件]
範例:
刪除 lisi 使用者
delete from user where username='lisi';
4. Update語句——更新記錄
實現資料庫中資料的更新以維護資料庫。
語 法:
Update 資料表名 set 欄位1=欄位值1,欄位2=欄位值2,…… [where 條件]
說 明:
-
預設條件則修改所有記錄指定的欄位值
-
不預設條件則修改資料表中符合條件的記錄
示 例:
更改使用者密碼
update user set password=555 where username='wangwu'
Mysql常用函式:
1、 select @@basedir 查詢資料庫安裝路徑
2 、select @@datadir 查詢資料庫所在目錄
3 、select version() 查詢資料庫的版本
4 、select user() 查詢當前資料庫的使用使用者
5 、select database() 當前使用資料庫的名字
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31557424/viewspace-2219999/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 資料庫 基礎資料庫
- 資料庫基礎使用資料庫
- 資料庫設計基礎資料庫
- 資料庫基礎概念理解資料庫
- MySQL資料庫注入基礎MySql資料庫
- Redis基礎(二)資料庫Redis資料庫
- 【資料庫】Redis基礎篇資料庫Redis
- 31. 資料庫基礎資料庫
- 資料庫基礎知識資料庫
- GEO資料庫基礎知識資料庫
- 資料庫基礎重要知識資料庫
- MySQL資料庫基礎筆記MySql資料庫筆記
- 基礎知識梳理~資料庫資料庫
- Mysql資料庫基礎操作命令MySql資料庫
- 資料庫-SQL基礎語法資料庫SQL
- MySQL資料庫基礎詳解MySql資料庫
- Flutter基礎-041-資料庫Flutter資料庫
- 達夢資料庫基礎---表資料庫
- Django基礎之七(資料庫操作)Django資料庫
- mysql資料庫的基礎架構MySql資料庫架構
- FastAPI - Tortoise ORM 資料庫基礎操作ASTAPIORM資料庫
- 資料庫基礎知識介紹!資料庫
- 圖資料庫基礎簡介 -KDnuggets資料庫
- 資料庫安裝以及基礎知識資料庫
- Neo4j - 圖資料庫基礎資料庫
- MongoDB資料庫操作詳解:基礎篇MongoDB資料庫
- MyCat資料庫的基礎配置及使用資料庫
- AndoridSQLite資料庫開發基礎教程(6)SQLite資料庫
- AndoridSQLite資料庫開發基礎教程(5)SQLite資料庫
- AndoridSQLite資料庫開發基礎教程(4)SQLite資料庫
- AndoridSQLite資料庫開發基礎教程(10)SQLite資料庫
- AndoridSQLite資料庫開發基礎教程(9)SQLite資料庫
- AndoridSQLite資料庫開發基礎教程(8)SQLite資料庫
- AndoridSQLite資料庫開發基礎教程(7)SQLite資料庫
- Linux基礎命令---mysqlshow顯示資料庫LinuxMySql資料庫
- Linux基礎命令---mysqldump資料庫備份LinuxMySql資料庫
- Linux基礎命令---mysqlimport匯入資料庫LinuxMySqlImport資料庫
- 小白系列:資料庫基礎知識解析資料庫