標籤:
今天主要學習了mysql的基本知識。
一、資料庫的介紹 1.資料庫的分類
要學習資料庫我們首先要明白什麼是資料庫,資料庫也就類似一個倉庫,可以儲存大量不同的資料,DBMS系統,全名database management system 是資料庫管理系統,是一個管理資料的軟體,安裝了資料庫軟體的的電腦就是資料庫伺服器,連接埠預設為3306,資料庫伺服器,提供資料的更新,管理,安全事務等方面的功能。
資料庫根據結構的不同可以分為三種:層次資料庫、網狀資料庫、關聯式資料庫。當然,目前最流行的資料庫就是關聯式資料庫。
幾個資料庫的相關概念:
data:資料
database:資料庫,用於儲存資料類似於一個大的檔案夾。
dbms:資料庫管理系統 ,比如mysql,oracle等等
table:資料表,用來存放資料,擁有行和列。類似於檔案中的檔案。
row:記錄,資料表中的一條記錄,也就是一行資料。
field:欄位,是列 資料表中的一列資料。
2.主流的資料庫
目前在市面上最流行的幾大資料庫分別是:
Access:是微軟的小型資料庫
SQLsever:微軟的中型資料庫
Oracle:美國甲骨文公司的產品,大型或者超大型。
MySQL:瑞典ab公司的產品,後來被甲骨文收購,中小型網站應用程式,開源。
SQL:這是關聯式資料庫的標準語言,STRUCT QUERY LANGUAGE(結構化查詢語言 (SQL))
關聯式資料庫的特點是:表與表之間的資料可以建立一定 的“對應關係”。如:
3.資料庫的基本操作流程
首先,建立與資料庫之間的串連。
其次,用戶端向伺服器發送sql命令,伺服器端執行命令,並返回執行結果
最後,用戶端接受結果顯示並中斷連線。
二、資料庫的基本文法 1.啟動資料庫
資料庫的啟動方法
以命令列的方式:
啟動:net start mysql
關閉:net start mysql
如:
當然要注意:如果想在全域路徑上使用的話需要配置自己的環境變數。
服務模式:控制台-》管理工具-》服務-》mysql-》停止/啟動
2.退出/登入資料庫
登入資料庫:
mysql -h伺服器位址 -u登入名稱 -p登入密碼;
mysql --host=伺服器位址 --user=使用者名稱 --port=連接埠 --password
退出: quit; exit;
注意:在登入資料庫之後一定要使用“set names gbk”來設定當前串連資料庫的環境編碼,即當前跟資料庫打交道的用戶端的本身的編碼。
3.資料庫的備份和恢複
備份:就是將一個資料庫,完整的轉換為一個可以隨時攜帶和傳送的檔案
備份的方法:
mysqldump -h伺服器位址 -u登入名稱 -p 資料庫名>檔案名稱
恢複備份:將一個備份之後的資料恢複到資料庫
mysql -h伺服器位址 -u登入名稱 -p 資料庫名 < 檔案名稱
注意:這兩個命令,都是在沒有登入mysql的時候使用,其中mysqldump命令還需要在管理員身份開啟,通常恢複,就是指恢複原來資料庫中的所有表資料資訊及其它資訊,表明可以是新名字。
4.基礎文法規定
注釋:
注釋有三種:
單行注釋 :# 注釋內容
單行注釋: -- 注釋內容(--後有一個空格)
多行注釋:/*注釋內容*/
語句行:
預設情況下,以一個英文分號作為一條語句的結束,而且常規操作中,都是一次執行一條語句。
大小寫:
mysql語言背部本身不區分大小寫;
mysql的某些命令執行會組建檔案夾,此時可能要區分大小寫;
命名問題:
可以自己命名的名字稱作標識符。
命名建議與php命名相同,字母數字底線,並不以數字開頭。
非常規字元或系統關鍵字雖然可以作為標識符使用,但最好要包在反引號(數字1左邊那個反撇 ` )中,並且不推薦。
三、資料庫定義語句 1.建立資料庫
在串連資料庫伺服器之後,我們需要進行建立資料庫,當然資料庫的建立文法如下:
create database db_name [charset ut8];
2.刪除資料庫
我們既然可以建立資料庫,那麼我們也可以刪除資料庫,刪除資料庫的文法是:
drop database 【if exists】 db_name;
3.修改資料庫
通常我們修改資料庫,只修改兩項:
修改編碼;
修改排列順序;
文法:
alter database 資料庫名 charset 新的編碼名 collate 新的定序名
4.進入資料庫
文法:
use 資料庫名稱
四、php操作資料庫的基本函數
在php中完成相關資料庫的操作,首先要執行以下代碼:
$link = mysql_connect("資料庫伺服器地址","使用者名稱","密碼");
mysql_query("set names utf8");//也可以使用mysql_set_charset("");
mysql_query("use 資料庫名稱");//也可以使用mysql_seleck_db("");
然後,才開始正式執行要完成的資料庫操作任務(語句):
$result = mysql_query(“select / delete /update / insert / desc / show tables /drop .......”);
補充:
mysql_error(); 擷取執行錯誤時的失敗資訊
mysql_query();
對於mysql_query()這個函數,可以執行幾乎任何sql語句,在執行語句時可以分為兩種情況。
1.執行時返回全是布爾值的:(其返回結果都是布爾值)比如:
insert, update, delete, create table, create database ,drop ...執行成功返回true,執行失敗返回false;
2.執行時返回有資料:(執行失敗返回false,成功返回結果集)比如:
$result = mysql_query(“select ... “);
while ( $rec = mysql_fetch_array( $result ) ){
//mysql_fetch_array()會取出該結果集中的“一行資料”,並取得該行資料後賦值給$rec;
//此$rec就是一個數組,其下標就是欄位名;
//在此while迴圈中,mysql_fetch_array()會一次次(一行行)取出結果集中的所有資料;
然後,在這裡就可以處理該數組$rec了:
}
$n1 = mysql_num_rows(結果集); //獲得該結果集的資料行數;
$n2 = mysql_num_fields(結果集); //獲得該結果集的資料列數;
$name = mysql_field_name(結果集, $i ); //獲得結果集的第i個欄位的名字!i從0開始算起。
明天繼續。
php學習day9---資料庫的基本知識