文章目录

  • 服务器[了解]
  • 服务器软件
  • HTTP服务器(web服务器)
  • 服务器与客户端的关系
  • 搭建HTTP服务器
    • phpStudy介绍
    • phpStudy的安装
    • phpStudy的错误解决
    • 提示缺少vc9 库文件
    • 本地hosts
  • PHP基础
    • **PHP简介**
    • PHP文件位置
    • php初体验
    • 变量
    • 数据类型
    • 数组
    • 输出语句
    • 语句
      • 判断语句
      • 循环语句
    • 函数
    • json的处理
  • Mysql数据库技术
    • 数据库的组织架构:
    • 关系型数据库—MySQL
    • SQL-操作数据库的语言
    • 数据库操作方式
    • 数据库表的操作
      • 数据库的增删改查
        • 查看数据库
        • 选择数据库
        • 创建数据库
        • 删除数据库
    • 数据表的操作
        • 表创建以及字段
        • 字段类型
        • 子段约束
        • 索引
      • 创建数据表
        • sql语句创建
        • 图形界面创建
    • SQL
      • 增删改查
        • 插入数据
        • 修改数据update
        • 查询数据select
  • PHP操作数据库
    • **连接数据库基本步骤**
    • **操作数据库常用API**
    • sql操作注意事项:
    • 非查询(增删改)和查询语句(select)的区别

服务器[了解]

<前言:通俗的讲,能够提供某种服务的机器(计算机)称为服务器


服务器软件

使计算机具备提供某种服务能力的应用软件,称为服务器软件,
通过安装相应的服务软件,然后进行配置后就可以使计算具备了提供某种服务的能力。

常见服务器分类: 文件服务器、数据库服务器、邮件服务器、Web服务器等

其中与我们息息相关的是 web服务器, 想让计算机成为 web 服务器, 就要安装服务器软件, 提供 web 服务

示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。

常见的提供web服务的服务器软件

  • (1) IIS windows web 服务器软件
  • (2) apache web 服务器软件 ( 开源免费的 )
  • (3) Tomact
  • (4) Nginx(重点)

HTTP服务器(web服务器)

即( web服务器 )网站服务器**,主要提供文档(文本、图片、视频、音频)web浏览服务,一般安装Apache、Nginx服务器软件。

服务器与客户端的关系

搭建HTTP服务器

phpStudy介绍

phpStudy是一个PHP调试环境的程序集成包。
该程序包集成最新的Apache+PHP+MySQL,安装非常的简单

phpStudy的安装

安装phpStudy,解压双击安装(非中文路径),其它默认安装。

推荐就安装在默认的目录下,一定不能有中文,否则肯定启动不起来。

phpStudy的错误解决

如果phpStudy启动发生错误,参数下列几点。

  • 一是防火墙拦截,

  • 二是80端口已经被别的程序占用,如IIS,迅雷等;

  • 三是没有安装VC9运行库,php和apache都是VC9编译。

    解决以上三个问题,99%能一次性安装成功

为了减少出错安装路径不得有汉字,如有防火墙开启,会提示是否信任httpd、mysqld运行,请选择全部允许。

提示缺少vc9 库文件

在提供的资料库中找到phpStudy运行库, 根据自己电脑操作系统的位数安装对应的vc9运行库即可。

初次安装之后的访问

在浏览器中输出入localhost 是本地的意思,相当于 127.0.0.1

本地hosts

Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统会再将网址提交DNS域名解析服务器进行IP地址的解析。

hosts文件的地址:C:\Windows\System32\drivers\etc


PHP基础

PHP简介

  • 开源(open source)软件,跨平台,常用操作系统稳定执行。Windows / Linux。做WEB开发的经典组合 WAMP,LAMP,LNMP基本都是开源软件。

  • 入门简单,用户只需要关注应用,开发成本低。

  • 支持的大多数主流数据库。MySQL,oracle,Redis等

文件以.php后缀结尾,所有程序包含在<?php 这里是代码 ?>
避免使用中文目录和中文文件名

php页面无法直接打开需要运行在服务器环境当中

PHP文件位置

D:\phpStudy\PHPTutorial\WWW,只要写在这里才能被解析

php初体验

<?phpecho "hello world";
?>

输入中文乱码问题:如果使用echo输出中文,会乱码。

在php的语法中,末尾必须加分号,不然就报错了(最后一行可以不加分号)

<?php//content-Type:text/html;返回内容是一个HTML文档文本//charset=utf-8 设置编码集header("content-Type:text/html;charset=utf-8");echo "hello world";echo "<br/>";echo "你是哪里人?";
?>

变量

php是一门弱类型语法,变量的类型可以随意改变。
变量其实就是存储数据的容器

变量的命名规则

//1. 不需要关键字进行声明,变量在第一次赋值的时候被创建。
//2. 必须以$符号开始
//3. $后面的命名规则与js的变量命名规则一致。

$name = “峰峰”;
echo $name;

数据类型

字符串

$str = "峰峰";
echo $str;

整数

$num = 100;
echo $num;

浮点型

$float = 11.11;
echo $float;

布尔类型

$flag = true;
//当布尔类型值为true时,输出1
echo $flag;
$flag = false;
//当布尔类型为false时,输出空字符串
echo $flag;

字符串连接符

//1. 在php中,+号只有算数的功能,并不能拼串
//2. 在php中,拼串使用.
$name = "峰峰";
echo "大家好,我是" . $name . ",今年18岁";

php中的单引号与双引号

//1. 字符串的定义可以使用单引号,也可以使用双引号
$name = "峰峰";
$desc = '很帅';
//2. 双引号可以解析变量
//3. 单引号的性能会高于双引号(了解)$str = '$name 很帅';//$name 很帅
echo $str;$str = "$name 很帅";//峰峰 很帅
echo $str;

数组

在php中,数组分为两种,索引数组和关联数组

计算数组长度的方法: count(数组名);

索引数组(类似与JS中的数组)

$arr = array("张飞","赵云","马超");
echo $arr;//echo只能打印基本数据类型
echo $arr[0];//张飞

关联数组(类似与JS中的对象)

//属性名必须用引号引起来
$arr = array("name"=>"zhangsan", "age"=>18);
echo $arr["name"];

输出语句

//1. echo 输出简单数据类型
//2. print_r 输出数据结构,一般用于输出复杂类型。
print_r($arr);//print_r是一个函数,不要忘记小括号
//3. var_dump 输出完整的数据结构,包括类型,一般用于精准调试
var_dump($arr);

二维数组

数组中的每个元素又是一个数组
二维数组的存取元素,需要两次访问,依次确定行和列$arr[x][y];

 //索引数组$arr=[[1,2,3],[4,5,6],[7,8,9]];  //取值echo $arr[2][2];//存储一个人信息$info=["name"=>"zs","age"=>100];//存储一个班信息$infos=[["name"=>"zs","age"=>100],["name"=>"ls","age"=>100],["name"=>"ww","age"=>100]];//取值echo $infos[1]["name"];

语句

判断语句

基本上来说,所有语言的if…else语法都是一样

$age = 17;
if ($age >= 18) {echo "终于可以看电影了,嘿嘿嘿";
} else {echo "哎,还是回家学习吧";
}

循环语句

遍历索引数组

$arr = array("张三", "李四", "王五", "赵六", "田七", "王八");
//获取数组的长度: count($arr)
for($i = 0; $i < count($arr); $i++) {echo $arr[$i];echo "<br>";
}

遍历关联数组

$arr = array("name"=>"zs","age"=>18,"sex"=>20
);
foreach($arr as $key => $value) {echo $key . "=" . $value . "<br>";
}

函数

<?phpheader("content-Type:text/html;charset=utf-8");//php中函数的语法与js中函数的语法基本一样,不同点在于//1. 函数名大小写不敏感//2. 函数的参数可以设置默认值function sayHello ($name="周杰伦") {echo "大家好,我是$name";echo "<br>";}sayHello();//不传参数,会使用默认值sayHello("峰峰");//传参数,默认值不生效
?>

json的处理

json_encode();把数组转化为json对象

json_decode();把json转化为数组

注意:php中一般是将关联数组进行转化,前端才能收到进行处理

Mysql数据库技术

数据库基本概念[了解]

专门用来存储、管理数据的仓库(空间),按照数据结构来组织、存储和管理,可以实现高效存取数据。英文:Database, DB。

关系型数据库[了解]

当前使用范围最广的数据库。基于表, 按照关系模型(数据之间表与表存在联系)组织的数据库。

订单:订单编号,商品名称,价格,数量,配送地址

订单编号 商品名称 价格 数量 配送地址
100123 华为mate10 4999 2 北京市京顺路99号
100124 花裙子 499 1 北京市清华大学1号楼

用户信息表

保存:用户名,手机号,用户id,身份证号

商品信息表

商品名称 价格 品牌 属性

订单表

用户id 商品id 地址id

  • 关系型数据库: 基于表, 表与表之间可以存在关系进行多表查询的存储方式, 适合较为复杂的存储 mysql, SQL Server, oracle.
  • 非关系型 数据库: 基于键值对的存储方式, 数据之间没有耦合性, 特点执行效率高 mongodb redis(内存型数据库)

数据库的组织架构:

数据库

  • 数据表(table)

    表是以行和列的形式组织起来的数据的集合。项目一般需要不同的数据表,将数据分布存储在不同的数据表中。

    数据库的数据存放在数据表中

    如:订单表,用户表,商品表,配送地址表

  • 记录-行(row,record)

    我们把表中的每一行叫做一条“记录”

    懒男鞋垫螺蛳粉 99 10 是

    没有饼的老婆饼 400 20 否

  • 字段-列 (column,field)

    字段是比记录更小的单位,多个字段集合组成记录, 即数据项

关系型数据库—MySQL

数据库官网地址:https://dev.mysql.com

英文手册地址:https://dev.mysql.com/doc/refman/5.5/en/

中文参考论坛:http://www.mysqlpub.com/

SQL-操作数据库的语言

SQL:structured Query Language 结构化查询语言。
SQL语句,相当于客户端发送的命令(与数据库服务器进行交互), 我们后面就是要学习 SQL 语句操作数据库

  • 主要是执行 数据操作的基本逻辑有:增删改查 操作
  • 能够操作mysql sqlserver oricale

数据库操作方式

命令行演示(了解)

cmd中mysq的登录

mysql -uroot -p 密码


图形界面客户端



数据库连接成功

数据库表的操作

数据库的增删改查

查看数据库
show databases;
选择数据库
use database;
创建数据库
 create database [if not exists]`数据库名` charset=字符编码
删除数据库

drop database [if exists] 数据库名

数据表的操作

基本实例

表创建以及字段
create table [if not exists] 表名(字段名 数据类型 [null|not null][auto_increment] [primary key][comment],字段名 数据类型 [default]…
)engine=存储引擎 default charset=utf8;
字段类型
  • 整型 int

    存储如年龄,产品数量,订单编号等。

  • 小数类型

    float ,decimal eg. 重量,工资,奖金,价格等

    使用decimal类型,实现小数的精确存储,一般用来存储与钱有关的数字。3.333333331

  • 字符串型

    varchar(M) M为该字段可以存储的最多字符数,如varchar(10)。

    varchar一般用来存储长度变化比较大的字符串,如文章标题,商品名称,

    char(M) 存储长度比较固定的字符串,如手机号,身份证号,序列号,邮编。

    此外可以使用text类型,存储较长的字符串,无需指定字符串的具体长度。 char(10)

  • 日期时间型

    datetime,date(年月日),time(时分秒)。年月日时分秒。

子段约束

字段约束: 字段数据的属性规则(特征)

  1. not null 不为空

    可以限制字段值不能为空

  2. default 默认值,

    可以设置字段的默认值,在没有录入时自动使用默认值填充。

  3. primary key 主键 :唯一标识,不能重复,不能为空

设置字段为主键,主键字段的值不能重复,不能为空。而且一个数据表中只能设置一个字段为主键,作为每行记录的唯一身份信息(索引)。stu_id int primary key

索引
  1. primary key auto_increment 自动增长

设置字段为自动增长,默认从1开始自动分配编号。自增长字段必须为一个key(索引,数据结构,便于快速查找数据,相当于书的目录),一般与primary key结合使用。

类型必须为整型。

2 unique key 不能重复

唯一键,设置字段的值为唯一的,可以设置多个字段为唯一键。唯一键字段的值可以为空。

学号设置为主键,要求唯一的,不能为空的,用来标识学生信息,

创建数据表

sql语句创建
mysql> create table if not exists teacher(-> id int auto_increment primary key comment '主键',-> name varchar(20) not null comment '姓名',-> phone varchar(20) comment '电话号码',-> addr varchar(100) default '地址不详' comment '地址'-> )engine=innodb;
图形界面创建

注意 创建表时,每个表必须有一个主键

新建表


保存表结构:


运行sql语句的方法

SQL

SQL编写注意点: 注释用 – , 语句结束加分号(

php和mysql入门相关推荐

  1. MySQL入门系列:查询简介(四)之类型转换和分组查询

    前文回顾 之前我们介绍了一些简单查询的方式以及MySQL中表达式和函数的简单使用,本篇文章继续介绍如何使用MySQL进行查询. 类型转换 类型转换的场景 只要某个值的类型与上下文要求的类型不符,MyS ...

  2. MySQL入门系列:存储程序(二)之存储函数简介

    存储例程 存储例程是存储程序的一种类型,本质上也是封装了一些可执行的语句,只不过它的调用方式是:需要手动去调用!存储例程又可以分为存储函数和存储过程,下边我们详细唠叨这两个家伙. 存储函数 创建存储函 ...

  3. mysql怎么滤空_《MySQL 入门教程》第 08 篇 过滤条件

    文章来源:<MySQL 入门教程>第 08 篇 过滤条件 原文作者:不剪发的Tony老师 来源平台:CSDN 上一篇我们学习了如何使用 SELECT 和 FROM 查询表中的数据.很多时候 ...

  4. 32位mysql安装包_《MySQL 入门教程》第 02 篇 MySQL 安装

    文章来源:<MySQL 入门教程>第 02 篇 MySQL 安装 原文作者:不剪发的Tony老师 来源平台:CSDN 上一篇我们了解了什么是MySQL数据库. 本文介绍如何在 Window ...

  5. MySql入门笔记二~悲催的用户

    这些是当年小弟的MySql学习笔记,木有多么复杂的结构操作,木有多炫丽的语句开发,木有...总之就是木有什么技术含量... 日复一日,彪悍的人生伴随着彪悍的健忘,运维操作为王,好记性不如烂笔头,山水有 ...

  6. c语言连接mysql(入门)_MySQL入门之C语言操作MySQL

    基本概念 C APIs包含在mysqlclient库文件当中,与MySQL的源代码一块发行,用于连接到数据库和执行数据库查询.#include #include #include #include # ...

  7. MYSQL 入门全套

    转载自  MYSQL 入门全套 MySQL简介 1.什么是数据库 ? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十 ...

  8. Mysql学习总结(12)——21分钟Mysql入门教程

    21分钟 MySQL 入门教程 目录 一.MySQL的相关概念介绍 二.Windows下MySQL的配置 配置步骤 MySQL服务的启动.停止与卸载 三.MySQL脚本的基本组成 四.MySQL中的数 ...

  9. MySQL入门之大纲

    本节是讲解MySQL的入门教程,此教程是去年2016年做的,在此整理好,发布到了CSDN上: 此教程简单为MySQL入门教程.下面是涉及的内容: MySQL入门之数据库介绍及MySQL介绍 http: ...

  10. mysql技术内幕sampdb_MySql技术内幕之MySQL入门(1)

    MySql技术内幕之MySQL入门(1) 安装 检查系统中是否已经安装了MySQL sudo netstat -tap | grep mysql 若没有显示已安装结果,则没有安装.否则表示已经安装. ...

最新文章

  1. ARM裸机篇---启动代码分析
  2. 【转】pDc-SelectObject(pOldBrush)恢复画刷
  3. 远程断开远程桌面会话之方法
  4. [VsCode] 开发所使用的VsCode的插件
  5. Python——安装Scrapy时出现各种错误
  6. 绿联扩展坞拆解_拆解报告:UGREEN绿联3A1C四口多功能扩展坞(带SD卡槽版)
  7. .net core精彩实例分享 -- 文件与I/O
  8. ruby学习--block
  9. C#通过LPT控制打印机——txt文档读取指令打印条码
  10. PDF文件格式的特点
  11. 2022年度总结|我的CSDN成长历程
  12. Tkinter模块GUI界面化编程实战(七)——人机对战五子棋(含超详解及完整源码、完整程序免费下载链接)
  13. 美的空气净化器H32评测:美观、实用以及更多
  14. speedoffice如何在Word文档中输入美元符号
  15. mc是用java写的吗_都说MC的代码特别差劲,你觉得它在所有游戏中,能排第几?...
  16. Android中EditText隐藏/自动弹出输入法的问题
  17. 求解二分图的独立集问题
  18. 微积分 重点难点记录
  19. Kubernetes HPA测试
  20. 英语语法汇总(2.冠词)

热门文章

  1. C语言常见复试面试问题
  2. 【Copula】考虑风光联合出力和相关性的Copula场景生成(Matlab代码实现)
  3. K-Means聚类算法(matlab)
  4. Qt的内存释放策略(内存自动释放机制)
  5. 走路步数怎么在屏幕上显示_华为手机走路不增加步数 走路步数怎么在屏幕上显示...
  6. 从零开始的C++ opencv的人脸识别程序——第一个C++程序
  7. BZOJ3165: [Heoi2013]Segment
  8. 立大仁义,必有大伪诈,立大慈悲,必有大魔
  9. 四级单词pdf_2018年12月大学英语四级真题及答案解析(完整三套可打印)
  10. 由VB6.0的load窗体事件——看顺便学习法