日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

windows 环境下mysql的操作浅析

發布時間:2024/9/30 数据库 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 windows 环境下mysql的操作浅析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

windows 環境下mysql的操作

一,MYSQL 的連接

在下載安裝好mysql后,訪問數據控之前我們需要先連接數據庫:
建立一個connect.php 的文件:
(面向過程)

<?php header('Content-type: text/html; charset=utf-8'); $host = "localhost"; $username = "root"; $password = "root";// 創建連接 $conn = mysqli_connect($host, $username, $password);// 檢測連接 if (!$conn) {die("Connection failed: " . mysqli_connect_error()); }else{ echo "連接成功"; } mysqli_set_charset($conn,'utf-8'); ?>

連接特定的數據庫:(連接名為mybase 的數據庫)
注釋: mybase數據庫是已經建好的,數據庫名字不分大小寫

<?php header('Content-type: text/html; charset=utf-8'); $host = "localhost"; $username = "root"; $password = "root"; $dbname = "myb";// 創建連接 $conn = mysqli_connect($host, $username, $password,$dbname);// 檢測連接 if (mysqli_connect_errno($conn)) {die("Connection failed: " . mysqli_connect_error($conn)); }else{echo '連接成功'; } mysqli_set_charset($conn,'utf-8');

。windows中 默認的username 是root 密碼也是root
。header(‘Content-type: text/html; charset=utf-8’);
mysqli_set_charset($conn,‘utf-8’); 這兩句是將格式設置為utf-8

簡寫形式:

<?php header('Content-type: text/html; charset=utf-8');// 創建連接 $conn = mysqli_connect("localhost", "root", "root", "mybase" );// 檢測連接 if (mysqli_connect_erron($conn)){ echo "鏈接失敗" . mysqli_connect_error(); }mysqli_set_charset($conn,'utf-8');

二 建立數據庫

前面已經連接成功時,可以創建自己的數據庫。
創建一個名為 mybse 的數據庫
腳本文件命名為 create_dbase.php:
(面向過程)

<?php require 'connect.php'; //剛才已經創建了連接數據庫的腳本,所以這里直接引用即可 //創建數據庫 $sql = "CREATE DATABASE mybase"; if (mysqli_query($conn, $sql)) {echo "數據庫創建成功"; } else {echo "Error creating database: " . mysqli_error($conn); }mysqli_close($conn); // 關閉數據庫,必不可少! ?>

三,建立數據庫的數據表

創建好名為 mybase 的數據庫之后 ,現在在數據庫中建立表
(面向過程)
建立 create_table.php :

<?php require 'connect.php';//連接數據庫 //創建數據表 $sql = "CREATE TABLE MyGuests ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, firstname VARCHAR(30) NOT NULL, lastname VARCHAR(30) NOT NULL, email VARCHAR(50), reg_date TIMESTAMP )";if (mysqli_query($conn, $sql)) {echo "數據表 MyGuests 創建成功"; } else {echo "創建數據表錯誤: " . mysqli_error($conn); }mysqli_close($conn); ?>

NOT NULL - 每一行都必須含有值(不能為空),null 值是不允許的。
DEFAULT value - 設置默認值
UNSIGNED - 使用無符號數值類型,0 及正數
AUTO INCREMENT - 設置 MySQL 字段的值在新增記錄時每次自動增長 1
PRIMARY KEY - 設置數據表中每條記錄的唯一標識。 通常列的 primary key 設置為 ID 數值,與 AUTO_INCREMENT 一起使用。

四,插入數據

建立好數據表后 ,像數據表中插入數據
(面向過程)
建立 insert.php
插入單條數據:

<?phprequire 'connect.php';$sql = "INSERT INTO MyGuests (firstname, lastname, email) VALUES ('John', 'Doe', 'john@example.com')";if (mysqli_query($conn, $sql)) {echo "新記錄插入成功"; } else {echo "Error: " . $sql . "<br>" . mysqli_error($conn); }mysqli_close($conn); ?>

插入多條數據:

<?php require 'connect.php';$sql = "INSERT INTO MyGuests (firstname, lastname, email) VALUES ('luo', 'Doe', 'jlio@example.com');"; $sql .= "INSERT INTO MyGuests (firstname, lastname, email) VALUES ('Mary', 'Moe', 'mary@example.com');"; $sql .= "INSERT INTO MyGuests (firstname, lastname, email) VALUES ('Julie', 'Dooley', 'julie@example.com')";if (mysqli_multi_query($conn, $sql)) {echo "新記錄插入成功33"; } else {echo "Error: " . $sql . "<br>" . mysqli_error($conn); }mysqli_close($conn); ?>

運用預處理插入多條數據

預處理語句用于執行多個相同的 SQL 語句,并且執行效率更高。
1,預處理:創建 SQL 語句模板并發送到數據庫。預留的值使用參數 “?” 標記 。例如:

INSERT INTO MyGuests (firstname, lastname, email) VALUES(?, ?, ?)

2,數據庫解析,編譯,對SQL語句模板執行查詢優化,并存儲結果不輸出。
3,執行:最后,將應用綁定的值傳遞給參數("?" 標記),數據庫執行語句。應用可以多次執行語句,如果參數的值不一樣。

相比于直接執行SQL語句,預處理語句有兩個主要優點:

預處理語句大大減少了分析時間,只做了一次查詢(雖然語句多次執行)。

綁定參數減少了服務器帶寬,你只需要發送查詢的參數,而不是整個語句。

預處理語句針對SQL注入是非常有用的,因為參數值發送后使用不同的協議,保證了數據的合法性。
(面向對象)代碼如下:

<?php $host = "localhost"; $username = "root"; $password = "root"; $dbname = "mybase";// 創建連接 $conn = new mysqli($host, $username, $password, $dbname);// 檢測連接 if ($conn->connect_error) {die("連接失敗: " . $conn->connect_error); }// 預處理及綁定 $stmt = $conn->prepare("INSERT INTO MyGuests (firstname, lastname, email) VALUES (?, ?, ?)"); $stmt->bind_param("sss", $firstname, $lastname, $email);// 設置參數并執行 $firstname = "John"; $lastname = "Doe"; $email = "john@example.com"; $stmt->execute();$firstname = "Mary"; $lastname = "Moe"; $email = "mary@example.com"; $stmt->execute();$firstname = "Julie"; $lastname = "Dooley"; $email = "julie@example.com"; $stmt->execute();echo "新記錄插入成功";$stmt->close(); $conn->close(); ?>

解析以下實例的每行代碼:

“INSERT INTO MyGuests (firstname, lastname, email) VALUES(?, ?, ?)”
在 SQL 語句中,我們使用了問號 (?),在此我們可以將問號替換為整型,字符串,雙精度浮點型和布爾值。

接下來,讓我們來看下 bind_param() 函數:

$stmt->bind_param(“sss”, $firstname, $lastname, $email);
該函數綁定了 SQL 的參數,且告訴數據庫參數的值。 “sss” 參數列處理其余參數的數據類型。s 字符告訴數據庫該參數為字符串。

參數有以下四種類型:

i - integer(整型)
d - double(雙精度浮點型)
s - string(字符串)
b - BLOB(binary large object:二進制大對象)

五,讀取數據庫數據

建立 read.php
(面向過程)

<?phprequire 'connect.php';$sql = "SELECT id, firstname, lastname FROM MyGuests"; $result = mysqli_query($conn, $sql);if (mysqli_num_rows($result) > 0) {// 輸出數據while($row = mysqli_fetch_assoc($result)) {echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";} } else {echo "0 結果"; } mysqli_close($conn);

有條件的讀取數據庫

WHERE 子句用于過濾記錄。

<?php require 'connect.php';$result = mysqli_query($con,"SELECT * FROM Persons WHERE FirstName='Peter'");while($row = mysqli_fetch_array($result)) {echo $row['FirstName'] . " " . $row['LastName'];echo "<br>"; } ?>

上述代碼 要求顯示 firstname = ‘Peter’ 的數據

六,根據特定條件對數據進行排序

ORDER BY 關鍵詞用于對記錄集中的數據進行排序。
ORDER BY 關鍵詞默認對記錄進行升序排序。

如果你想降序排序,請使用 DESC 關鍵字。
建立 sort.php
下面的實例選取 “Persons” 表中存儲的所有數據,并根據 “Age” 列對結果進行排序:
(面向對象)

<?php require ‘connect.php’$result = mysqli_query($con,"SELECT * FROM Persons ORDER BY age");while($row = mysqli_fetch_array($result)) {echo $row['FirstName'];echo " " . $row['LastName'];echo " " . $row['Age'];echo "<br>"; }mysqli_close($con); ?>

七,更新(修改)數據庫

UPDATE 語句用于更新數據庫表中已存在的記錄

注釋:請注意 UPDATE 語法中的 WHERE 子句。WHERE 子句規定了哪些記錄需要更新。如果您想省去 WHERE 子句,所有的記錄都會被更新!
建立 updata.php

<?php require ‘connect.php’mysqli_query($con,"UPDATE Persons SET Age=36 WHERE FirstName='Peter' AND LastName='Griffin'");mysqli_close($con); ?>

本例將 firstname = ‘Petet’ ,lastname =‘Griffin’ 的Age 改為了36

八,刪除數據

DELETE FROM 語句用于從數據庫表中刪除記錄。
建立 dalete.php

<?php require ‘connect.php’;mysqli_query($con,"DELETE FROM Persons WHERE LastName='Griffin'");mysqli_close($con); ?>

刪除了 lastname =‘Griffin’ 的數據條。

總結

以上是生活随笔為你收集整理的windows 环境下mysql的操作浅析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。