一、關係型數據庫
關係型數據庫是目前使用最為廣泛的數據庫,其主要特點是採用表格的方式來存儲和管理數據,其中每個表格都包括多個行和多個列。常見的關係型數據庫包括:
1、MySQL
MySQL是一種免費開源的關係型數據庫管理系統,被廣泛應用於大中型網站和應用軟件。
//MySQL示例代碼
//連接數據庫
$conn = mysqli_connect("localhost","my_user","my_password","my_db");
//查詢數據
$result = mysqli_query($conn,"SELECT * FROM users");
while($row = mysqli_fetch_assoc($result)) {
echo "Name: " . $row["name"]. " - Age: " . $row["age"]. "
";
}
2、Oracle
Oracle是全球最大的關係型數據庫管理系統供應商之一,其產品廣泛應用於各個行業。
//Oracle示例代碼
//連接數據庫
$conn = oci_connect('username', 'password', 'hostname.com/orcl');
//查詢數據
$sql = "SELECT * FROM users";
$stid = oci_parse($conn, $sql);
oci_execute($stid);
while (($row = oci_fetch_array($stid, OCI_ASSOC))) {
echo "Name: " . $row['NAME'] . " - Age: " . $row['AGE'] . "
";
}
3、SQL Server
SQL Server是Microsoft推出的一款企業級關係型數據庫管理系統,主要應用於數據中心、商務智能等領域。
//SQL Server示例代碼
//連接數據庫
$serverName = "localhost";
$connectionOptions = array(
"Database" => "myDatabase",
"Uid" => "myUsername",
"PWD" => "myPassword"
);
$conn = sqlsrv_connect($serverName, $connectionOptions);
//查詢數據
$sql = "SELECT * FROM users";
$stmt = sqlsrv_query( $conn, $sql );
while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ) {
echo "Name: " . $row['name'] . " - Age: " . $row['age'] . "
";
}
二、非關係型數據庫
非關係型數據庫是一種不採用表格的方式來存儲和管理數據的數據庫,一般適用于海量數據的存儲和查詢。常見的非關係型數據庫包括:
1、MongoDB
MongoDB是一種基於分佈式文件存儲的非關係型數據庫,廣泛應用於Web應用程序的開發和數據庫管理。
//MongoDB示例代碼
//連接數據庫
$m = new MongoClient();
$db = $m->myDatabase;
//查詢數據
$collection = $db->users;
$cursor = $collection->find();
foreach ($cursor as $document) {
echo "Name: " . $document["name"] . " - Age: " . $document["age"] . "
";
}
2、Redis
Redis是一種高性能的鍵值對存儲系統,常用於緩存、消息隊列、實時數據處理等方面。
//Redis示例代碼
//連接數據庫
$redis = new Redis();
$redis->pconnect('localhost');
//查詢數據
$result = $redis->hGetAll("users");
foreach ($result as $key => $value) {
echo "Name: " . $key . " - Age: " . $value . "
";
}
3、Cassandra
Cassandra是一種分佈式的NoSQL數據庫管理系統,可以處理海量數據和高並發訪問。
//Cassandra示例代碼
//連接數據庫
$cluster = Cassandra::cluster() ->build();
$keyspace = 'myKeyspace';
$session = $cluster->connect($keyspace);
//查詢數據
$select = "SELECT * FROM users";
$rows = $session->execute($select);
foreach ($rows as $row) {
echo "Name: " . $row['name'] . " - Age: " . $row['age'] . "
";
}
三、時序數據庫
時序數據庫是一類針對時間序列數據存儲和查詢的數據庫,主要用於物聯網、金融、日誌處理等領域。常見的時序數據庫包括:
1、InfluxDB
InfluxDB是一種高性能的分佈式時序數據庫,可以處理百萬級別的數據和高速的數據插入和查詢。
//InfluxDB示例代碼
//連接數據庫
$connectionString = "http://localhost:8086";
$databaseName = "myDatabase";
$client = new InfluxDB\Client($connectionString, '', '');
$db = $client->selectDB($databaseName);
//查詢數據
$query = "SELECT * FROM users";
$result = $db->query($query);
$points = $result->getPoints();
foreach ($points as $point) {
echo "Name: " . $point['name'] . " - Age: " . $point['age'] . "
";
}
2、OpenTSDB
OpenTSDB是一種開源的分佈式時序數據庫,被廣泛應用於監測、分析、預警等領域。
//OpenTSDB示例代碼
//連接數據庫
$connectionString = "localhost";
$port = "4242";
$client = new OpenTSDB\Client($connectionString, $port);
//查詢數據
$query = "select * from users";
$result = $client->query($query);
foreach ($result as $datapoint) {
echo "Name: " . $datapoint->getValue() . " - Age: " . $datapoint->getTags()['age'] . "
";
}
3、TimescaleDB
TimescaleDB是一種開源的關係型時序數據庫,具備關係型數據庫的特點和優勢,同時提供了時序數據庫的高性能和特殊功能。
//TimescaleDB示例代碼
//連接數據庫
$connectionString = "host=localhost dbname=myDatabase user=myUsername password=myPassword";
$conn = pg_connect($connectionString);
//查詢數據
$sql = "SELECT * FROM users";
$result = pg_query($conn, $sql);
while($row = pg_fetch_assoc($result)){
echo "Name: " . $row['name'] . " - Age: " . $row['age'] . "
";
}
原創文章,作者:OUHRP,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/370488.html