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 | 安徽 | 30 | 1 | 
| 2 | 小方 | 532 | 山东 | 18 | 1 | 
| 3 | 小红 | 543 | 浙江 | 14 | 0 | 
| 4 | 小白 | 8764 | 北京 | 27 | 1 | 
注:
balance 是指余额
province 是指省份
基础查询
| 类别 | 详细解示 | 
| 基本语法 |  select * from 表; | 
| 示例 | select * from php;   | 
|      | 
示例说明 查询php表中所有字段中的所有结果
注:”*” 是一种正则表达式的写法,表示匹配所有,上面的查询语句和下面的是等价:

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

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

where后可接的条件
比较运算符 结果集中将符合条件的记录列出来。上面的例子中,where 后面的田间是一个字段的 ‘=’。
除此之外,还可以使用>、<、>=、<=、!=等比较运算符;
| 符号 | 说明 | 
| >  |  大于     | 
| <  | 小于  | 
| >= | 大于等于  | 
| <= | 小于等于     | 
| != | 不等于  | 
| =  | 等于 | 
逻辑运算符
多个条件还可以使用 or 、 and 等逻辑运算符进行多条件联合查询
| 符号 | 说明 | 
| or |  或者   | 
| and | 并且 | 
我们来看一下多个条件的例子:
| 类型 | 详细内容 | 
| 示例 | select * from php where id <10 and    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 表示升序排列,如果不写关键字默认升序排列。

更新记录
更新数据我们已经说过。需要修改内容,修改银行卡余额,修改装备信息的时候都需要使用到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 | 
原先记录为

执行SQL语句 update php set balance=balance-500 where id =1;

删除记录
| 类别 | 详细解示 | 
| 基本语法  |  delete from 表 [where 条件];     | 
| 示例  | delete from php where id =1;    | 
| 示例说明 |  删除掉用户表中id等于1的那条数据 | 
删除掉id=1的那一行,删除之前表内容:

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

			
									
									
									
									
									
									
									
									
									
									
									
									
  
            
        
代言
基础的增删改查sql语句还是很重要的
8年前 添加回复 0