1. 程式人生 > 資料庫 >資料庫 mysql

資料庫 mysql

常見資料庫

  • mysql sqlserver(tsql) orcale db2 mongodb …

資料庫型別

  1. 關係型資料庫
    • mysql sqlserver
    • 特點:以表為基本單位,多個表之間可以存在一些聯絡(eg:訂單和使用者基本資訊分開,通過id聯絡起來)
  2. 非關係型資料庫
    • 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語句

  • 插入資料 (返回插入多少行)

    1. insert into table_name (欄位1,欄位2…) values (value1,value2,…)
  • 查詢資料

    • 返回一個物件(結果集),可以通過該物件的num_rows屬性是否大於0判斷是否查到資料;可以通過fetch_assoc()從結果集中取得查到的資料
    1. 查詢表中所有資料
      • select * from table_name
    2. 指定欄位查詢(獲取列)
      • select 欄位名1,欄位名2from table_name
    3. 條件查詢
      • select * from table_name where 欄位名=value
      • select * from table_name where 條件1 or 條件2
      • select * from table_name where 條件1 and 條件2
  • 刪除資料 (返回布林值)

    1. 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資料庫

  1. 配置資料庫資訊
  2. 連線資料庫
  3. 設定查詢字符集
  4. 選擇資料庫
<?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);
    }
?>