資料庫 mysql
阿新 • • 發佈:2020-02-05
常見資料庫
- mysql sqlserver(tsql) orcale db2 mongodb …
資料庫型別
- 關係型資料庫
- mysql sqlserver
- 特點:以表為基本單位,多個表之間可以存在一些聯絡(eg:訂單和使用者基本資訊分開,通過id聯絡起來)
- 非關係型資料庫
- mongodb
- 特點:沒有表的概念,儲存的東西叫集合(eg:訂單和基本資訊放在一起)
- {
_id:1054712,
username:“zhangsan”,
age:25,
sex:“nan”,
訂單:[
124689734,
126785963,
563489758
]
}
mysql(關係型資料庫)
-
特點:
- 開源、免費、安全、穩定、跨平臺(OS 作業系統 Windows Linux Unix OSX)
-
建立表
- 每張表都有一個唯一不可重複的值id
- id在資料庫中設定為 主鍵(primary key)
- 主鍵可以自增,插入資料時可以省略不設定(A_I auto increase)
- utf8_general_ci 多語言 不區分大小寫
mysql語句
-
插入資料 (返回插入多少行)
- insert into
table_name
(欄位1
,欄位2
…) values (value1,value2,…)
- insert into
-
查詢資料
- 返回一個物件(結果集),可以通過該物件的num_rows屬性是否大於0判斷是否查到資料;可以通過fetch_assoc()從結果集中取得查到的資料
- 查詢表中所有資料
- select * from
table_name
- select * from
- 指定欄位查詢(獲取列)
- select
欄位名1
,欄位名2
…from table_name
- select
- 條件查詢
- select * from
table_name
where欄位名
=value - select * from
table_name
where 條件1 or 條件2 - select * from
table_name
where 條件1 and 條件2
- select * from
-
刪除資料 (返回布林值)
- delect from table_name where 條件
-
執行mysql語句
- $mysqli->query(“mysql語句”) //返回一個物件 $result
- $result->fetch_assoc()
- 從結果集中取得一行作為關聯陣列,類似於js中的shift()
$arr=array(); while($row=$result->fetch_assoc()){ array_push($arr,$row); // 將獲得的陣列放入新陣列中 }
連線mysql資料庫
- 配置資料庫資訊
- 連線資料庫
- 設定查詢字符集
- 選擇資料庫
<?php
header('content-type:text/html;charset=utf-8')
//資料庫基本資訊
//關聯資料庫
$mysql_conf=array(
'host'=>'localhost:3306',//地址和資料庫埠號
'db_user'=>'root',//使用者名稱
'db_pass'=>'',//密碼
'db'=>'1910' //資料庫名
);
//連線資料庫
//例項化mysql物件
$mysqli=new mysqli($mysql_conf['host'],$mysql_conf['db_user'],$mysql_conf['db_pass']);
// 判斷是否連線成功
if($mysqli->connect_errno){
die('連線錯誤'.$mysqli->connect_errno);
//終止後面程式碼執行並列印錯誤資訊
}
// 設定查詢字符集
$mysqli->query('set names utf8');
//選擇資料庫
$select_db=$mysqli->select_db($mysql_conf['db'])
//檢查資料庫是否連線成功
if(!$select_db){
die('資料庫連線錯誤'.$mysqli->error);
}
?>