看php100视频从零开始学php-php学习第八节[数据库基础语法]

视频,ppt,示例文件下载地址:https://s.yunio.com/2Nlwqu [密码:sdtclass]


 

上一节说了mysql数据库的基本认识,这一节来讲讲mysql的一些基本语法和例子

目录:

1、SELECT 查询语句和条件语句

2、排序,分组,指针查询,计算

3、Insert 插入语句

4、Update 更新语句

5、Delete  删除语句 


 SELECT 查询语句和条件语句:

SELECT 查询字段 FROM 表明 WHERE 条件

查询字段:可以使用通配符 * , 字段名 ,字段别名

表名:数据库表名 , 表名

常用条件:

=  代表  等于

<>  代表  不等于

in  代表  包含

not in  代表  不包含

like  代表  区配

BETWEEN  在范围

NOT BETWEEN  不在范围

< >  大于小于

条件运算 and ,or ,( )

OK,下面来举例子说明下

  1. SELECT * FROM `test` WHERE 1;  
  2. SELECT id,uid FROM `test` WHERE 1;  
  3. SELECT id,uid FROM cs.`test` WHERE 1;  
  4. SELECT regdate as reg FROM `test` WHERE 1;  

第一个是默认的查询test表中的所有字段,其实你打开数据库进入某一个表的架构就会看到这个sql语句了

第二个是查询test表中的id和uid字段

第三个是当有多个数据库时,可以指定数据库查询字段,指定了cs数据库中,test表中的id和uid字段

第四个是查询的时候,给regdate字段使用别名reg

  1. SELECT * FROM `test` WHERE id=1;  
  2. SELECT * FROM `test` WHERE id<>1;  
  3. SELECT * FROM `test` WHERE id in (1,3);  
  4. SELECT * FROM `test` WHERE id not in (1,3);  
  5. SELECT * FROM `test` WHERE `uid` like "%张%";  
  6. SELECT * FROM `test` WHERE id between 1 and 3;  
  7. SELECT * FROM `test` WHERE id not between 1 and 3;  
  8. SELECT * FROM `test` WHERE id>1;  
  9. SELECT * FROM `test` WHERE id<3;  

第一个是查询test数据表中,id的值等于1的对应数据

第二个是查询test数据表中,id的值不等于1的对应数据

第三个是查询test数据表中,id的值包含1和3的对应数据

第四个是查询test数据表中,id的值除了1和3之外的对应数据

第五个是查询test数据表中,uid的值包含张的数据,百分号是区配符,前后区配,也就是前面和后面可以带任意字

第六个是查询test数据表中,id的值的范围是1到3的对应数据

第七个是查询test数据表中,id的值的范围是1到3之外的其他对应数据

第八个第九个分别是查询test数据表中id大于1的数据,和id小于3的数据

  1. SELECT * FROM `test` WHERE `regdate`="2008-07-02" and `remark`="学生";  
  2. SELECT * FROM `test` WHERE id=2 or id=4;  

第一个是搜索注册日期在2008年7月2日的并且职称是学生的数据

第二个是搜索id等于3或者id=4的数据

上面的语法和举例和说明都列出来了,剩下的是大家自己实践操作,操作下就明白了,网盘有SQL文件


排序,分组,指针查询:

分组语句  group by 字段

排序语句  order by 字段 ASC / DESC

指针查询  limit 初始值,结束值

  1. SELECT * FROM `test` group by `remark`;  
  2. SELECT * FROM `test` order by `regdate` ASC;  
  3. SELECT * FROM `test` order by `regdate`; 
  4. SELECT * FROM `test` order by `regdate` DESC;  
  5. SELECT * FROM `test` order by `regdate` DESC, id ASC;  
  6. SELECT * FROM `test` limit 1,4 ; 
  7. SELECT * FROM `test` limit 4 ;

第一句是:分组统计看看有多少种职称,查询remark对应值有哪些不同

第二句是:根据注册日期排序,而不是原来默认的ID排序

第三局和第二句一样,不写ASC也是顺序排序

第四局是:根据注册日期倒序排序

第五句是:注册日期倒序排序,ID正序排序

第六句是:id的指针从1到4,但是忽略第一个值,也就是显示2-4

第七句是:id的指针从0到4,但是忽略第一个值,也就是显示1-4

OK,还是要大家去数据库操作才会更明白,到网盘下数据操作!

如果三个语句要一起使用的话,顺序是group by 在其他两个前面,order by在limit前面,limit在有前面两个条件的时候,放最后面,在使用者三个的时候,不需要WHERE


计算:

COUNT(*) 统计函数

MAX(*) 最大值函数

MIN (*) 最小值函数

AVG(*) 平均值函数

SUM(*) 累计值函数(∑)

  1. SELECT count(*) FROM `test` WHERE 1 ;
  2. SELECT max(id) FROM `test` WHERE 1 ;
  3. SELECT min(id) FROM `test` WHERE 1 ;
  4. SELECT avg(id) FROM `test` WHERE 1 ;
  5. SELECT sum(id) FROM `test` WHERE 1 ; 

第一个是:统计值,统计表中有多少字段

第二个是:最大值,查询id对应的最大数值

第三个是:最小值,查询id对应的最小数值

第四个是:平均值,查询id对应的值平均值,由于是4个,所以是2.5000

第五个是:累计值,查询id对应值的累计值,就是累加起来的值,1+2+3+4=10

计算基本讲到这里,大家多试试就懂了


Insert 插入语句

有两种,一种是:insert into 表名 (字段…,…) values(值…,…)

另一种是:insert into 表名 values(值…,…)

PS:建议用第一种,避免忘了哪个字段需要对应值而导致出什么问题

注意:插入时须考虑清楚字段类型避免插入后出现缺值,乱码现象

  1. insert into test (`id`,`uid`,`regdate`,`remark`) values ('','sd',now(),'工人')  
  2.   
  3. insert into test values ('','sd',now(),'工人')  

在test中,插入一个数据,id不用填,因为默认自动递增排序,uid填写名字,时间可以使用时间函数来代表现在的时间!职称写职工人或者学生

update更新语句

格式:UPDATE 表名 SET 字段 = 值 WHERE 条件 limit  【limit可忽略】

可以使用上面的查询语句中使用到的条件,如 = <> in和not in等等

  1. update test set remark='学生' where uid='sd'  

更新test表中,uid字段对应值是sd的表,把职称改为学生

delete删除语句

不建议使用,格式:DELETE  FROM 表名 WHERE 条件 limit

同样和更新语句一样,可以使用查询语句中的条件那些

  1. delete from test where id=2  

删除test表中,id的值是2的那个字段

OK啦,基本的都讲了,其实还是很简单的,记住一些单词就可以了,记不住抄下来,做个笔记,要用的时候看看,用久了就记住了!

php-mysql-02demo

您可以选择一种方式赞助本站

支付宝扫一扫赞助

微信钱包扫描赞助

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

图片 表情