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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > php >内容正文

php

php数据库录入和输出,PHP数据库之CURD操作

發(fā)布時(shí)間:2024/9/19 php 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php数据库录入和输出,PHP数据库之CURD操作 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

前言

PHP作為一門(mén)服務(wù)端的腳本語(yǔ)言,既可以接受來(lái)自瀏覽器端的頁(yè)面請(qǐng)求,也可以將頁(yè)面的請(qǐng)求數(shù)據(jù)發(fā)送往數(shù)據(jù)庫(kù)中儲(chǔ)存起來(lái),讓頁(yè)面不在靜態(tài),處于動(dòng)態(tài)可以產(chǎn)生交互行為的狀態(tài),所以今天我們來(lái)認(rèn)識(shí)下有關(guān)于數(shù)據(jù)庫(kù)的一些東西。

數(shù)據(jù)庫(kù)的連接

首先

打開(kāi)xampp apache服務(wù)器和 MYSQL database

image.png

打開(kāi)localhost/phpmyadmin,創(chuàng)建一張數(shù)據(jù)表

image.png

根據(jù)關(guān)系數(shù)據(jù)庫(kù)第二范式,每個(gè)表需要設(shè)置一個(gè)主鍵,在這里一般需要將id設(shè)為主鍵,主鍵是一個(gè)表中的約束。這個(gè)約束,一張表只能有一個(gè),一般作為ID使用,這個(gè)約束一般給別人外鍵引用。這個(gè)約束的功能就是,不可重復(fù),保證了唯一性,正是這種特性,使得大多數(shù)人都把他作為表中ID的字段使用。同時(shí)為了提高了SQL Server系統(tǒng)的性能,我們可以設(shè)置索引,加快數(shù)據(jù)的查詢速度與減少系統(tǒng)的響應(yīng)時(shí)間 ,在這里我們將id設(shè)為索引。

完成這些操作我們可以在編輯器上編寫(xiě)我們的代碼連接服務(wù)器啦!!!

PHP連接數(shù)據(jù)庫(kù)的方法通過(guò) $link=mysqli_connect("數(shù)據(jù)庫(kù)服務(wù)器地址","數(shù)據(jù)庫(kù)登錄用戶","數(shù)據(jù)庫(kù)登錄密碼","數(shù)據(jù)庫(kù)名稱")

在這里數(shù)據(jù)庫(kù)服務(wù)器地址默認(rèn)是localhost:端口號(hào);數(shù)據(jù)庫(kù)登錄用戶默認(rèn)擁有服務(wù)器進(jìn)程的用戶的名稱,數(shù)據(jù)庫(kù)登錄密碼默認(rèn)值是”“。

$link = mysqli_connect(“l(fā)ocalhost”,"root","","mydb");

?>

寫(xiě)好后我們還要判斷下我們是否連接上了我們的數(shù)據(jù)庫(kù),不怕一萬(wàn),就怕萬(wàn)一埋。

判斷數(shù)據(jù)庫(kù)的連接正常

if(mysqli_connect_errno($link)){

echo "錯(cuò)誤號(hào):".mysqli_connect_errno($link);

echo "
錯(cuò)誤描述:".mysqli_connect_error($link);

echo "
錯(cuò)誤描述:網(wǎng)站錯(cuò)誤請(qǐng)聯(lián)系管理員";

exit;

}

在這里加入mysqli_connect_errno判斷語(yǔ)句,當(dāng)沒(méi)有連接上數(shù)據(jù)庫(kù)的時(shí)候,我們就輸出人性化提示報(bào)錯(cuò),然后就將程序結(jié)束。

我們介紹的CURD操作說(shuō)白了,就是增 刪 改 查,create! update !read !delete!

增刪改查之”增“

確定我們的數(shù)據(jù)庫(kù)連接正常后,我們就開(kāi)始我們?cè)鰟h改查的第一步,增!!

一張空表啥都沒(méi)有,所以需要我們錄入數(shù)據(jù)將其補(bǔ)滿也方便之后的前后臺(tái)交互查詢調(diào)用。我們?cè)谶@里需要使用以下語(yǔ)句

1.$sql= insert into 表名(表的字段1,表的字段2)values(字段1的值,字段2的值) ;

2.$sql= insert into 表名 表的字段一=‘字段一的值’,表的字段二=‘字段二的值’;

然后我們需要執(zhí)行查詢語(yǔ)句mysql_query() 僅對(duì) SELECT,SHOW,EXPLAIN 或 DESCRIBE 語(yǔ)句返回一個(gè)資源標(biāo)識(shí)符,如果查詢執(zhí)行不正確則返回 FALSE。對(duì)于其它類型的 SQL 語(yǔ)句,mysql_query() 在執(zhí)行成功時(shí)返回 TRUE,出錯(cuò)時(shí)返回 FALSE。

1.mysqli_query($link,$sql);

然后執(zhí)行關(guān)閉數(shù)據(jù)庫(kù)方法,關(guān)閉數(shù)據(jù)庫(kù)

mysqli_close($link);

我們來(lái)試著往數(shù)據(jù)庫(kù)里插入一個(gè)數(shù)據(jù)

$link = mysqli_connect("localhost","root","","mydb");

mysqli_set_charset($link,"utf8");//進(jìn)行編碼,防止中文出現(xiàn)亂碼

$sql = "insert into menu set name='叉燒包',price=20";

$result=mysqli_query($link,$sql);

mysqli_close($link);

image.png

增刪改查之”刪“

當(dāng)我們的數(shù)據(jù)錄入錯(cuò)誤的時(shí)候我們當(dāng)然就要把它刪去,保持?jǐn)?shù)據(jù)的準(zhǔn)確性

這里我們需要使用下列語(yǔ)句,這里需要借助索引減少搜查范圍

delete from 表名 where

我們來(lái)嘗試下

$link = mysqli_connect("localhost","root","","mydb");

mysqli_set_charset($link,"utf8");

$sql = "delete from menu where id=13";

$result=mysqli_query($link,$sql);

mysqli_close($link);

?>

刪除前

刪除后

增刪改查之”改“

update 表名 set 字段1='值',字段2='值' where 條件

同樣我們來(lái)試試將叉燒包的價(jià)格改到288

$link = mysqli_connect("localhost","root","","mydb");

mysqli_set_charset($link,"utf8");

$sql = "update menu set price='288' where id=15";

$result=mysqli_query($link,$sql);

mysqli_close($link);

?>

image.png

增刪改查之”查“

這應(yīng)該是數(shù)據(jù)庫(kù)里面最麻煩的部分,查詢數(shù)據(jù),各種姿勢(shì)查詢。

select 字段1,字段2... from 表名 where 條件

$link = mysqli_connect("localhost","root","","mydb");

mysqli_set_charset($link,"utf8");

$sql = "select name,price from menu where id=15";

$result=mysqli_query($link,$sql);

print_r( mysqli_fetch_all($result,MYSQLI_ASSOC));//按關(guān)聯(lián)數(shù)組輸出所有結(jié)果集

mysqli_close($link);

?>

查詢結(jié)果

image.png

帶查詢限制的查詢語(yǔ)句

select 字段 from 表名 where 條件 limit size

limit 1表示只查詢記錄中的一條

$link = mysqli_connect("localhost","root","","mydb");

mysqli_set_charset($link,"utf8");

$sql = "select * from menu where price='288' limit 1";

$result=mysqli_query($link,$sql);

print_r( mysqli_fetch_all($result,MYSQLI_ASSOC));

mysqli_close($link);

?>

查詢結(jié)果

image.png

select 字段 from 表名 where 條件 limit start,size

limit start,size 從start位置查詢size條

image.png

排序

select 字段(*)from 表名 where 條件 order by 字段 desc|asc (降序、升序)

我們來(lái)看下效果

$link = mysqli_connect("localhost","root","","mydb");

mysqli_set_charset($link,"utf8");

$sql = "select * from menu order by id DESC";

$result=mysqli_query($link,$sql);

print_r( mysqli_fetch_all($result,MYSQLI_ASSOC));

mysqli_close($link);

?>

我們可以看到表里的數(shù)據(jù)按id降序排序

image.png

分組統(tǒng)計(jì)查詢

select count(*) from 表名 可以獲得表里所有行數(shù)

$link = mysqli_connect("localhost","root","","mydb");

mysqli_set_charset($link,"utf8");

$sql = "select count(*) from menu";

$result=mysqli_query($link,$sql);

print_r( mysqli_fetch_all($result,MYSQLI_ASSOC));

mysqli_close($link);

?>

我們來(lái)看下效果

image.png

select count(*) as num from 表名 將count結(jié)果作為一個(gè)字段名檢索

$link = mysqli_connect("localhost","root","","mydb");

mysqli_set_charset($link,"utf8");

$sql = "select count(*) as num from menu";

$result=mysqli_query($link,$sql);

print_r( mysqli_fetch_all($result,MYSQLI_ASSOC));

mysqli_close($link);

?>

image.png

我們還可以通過(guò)分組 ground by 字段名 根據(jù)某個(gè)字段進(jìn)行分組查詢

group by + 多字段列表:

表示根據(jù)后面的字段來(lái)分組,如果只有1個(gè)字段,那只是根據(jù)這個(gè)字段的值來(lái)進(jìn)行一次分組就可以了;若后面有多個(gè)字段,那表示根據(jù)多字段的值來(lái)進(jìn)行層次分組,分組層次從左到右,即先按第1個(gè)字段分組,然后在第1個(gè)字段值相同的記錄中,再根據(jù)第2個(gè)字段的值進(jìn)行分組;接著第2個(gè)字段值相同的記錄中,再根據(jù)第3個(gè)字段的值進(jìn)行分組......依次類推。

這樣分組后,顯然每條記錄(field1,field2,...)的數(shù)據(jù)都是唯一 。

注意:

1.where條件在group by前面

2.select 后面的所有列中,沒(méi)有使用聚合函數(shù)的列,必須出現(xiàn)在 group by 后面!

$link = mysqli_connect("localhost","root","","mydb");

mysqli_set_charset($link,"utf8");

$sql = "select * from student where city='上海' group by city";

$result=mysqli_query($link,$sql);

print_r( mysqli_fetch_all($result,MYSQLI_ASSOC));

mysqli_close($link);

?>

我們可以看到根據(jù)城市我們將城市為上海的成功分為一組

image.png

數(shù)據(jù)庫(kù)博大精深,待我們慢慢道來(lái),且聽(tīng)下回分解

總結(jié)

以上是生活随笔為你收集整理的php数据库录入和输出,PHP数据库之CURD操作的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。