PHP开发基础教程之数据库增删改查

插入记录

插入记录有两种个基本语法

插入基本语法一

类别
详细解示
基本语法 
insert into 表 values(值1,值2,值n);    
示例
    insert into user values(2,'小明','男')    
示例说明 
 向user表中插入值id为2,姓名为小明,性别为男    

插入基本语法二

类别
详细解示
基本语法
insert into 表(字段1,字段2,字段n) values(值1,值2,值n);    
示例 
 insert into user(id,username,sex) values(213,'小方',1);    
示例说明
  向user表中插入id为213,username为小方,性别为1  

说明

基本语法1和基本语法2的区别是:

  • 基本语法1的插入语句,表中有多少个字段就必须要插入多少个值。一个不能多,一个也不能少。若有默认值,不想传,可以写上null。

  • 基本语法2中,除非有必填字段必须要写入值外。如果有默认值的不想写可以忽略不写。mysql会自动补主默认值。

  • 基本语法2中,以user(id,username,sex)字段顺序为值的顺序。

假设有一张表为user表,我们对字段、字段说明、类型和字段选填和必须状态进行说明,表结构如下:

字段
id
username
email
password
sex
中文说明 
编号
 用户名 
  邮箱 
密码  
 性别   
类型说明 
int 
varchar(50)
varchar(60) 
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;

表结构和数据展示如下:

id
username
balance
province
age
sex
1小明1500安徽301
2小方532山东181
3小红543浙江140
4小白8764北京271 

注:
balance 是指余额
province 是指省份

基础查询

类别
详细解示
基本语法
 select * from 表;
示例
select * from php;  

    

示例说明    查询php表中所有字段中的所有结果    

注:”*” 是一种正则表达式的写法,表示匹配所有,上面的查询语句和下面的是等价:

98.png

指定字段查询

类别
详细解示
基本语法
select 字段 from 表;    
示例
  select id,username, balance from php;  
示例说明 
查询money表中id,username, balance字段中的所有结果   

99.png

条件查询 where

类别
详细解示
基本语法
select 字段 from 表 where where条件;  
示例  
 select * from php where age = 30;  
示例说明
查询php表中年龄为30的所有结果  



100.png

where后可接的条件

比较运算符 结果集中将符合条件的记录列出来。上面的例子中,where 后面的田间是一个字段的 ‘=’。

除此之外,还可以使用>、<、>=、<=、!=等比较运算符;

符号
说明

 大于    

小于 
>=
大于等于 
<=
小于等于    
!=
不等于 

等于  

逻辑运算符

多个条件还可以使用 or 、 and 等逻辑运算符进行多条件联合查询

符号
说明
or
 或者  
and
 并且   

我们来看一下多个条件的例子:

类型
详细内容
示例
select * from php where id <10 and    province='安徽';
说明
查询所有字段 要求id小于10 并且province='安徽' 



101.png

结果集排序

类别
详细解示
基本语法
 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 where  id =1;   

104.png


删除记录


类别
详细解示
基本语法 
 delete from 表 [where 条件];    
示例 
delete from php where id =1;   
示例说明
 删除掉用户表中id等于1的那条数据

删除掉id=1的那一行,删除之前表内容:


105.png

执行SQL语句 delete from php where id =1;  

106.png




  

    

       


Weiter lernen
||
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php.cn</title> </head> <body> <?php echo "Hello World!!!"; ?> </body> </html>
einreichenCode zurücksetzen