PHP 数据库MySQL基础增删改查

PHP学习 cyanprobe 9年前 (2015-06-20) 6252次浏览 已收录 4个评论

题外话:

作为一个码农,我现在不仅缺爱,更缺美工!没有美工的日子,我还要自己作图,好苦逼啊~下面是这节是我的惨无人道的数据库课程笔记,反正我是熬下来了。
2015-06-20_172333

数据库类型:

定义:为了存储一个库,以表或者单元形式存储。 我们常见的的数据库有:2015-06-20_091312

1.SQL Server 小型数据库(只能运行在win系统之下)版权费用很高,适用范围不广。
2.ORACLE:大型数据库  JAVA开发常见使用 ,维护成本高,价格贵,能够存储大量数据,为大型企业所应用。
3.MySQL :开源免费,轻量级,网站开发使用,安装配置简化,适用于网站数据库。后来被PRECLE收购进行全面开发,应用前景比较广。
3.IBM DB2: IBM开发的大型数据库和ORECLE相似,非常非常强大,功能上甚至比PRECLE还要完善。运维费用很高,技术要求很高,前景应该不错。
4.SQLite :只需要组件来建立数据库,生成一个2进制文件,方便开发移动使用,无线路由器上用来保存宽带账号密码信息的数据库很多用到SQLite。

为什么使用MySQL:

PHP开发过程和应用过程中,由于MySql的负载能力与PHP相似,而且遵循非常规范的SQL语句,轻量级显著减少运维难度,免费开源,定义化高。 已经有多年与PHP结合经验,在大多数PHP程序中都默认MySQL环境。

数据库结构:

2015-06-20_091351
数据库(品牌称呼)——DATABAS(库)——TABLES(表)——FIELDS(字段)——YTPE(字段类型)——CONTENT(字段)
经典数据库管理工具:phpMyAdmin(PHP程序编写)——这个大家做网站都是用过的吧。

数据类型及部分应用:

数据类型 描述 应用范围
int,smallint 整型,常用int型,取值最大11位 点击量,编号,真假
char ,varchar 字符串型,char最大取值255字节,varchar更长并伸缩 标题,姓名,关键字
Date,datetime 日期型,固定格式:
0000-00-00 00:00:00
 DATE类型格式固定
不需要设置长度。
float ,double 小数类型,一般设置类型为
(总长度,小数位长度)
价格,科学数值等
Text,longtext 备注型:没有长度限制,但取决于服务器和mysql性能 新闻内容,长内容

char 类型只能存储255个字节约100个汉字,varchar 可以存储大量字节,注意varchar是可伸缩性的,这意味着比起 char类型不容易产生数据库冗余。开发过程中常用varchar类型

下面我给出一个PHPMyAdmin中的表单设置页面图,在大部分情况下我们都是用工具来写表单的,用代码写反而更加麻烦一些,对于本地开发用tool就可以了  (字段类型设置样板如下)——
2015-06-20_094426

SQL数据库语句:

我们不可能每次都用工具操作表单,用户端也是,这就要求我们掌握SLQ语句来操作表单。

增加语句:

标准增加语句:

Insert into 表 (字段1,字段2……) values (值1,值2……)

简化增加语句:
Insert into 表  values (值1,值2) PS:顺序插入,不建议使用。

赋值增加语句:
Insert into 表 set 字段1=值1,字段2=值2……

查询语句:

查询:  

Select 字段,字段,from 表
Select *(代表所有字段) 或 函数(字段) from 表  

函数相关:

 count(*)//统计字段条数          max(字段)//求最大值   min(字段)求最小值
sun(字段)//求和            avg(字段)//求平均值

条件查询:

select 字段,字段,…… from表where 条件  【条件运算符  或  函数】

模糊查询:

Select 字段,字段,…… from 表 where like %值%   //%代表匹配任意字符 当然也可以not like
Select字段,字段,……from 表 where 字段 in (值,值) //效率非常低从字段里挑出值来查找
Select字段,字段,……from 表 group by 字段 //把重复字段祛除,剩下不重复字段
Select字段,字段,…… from 表 order by 字段 [asc/desc]// 根据字段排序 [正序/倒序]
EX:  ……order by ID asc, name dese //先按照ID排序,再按照Name排序
Select字段,字段……from 表 limit 起始位置,条数  EX: limit 0,5//从第1条到第五条
当出现多个情况 组合时候应遵循 WGOL 规范  (where ,group,order,limit)
例子: 查询表user,id倒序,age小于30岁,不重复职业job,取前10条。

Select * from user where age<30 group by job order by id desc limit 10

删改语句

改: Update 表 set 字段=值,字段=值 [where][group][order][limit]
删除:delete from 表 [where][group][order][limit]


 

测试练习:

首先我们打开PHPmyadmin,点击text数据库,建立一张新表:
2015-06-20_153513
然后我们建立以下几个字段名,注意类型!datE  不设置长度! PS:英语不好写了个data 数据上,下面第二章图我又修改了字段名。
2015-06-20_154245
经过如上操作我们建立了这个表单如下图所示:
2015-06-20_161041
注意PHPMyadmin自带的插入工具能够方便我们进行可视化操作,但在PHP程序中我们都是通过SQL语音进行表单操作,所以我们单击 “SQL”进入SQL语音执行页面。
注意这里我们要引入“`”符号,它叫做 “小单引号” 我输入一排“““““““这个符号是英文状态下 ESC键下面的按键。 “小单引号”的引入是为了规范数据库语句。
只运用于:    数据库名,表单名,字符串名 。

 //执行写入操作//
insert into `test1` (`id`,`name`,`date`,`price`,`content`) values (1,'方块','1995-08-26','12.12','十二块二毛二我也买不起!')  //写完后点击执行。
//执行写入操作2方法//
insert into `test1` set id=2 ,date='1994-02-21',name='steven',price='12.11',content='I cant speak english !'

2015-06-20_163803
其他语句联系:

 select count(*)from `test1` //统计字段数
select sum(price) from  `test1` //统计价格一栏的和
注意 纯英文编辑,括号不要用中文下的,否则报错。
select * from `test1` where `id` in (1)//查询id为1的信息
select * from `test1` where `name` like '%a%'//查询名字中带有a的字段信息
select* from `test1`   order by `id` desc  //以ID字段倒序排列
select* from`test1`  limit 2   //以数据存储顺序前两条
update `test1` set  name=fkwebs  where id=2 //将ID为2的用户名改为fkwebs
delete from `test1` where `name`=1 //删除表单里mame=1的字段

后记:

其实操作完了,也就那么些事,忽然觉得好简单没有那么难的说,下节课,我们要来一个简单的开发实例!兄弟们,准备好迎接挑战了么?


CyanProbe , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHP 数据库MySQL基础增删改查
喜欢 (5)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(4)个小伙伴在吐槽
  1. 感觉像入门教程。几年前我买了一堆书,立志当码农。后来,连一个网站都无法独立搭建。也就放弃了。现在需要修改sql时,一般用notepad++。
    mntpz.com2015-06-20 21:35 回复
    • cyanprobe
      咱先放下mysql不说,我回访你网站,半天不关浏览器,这是为何?
      凶恶的方块2015-06-21 16:35 回复
      • :mrgreen: 海量(努力中)+高清+无水印+无广告+精选。是吗?
        mntpz.com2015-06-23 16:10 回复