PHP開發基礎教學之資料庫增刪...LOGIN

PHP開發基礎教學之資料庫增刪改查

插入記錄

插入記錄有兩個基本語法

插入基本語法一

類別
#詳細解示
基本語法 
insert into 表values(值1,值2,值n);    
#範例
    insert into user values(2,'小明','男')    
#範例說明 
# 向user表插入值id為2,姓名為小明,性別為男
#

插入基本語法二

說明

基本語法1和基本語法2的差異是:

  • 基本語法1的插入語句,表中有多少個欄位就必須插入多少個值。一個不能多,一個也不能少。若有預設值,不想傳,可以寫上null。

  • 基本語法2中,除非有必填欄位必須要寫入值外。如果有預設值的不想寫可以忽略不寫。 mysql會自動補主預設值。

  • 基本語法2中,以user(id,username,sex)欄位順序為值的順序。

假設有一張表為user表,我們將欄位、欄位說明、型別和欄位選填和必須狀態說明,表結構如下:

類別
#詳細解示
#基本語法
#insert into 表(字段1,字段2,字段n)values(值1,數值2,值n);    
#範例 
 insert into user(id, username,sex) values(213,'小方',1);    
##範例說明
#  插入user表中id為213,username為小方,性別為1  
使用者名稱   信箱 類型說明 #int varchar(50)varchar(60) 
欄位
#id
##username
email
#password
sex
中文說明 





密碼 
 性別




varchar(32) 
# ########### tinyint    ######################預設值說明 ######
自增 
必填 
選填字段,預設值為123@php.com 
#選填欄位
必填欄位 
########################################## ######

依照基本語法一寫上表中的插入語句:

insert into user values(null,'小明','xiaoming@php.com',null ,1);

注意

  • #可以不指定欄位名稱,但是values 後面的順序應該和表格字段的排序一致。

  • 有預設值的欄位可以不寫,則為預設值。

  • 如果有預設值或可空欄位不想傳入具體值,可寫入null。

  • 資料格式必須要與表格規定的資料格式一致。

依照基本語法二寫上表中的插入語句:

insert into user(username,sex) values('小明',1);

注意

  • ID為自增的自段可以不用傳入值,每插入一次這個欄位的值會自動向上加1。

  • 有預設值和可為空的欄位可不傳

  • 以表user(username,sex)的插入順序為準

  • 基本語法二為更常用的用法

基本語法變形:一次插入多筆記錄

insert into user(username,password,sex)
values('黄晓明', 'abcdef', 1),
( 'angelababy', 'bcdeef', 0),
( '陈赫', '123456', 1),
('王宝强', '987654', 1);

查詢記錄

在講解查詢前,我為大家準備了一個資料表。這個表中存放著銀行的餘額和使用者的基本資料。

我們定義了一個表格結構,表名為php。

建立表格的語句如下:

CREATE TABLE money (
id INT NOT NULL AUTO_INCREMENT ,
username VARCHAR(50) NOT NULL ,
balance FLOAT NOT NULL , 
province VARCHAR(20) NOT NULL , 
age TINYINT UNSIGNED NOT NULL , 
sex TINYINT NOT NULL , 
PRIMARY KEY (id(10))
) ENGINE = InnoDB CHARACTER SET utf8;

表格結構與資料顯示如下:

##使用者名稱 # ###1#2小方532山東1813小紅543浙江#14#0
##id

#餘額
##省
#年齡

1小明1500安徽30
########4######小白######8764#######北京######27######1### ## #############

註:
balance 是指餘額
province 是指省份

#基礎查詢

##類別詳細解示基本語法 select * from 表;範例







select * from php;  

#    

98.png

##範例說明   查詢php表中所有欄位中的所有結果   select 欄位from 表;    


註:"*」 是正規表示式的寫法,表示符合所有,上面的查詢語句和下面的是等價:

#指定欄位查詢

類別

詳細解示

基本語法
############範例################## ######  select id,username, balance from php;  #####################範例說明 ################################################################# ###查詢money表中id,username, balance欄位中的所有結果  ################

99.png

條件查詢where

##詳細解示基本語法select 欄位from 表其中 where條件;  範例  select * from php where age = 30; 範例說明
#類別







#############查詢php表中年齡為30的所有結果 ## #################



100.png

#where後可接的條件

比較運算符 結果集中將符合條件的記錄列出來。在上面的例子中,where 後面的田間是一個字段的 ‘=’。

除此之外,還可以使用>、<、>=、<=、!=等比較運算子;

>  大於   #< 小於 >=#大於等於 ##<=!=#= 
符號
說明
#> 








小於等於   


不等於 
##### #######等於 ################

邏輯運算子

多個條件也可以使用or 、 and 等邏輯運算子進行多條件聯合查詢

##符號
說明
#or
 或 
and
 且  
#我們來看多個條件的範例:



101.png

#結果集排序

#類型
詳細內容
範例
#select * from php where id < 10 與    province='安徽';
#說明
查詢所有欄位要求id小於10 且province='安徽' 
#類別
詳細解示
基本語法
 select 欄位from 表格order by 欄位排序關鍵字
##範例
# select id,username, balance from php order by balance desc;   
範例說明
# 查詢php表中的id,username,balance字段,依照餘額進行降序排序   

排序用到的關鍵字:

#說明asc # 升序排列,從小到大(預設)   #desc 降序排列,由大到小# #

在 select 出來之後的結果集中排序使用 order by ,其中 desc 和 asc 是排序順序中的關鍵字。 desc 表示依照欄位進行降序排列,asc 表示升序排列,如果不寫關鍵字預設升序排列。

102.png


#更新記錄

#更新資料我們已經說過。需要修改內容,修改銀行卡餘額,修改裝備資訊的時候都需要使用到update,修改語句。

修改(也叫更新)語句的基本語文法如下:

關鍵字




類別
詳細解示
基本語法 
update 表格名稱set 欄位1 =值1,字段2=值2,字段n=值n where 條件   
範例
update php set balance=balance-500 where  id =1;    
範例說明
修改php表,將balance餘額減500。要求user id為15



原先記錄為

103.png

執行SQL語句 update php set balance=balance-500其中  id =1;   

104.png


#刪除記錄


基本語法  delete from 表[where 條件];    範例 delete from php where id =1;   

##類別

詳細解示







範例說明

105.png

 刪除掉用戶表中id等於1的那資料

106.png


刪除掉id=1的那一行,刪除先前表格內容:



#執行SQL語句 delete from php where id =1;  


######################  ######    #######       ## ##########下一節
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php.cn</title> </head> <body> <?php echo "Hello World!!!"; ?> </body> </html>
章節課件